All classes:
- ftfy.bad_codecs.utf8_variants.IncrementalDecoder
- ftfy.bad_codecs.utf8_variants.StreamWriter
- ftfy.bad_codecs.utf8_variants.StreamReader
- ftfy.bad_codecs.sloppy.make_sloppy_codec.Codec
- ftfy.bad_codecs.sloppy.make_sloppy_codec.IncrementalEncoder
- ftfy.bad_codecs.sloppy.make_sloppy_codec.IncrementalDecoder
- ftfy.bad_codecs.sloppy.make_sloppy_codec.StreamWriter
- ftfy.bad_codecs.sloppy.make_sloppy_codec.StreamReader
- ftfy.ExplanationStep
- ftfy.ExplainedText
- ftfy.TextFixerConfig
All functions:
  Elements:
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: '...fuzz_format'
    functionSourceFile: '...fuzz_format'
    functionUses: 0
    functionsReached:
    - atheris.Setup
    - atheris.Fuzz
    - atheris.instrument_imports
    - '...fuzz_format.main'
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.instrument_imports
    functionSourceFile: atheris
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 6
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 22
    functionName: '...fuzz_format.TestInput'
    functionSourceFile: '...fuzz_format'
    functionUses: 0
    functionsReached:
    - <builtin>.max
    - ftfy.formatting.display_ljust
    - text.lstrip
    - ANSI_RE.sub
    - <builtin>.chr
    - ftfy.fixes.remove_bom
    - wcwidth.wcwidth
    - fdp.ConsumeUnicodeNoSurrogates
    - unicodedata.normalize
    - fdp.ConsumeIntInRange
    - ftfy.fixes.remove_terminal_escapes
    - ftfy.formatting.monospaced_width
    - <builtin>.len
    - wcwidth.wcswidth
    - ftfy.formatting.character_width
    - ftfy.formatting.display_center
    - atheris.FuzzedDataProvider
    - ftfy.formatting.display_rjust
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.len
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.FuzzedDataProvider
    functionSourceFile: atheris
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fdp.ConsumeIntInRange
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.chr
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - char
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 14
    functionName: ftfy.formatting.character_width
    functionSourceFile: ftfy.formatting
    functionUses: 5
    functionsReached:
    - wcwidth.wcwidth
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fdp.ConsumeUnicodeNoSurrogates
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - text
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 35
    functionName: ftfy.formatting.monospaced_width
    functionSourceFile: ftfy.formatting
    functionUses: 5
    functionsReached:
    - unicodedata.normalize
    - ANSI_RE.sub
    - wcwidth.wcswidth
    - ftfy.fixes.remove_terminal_escapes
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f550c0a9a00>
    argNames:
    - text
    - width
    - fillchar
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 77
    functionName: ftfy.formatting.display_ljust
    functionSourceFile: ftfy.formatting
    functionUses: 2
    functionsReached:
    - <builtin>.max
    - ANSI_RE.sub
    - wcwidth.wcwidth
    - ftfy.fixes.remove_terminal_escapes
    - unicodedata.normalize
    - ftfy.formatting.monospaced_width
    - wcwidth.wcswidth
    - ftfy.formatting.character_width
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f550c1200a0>
    argNames:
    - text
    - width
    - fillchar
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 111
    functionName: ftfy.formatting.display_rjust
    functionSourceFile: ftfy.formatting
    functionUses: 1
    functionsReached:
    - <builtin>.max
    - ANSI_RE.sub
    - wcwidth.wcwidth
    - ftfy.fixes.remove_terminal_escapes
    - unicodedata.normalize
    - ftfy.formatting.monospaced_width
    - wcwidth.wcswidth
    - ftfy.formatting.character_width
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f550bfe8220>
    argNames:
    - text
    - width
    - fillchar
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 140
    functionName: ftfy.formatting.display_center
    functionSourceFile: ftfy.formatting
    functionUses: 1
    functionsReached:
    - <builtin>.max
    - ANSI_RE.sub
    - wcwidth.wcwidth
    - ftfy.fixes.remove_terminal_escapes
    - unicodedata.normalize
    - ftfy.formatting.monospaced_width
    - wcwidth.wcswidth
    - ftfy.formatting.character_width
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - text
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 324
    functionName: ftfy.fixes.remove_bom
    functionSourceFile: ftfy.fixes
    functionUses: 1
    functionsReached:
    - <builtin>.chr
    - text.lstrip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 40
    functionName: '...fuzz_format.main'
    functionSourceFile: '...fuzz_format'
    functionUses: 1
    functionsReached:
    - atheris.Setup
    - atheris.Fuzz
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.Setup
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.Fuzz
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: ftfy.fixes
    functionSourceFile: ftfy.fixes
    functionUses: 0
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - text
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 36
    functionName: ftfy.fixes.fix_encoding_and_explain
    functionSourceFile: ftfy.fixes
    functionUses: 0
    functionsReached:
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: warnings.warn
    functionSourceFile: warnings
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - text
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 47
    functionName: ftfy.fixes.fix_encoding
    functionSourceFile: ftfy.fixes
    functionUses: 0
    functionsReached:
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - text
    - plan
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 57
    functionName: ftfy.fixes.apply_plan
    functionSourceFile: ftfy.fixes
    functionUses: 0
    functionsReached:
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - match
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 67
    functionName: ftfy.fixes._unescape_fixup
    functionSourceFile: ftfy.fixes
    functionUses: 0
    functionsReached:
    - text.startswith
    - html.unescape
    - match.group
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: match.group
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: text.startswith
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html.unescape
    functionSourceFile: html
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - text
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 88
    functionName: ftfy.fixes.unescape_html
    functionSourceFile: ftfy.fixes
    functionUses: 0
    functionsReached:
    - HTML_ENTITY_RE.sub
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: HTML_ENTITY_RE.sub
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.compile
    functionSourceFile: re
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - text
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 139
    functionName: ftfy.fixes.remove_terminal_escapes
    functionSourceFile: ftfy.fixes
    functionUses: 6
    functionsReached:
    - ANSI_RE.sub
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ANSI_RE.sub
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - text
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 152
    functionName: ftfy.fixes.uncurl_quotes
    functionSourceFile: ftfy.fixes
    functionUses: 0
    functionsReached:
    - SINGLE_QUOTE_RE.sub
    - DOUBLE_QUOTE_RE.sub
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: DOUBLE_QUOTE_RE.sub
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: SINGLE_QUOTE_RE.sub
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - text
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 162
    functionName: ftfy.fixes.fix_latin_ligatures
    functionSourceFile: ftfy.fixes
    functionUses: 0
    functionsReached:
    - text.translate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: text.translate
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - text
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 180
    functionName: ftfy.fixes.fix_character_width
    functionSourceFile: ftfy.fixes
    functionUses: 0
    functionsReached:
    - text.translate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - text
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 200
    functionName: ftfy.fixes.fix_line_breaks
    functionSourceFile: ftfy.fixes
    functionUses: 0
    functionsReached:
    - text.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: text.replace
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - match
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 256
    functionName: ftfy.fixes.convert_surrogate_pair
    functionSourceFile: ftfy.fixes
    functionUses: 0
    functionsReached:
    - <builtin>.chr
    - <builtin>.ord
    - match.group
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.ord
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - text
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 268
    functionName: ftfy.fixes.fix_surrogates
    functionSourceFile: ftfy.fixes
    functionUses: 0
    functionsReached:
    - SURROGATE_RE.search
    - SURROGATE_PAIR_RE.sub
    - SURROGATE_RE.sub
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: SURROGATE_RE.search
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: SURROGATE_PAIR_RE.sub
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: SURROGATE_RE.sub
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - text
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 291
    functionName: ftfy.fixes.remove_control_chars
    functionSourceFile: ftfy.fixes
    functionUses: 0
    functionsReached:
    - text.translate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: text.lstrip
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - text
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 349
    functionName: ftfy.fixes.decode_escapes
    functionSourceFile: ftfy.fixes
    functionUses: 0
    functionsReached:
    - ESCAPE_SEQUENCE_RE.sub
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - match
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 380
    functionName: ftfy.fixes.decode_escapes.decode_match
    functionSourceFile: ftfy.fixes
    functionUses: 0
    functionsReached:
    - codecs.decode
    - match.group
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: codecs.decode
    functionSourceFile: codecs
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ESCAPE_SEQUENCE_RE.sub
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - byts
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 413
    functionName: ftfy.fixes.restore_byte_a0
    functionSourceFile: ftfy.fixes
    functionUses: 9
    functionsReached:
    - A_GRAVE_WORD_RE.sub
    - ALTERED_UTF8_RE.sub
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: A_GRAVE_WORD_RE.sub
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - match
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 429
    functionName: ftfy.fixes.restore_byte_a0.replacement
    functionSourceFile: ftfy.fixes
    functionUses: 0
    functionsReached:
    - match.group
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ALTERED_UTF8_RE.sub
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - byts
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 436
    functionName: ftfy.fixes.replace_lossy_sequences
    functionSourceFile: ftfy.fixes
    functionUses: 9
    functionsReached:
    - LOSSY_UTF8_RE.sub
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: LOSSY_UTF8_RE.sub
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - text
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 475
    functionName: ftfy.fixes.decode_inconsistent_utf8
    functionSourceFile: ftfy.fixes
    functionUses: 9
    functionsReached:
    - UTF8_DETECTOR_RE.sub
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - match
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 483
    functionName: ftfy.fixes.decode_inconsistent_utf8.fix_embedded_mojibake
    functionSourceFile: ftfy.fixes
    functionUses: 0
    functionsReached:
    - BADNESS_RE.search
    - match.group
    - ftfy.badness.is_bad
    - <builtin>.len
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - text
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 384
    functionName: ftfy.badness.is_bad
    functionSourceFile: ftfy.badness
    functionUses: 10
    functionsReached:
    - BADNESS_RE.search
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: UTF8_DETECTOR_RE.sub
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - match
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 495
    functionName: ftfy.fixes._c1_fixer
    functionSourceFile: ftfy.fixes
    functionUses: 0
    functionsReached:
    - match.group
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - text
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 499
    functionName: ftfy.fixes.fix_c1_controls
    functionSourceFile: ftfy.fixes
    functionUses: 9
    functionsReached:
    - C1_CONTROL_RE.sub
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: C1_CONTROL_RE.sub
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: ftfy.badness
    functionSourceFile: ftfy.badness
    functionUses: 0
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - text
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 362
    functionName: ftfy.badness.sequence_weirdness
    functionSourceFile: ftfy.badness
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - warnings.warn
    - ftfy.badness.badness
    - BADNESS_RE.findall
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - text
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 375
    functionName: ftfy.badness.badness
    functionSourceFile: ftfy.badness
    functionUses: 1
    functionsReached:
    - BADNESS_RE.findall
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: BADNESS_RE.findall
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: BADNESS_RE.search
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.bool
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: ftfy
    functionSourceFile: ftfy
    functionUses: 0
    functionsReached:
    - typing.no_type_check
    - ftfy.bad_codecs.ok
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 88
    functionName: ftfy.bad_codecs.ok
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 55
    functionName: ftfy.ExplanationStep.__repr__
    functionSourceFile: ftfy
    functionUses: 0
    functionsReached:
    - <builtin>.tuple
    - <builtin>.repr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.tuple
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.repr
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - config
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 231
    functionName: ftfy._config_from_kwargs
    functionSourceFile: ftfy
    functionUses: 8
    functionsReached:
    - kwargs.copy
    - typing.NamedTuple._replace
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: kwargs.copy
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.NamedTuple._replace
    functionSourceFile: typing
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - fixer_name
    - text
    - config
    - steps
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 269
    functionName: ftfy._try_fix
    functionSourceFile: ftfy
    functionUses: 6
    functionsReached:
    - typing.NamedTuple.__init__
    - <builtin>.getattr
    - typing.cast
    - steps.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.getattr
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.NamedTuple.__init__
    functionSourceFile: ''
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: steps.append
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.cast
    functionSourceFile: typing
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f550c74b370>
    argNames:
    - text
    - config
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 289
    functionName: ftfy.fix_text
    functionSourceFile: ftfy
    functionUses: 0
    functionsReached:
    - ftfy.fixes.replace_lossy_sequences
    - text.find
    - A_GRAVE_WORD_RE.sub
    - <builtin>.isinstance
    - plan_so_far.extend
    - ftfy.badness.is_bad
    - steps.append
    - <builtin>.getattr
    - ftfy.fix_encoding_and_explain
    - typing.NamedTuple._replace
    - warnings.warn
    - ftfy.fixes.fix_c1_controls
    - ftfy._config_from_kwargs
    - unicodedata.normalize
    - ftfy.fixes.decode_inconsistent_utf8
    - chardata.UTF8_DETECTOR_RE.search
    - typing.NamedTuple.__init__
    - chardata.ALTERED_UTF8_RE.search
    - ftfy.fixes.restore_byte_a0
    - chardata.C1_CONTROL_RE.search
    - possible_1byte_encodings.append
    - encoding.startswith
    - <builtin>.len
    - kwargs.copy
    - UTF8_DETECTOR_RE.sub
    - steps.extend
    - ftfy._fix_encoding_one_step_and_explain
    - out.append
    - transcode_steps.append
    - ftfy._try_fix
    - ftfy.chardata.possible_encoding
    - typing.cast
    - encoded_bytes.decode
    - BADNESS_RE.search
    - C1_CONTROL_RE.sub
    - ALTERED_UTF8_RE.sub
    - LOSSY_UTF8_RE.sub
    - ftfy.fix_encoding
    - ftfy.fix_and_explain
    - typing.cast.encode
    - <builtin>.bool
    linkageType: pythonLinkage
    raised:
    - UnicodeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.isinstance
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: text.find
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 3
    IfCount: 10
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f550beceb80>
    argNames:
    - text
    - config
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 363
    functionName: ftfy.fix_and_explain
    functionSourceFile: ftfy
    functionUses: 5
    functionsReached:
    - ftfy.fixes.replace_lossy_sequences
    - A_GRAVE_WORD_RE.sub
    - <builtin>.isinstance
    - plan_so_far.extend
    - ftfy.badness.is_bad
    - steps.append
    - <builtin>.getattr
    - ftfy.fix_encoding_and_explain
    - typing.NamedTuple._replace
    - warnings.warn
    - ftfy.fixes.fix_c1_controls
    - ftfy._config_from_kwargs
    - unicodedata.normalize
    - ftfy.fixes.decode_inconsistent_utf8
    - chardata.UTF8_DETECTOR_RE.search
    - typing.NamedTuple.__init__
    - chardata.ALTERED_UTF8_RE.search
    - ftfy.fixes.restore_byte_a0
    - chardata.C1_CONTROL_RE.search
    - possible_1byte_encodings.append
    - encoding.startswith
    - <builtin>.len
    - kwargs.copy
    - UTF8_DETECTOR_RE.sub
    - steps.extend
    - ftfy._fix_encoding_one_step_and_explain
    - transcode_steps.append
    - ftfy._try_fix
    - ftfy.chardata.possible_encoding
    - typing.cast
    - encoded_bytes.decode
    - BADNESS_RE.search
    - C1_CONTROL_RE.sub
    - ALTERED_UTF8_RE.sub
    - LOSSY_UTF8_RE.sub
    - ftfy.fix_encoding
    - typing.cast.encode
    - <builtin>.bool
    linkageType: pythonLinkage
    raised:
    - UnicodeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: out.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f550be9c190>
    argNames:
    - text
    - config
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 580
    functionName: ftfy.fix_encoding
    functionSourceFile: ftfy
    functionUses: 6
    functionsReached:
    - ftfy.fixes.replace_lossy_sequences
    - A_GRAVE_WORD_RE.sub
    - <builtin>.isinstance
    - plan_so_far.extend
    - ftfy.badness.is_bad
    - ftfy.fix_encoding_and_explain
    - typing.NamedTuple._replace
    - warnings.warn
    - ftfy.fixes.fix_c1_controls
    - ftfy._config_from_kwargs
    - ftfy.fixes.decode_inconsistent_utf8
    - chardata.UTF8_DETECTOR_RE.search
    - typing.NamedTuple.__init__
    - chardata.ALTERED_UTF8_RE.search
    - ftfy.fixes.restore_byte_a0
    - chardata.C1_CONTROL_RE.search
    - possible_1byte_encodings.append
    - encoding.startswith
    - kwargs.copy
    - UTF8_DETECTOR_RE.sub
    - <builtin>.bool
    - ftfy._fix_encoding_one_step_and_explain
    - transcode_steps.append
    - ftfy.chardata.possible_encoding
    - encoded_bytes.decode
    - BADNESS_RE.search
    - C1_CONTROL_RE.sub
    - ALTERED_UTF8_RE.sub
    - LOSSY_UTF8_RE.sub
    - typing.cast.encode
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f550bdb1c10>
    argNames:
    - text
    - config
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 423
    functionName: ftfy.fix_encoding_and_explain
    functionSourceFile: ftfy
    functionUses: 7
    functionsReached:
    - ftfy.fixes.replace_lossy_sequences
    - A_GRAVE_WORD_RE.sub
    - <builtin>.isinstance
    - plan_so_far.extend
    - ftfy.badness.is_bad
    - typing.NamedTuple._replace
    - warnings.warn
    - ftfy.fixes.fix_c1_controls
    - ftfy._config_from_kwargs
    - ftfy.fixes.decode_inconsistent_utf8
    - chardata.UTF8_DETECTOR_RE.search
    - typing.NamedTuple.__init__
    - chardata.ALTERED_UTF8_RE.search
    - ftfy.fixes.restore_byte_a0
    - encoding.startswith
    - possible_1byte_encodings.append
    - chardata.C1_CONTROL_RE.search
    - kwargs.copy
    - UTF8_DETECTOR_RE.sub
    - <builtin>.bool
    - ftfy._fix_encoding_one_step_and_explain
    - transcode_steps.append
    - ftfy.chardata.possible_encoding
    - encoded_bytes.decode
    - BADNESS_RE.search
    - C1_CONTROL_RE.sub
    - ALTERED_UTF8_RE.sub
    - LOSSY_UTF8_RE.sub
    - typing.cast.encode
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - UnicodeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: steps.extend
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: unicodedata.normalize
    functionSourceFile: unicodedata
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 15
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 22
    ICount: 4
    IfCount: 15
    argCount: 2
    argDefaultValues: []
    argNames:
    - text
    - config
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 467
    functionName: ftfy._fix_encoding_one_step_and_explain
    functionSourceFile: ftfy
    functionUses: 8
    functionsReached:
    - ftfy.fixes.replace_lossy_sequences
    - A_GRAVE_WORD_RE.sub
    - ftfy.badness.is_bad
    - ftfy.fixes.fix_c1_controls
    - ftfy.fixes.decode_inconsistent_utf8
    - chardata.UTF8_DETECTOR_RE.search
    - typing.NamedTuple.__init__
    - chardata.ALTERED_UTF8_RE.search
    - ftfy.fixes.restore_byte_a0
    - encoding.startswith
    - possible_1byte_encodings.append
    - chardata.C1_CONTROL_RE.search
    - <builtin>.len
    - UTF8_DETECTOR_RE.sub
    - transcode_steps.append
    - ftfy.chardata.possible_encoding
    - encoded_bytes.decode
    - BADNESS_RE.search
    - C1_CONTROL_RE.sub
    - ALTERED_UTF8_RE.sub
    - LOSSY_UTF8_RE.sub
    - typing.cast.encode
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: plan_so_far.extend
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - text
    - encoding
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 84
    functionName: ftfy.chardata.possible_encoding
    functionSourceFile: ftfy.chardata
    functionUses: 9
    functionsReached:
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: possible_1byte_encodings.append
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.cast.encode
    functionSourceFile: typing
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: chardata.ALTERED_UTF8_RE.search
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: transcode_steps.append
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: encoding.startswith
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: encoded_bytes.decode
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: chardata.UTF8_DETECTOR_RE.search
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: chardata.C1_CONTROL_RE.search
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f550bea8910>
    argNames:
    - text
    - config
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 601
    functionName: ftfy.fix_text_segment
    functionSourceFile: ftfy
    functionUses: 0
    functionsReached:
    - ftfy.fixes.replace_lossy_sequences
    - A_GRAVE_WORD_RE.sub
    - <builtin>.isinstance
    - plan_so_far.extend
    - ftfy.badness.is_bad
    - steps.append
    - <builtin>.getattr
    - ftfy.fix_encoding_and_explain
    - typing.NamedTuple._replace
    - warnings.warn
    - ftfy.fixes.fix_c1_controls
    - ftfy._config_from_kwargs
    - unicodedata.normalize
    - ftfy.fixes.decode_inconsistent_utf8
    - chardata.UTF8_DETECTOR_RE.search
    - typing.NamedTuple.__init__
    - chardata.ALTERED_UTF8_RE.search
    - ftfy.fixes.restore_byte_a0
    - chardata.C1_CONTROL_RE.search
    - possible_1byte_encodings.append
    - encoding.startswith
    - <builtin>.len
    - kwargs.copy
    - UTF8_DETECTOR_RE.sub
    - steps.extend
    - ftfy._fix_encoding_one_step_and_explain
    - transcode_steps.append
    - ftfy._try_fix
    - ftfy.chardata.possible_encoding
    - typing.cast
    - encoded_bytes.decode
    - BADNESS_RE.search
    - C1_CONTROL_RE.sub
    - ALTERED_UTF8_RE.sub
    - LOSSY_UTF8_RE.sub
    - ftfy.fix_encoding
    - ftfy.fix_and_explain
    - typing.cast.encode
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f550bea80a0>
    - <ast.Constant object at 0x7f550bea8070>
    argNames:
    - input_file
    - encoding
    - config
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 613
    functionName: ftfy.fix_file
    functionSourceFile: ftfy
    functionUses: 2
    functionsReached:
    - ftfy.fixes.replace_lossy_sequences
    - A_GRAVE_WORD_RE.sub
    - <builtin>.set
    - ftfy.guess_bytes
    - <builtin>.isinstance
    - line.decode
    - plan_so_far.extend
    - ftfy.badness.is_bad
    - steps.append
    - <builtin>.getattr
    - ftfy.fix_encoding_and_explain
    - typing.NamedTuple._replace
    - warnings.warn
    - ftfy.fixes.fix_c1_controls
    - bstring.startswith
    - ftfy._config_from_kwargs
    - unicodedata.normalize
    - ftfy.fixes.decode_inconsistent_utf8
    - chardata.UTF8_DETECTOR_RE.search
    - typing.NamedTuple.__init__
    - chardata.ALTERED_UTF8_RE.search
    - bstring.decode
    - ftfy.fixes.restore_byte_a0
    - chardata.C1_CONTROL_RE.search
    - possible_1byte_encodings.append
    - encoding.startswith
    - <builtin>.len
    - kwargs.copy
    - UTF8_DETECTOR_RE.sub
    - steps.extend
    - ftfy._fix_encoding_one_step_and_explain
    - transcode_steps.append
    - ftfy._try_fix
    - ftfy.chardata.possible_encoding
    - typing.cast
    - encoded_bytes.decode
    - BADNESS_RE.search
    - C1_CONTROL_RE.sub
    - ALTERED_UTF8_RE.sub
    - LOSSY_UTF8_RE.sub
    - ftfy.fix_encoding
    - ftfy.fix_and_explain
    - typing.cast.encode
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - bstring
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 646
    functionName: ftfy.guess_bytes
    functionSourceFile: ftfy
    functionUses: 3
    functionsReached:
    - bstring.startswith
    - <builtin>.set
    - <builtin>.isinstance
    - bstring.decode
    linkageType: pythonLinkage
    raised:
    - UnicodeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: line.decode
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: bstring.startswith
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: bstring.decode
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.set
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: typing.no_type_check
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - text
    - plan
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 718
    functionName: ftfy.apply_plan
    functionSourceFile: ftfy
    functionUses: 0
    functionsReached:
    - obj.encode
    - obj.decode
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: obj.encode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: obj.decode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - text
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 759
    functionName: ftfy.explain_unicode
    functionSourceFile: ftfy
    functionUses: 0
    functionsReached:
    - <builtin>.max
    - ftfy.formatting.display_ljust
    - <builtin>.print
    - ANSI_RE.sub
    - wcwidth.wcwidth
    - char.encode
    - unicodedata.normalize
    - ftfy.fixes.remove_terminal_escapes
    - char.isprintable
    - ftfy.formatting.monospaced_width
    - wcwidth.wcswidth
    - unicodedata.name
    - unicodedata.category
    - ftfy.formatting.character_width
    - <builtin>.ord
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: char.isprintable
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: char.encode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: unicodedata.category
    functionSourceFile: unicodedata
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: unicodedata.name
    functionSourceFile: unicodedata
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.print
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ftfy.formatting
    functionSourceFile: ftfy.formatting
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: wcwidth.wcwidth
    functionSourceFile: wcwidth
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: wcwidth.wcswidth
    functionSourceFile: wcwidth
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.max
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: ftfy.chardata
    functionSourceFile: ftfy.chardata
    functionUses: 0
    functionsReached:
    - ftfy.chardata._build_html_entities
    - ftfy.chardata._build_control_char_mapping
    - itertools.chain
    - <builtin>.bytes
    - name.endswith
    - <builtin>.range
    - name.upper
    - html.unescape
    - <builtin>.chr
    - ftfy.chardata._build_width_map
    - unicodedata.normalize
    - html.entities.html5.items
    - <builtin>.list
    - ftfy.chardata._build_regexes
    - name.lower
    - byte_range.decode
    - char.upper
    - re.compile
    - <builtin>.ord
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 30
    functionName: ftfy.chardata._build_regexes
    functionSourceFile: ftfy.chardata
    functionUses: 1
    functionsReached:
    - <builtin>.range
    - re.compile
    - <builtin>.list
    - byte_range.decode
    - <builtin>.bytes
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.range
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.list
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.bytes
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: byte_range.decode
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 60
    functionName: ftfy.chardata._build_html_entities
    functionSourceFile: ftfy.chardata
    functionUses: 1
    functionsReached:
    - html.entities.html5.items
    - name.upper
    - html.unescape
    - name.lower
    - char.upper
    - name.endswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html.entities.html5.items
    functionSourceFile: html
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: name.endswith
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: name.lower
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: name.upper
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: char.upper
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 95
    functionName: ftfy.chardata._build_control_char_mapping
    functionSourceFile: ftfy.chardata
    functionUses: 1
    functionsReached:
    - itertools.chain
    - <builtin>.range
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: itertools.chain
    functionSourceFile: itertools
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 231
    functionName: ftfy.chardata._build_width_map
    functionSourceFile: ftfy.chardata
    functionUses: 1
    functionsReached:
    - <builtin>.chr
    - <builtin>.range
    - unicodedata.normalize
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: ftfy.bad_codecs
    functionSourceFile: ftfy.bad_codecs
    functionUses: 0
    functionsReached:
    - codecs.register
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - encoding
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 54
    functionName: ftfy.bad_codecs.search_function
    functionSourceFile: ftfy.bad_codecs
    functionUses: 0
    functionsReached:
    - encodings.normalize_encoding
    - encodings.normalize_encoding.startswith
    - CODECS.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: encodings.normalize_encoding
    functionSourceFile: encodings
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: encodings.normalize_encoding.startswith
    functionSourceFile: encodings
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: CODECS.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: codecs.register
    functionSourceFile: codecs
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: ftfy.bad_codecs.sloppy
    functionSourceFile: ftfy.bad_codecs.sloppy
    functionUses: 0
    functionsReached:
    - encodings.normalize_encoding
    - codecs.CodecInfo
    - <builtin>.range
    - codecs.charmap_build
    - codecs.Codec.__init__
    - <builtin>.list
    - <builtin>.enumerate
    - all_bytes.decode
    - ftfy.bad_codecs.sloppy.make_sloppy_codec
    - <builtin>.bytes
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - encoding
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 82
    functionName: ftfy.bad_codecs.sloppy.make_sloppy_codec
    functionSourceFile: ftfy.bad_codecs.sloppy
    functionUses: 1
    functionsReached:
    - codecs.CodecInfo
    - <builtin>.range
    - codecs.charmap_build
    - codecs.Codec.__init__
    - <builtin>.list
    - <builtin>.enumerate
    - all_bytes.decode
    - <builtin>.bytes
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: all_bytes.decode
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.enumerate
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: codecs.charmap_build
    functionSourceFile: codecs
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f550c0b5070>
    argNames:
    - self
    - input
    - errors
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 125
    functionName: ftfy.bad_codecs.sloppy.make_sloppy_codec.Codec.encode
    functionSourceFile: ftfy.bad_codecs.sloppy
    functionUses: 0
    functionsReached:
    - codecs.charmap_encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: codecs.charmap_encode
    functionSourceFile: codecs
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f550bdb1e80>
    argNames:
    - self
    - input
    - errors
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 128
    functionName: ftfy.bad_codecs.sloppy.make_sloppy_codec.Codec.decode
    functionSourceFile: ftfy.bad_codecs.sloppy
    functionUses: 0
    functionsReached:
    - codecs.charmap_decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: codecs.charmap_decode
    functionSourceFile: codecs
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f550bdb11f0>
    argNames:
    - self
    - input
    - final
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 132
    functionName: ftfy.bad_codecs.sloppy.make_sloppy_codec.IncrementalEncoder.encode
    functionSourceFile: ftfy.bad_codecs.sloppy
    functionUses: 0
    functionsReached:
    - codecs.charmap_encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f550bdb1fd0>
    argNames:
    - self
    - input
    - final
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 136
    functionName: ftfy.bad_codecs.sloppy.make_sloppy_codec.IncrementalDecoder.decode
    functionSourceFile: ftfy.bad_codecs.sloppy
    functionUses: 0
    functionsReached:
    - codecs.charmap_decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: codecs.Codec.__init__
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: codecs.CodecInfo
    functionSourceFile: codecs
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: ftfy.bad_codecs.utf8_variants
    functionSourceFile: ftfy.bad_codecs.utf8_variants
    functionUses: 0
    functionsReached:
    - re.compile
    - codecs.CodecInfo
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - input
    - errors
    - final
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 93
    functionName: ftfy.bad_codecs.utf8_variants.IncrementalDecoder._buffer_decode
    functionSourceFile: ftfy.bad_codecs.utf8_variants
    functionUses: 0
    functionsReached:
    - CESU8_RE.match
    - ftfy.bad_codecs.utf8_variants.IncrementalDecoder._buffer_decode_step
    - <builtin>.chr
    - input.startswith
    - decoded_segments.append
    - ftfy.bad_codecs.utf8_variants.IncrementalDecoder._buffer_decode_surrogates
    - SPECIAL_BYTES_RE.search
    - encodings.utf_8.IncrementalDecoder._buffer_decode
    - match.start
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - input
    - errors
    - final
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 134
    functionName: ftfy.bad_codecs.utf8_variants.IncrementalDecoder._buffer_decode_step
    functionSourceFile: ftfy.bad_codecs.utf8_variants
    functionUses: 1
    functionsReached:
    - CESU8_RE.match
    - <builtin>.chr
    - input.startswith
    - ftfy.bad_codecs.utf8_variants.IncrementalDecoder._buffer_decode_surrogates
    - SPECIAL_BYTES_RE.search
    - encodings.utf_8.IncrementalDecoder._buffer_decode
    - match.start
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: decoded_segments.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: SPECIAL_BYTES_RE.search
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: encodings.utf_8.IncrementalDecoder._buffer_decode
    functionSourceFile: encodings
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: match.start
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: input.startswith
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 4
    argDefaultValues: []
    argNames:
    - sup
    - input
    - errors
    - final
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 176
    functionName: ftfy.bad_codecs.utf8_variants.IncrementalDecoder._buffer_decode_surrogates
    functionSourceFile: ftfy.bad_codecs.utf8_variants
    functionUses: 2
    functionsReached:
    - encodings.utf_8.IncrementalDecoder._buffer_decode
    - <builtin>.chr
    - CESU8_RE.match
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: CESU8_RE.match
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f550be0ab50>
    argNames:
    - input
    - errors
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 227
    functionName: ftfy.bad_codecs.utf8_variants.StreamWriter.encode
    functionSourceFile: ftfy.bad_codecs.utf8_variants
    functionUses: 0
    functionsReached:
    - encodings.utf_8.IncrementalEncoder
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: encodings.utf_8.IncrementalEncoder
    functionSourceFile: encodings
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f550be32b20>
    argNames:
    - input
    - errors
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 233
    functionName: ftfy.bad_codecs.utf8_variants.StreamReader.decode
    functionSourceFile: ftfy.bad_codecs.utf8_variants
    functionUses: 0
    functionsReached:
    - encodings.utf_8.IncrementalDecoder.__init__
    - encodings.utf_8.IncrementalDecoder.decode
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: encodings.utf_8.IncrementalDecoder.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: encodings.utf_8.IncrementalDecoder.decode
    functionSourceFile: encodings
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: -1
    functionName: ftfy.cli
    functionSourceFile: ftfy.cli
    functionUses: 0
    functionsReached:
    - ftfy.fixes.replace_lossy_sequences
    - A_GRAVE_WORD_RE.sub
    - argparse.ArgumentParser
    - parser.add_argument
    - ftfy.guess_bytes
    - <builtin>.set
    - <builtin>.isinstance
    - line.decode
    - plan_so_far.extend
    - ftfy.badness.is_bad
    - steps.append
    - sys.exit
    - <builtin>.getattr
    - ftfy.fix_encoding_and_explain
    - typing.NamedTuple._replace
    - warnings.warn
    - ftfy.fixes.fix_c1_controls
    - bstring.startswith
    - ftfy._config_from_kwargs
    - normalization.lower
    - unicodedata.normalize
    - ftfy.fixes.decode_inconsistent_utf8
    - chardata.UTF8_DETECTOR_RE.search
    - typing.NamedTuple.__init__
    - chardata.ALTERED_UTF8_RE.search
    - sys.stderr.write
    - parser.parse_args
    - bstring.decode
    - ftfy.cli.main
    - chardata.C1_CONTROL_RE.search
    - possible_1byte_encodings.append
    - ftfy.fixes.restore_byte_a0
    - encoding.startswith
    - sys.stdout.write
    - kwargs.copy
    - UTF8_DETECTOR_RE.sub
    - steps.extend
    - <builtin>.bool
    - ftfy._fix_encoding_one_step_and_explain
    - transcode_steps.append
    - ftfy.fix_file
    - ftfy._try_fix
    - typing.cast
    - ftfy.chardata.possible_encoding
    - encoded_bytes.decode
    - BADNESS_RE.search
    - C1_CONTROL_RE.sub
    - ALTERED_UTF8_RE.sub
    - LOSSY_UTF8_RE.sub
    - ftfy.fix_encoding
    - os.path.realpath
    - <builtin>.open
    - ftfy.fix_and_explain
    - typing.cast.encode
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 15
    IfCount: 7
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 42
    functionName: ftfy.cli.main
    functionSourceFile: ftfy.cli
    functionUses: 1
    functionsReached:
    - ftfy.fixes.replace_lossy_sequences
    - A_GRAVE_WORD_RE.sub
    - argparse.ArgumentParser
    - parser.add_argument
    - ftfy.guess_bytes
    - <builtin>.set
    - <builtin>.isinstance
    - line.decode
    - plan_so_far.extend
    - ftfy.badness.is_bad
    - steps.append
    - sys.exit
    - <builtin>.getattr
    - ftfy.fix_encoding_and_explain
    - typing.NamedTuple._replace
    - warnings.warn
    - ftfy.fixes.fix_c1_controls
    - bstring.startswith
    - ftfy._config_from_kwargs
    - normalization.lower
    - unicodedata.normalize
    - ftfy.fixes.decode_inconsistent_utf8
    - chardata.UTF8_DETECTOR_RE.search
    - typing.NamedTuple.__init__
    - chardata.ALTERED_UTF8_RE.search
    - sys.stderr.write
    - parser.parse_args
    - bstring.decode
    - ftfy.fixes.restore_byte_a0
    - chardata.C1_CONTROL_RE.search
    - possible_1byte_encodings.append
    - encoding.startswith
    - sys.stdout.write
    - kwargs.copy
    - UTF8_DETECTOR_RE.sub
    - steps.extend
    - <builtin>.bool
    - ftfy._fix_encoding_one_step_and_explain
    - transcode_steps.append
    - ftfy.fix_file
    - ftfy._try_fix
    - typing.cast
    - ftfy.chardata.possible_encoding
    - encoded_bytes.decode
    - BADNESS_RE.search
    - C1_CONTROL_RE.sub
    - ALTERED_UTF8_RE.sub
    - LOSSY_UTF8_RE.sub
    - ftfy.fix_encoding
    - os.path.realpath
    - <builtin>.open
    - ftfy.fix_and_explain
    - typing.cast.encode
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: argparse.ArgumentParser
    functionSourceFile: argparse
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parser.add_argument
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parser.parse_args
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.open
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.realpath
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.stderr.write
    functionSourceFile: sys
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.exit
    functionSourceFile: sys
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: normalization.lower
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.stdout.write
    functionSourceFile: sys
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  Function list name: All functions
Function coverage:
  '...fuzz_format':
  - 18
  - 44
  - 45
  '...fuzz_format.TestInput':
  - 32
  - 33
  - 34
  - 35
  - 36
  - 37
  - 38
  - 23
  - 26
  - 28
  - 29
  - 31
  '...fuzz_format.main':
  - 41
  - 42
  ftfy:
  - 1
  - 34
  ftfy.ExplainedText:
  - 64
  ftfy.ExplanationStep:
  - 38
  ftfy.ExplanationStep.__repr__:
  - 56
  - 60
  ftfy.TextFixerConfig:
  - 94
  ftfy._config_from_kwargs:
  - 234
  - 238
  - 239
  - 242
  - 245
  ftfy._fix_encoding_one_step_and_explain:
  - 516
  - 517
  - 518
  - 519
  - 520
  - 524
  - 527
  - 529
  - 530
  - 536
  - 537
  - 538
  - 539
  - 540
  - 545
  - 546
  - 549
  - 555
  - 556
  - 561
  - 566
  - 568
  - 569
  - 577
  - 470
  - 473
  - 474
  - 476
  - 477
  - 481
  - 482
  - 492
  - 493
  - 494
  - 495
  - 496
  - 505
  - 508
  - 509
  - 510
  - 511
  ftfy._try_fix:
  - 275
  - 279
  - 281
  - 282
  - 283
  - 284
  ftfy.apply_plan:
  - 743
  - 744
  - 745
  - 746
  - 747
  - 748
  - 749
  - 750
  - 719
  ftfy.bad_codecs:
  - 1
  - 100
  ftfy.bad_codecs.ok:
  - 89
  ftfy.bad_codecs.search_function:
  - 68
  - 71
  - 73
  - 77
  - 80
  - 82
  - 55
  ftfy.bad_codecs.sloppy:
  - 160
  - 1
  - 162
  - 166
  - 167
  - 168
  ftfy.bad_codecs.sloppy.make_sloppy_codec:
  - 96
  - 100
  - 101
  - 103
  - 108
  - 109
  - 145
  - 83
  - 147
  - 148
  - 118
  - 119
  - 93
  ftfy.bad_codecs.sloppy.make_sloppy_codec.Codec.decode:
  - 129
  ftfy.bad_codecs.sloppy.make_sloppy_codec.Codec.encode:
  - 126
  ftfy.bad_codecs.sloppy.make_sloppy_codec.IncrementalDecoder.decode:
  - 137
  ftfy.bad_codecs.sloppy.make_sloppy_codec.IncrementalEncoder.encode:
  - 133
  ftfy.bad_codecs.utf8_variants:
  - 1
  - 67
  - 237
  - 79
  ftfy.bad_codecs.utf8_variants.IncrementalDecoder:
  - 83
  ftfy.bad_codecs.utf8_variants.IncrementalDecoder._buffer_decode:
  - 130
  - 132
  - 115
  - 118
  - 124
  - 94
  - 127
  ftfy.bad_codecs.utf8_variants.IncrementalDecoder._buffer_decode_step:
  - 160
  - 164
  - 135
  - 167
  - 173
  - 149
  - 150
  - 151
  - 153
  - 154
  - 155
  - 159
  ftfy.bad_codecs.utf8_variants.IncrementalDecoder._buffer_decode_surrogates:
  - 196
  - 203
  - 177
  - 213
  - 218
  - 190
  - 191
  ftfy.bad_codecs.utf8_variants.StreamReader.decode:
  - 234
  ftfy.bad_codecs.utf8_variants.StreamWriter.encode:
  - 228
  ftfy.badness:
  - 1
  - 252
  - 253
  ftfy.badness.badness:
  - 376
  - 381
  ftfy.badness.is_bad:
  - 392
  - 385
  ftfy.badness.sequence_weirdness:
  - 368
  - 363
  - 372
  ftfy.chardata:
  - 1
  - 26
  - 27
  - 157
  - 301
  - 302
  - 175
  - 57
  - 191
  - 206
  - 207
  - 80
  - 81
  - 208
  - 209
  - 210
  - 211
  - 212
  - 213
  - 214
  - 215
  - 216
  - 217
  - 218
  - 219
  - 220
  - 221
  - 222
  - 223
  - 224
  - 225
  - 226
  - 227
  - 117
  - 248
  ftfy.chardata._build_control_char_mapping:
  - 96
  - 103
  - 104
  - 106
  - 108
  - 110
  ftfy.chardata._build_html_entities:
  - 65
  - 66
  - 72
  - 73
  - 75
  - 76
  ftfy.chardata._build_regexes:
  - 38
  - 40
  - 44
  - 45
  - 52
  - 53
  - 31
  ftfy.chardata._build_width_map:
  - 232
  - 240
  - 241
  - 242
  - 243
  ftfy.chardata.possible_encoding:
  - 92
  - 85
  ftfy.cli:
  - 1
  - 142
  - 143
  ftfy.cli.main:
  - 128
  - 130
  - 132
  - 133
  - 135
  - 136
  - 138
  - 139
  - 43
  - 48
  - 51
  - 58
  - 65
  - 72
  - 79
  - 87
  - 95
  - 98
  - 101
  - 106
  - 108
  - 111
  - 112
  - 113
  - 114
  - 117
  - 120
  - 125
  ftfy.explain_unicode:
  - 781
  - 782
  - 785
  - 786
  - 787
  - 788
  - 789
  - 790
  - 791
  - 760
  ftfy.fix_and_explain:
  - 391
  - 393
  - 394
  - 395
  - 397
  - 398
  - 399
  - 401
  - 411
  - 413
  - 414
  - 415
  - 416
  - 419
  - 420
  - 366
  - 373
  - 374
  - 375
  - 377
  - 379
  - 380
  - 382
  ftfy.fix_encoding:
  - 581
  - 590
  - 591
  - 592
  - 593
  ftfy.fix_encoding_and_explain:
  - 448
  - 450
  - 452
  - 455
  - 426
  - 460
  - 461
  - 462
  - 463
  - 464
  - 446
  - 447
  ftfy.fix_file:
  - 640
  - 642
  - 643
  - 619
  - 629
  - 630
  - 631
  - 633
  - 634
  - 635
  - 636
  - 638
  - 639
  ftfy.fix_text:
  - 290
  - 355
  - 356
  - 357
  - 358
  - 360
  - 339
  - 340
  - 341
  - 342
  - 347
  - 348
  - 349
  - 350
  - 351
  ftfy.fix_text_segment:
  - 608
  - 609
  - 602
  - 606
  - 607
  ftfy.fixes:
  - 1
  - 136
  - 336
  - 410
  - 252
  - 253
  ftfy.fixes._c1_fixer:
  - 496
  ftfy.fixes._unescape_fixup:
  - 68
  - 72
  - 73
  - 75
  - 76
  - 80
  ftfy.fixes.apply_plan:
  - 64
  - 58
  - 61
  ftfy.fixes.convert_surrogate_pair:
  - 264
  - 257
  - 265
  - 263
  ftfy.fixes.decode_escapes:
  - 384
  - 350
  ftfy.fixes.decode_escapes.decode_match:
  - 381
  - 382
  ftfy.fixes.decode_inconsistent_utf8:
  - 476
  - 492
  ftfy.fixes.decode_inconsistent_utf8.fix_embedded_mojibake:
  - 488
  - 484
  - 487
  ftfy.fixes.fix_c1_controls:
  - 504
  - 500
  ftfy.fixes.fix_character_width:
  - 197
  - 181
  ftfy.fixes.fix_encoding:
  - 48
  - 51
  - 54
  ftfy.fixes.fix_encoding_and_explain:
  - 40
  - 44
  - 37
  ftfy.fixes.fix_latin_ligatures:
  - 177
  - 163
  ftfy.fixes.fix_line_breaks:
  - 201
  - 244
  ftfy.fixes.fix_surrogates:
  - 285
  - 269
  - 286
  - 287
  ftfy.fixes.remove_bom:
  - 332
  - 325
  ftfy.fixes.remove_control_chars:
  - 321
  - 292
  ftfy.fixes.remove_terminal_escapes:
  - 140
  - 149
  ftfy.fixes.replace_lossy_sequences:
  - 472
  - 437
  ftfy.fixes.restore_byte_a0:
  - 433
  - 427
  - 414
  ftfy.fixes.restore_byte_a0.replacement:
  - 430
  - 431
  ftfy.fixes.uncurl_quotes:
  - 153
  - 159
  ftfy.fixes.unescape_html:
  - 89
  - 133
  ftfy.formatting:
  - 1
  ftfy.formatting.character_width:
  - 32
  - 15
  ftfy.formatting.display_center:
  - 161
  - 141
  - 154
  - 157
  - 158
  ftfy.formatting.display_ljust:
  - 99
  - 102
  - 103
  - 107
  - 78
  ftfy.formatting.display_rjust:
  - 129
  - 132
  - 133
  - 136
  - 112
  ftfy.formatting.monospaced_width:
  - 74
  - 36
  ftfy.guess_bytes:
  - 704
  - 706
  - 677
  - 678
  - 647
  - 680
  - 710
  - 682
  - 712
  - 714
  - 671
Fuzzer filename: /src/fuzz_format.py
Inheritance:
  ftfy.ExplainedText:
  - NamedTuple
  ftfy.ExplanationStep:
  - NamedTuple
  ftfy.TextFixerConfig:
  - NamedTuple
  ftfy.bad_codecs.sloppy.make_sloppy_codec.Codec: []
  ftfy.bad_codecs.sloppy.make_sloppy_codec.IncrementalDecoder: []
  ftfy.bad_codecs.sloppy.make_sloppy_codec.IncrementalEncoder: []
  ftfy.bad_codecs.sloppy.make_sloppy_codec.StreamReader:
  - Codec
  ftfy.bad_codecs.sloppy.make_sloppy_codec.StreamWriter:
  - Codec
  ftfy.bad_codecs.utf8_variants.IncrementalDecoder:
  - UTF8IncrementalDecoder
  ftfy.bad_codecs.utf8_variants.StreamReader: []
  ftfy.bad_codecs.utf8_variants.StreamWriter: []
ep:
  func_name: TestInput
  module: '...fuzz_format'
