All classes:
- _request_methods.RequestMethods
- exceptions.HTTPError
- exceptions.HTTPWarning
- exceptions.PoolError
- exceptions.RequestError
- exceptions.SSLError
- exceptions.ProxyError
- exceptions.DecodeError
- exceptions.ProtocolError
- exceptions.MaxRetryError
- exceptions.HostChangedError
- exceptions.TimeoutStateError
- exceptions.TimeoutError
- exceptions.ReadTimeoutError
- exceptions.ConnectTimeoutError
- exceptions.NewConnectionError
- exceptions.NameResolutionError
- exceptions.EmptyPoolError
- exceptions.FullPoolError
- exceptions.ClosedPoolError
- exceptions.LocationValueError
- exceptions.LocationParseError
- exceptions.URLSchemeUnknown
- exceptions.ResponseError
- exceptions.SecurityWarning
- exceptions.InsecureRequestWarning
- exceptions.NotOpenSSLWarning
- exceptions.SystemTimeWarning
- exceptions.InsecurePlatformWarning
- exceptions.DependencyWarning
- exceptions.ResponseNotChunked
- exceptions.BodyNotHttplibCompatible
- exceptions.IncompleteRead
- exceptions.InvalidChunkLength
- exceptions.InvalidHeader
- exceptions.ProxySchemeUnknown
- exceptions.ProxySchemeUnsupported
- exceptions.HeaderParsingError
- exceptions.UnrewindableBodyError
- poolmanager.PoolKey
- poolmanager.PoolManager
- poolmanager.ProxyManager
- _base_connection.ProxyConfig
- _base_connection._ResponseOptions
- _base_connection.BaseHTTPConnection
- _base_connection.BaseHTTPSConnection
- response.ContentDecoder
- response.DeflateDecoder
- response.GzipDecoderState
- response.GzipDecoder
- response.BrotliDecoder
- response.ZstdDecoder
- response.MultiDecoder
- response.BytesQueueBuffer
- response.BaseHTTPResponse
- response.HTTPResponse
- connectionpool.ConnectionPool
- connectionpool.HTTPConnectionPool
- connectionpool.HTTPSConnectionPool
- connection.BaseSSLError
- connection.HTTPConnection
- connection.HTTPSConnection
- connection._WrappedAndVerifiedSocket
- connection.DummyConnection
- _collections.HasGettableStringKeys
- _collections._Sentinel
- _collections.RecentlyUsedContainer
- _collections.HTTPHeaderDictItemView
- _collections.HTTPHeaderDict
- fields.RequestField
- http2.connection._LockedObject
- http2.connection.HTTP2Connection
- http2.connection.HTTP2Response
- http2.probe._HTTP2ProbeCache
- util.url.Url
- util.timeout._TYPE_DEFAULT
- util.timeout.Timeout
- util.request._TYPE_FAILEDTELL
- util.request.ChunksAndContentLength
- util.retry.RequestHistory
- util.retry.Retry
- util.ssltransport.SSLTransport
- util.ssl_._TYPE_PEER_CERT_RET_DICT
- util.ssl_match_hostname.CertificateError
- contrib.socks._TYPE_SOCKS_OPTIONS
- contrib.socks.SOCKSConnection
- contrib.socks.SOCKSHTTPSConnection
- contrib.socks.SOCKSHTTPConnectionPool
- contrib.socks.SOCKSHTTPSConnectionPool
- contrib.socks.SOCKSProxyManager
- contrib.pyopenssl.UnsupportedExtension
- contrib.pyopenssl.WrappedSocket
- contrib.pyopenssl.PyOpenSSLContext
- contrib.emscripten.request.EmscriptenRequest
- contrib.emscripten.response.EmscriptenResponse
- contrib.emscripten.response.EmscriptenHttpResponseWrapper
- contrib.emscripten.connection.EmscriptenHTTPConnection
- contrib.emscripten.connection.EmscriptenHTTPSConnection
- contrib.emscripten.fetch._RequestError
- contrib.emscripten.fetch._StreamingError
- contrib.emscripten.fetch._TimeoutError
- contrib.emscripten.fetch._ReadStream
- contrib.emscripten.fetch._StreamingFetcher
- contrib.emscripten.fetch._JSPIReadStream
All functions:
  Elements:
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: '.........fuzz_urlparse'
    functionSourceFile: '.........fuzz_urlparse'
    functionUses: 0
    functionsReached:
    - atheris.Fuzz
    - '.........fuzz_urlparse.main'
    - atheris.instrument_all
    - atheris.Setup
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 6
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 21
    functionName: '.........fuzz_urlparse.TestOneInput'
    functionSourceFile: '.........fuzz_urlparse'
    functionUses: 0
    functionsReached:
    - fdp.ConsumeUnicode
    - atheris.FuzzedDataProvider
    - urllib3.util.url.parse_url
    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.ConsumeUnicode
    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: urllib3.util.url.parse_url
    functionSourceFile: urllib3
    functionUses: 1
    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: 38
    functionName: '.........fuzz_urlparse.main'
    functionSourceFile: '.........fuzz_urlparse'
    functionUses: 1
    functionsReached:
    - atheris.Fuzz
    - atheris.Setup
    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: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.instrument_all
    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: 1
    functionLinenumber: -1
    functionName: filepost
    functionSourceFile: filepost
    functionUses: 0
    functionsReached:
    - codecs.lookup
    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.lookup
    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: 1
    functionLinenumber: 22
    functionName: filepost.choose_boundary
    functionSourceFile: filepost
    functionUses: 3
    functionsReached:
    - os.urandom
    - binascii.hexlify
    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.urandom
    functionSourceFile: os
    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: binascii.hexlify
    functionSourceFile: binascii
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - fields
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 29
    functionName: filepost.iter_field_objects
    functionSourceFile: filepost
    functionUses: 3
    functionsReached:
    - fields.RequestField.from_tuples
    - mimetypes.guess_type
    - <builtin>.isinstance
    - <builtin>.len
    - request_param.make_multipart
    - fields.items
    - fields.guess_content_type
    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>.isinstance
    functionSourceFile: <builtin>
    functionUses: 94
    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: fields.items
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3b1ca90>
    argNames:
    - cls
    - fieldname
    - value
    - header_formatter
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 200
    functionName: fields.RequestField.from_tuples
    functionSourceFile: fields
    functionUses: 4
    functionsReached:
    - mimetypes.guess_type
    - <builtin>.isinstance
    - <builtin>.len
    - request_param.make_multipart
    - fields.guess_content_type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 7
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3d50070>
    argNames:
    - fields
    - boundary
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 51
    functionName: filepost.encode_multipart_formdata
    functionSourceFile: filepost
    functionUses: 2
    functionsReached:
    - <builtin>.str
    - io.BytesIO
    - fields.RequestField.from_tuples
    - filepost.iter_field_objects
    - os.urandom
    - filepost.choose_boundary
    - <builtin>.isinstance
    - binascii.hexlify
    - <builtin>.len
    - mimetypes.guess_type
    - io.BytesIO.getvalue
    - request_param.make_multipart
    - field.render_headers
    - io.BytesIO.write
    - fields.items
    - fields.guess_content_type
    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: io.BytesIO
    functionSourceFile: io
    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: io.BytesIO.write
    functionSourceFile: io
    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: field.render_headers
    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: <builtin>.str
    functionSourceFile: <builtin>
    functionUses: 15
    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: io.BytesIO.getvalue
    functionSourceFile: io
    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: _request_methods
    functionSourceFile: _request_methods
    functionUses: 0
    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 0x7fdac3623310>
    argNames:
    - self
    - headers
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 51
    functionName: _request_methods.RequestMethods.__init__
    functionSourceFile: _request_methods
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3537730>
    - <ast.Constant object at 0x7fdac35370d0>
    - <ast.Constant object at 0x7fdac3537100>
    - <ast.Constant object at 0x7fdac3537250>
    argNames:
    - self
    - method
    - url
    - body
    - headers
    - encode_multipart
    - multipart_boundary
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 54
    functionName: _request_methods.RequestMethods.urlopen
    functionSourceFile: _request_methods
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3537370>
    - <ast.Constant object at 0x7fdac3537fd0>
    - <ast.Constant object at 0x7fdac3537e80>
    - <ast.Constant object at 0x7fdac3537a30>
    argNames:
    - self
    - method
    - url
    - body
    - fields
    - headers
    - json
    - urlopen_kw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 69
    functionName: _request_methods.RequestMethods.request
    functionSourceFile: _request_methods
    functionUses: 0
    functionsReached:
    - match.span
    - util.url._encode_invalid_chars
    - idna.encode
    - request_param.make_multipart
    - field.render_headers
    - io.BytesIO
    - util.util.to_str
    - util.util.to_str.endswith
    - _request_methods.RequestMethods.urlopen
    - util.url._idna_encode
    - urllib.parse.urljoin.split
    - os.urandom
    - json.dumps
    - extra_kw.update
    - util.url._normalize_host.lower
    - poolmanager.ProxyManager.urlopen
    - name.lower
    - <builtin>.super
    - <builtin>.len
    - _ZONE_ID_RE.search
    - output.append
    - urllib.parse.urljoin.startswith
    - poolmanager.ProxyManager._set_proxy_headers
    - <builtin>.ord
    - urllib.parse.urljoin.decode
    - output.insert
    - _HOST_PORT_RE.match
    - util.url._normalize_host.split
    - byte.decode
    - util.url._remove_path_dot_segments
    - util.url.Url
    - <builtin>.map
    - fields.guess_content_type
    - <builtin>.str
    - encoded_component.extend
    - authority.rpartition
    - mimetypes.guess_type
    - _request_methods.RequestMethods.request_encode_url
    - util.util.to_str.decode
    - fields.items
    - urllib.parse.urljoin.endswith
    - filepost.encode_multipart_formdata
    - <builtin>.range
    - uri_bytes.count
    - output.pop
    - name.isascii
    - fields.RequestField.from_tuples
    - io.BytesIO.getvalue
    - util.url.parse_url
    - <builtin>.bytearray
    - _collections.HTTPHeaderDict.__init__
    - util.util.to_str.encode
    - _collections.HTTPHeaderDict.keys
    - util.util.to_str.startswith
    - method.upper
    - _request_methods.RequestMethods.request_encode_body
    - encoded_component.decode
    - headers_.update
    - urllib.parse.urlencode
    - filepost.iter_field_objects
    - util.url._normalize_host
    - _IPV4_RE.match
    - util.util.to_str.split
    - io.BytesIO.write
    - urllib.parse.urljoin.encode
    - util.proxy.connection_requires_http_tunnel
    - <builtin>.isinstance
    - _URI_RE.match
    - <builtin>.hex
    - kw.get
    - _PERCENT_RE.subn
    - scheme.lower
    - binascii.hexlify
    - <builtin>.int
    - _SCHEME_RE.search
    - _IPV6_ADDRZ_RE.match
    - filepost.choose_boundary
    linkageType: pythonLinkage
    raised:
    - TypeError
    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: method.upper
    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: _collections.HTTPHeaderDict.keys
    functionSourceFile: _collections
    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>.map
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fdac31f2be0>
    argNames:
    - self
    - headers
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 240
    functionName: _collections.HTTPHeaderDict.__init__
    functionSourceFile: _collections
    functionUses: 7
    functionsReached:
    - <builtin>.super
    - <builtin>.isinstance
    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: json.dumps
    functionSourceFile: json
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7fdac368b7c0>
    - <ast.Constant object at 0x7fdac368bd30>
    argNames:
    - self
    - method
    - url
    - fields
    - headers
    - urlopen_kw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 147
    functionName: _request_methods.RequestMethods.request_encode_url
    functionSourceFile: _request_methods
    functionUses: 1
    functionsReached:
    - match.span
    - encoded_component.decode
    - poolmanager.ProxyManager.urlopen
    - <builtin>.range
    - name.lower
    - <builtin>.super
    - util.url._encode_invalid_chars
    - <builtin>.len
    - _ZONE_ID_RE.search
    - idna.encode
    - uri_bytes.count
    - output.append
    - output.pop
    - headers_.update
    - urllib.parse.urljoin.startswith
    - name.isascii
    - urllib.parse.urlencode
    - util.util.to_str
    - util.url._normalize_host
    - poolmanager.ProxyManager._set_proxy_headers
    - util.util.to_str.endswith
    - <builtin>.ord
    - urllib.parse.urljoin.decode
    - _IPV4_RE.match
    - output.insert
    - _HOST_PORT_RE.match
    - util.url._normalize_host.split
    - extra_kw.update
    - util.util.to_str.split
    - byte.decode
    - urllib.parse.urljoin.encode
    - util.url.parse_url
    - <builtin>.bytearray
    - _request_methods.RequestMethods.urlopen
    - util.proxy.connection_requires_http_tunnel
    - util.url._remove_path_dot_segments
    - _URI_RE.match
    - util.url._idna_encode
    - <builtin>.isinstance
    - util.util.to_str.encode
    - util.url.Url
    - <builtin>.hex
    - _IPV6_ADDRZ_RE.match
    - urllib.parse.urljoin.split
    - kw.get
    - util.util.to_str.startswith
    - encoded_component.extend
    - _PERCENT_RE.subn
    - scheme.lower
    - authority.rpartition
    - <builtin>.int
    - _SCHEME_RE.search
    - util.util.to_str.decode
    - util.url._normalize_host.lower
    - urllib.parse.urljoin.endswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3c3ce20>
    - <ast.Constant object at 0x7fdac3c3cf70>
    - <ast.Constant object at 0x7fdac3c3c820>
    - <ast.Constant object at 0x7fdac3c3cb20>
    argNames:
    - self
    - method
    - url
    - fields
    - headers
    - encode_multipart
    - multipart_boundary
    - urlopen_kw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 184
    functionName: _request_methods.RequestMethods.request_encode_body
    functionSourceFile: _request_methods
    functionUses: 1
    functionsReached:
    - filepost.encode_multipart_formdata
    - match.span
    - encoded_component.decode
    - poolmanager.ProxyManager.urlopen
    - <builtin>.range
    - name.lower
    - <builtin>.super
    - <builtin>.len
    - util.url._encode_invalid_chars
    - _ZONE_ID_RE.search
    - uri_bytes.count
    - output.append
    - idna.encode
    - output.pop
    - request_param.make_multipart
    - field.render_headers
    - urllib.parse.urljoin.startswith
    - headers_.update
    - name.isascii
    - urllib.parse.urlencode
    - io.BytesIO
    - util.util.to_str
    - fields.RequestField.from_tuples
    - filepost.iter_field_objects
    - util.url._normalize_host
    - poolmanager.ProxyManager._set_proxy_headers
    - util.util.to_str.endswith
    - <builtin>.ord
    - urllib.parse.urljoin.decode
    - output.insert
    - _IPV4_RE.match
    - _HOST_PORT_RE.match
    - io.BytesIO.getvalue
    - util.url._normalize_host.split
    - extra_kw.update
    - util.util.to_str.split
    - io.BytesIO.write
    - byte.decode
    - urllib.parse.urljoin.encode
    - util.url.parse_url
    - <builtin>.bytearray
    - _collections.HTTPHeaderDict.__init__
    - _request_methods.RequestMethods.urlopen
    - util.proxy.connection_requires_http_tunnel
    - util.url._remove_path_dot_segments
    - <builtin>.isinstance
    - _URI_RE.match
    - util.url._idna_encode
    - util.util.to_str.encode
    - util.url.Url
    - <builtin>.hex
    - _IPV6_ADDRZ_RE.match
    - urllib.parse.urljoin.split
    - fields.guess_content_type
    - kw.get
    - <builtin>.str
    - util.util.to_str.startswith
    - encoded_component.extend
    - _PERCENT_RE.subn
    - scheme.lower
    - os.urandom
    - authority.rpartition
    - mimetypes.guess_type
    - binascii.hexlify
    - <builtin>.int
    - _SCHEME_RE.search
    - util.util.to_str.decode
    - filepost.choose_boundary
    - fields.items
    - util.url._normalize_host.lower
    - urllib.parse.urljoin.endswith
    linkageType: pythonLinkage
    raised:
    - TypeError
    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: extra_kw.update
    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: urllib.parse.urlencode
    functionSourceFile: urllib
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3632550>
    argNames:
    - self
    - method
    - url
    - redirect
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 635
    functionName: poolmanager.ProxyManager.urlopen
    functionSourceFile: poolmanager
    functionUses: 4
    functionsReached:
    - match.span
    - encoded_component.decode
    - <builtin>.range
    - name.lower
    - <builtin>.super
    - util.url._encode_invalid_chars
    - <builtin>.len
    - _ZONE_ID_RE.search
    - idna.encode
    - uri_bytes.count
    - output.append
    - output.pop
    - headers_.update
    - urllib.parse.urljoin.startswith
    - name.isascii
    - util.util.to_str
    - util.url._normalize_host
    - poolmanager.ProxyManager._set_proxy_headers
    - util.util.to_str.endswith
    - <builtin>.ord
    - urllib.parse.urljoin.decode
    - _IPV4_RE.match
    - output.insert
    - _HOST_PORT_RE.match
    - util.url._normalize_host.split
    - util.util.to_str.split
    - urllib.parse.urljoin.encode
    - byte.decode
    - util.url.parse_url
    - <builtin>.bytearray
    - util.proxy.connection_requires_http_tunnel
    - util.url._remove_path_dot_segments
    - _URI_RE.match
    - util.url._idna_encode
    - <builtin>.isinstance
    - util.util.to_str.encode
    - util.url.Url
    - <builtin>.hex
    - _IPV6_ADDRZ_RE.match
    - urllib.parse.urljoin.split
    - kw.get
    - util.util.to_str.startswith
    - encoded_component.extend
    - _PERCENT_RE.subn
    - scheme.lower
    - authority.rpartition
    - <builtin>.int
    - _SCHEME_RE.search
    - util.util.to_str.decode
    - util.url._normalize_host.lower
    - urllib.parse.urljoin.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: 1
    functionLinenumber: -1
    functionName: _collections
    functionSourceFile: _collections
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    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: 0
    functionLinenumber: 16
    functionName: _collections.HasGettableStringKeys.keys
    functionSourceFile: _collections
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 18
    functionName: _collections.HasGettableStringKeys.__getitem__
    functionSourceFile: _collections
    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: typing.TypeVar
    functionSourceFile: typing
    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: enum.auto
    functionSourceFile: enum
    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: 1
    functionLinenumber: -1
    functionName: _collections._Sentinel
    functionSourceFile: _collections
    functionUses: 0
    functionsReached:
    - enum.auto
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - potential
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 43
    functionName: _collections.ensure_can_construct_http_header_dict
    functionSourceFile: _collections
    functionUses: 4
    functionsReached:
    - <builtin>.hasattr
    - <builtin>.isinstance
    - typing.cast
    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: 15
    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>.hasattr
    functionSourceFile: <builtin>
    functionUses: 44
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fdac340c820>
    - <ast.Constant object at 0x7fdac340c880>
    argNames:
    - self
    - maxsize
    - dispose_func
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 82
    functionName: _collections.RecentlyUsedContainer.__init__
    functionSourceFile: _collections
    functionUses: 1
    functionsReached:
    - <builtin>.super
    - threading.RLock
    - collections.OrderedDict
    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>.super
    functionSourceFile: <builtin>
    functionUses: 65
    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: collections.OrderedDict
    functionSourceFile: collections
    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: threading.RLock
    functionSourceFile: threading
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 93
    functionName: _collections.RecentlyUsedContainer.__getitem__
    functionSourceFile: _collections
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 100
    functionName: _collections.RecentlyUsedContainer.__setitem__
    functionSourceFile: _collections
    functionUses: 0
    functionsReached:
    - <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: <builtin>.len
    functionSourceFile: <builtin>
    functionUses: 70
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 125
    functionName: _collections.RecentlyUsedContainer.__delitem__
    functionSourceFile: _collections
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 132
    functionName: _collections.RecentlyUsedContainer.__len__
    functionSourceFile: _collections
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 136
    functionName: _collections.RecentlyUsedContainer.__iter__
    functionSourceFile: _collections
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 141
    functionName: _collections.RecentlyUsedContainer.clear
    functionSourceFile: _collections
    functionUses: 2
    functionsReached:
    - <builtin>.list
    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: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 151
    functionName: _collections.RecentlyUsedContainer.keys
    functionSourceFile: _collections
    functionUses: 0
    functionsReached:
    - <builtin>.set
    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: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - headers
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 187
    functionName: _collections.HTTPHeaderDictItemView.__init__
    functionSourceFile: _collections
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 190
    functionName: _collections.HTTPHeaderDictItemView.__len__
    functionSourceFile: _collections
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 193
    functionName: _collections.HTTPHeaderDictItemView.__iter__
    functionSourceFile: _collections
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 196
    functionName: _collections.HTTPHeaderDictItemView.__contains__
    functionSourceFile: _collections
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - val
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 251
    functionName: _collections.HTTPHeaderDict.__setitem__
    functionSourceFile: _collections
    functionUses: 0
    functionsReached:
    - key.decode
    - <builtin>.isinstance
    - key.lower
    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: key.decode
    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: key.lower
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 257
    functionName: _collections.HTTPHeaderDict.__getitem__
    functionSourceFile: _collections
    functionUses: 0
    functionsReached:
    - key.decode
    - <builtin>.isinstance
    - key.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 263
    functionName: _collections.HTTPHeaderDict.__delitem__
    functionSourceFile: _collections
    functionUses: 0
    functionsReached:
    - key.decode
    - <builtin>.isinstance
    - key.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 268
    functionName: _collections.HTTPHeaderDict.__contains__
    functionSourceFile: _collections
    functionUses: 0
    functionsReached:
    - key.decode
    - <builtin>.isinstance
    - key.lower
    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 0x7fdac3758c70>
    argNames:
    - self
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 275
    functionName: _collections.HTTPHeaderDict.setdefault
    functionSourceFile: _collections
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 278
    functionName: _collections.HTTPHeaderDict.__eq__
    functionSourceFile: _collections
    functionUses: 0
    functionsReached:
    - k.lower
    - <builtin>.type
    - other_as_http_header_dict.itermerged
    - <builtin>.isinstance
    - typing.cast
    - <builtin>.hasattr
    - _collections.ensure_can_construct_http_header_dict
    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>.type
    functionSourceFile: <builtin>
    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: k.lower
    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: other_as_http_header_dict.itermerged
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 289
    functionName: _collections.HTTPHeaderDict.__ne__
    functionSourceFile: _collections
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 292
    functionName: _collections.HTTPHeaderDict.__len__
    functionSourceFile: _collections
    functionUses: 0
    functionsReached:
    - <builtin>.len
    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: 0
    functionLinenumber: 295
    functionName: _collections.HTTPHeaderDict.__iter__
    functionSourceFile: _collections
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 300
    functionName: _collections.HTTPHeaderDict.discard
    functionSourceFile: _collections
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - key
    - val
    - combine
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 306
    functionName: _collections.HTTPHeaderDict.add
    functionSourceFile: _collections
    functionUses: 1
    functionsReached:
    - key.decode
    - vals.append
    - <builtin>.isinstance
    - key.lower
    - <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: vals.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 6
    IfCount: 5
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 341
    functionName: _collections.HTTPHeaderDict.extend
    functionSourceFile: _collections
    functionUses: 0
    functionsReached:
    - kwargs.items
    - other.items
    - <builtin>.isinstance
    - typing.cast
    - <builtin>.len
    - other.iteritems
    - <builtin>.hasattr
    - other.keys
    linkageType: pythonLinkage
    raised:
    - TypeError
    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: other.iteritems
    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: other.items
    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: other.keys
    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: kwargs.items
    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: 1
    functionLinenumber: -1
    functionName: _collections.HTTPHeaderDict
    functionSourceFile: _collections
    functionUses: 0
    functionsReached:
    - typing.overload
    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.overload
    functionSourceFile: ''
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Attribute object at 0x7fdac3d508e0>
    argNames:
    - self
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 380
    functionName: _collections.HTTPHeaderDict.getlist
    functionSourceFile: _collections
    functionUses: 0
    functionsReached:
    - key.decode
    - <builtin>.isinstance
    - key.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 400
    functionName: _collections.HTTPHeaderDict._prepare_for_method_change
    functionSourceFile: _collections
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 426
    functionName: _collections.HTTPHeaderDict.__repr__
    functionSourceFile: _collections
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - <builtin>.dict
    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>.dict
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 429
    functionName: _collections.HTTPHeaderDict._copy_from
    functionSourceFile: _collections
    functionUses: 0
    functionsReached:
    - other.getlist
    - key.lower
    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: other.getlist
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 434
    functionName: _collections.HTTPHeaderDict.copy
    functionSourceFile: _collections
    functionUses: 1
    functionsReached:
    - <builtin>.type
    - clone._copy_from
    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: clone._copy_from
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 439
    functionName: _collections.HTTPHeaderDict.iteritems
    functionSourceFile: _collections
    functionUses: 0
    functionsReached:
    - key.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 446
    functionName: _collections.HTTPHeaderDict.itermerged
    functionSourceFile: _collections
    functionUses: 0
    functionsReached:
    - key.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 452
    functionName: _collections.HTTPHeaderDict.items
    functionSourceFile: _collections
    functionUses: 0
    functionsReached:
    - _collections.HTTPHeaderDictItemView.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - header_name
    - potential_value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 455
    functionName: _collections.HTTPHeaderDict._has_value_for_header
    functionSourceFile: _collections
    functionUses: 0
    functionsReached:
    - header_name.lower
    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: header_name.lower
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 460
    functionName: _collections.HTTPHeaderDict.__ior__
    functionSourceFile: _collections
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - _collections.ensure_can_construct_http_header_dict
    - <builtin>.isinstance
    - typing.cast
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 469
    functionName: _collections.HTTPHeaderDict.__or__
    functionSourceFile: _collections
    functionUses: 0
    functionsReached:
    - result.extend
    - <builtin>.isinstance
    - typing.cast
    - <builtin>.hasattr
    - _collections.ensure_can_construct_http_header_dict
    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: result.extend
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 479
    functionName: _collections.HTTPHeaderDict.__ror__
    functionSourceFile: _collections
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - result.extend
    - <builtin>.isinstance
    - typing.cast
    - <builtin>.hasattr
    - _collections.ensure_can_construct_http_header_dict
    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: exceptions
    functionSourceFile: exceptions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - pool
    - message
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 32
    functionName: exceptions.PoolError.__init__
    functionSourceFile: exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 37
    functionName: exceptions.PoolError.__reduce__
    functionSourceFile: exceptions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - pool
    - url
    - message
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 45
    functionName: exceptions.RequestError.__init__
    functionSourceFile: exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 49
    functionName: exceptions.RequestError.__reduce__
    functionSourceFile: exceptions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - message
    - error
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 64
    functionName: exceptions.ProxyError.__init__
    functionSourceFile: exceptions
    functionUses: 3
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3d5c9d0>
    argNames:
    - self
    - pool
    - url
    - reason
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 95
    functionName: exceptions.MaxRetryError.__init__
    functionSourceFile: exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 104
    functionName: exceptions.MaxRetryError.__reduce__
    functionSourceFile: exceptions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3d5c970>
    argNames:
    - self
    - pool
    - url
    - retries
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 112
    functionName: exceptions.HostChangedError.__init__
    functionSourceFile: exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - conn
    - message
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 145
    functionName: exceptions.NewConnectionError.__init__
    functionSourceFile: exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 150
    functionName: exceptions.NewConnectionError.__reduce__
    functionSourceFile: exceptions
    functionUses: 0
    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: 155
    functionName: exceptions.NewConnectionError.pool
    functionSourceFile: exceptions
    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: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - host
    - conn
    - reason
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 169
    functionName: exceptions.NameResolutionError.__init__
    functionSourceFile: exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 175
    functionName: exceptions.NameResolutionError.__reduce__
    functionSourceFile: exceptions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - location
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 199
    functionName: exceptions.LocationParseError.__init__
    functionSourceFile: exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - scheme
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 209
    functionName: exceptions.URLSchemeUnknown.__init__
    functionSourceFile: exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - partial
    - expected
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 272
    functionName: exceptions.IncompleteRead.__init__
    functionSourceFile: exceptions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 276
    functionName: exceptions.IncompleteRead.__repr__
    functionSourceFile: exceptions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - response
    - length
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 286
    functionName: exceptions.InvalidChunkLength.__init__
    functionSourceFile: exceptions
    functionUses: 0
    functionsReached:
    - response.tell
    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: response.tell
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 292
    functionName: exceptions.InvalidChunkLength.__repr__
    functionSourceFile: exceptions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - scheme
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 308
    functionName: exceptions.ProxySchemeUnknown.__init__
    functionSourceFile: exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - defects
    - unparsed_data
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 327
    functionName: exceptions.HeaderParsingError.__init__
    functionSourceFile: exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.super
    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: 1
    functionLinenumber: -1
    functionName: poolmanager
    functionSourceFile: poolmanager
    functionUses: 0
    functionsReached:
    - logging.getLogger
    - functools.partial
    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: logging.getLogger
    functionSourceFile: logging
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - key_class
    - request_context
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 95
    functionName: poolmanager._default_key_normalizer
    functionSourceFile: poolmanager
    functionUses: 0
    functionsReached:
    - context.get
    - <builtin>.list
    - <builtin>.frozenset
    - <builtin>.tuple
    - context.keys
    - context.pop
    - request_context.copy
    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: request_context.copy
    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>.frozenset
    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: context.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: <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: context.keys
    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: context.pop
    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: functools.partial
    functionSourceFile: functools
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fdac355d970>
    - <ast.Constant object at 0x7fdac355ddf0>
    argNames:
    - self
    - num_pools
    - headers
    - connection_pool_kw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 199
    functionName: poolmanager.PoolManager.__init__
    functionSourceFile: poolmanager
    functionUses: 0
    functionsReached:
    - key_fn_by_scheme.copy
    - connection_pool_kw.copy
    - log.debug
    - <builtin>.bool
    - _collections.RecentlyUsedContainer.__init__
    - <builtin>.isinstance
    - <builtin>.super
    - util.retry.Retry.from_int
    - collections.OrderedDict
    - threading.RLock
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3622280>
    - <ast.Constant object at 0x7fdac3622880>
    argNames:
    - cls
    - retries
    - redirect
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 283
    functionName: util.retry.Retry.from_int
    functionSourceFile: util.retry
    functionUses: 3
    functionsReached:
    - log.debug
    - <builtin>.bool
    - <builtin>.isinstance
    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: connection_pool_kw.copy
    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: key_fn_by_scheme.copy
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 230
    functionName: poolmanager.PoolManager.__enter__
    functionSourceFile: poolmanager
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exc_type
    - exc_val
    - exc_tb
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 233
    functionName: poolmanager.PoolManager.__exit__
    functionSourceFile: poolmanager
    functionUses: 0
    functionsReached:
    - poolmanager.PoolManager.clear
    - _collections.RecentlyUsedContainer.clear
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 281
    functionName: poolmanager.PoolManager.clear
    functionSourceFile: poolmanager
    functionUses: 1
    functionsReached:
    - _collections.RecentlyUsedContainer.clear
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3622310>
    argNames:
    - self
    - scheme
    - host
    - port
    - request_context
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 243
    functionName: poolmanager.PoolManager._new_pool
    functionSourceFile: poolmanager
    functionUses: 5
    functionsReached:
    - request_context.get
    - request_context.pop
    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: request_context.get
    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: request_context.pop
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fdac34ff580>
    - <ast.Constant object at 0x7fdac34ff1f0>
    - <ast.Constant object at 0x7fdac34ffca0>
    argNames:
    - self
    - host
    - port
    - scheme
    - pool_kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 290
    functionName: poolmanager.PoolManager.connection_from_host
    functionSourceFile: poolmanager
    functionUses: 2
    functionsReached:
    - poolmanager.PoolManager._merge_pool_kwargs
    - poolmanager.PoolManager.connection_from_context
    - request_context.get
    - port_by_scheme.get
    - request_context.pop
    - override.items
    - poolmanager.PoolManager.connection_from_pool_key
    - _collections.RecentlyUsedContainer.get
    - warnings.warn
    - poolmanager.PoolManager._new_pool
    linkageType: pythonLinkage
    raised:
    - LocationValueError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - override
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 388
    functionName: poolmanager.PoolManager._merge_pool_kwargs
    functionSourceFile: poolmanager
    functionUses: 3
    functionsReached:
    - override.items
    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: port_by_scheme.get
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - request_context
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 319
    functionName: poolmanager.PoolManager.connection_from_context
    functionSourceFile: poolmanager
    functionUses: 3
    functionsReached:
    - request_context.get
    - request_context.pop
    - poolmanager.PoolManager.connection_from_pool_key
    - _collections.RecentlyUsedContainer.get
    - warnings.warn
    - poolmanager.PoolManager._new_pool
    linkageType: pythonLinkage
    raised:
    - URLSchemeUnknown
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - pool_key
    - request_context
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 344
    functionName: poolmanager.PoolManager.connection_from_pool_key
    functionSourceFile: poolmanager
    functionUses: 4
    functionsReached:
    - request_context.get
    - _collections.RecentlyUsedContainer.get
    - request_context.pop
    - poolmanager.PoolManager._new_pool
    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: _collections.RecentlyUsedContainer.get
    functionSourceFile: _collections
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fdac37545b0>
    argNames:
    - self
    - url
    - pool_kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 370
    functionName: poolmanager.PoolManager.connection_from_url
    functionSourceFile: poolmanager
    functionUses: 0
    functionsReached:
    - match.span
    - encoded_component.decode
    - <builtin>.range
    - name.lower
    - <builtin>.len
    - util.url._encode_invalid_chars
    - <builtin>.super
    - _ZONE_ID_RE.search
    - idna.encode
    - uri_bytes.count
    - poolmanager.ProxyManager.connection_from_host
    - output.append
    - output.pop
    - warnings.warn
    - urllib.parse.urljoin.startswith
    - name.isascii
    - port_by_scheme.get
    - util.util.to_str
    - util.url._normalize_host
    - util.util.to_str.endswith
    - <builtin>.ord
    - urllib.parse.urljoin.decode
    - _IPV4_RE.match
    - output.insert
    - _HOST_PORT_RE.match
    - util.url._normalize_host.split
    - util.util.to_str.split
    - byte.decode
    - urllib.parse.urljoin.encode
    - util.url.parse_url
    - poolmanager.PoolManager._merge_pool_kwargs
    - poolmanager.PoolManager.connection_from_context
    - poolmanager.PoolManager.connection_from_host
    - request_context.pop
    - <builtin>.bytearray
    - _collections.RecentlyUsedContainer.get
    - override.items
    - util.url._remove_path_dot_segments
    - _URI_RE.match
    - util.url._idna_encode
    - <builtin>.isinstance
    - util.util.to_str.encode
    - util.url.Url
    - poolmanager.PoolManager.connection_from_pool_key
    - <builtin>.hex
    - _IPV6_ADDRZ_RE.match
    - urllib.parse.urljoin.split
    - poolmanager.PoolManager._new_pool
    - request_context.get
    - util.util.to_str.startswith
    - encoded_component.extend
    - _PERCENT_RE.subn
    - scheme.lower
    - authority.rpartition
    - <builtin>.int
    - _SCHEME_RE.search
    - util.util.to_str.decode
    - util.url._normalize_host.lower
    - urllib.parse.urljoin.endswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 19
    ICount: 1
    IfCount: 13
    argCount: 1
    argDefaultValues: []
    argNames:
    - url
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 367
    functionName: util.url.parse_url
    functionSourceFile: util
    functionUses: 13
    functionsReached:
    - match.span
    - encoded_component.decode
    - <builtin>.range
    - name.lower
    - <builtin>.len
    - util.url._encode_invalid_chars
    - _ZONE_ID_RE.search
    - idna.encode
    - uri_bytes.count
    - output.append
    - output.pop
    - urllib.parse.urljoin.startswith
    - name.isascii
    - util.util.to_str
    - util.url._normalize_host
    - util.util.to_str.endswith
    - <builtin>.ord
    - urllib.parse.urljoin.decode
    - _IPV4_RE.match
    - output.insert
    - _HOST_PORT_RE.match
    - util.url._normalize_host.split
    - util.util.to_str.split
    - urllib.parse.urljoin.encode
    - byte.decode
    - <builtin>.bytearray
    - util.url._remove_path_dot_segments
    - util.url._idna_encode
    - _URI_RE.match
    - <builtin>.isinstance
    - util.util.to_str.encode
    - util.url.Url
    - <builtin>.hex
    - _IPV6_ADDRZ_RE.match
    - urllib.parse.urljoin.split
    - util.util.to_str.startswith
    - encoded_component.extend
    - _PERCENT_RE.subn
    - scheme.lower
    - authority.rpartition
    - <builtin>.int
    - _SCHEME_RE.search
    - util.util.to_str.decode
    - util.url._normalize_host.lower
    - urllib.parse.urljoin.endswith
    linkageType: pythonLinkage
    raised:
    - LocationParseError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fdac363d250>
    - <ast.Constant object at 0x7fdac363d280>
    - <ast.Constant object at 0x7fdac363d520>
    argNames:
    - self
    - host
    - port
    - scheme
    - pool_kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 602
    functionName: poolmanager.ProxyManager.connection_from_host
    functionSourceFile: poolmanager
    functionUses: 2
    functionsReached:
    - <builtin>.super
    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: override.items
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - parsed_url
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 410
    functionName: poolmanager.PoolManager._proxy_requires_url_absolute_form
    functionSourceFile: poolmanager
    functionUses: 1
    functionsReached:
    - util.proxy.connection_requires_http_tunnel
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3d5cbe0>
    - <ast.Constant object at 0x7fdac3d5c940>
    - <ast.Constant object at 0x7fdac3d5c2e0>
    argNames:
    - proxy_url
    - proxy_config
    - destination_scheme
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 11
    functionName: util.proxy.connection_requires_http_tunnel
    functionSourceFile: util
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 6
    IfCount: 9
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3132940>
    argNames:
    - self
    - method
    - url
    - redirect
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 423
    functionName: poolmanager.PoolManager.urlopen
    functionSourceFile: poolmanager
    functionUses: 0
    functionsReached:
    - match.span
    - util.url._encode_invalid_chars
    - idna.encode
    - response.drain_conn
    - _SCHEME_RE.search
    - warnings.warn
    - port_by_scheme.get
    - util.util.to_str
    - poolmanager.PoolManager._proxy_requires_url_absolute_form
    - util.util.to_str.endswith
    - conn.is_same_host
    - log.debug
    - util.url._idna_encode
    - urllib.parse.urljoin.split
    - poolmanager.PoolManager._new_pool
    - util.url._normalize_host.lower
    - <builtin>.bool
    - poolmanager.ProxyManager.urlopen
    - name.lower
    - <builtin>.super
    - <builtin>.len
    - _ZONE_ID_RE.search
    - output.append
    - urllib.parse.urljoin.startswith
    - poolmanager.ProxyManager._set_proxy_headers
    - <builtin>.ord
    - log.info
    - urllib.parse.urljoin.decode
    - output.insert
    - _HOST_PORT_RE.match
    - util.url._normalize_host.split
    - byte.decode
    - header.lower
    - retries.increment
    - poolmanager.PoolManager.connection_from_context
    - util.url._remove_path_dot_segments
    - request_context.get
    - _collections.HTTPHeaderDict._prepare_for_method_change
    - conn.urlopen
    - encoded_component.extend
    - authority.rpartition
    - util.util.to_str.decode
    - urllib.parse.urljoin.endswith
    - <builtin>.range
    - uri_bytes.count
    - output.pop
    - name.isascii
    - util.retry.Retry.from_int
    - util.url.parse_url
    - <builtin>.bytearray
    - _collections.HTTPHeaderDict.__init__
    - request_context.pop
    - util.util.to_str.encode
    - util.util.to_str.startswith
    - encoded_component.decode
    - headers_.update
    - poolmanager.ProxyManager.connection_from_host
    - new_headers.pop
    - util.url._normalize_host
    - _IPV4_RE.match
    - util.util.to_str.split
    - urllib.parse.urljoin.encode
    - _collections.RecentlyUsedContainer.get
    - poolmanager.PoolManager._merge_pool_kwargs
    - poolmanager.PoolManager.connection_from_host
    - override.items
    - util.proxy.connection_requires_http_tunnel
    - <builtin>.isinstance
    - _URI_RE.match
    - poolmanager.PoolManager.connection_from_pool_key
    - <builtin>.hex
    - kw.get
    - _PERCENT_RE.subn
    - scheme.lower
    - response.get_redirect_location
    - urllib.parse.urljoin
    - <builtin>.int
    - util.url.Url
    - _IPV6_ADDRZ_RE.match
    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: conn.urlopen
    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: response.get_redirect_location
    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: urllib.parse.urljoin
    functionSourceFile: urllib
    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: kw.get
    functionSourceFile: <builtin>
    functionUses: 5
    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: conn.is_same_host
    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: header.lower
    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: new_headers.pop
    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: retries.increment
    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: response.drain_conn
    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: log.info
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 10
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3608a60>
    - <ast.Constant object at 0x7fdac3608460>
    - <ast.Constant object at 0x7fdac36085b0>
    - <ast.Constant object at 0x7fdac3608280>
    - <ast.Constant object at 0x7fdac3608070>
    - <ast.Constant object at 0x7fdac36084c0>
    - <ast.Constant object at 0x7fdac3608430>
    argNames:
    - self
    - proxy_url
    - num_pools
    - headers
    - proxy_headers
    - proxy_ssl_context
    - use_forwarding_for_https
    - proxy_assert_hostname
    - proxy_assert_fingerprint
    - connection_pool_kw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 561
    functionName: poolmanager.ProxyManager.__init__
    functionSourceFile: poolmanager
    functionUses: 1
    functionsReached:
    - match.span
    - encoded_component.decode
    - <builtin>.range
    - name.lower
    - <builtin>.super
    - util.url._encode_invalid_chars
    - <builtin>.len
    - _ZONE_ID_RE.search
    - idna.encode
    - uri_bytes.count
    - output.append
    - output.pop
    - _SCHEME_RE.search
    - urllib.parse.urljoin.startswith
    - name.isascii
    - util.url.parse_url._replace
    - port_by_scheme.get
    - util.util.to_str
    - util.url._normalize_host
    - util.util.to_str.endswith
    - <builtin>.ord
    - urllib.parse.urljoin.decode
    - _IPV4_RE.match
    - output.insert
    - _HOST_PORT_RE.match
    - util.url._normalize_host.split
    - util.util.to_str.split
    - urllib.parse.urljoin.encode
    - byte.decode
    - util.url.parse_url
    - <builtin>.bytearray
    - util.url._remove_path_dot_segments
    - <builtin>.isinstance
    - _URI_RE.match
    - util.url._idna_encode
    - util.util.to_str.encode
    - <builtin>.hex
    - _IPV6_ADDRZ_RE.match
    - urllib.parse.urljoin.split
    - typing.NamedTuple.__init__
    - util.util.to_str.startswith
    - encoded_component.extend
    - _PERCENT_RE.subn
    - scheme.lower
    - authority.rpartition
    - <builtin>.int
    - util.url.Url
    - util.util.to_str.decode
    - util.url._normalize_host.lower
    - urllib.parse.urljoin.endswith
    linkageType: pythonLinkage
    raised:
    - ProxySchemeUnknown
    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: util.url.parse_url._replace
    functionSourceFile: util
    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: typing.NamedTuple.__init__
    functionSourceFile: ''
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3d6f8e0>
    argNames:
    - self
    - url
    - headers
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 618
    functionName: poolmanager.ProxyManager._set_proxy_headers
    functionSourceFile: poolmanager
    functionUses: 5
    functionsReached:
    - match.span
    - encoded_component.decode
    - <builtin>.range
    - name.lower
    - <builtin>.len
    - util.url._encode_invalid_chars
    - _ZONE_ID_RE.search
    - idna.encode
    - headers_.update
    - uri_bytes.count
    - output.append
    - output.pop
    - _SCHEME_RE.search
    - urllib.parse.urljoin.startswith
    - name.isascii
    - util.util.to_str
    - util.url._normalize_host
    - util.util.to_str.endswith
    - <builtin>.ord
    - urllib.parse.urljoin.decode
    - _IPV4_RE.match
    - output.insert
    - _HOST_PORT_RE.match
    - util.url._normalize_host.split
    - util.util.to_str.split
    - urllib.parse.urljoin.encode
    - byte.decode
    - util.url.parse_url
    - <builtin>.bytearray
    - util.url._remove_path_dot_segments
    - _URI_RE.match
    - util.url._idna_encode
    - <builtin>.isinstance
    - util.util.to_str.encode
    - <builtin>.hex
    - _IPV6_ADDRZ_RE.match
    - urllib.parse.urljoin.split
    - util.util.to_str.startswith
    - encoded_component.extend
    - _PERCENT_RE.subn
    - scheme.lower
    - authority.rpartition
    - <builtin>.int
    - util.url.Url
    - util.util.to_str.decode
    - util.url._normalize_host.lower
    - urllib.parse.urljoin.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: headers_.update
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - url
    - kw
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 650
    functionName: poolmanager.proxy_from_url
    functionSourceFile: poolmanager
    functionUses: 0
    functionsReached:
    - match.span
    - encoded_component.decode
    - <builtin>.range
    - name.lower
    - <builtin>.super
    - util.url._encode_invalid_chars
    - <builtin>.len
    - _ZONE_ID_RE.search
    - idna.encode
    - uri_bytes.count
    - output.append
    - output.pop
    - _SCHEME_RE.search
    - urllib.parse.urljoin.startswith
    - name.isascii
    - util.url.parse_url._replace
    - port_by_scheme.get
    - util.util.to_str
    - util.url._normalize_host
    - util.util.to_str.endswith
    - <builtin>.ord
    - urllib.parse.urljoin.decode
    - _IPV4_RE.match
    - output.insert
    - _HOST_PORT_RE.match
    - util.url._normalize_host.split
    - util.util.to_str.split
    - byte.decode
    - urllib.parse.urljoin.encode
    - util.url.parse_url
    - <builtin>.bytearray
    - util.url._remove_path_dot_segments
    - <builtin>.isinstance
    - _URI_RE.match
    - util.url._idna_encode
    - util.util.to_str.encode
    - <builtin>.hex
    - _IPV6_ADDRZ_RE.match
    - urllib.parse.urljoin.split
    - typing.NamedTuple.__init__
    - util.util.to_str.startswith
    - encoded_component.extend
    - _PERCENT_RE.subn
    - scheme.lower
    - authority.rpartition
    - poolmanager.ProxyManager.__init__
    - <builtin>.int
    - util.url.Url
    - util.util.to_str.decode
    - util.url._normalize_host.lower
    - urllib.parse.urljoin.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: _base_connection
    functionSourceFile: _base_connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 9
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3175550>
    argNames:
    - self
    - host
    - port
    - timeout
    - source_address
    - blocksize
    - socket_options
    - proxy
    - proxy_config
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 54
    functionName: _base_connection.BaseHTTPConnection.__init__
    functionSourceFile: _base_connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fdac355dcd0>
    - <ast.Constant object at 0x7fdac355d6a0>
    - <ast.Constant object at 0x7fdac355da60>
    argNames:
    - self
    - host
    - port
    - headers
    - scheme
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 67
    functionName: _base_connection.BaseHTTPConnection.set_tunnel
    functionSourceFile: _base_connection
    functionUses: 0
    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: 0
    functionLinenumber: 75
    functionName: _base_connection.BaseHTTPConnection.connect
    functionSourceFile: _base_connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 9
    argDefaultValues:
    - <ast.Constant object at 0x7fdac355d7c0>
    - <ast.Constant object at 0x7fdac355d3d0>
    argNames:
    - self
    - method
    - url
    - body
    - headers
    - chunked
    - preload_content
    - decode_content
    - enforce_content_length
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 77
    functionName: _base_connection.BaseHTTPConnection.request
    functionSourceFile: _base_connection
    functionUses: 0
    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: 0
    functionLinenumber: 93
    functionName: _base_connection.BaseHTTPConnection.getresponse
    functionSourceFile: _base_connection
    functionUses: 0
    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: 0
    functionLinenumber: 95
    functionName: _base_connection.BaseHTTPConnection.close
    functionSourceFile: _base_connection
    functionUses: 0
    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: 0
    functionLinenumber: 98
    functionName: _base_connection.BaseHTTPConnection.is_closed
    functionSourceFile: _base_connection
    functionUses: 0
    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: 0
    functionLinenumber: 105
    functionName: _base_connection.BaseHTTPConnection.is_connected
    functionSourceFile: _base_connection
    functionUses: 0
    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: 0
    functionLinenumber: 109
    functionName: _base_connection.BaseHTTPConnection.has_connected_to_proxy
    functionSourceFile: _base_connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 23
    argDefaultValues:
    - <ast.Constant object at 0x7fdac37546d0>
    argNames:
    - self
    - host
    - port
    - timeout
    - source_address
    - blocksize
    - socket_options
    - proxy
    - proxy_config
    - cert_reqs
    - assert_hostname
    - assert_fingerprint
    - server_hostname
    - ssl_context
    - ca_certs
    - ca_cert_dir
    - ca_cert_data
    - ssl_minimum_version
    - ssl_maximum_version
    - ssl_version
    - cert_file
    - key_file
    - key_password
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 140
    functionName: _base_connection.BaseHTTPSConnection.__init__
    functionSourceFile: _base_connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: response
    functionSourceFile: response
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.UnaryOp object at 0x7fdac2db4f40>
    argNames:
    - self
    - data
    - max_length
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 55
    functionName: response.ContentDecoder.decompress
    functionSourceFile: response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 59
    functionName: response.ContentDecoder.has_unconsumed_tail
    functionSourceFile: response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 62
    functionName: response.ContentDecoder.flush
    functionSourceFile: response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 67
    functionName: response.DeflateDecoder.__init__
    functionSourceFile: response
    functionUses: 3
    functionsReached:
    - zlib.decompressobj
    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: zlib.decompressobj
    functionSourceFile: zlib
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 3
    argDefaultValues:
    - <ast.UnaryOp object at 0x7fdac3dc41c0>
    argNames:
    - self
    - data
    - max_length
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 73
    functionName: response.DeflateDecoder.decompress
    functionSourceFile: response
    functionUses: 0
    functionsReached:
    - response.DeflateDecoder.decompress
    - zlib.decompressobj
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 116
    functionName: response.DeflateDecoder.has_unconsumed_tail
    functionSourceFile: response
    functionUses: 0
    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: <builtin>.bool
    functionSourceFile: <builtin>
    functionUses: 33
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 121
    functionName: response.DeflateDecoder.flush
    functionSourceFile: response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 132
    functionName: response.GzipDecoder.__init__
    functionSourceFile: response
    functionUses: 3
    functionsReached:
    - zlib.decompressobj
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 0
    IfCount: 7
    argCount: 3
    argDefaultValues:
    - <ast.UnaryOp object at 0x7fdac30ebdf0>
    argNames:
    - self
    - data
    - max_length
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 137
    functionName: response.GzipDecoder.decompress
    functionSourceFile: response
    functionUses: 0
    functionsReached:
    - <builtin>.bytearray
    - zlib.decompressobj
    - <builtin>.max
    - <builtin>.len
    - <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>.bytearray
    functionSourceFile: <builtin>
    functionUses: 23
    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: 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: <builtin>.max
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 188
    functionName: response.GzipDecoder.has_unconsumed_tail
    functionSourceFile: response
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 191
    functionName: response.GzipDecoder.flush
    functionSourceFile: response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 201
    functionName: response.BrotliDecoder.__init__
    functionSourceFile: response
    functionUses: 3
    functionsReached:
    - brotli.Decompressor
    - <builtin>.hasattr
    - <builtin>.setattr
    - brotlicffi.Decompressor
    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: brotli.Decompressor
    functionSourceFile: brotli
    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: brotlicffi.Decompressor
    functionSourceFile: brotlicffi
    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>.setattr
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.UnaryOp object at 0x7fdac35da8e0>
    argNames:
    - self
    - data
    - output_buffer_limit
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 209
    functionName: response.BrotliDecoder._decompress
    functionSourceFile: response
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.UnaryOp object at 0x7fdac35cb880>
    argNames:
    - self
    - data
    - max_length
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 212
    functionName: response.BrotliDecoder.decompress
    functionSourceFile: response
    functionUses: 0
    functionsReached:
    - warnings.warn
    - response.BrotliDecoder._decompress
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 228
    functionName: response.BrotliDecoder.has_unconsumed_tail
    functionSourceFile: response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 234
    functionName: response.BrotliDecoder.flush
    functionSourceFile: response
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 251
    functionName: response.ZstdDecoder.__init__
    functionSourceFile: response
    functionUses: 3
    functionsReached:
    - compression.zstd.ZstdDecompressor
    - backports.zstd.ZstdDecompressor
    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: compression.zstd.ZstdDecompressor
    functionSourceFile: compression
    functionUses: 5
    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: backports.zstd.ZstdDecompressor
    functionSourceFile: backports
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 3
    argDefaultValues:
    - <ast.UnaryOp object at 0x7fdac3753940>
    argNames:
    - self
    - data
    - max_length
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 254
    functionName: response.ZstdDecoder.decompress
    functionSourceFile: response
    functionUses: 0
    functionsReached:
    - compression.zstd.ZstdDecompressor
    - data_parts.append
    - <builtin>.len
    - backports.zstd.ZstdDecompressor
    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: data_parts.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: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 289
    functionName: response.ZstdDecoder.has_unconsumed_tail
    functionSourceFile: response
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 294
    functionName: response.ZstdDecoder.flush
    functionSourceFile: response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - DecodeError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - modes
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 313
    functionName: response.MultiDecoder.__init__
    functionSourceFile: response
    functionUses: 2
    functionsReached:
    - brotli.Decompressor
    - response._get_decoder
    - compression.zstd.ZstdDecompressor
    - m.strip
    - zlib.decompressobj
    - modes.split
    - response.ZstdDecoder.__init__
    - brotlicffi.Decompressor
    - response.BrotliDecoder.__init__
    - <builtin>.len
    - response.GzipDecoder.__init__
    - <builtin>.hasattr
    - <builtin>.setattr
    - response.DeflateDecoder.__init__
    - backports.zstd.ZstdDecompressor
    - response.MultiDecoder.__init__
    linkageType: pythonLinkage
    raised:
    - DecodeError
    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: m.strip
    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: modes.split
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - mode
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 356
    functionName: response._get_decoder
    functionSourceFile: response
    functionUses: 2
    functionsReached:
    - compression.zstd.ZstdDecompressor
    - response._get_decoder
    - brotli.Decompressor
    - m.strip
    - zlib.decompressobj
    - response.ZstdDecoder.__init__
    - modes.split
    - brotlicffi.Decompressor
    - response.BrotliDecoder.__init__
    - <builtin>.len
    - response.GzipDecoder.__init__
    - <builtin>.hasattr
    - <builtin>.setattr
    - response.DeflateDecoder.__init__
    - backports.zstd.ZstdDecompressor
    - response.MultiDecoder.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 322
    functionName: response.MultiDecoder.flush
    functionSourceFile: response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.UnaryOp object at 0x7fdac340c700>
    argNames:
    - self
    - data
    - max_length
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 325
    functionName: response.MultiDecoder.decompress
    functionSourceFile: response
    functionUses: 0
    functionsReached:
    - <builtin>.bytearray
    - d.decompress
    - <builtin>.len
    - <builtin>.bytes
    - <builtin>.reversed
    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>.reversed
    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: d.decompress
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 352
    functionName: response.MultiDecoder.has_unconsumed_tail
    functionSourceFile: response
    functionUses: 0
    functionsReached:
    - <builtin>.any
    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>.any
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 388
    functionName: response.BytesQueueBuffer.__init__
    functionSourceFile: response
    functionUses: 2
    functionsReached:
    - collections.deque
    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: collections.deque
    functionSourceFile: collections
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 392
    functionName: response.BytesQueueBuffer.__len__
    functionSourceFile: response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 395
    functionName: response.BytesQueueBuffer.put
    functionSourceFile: response
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 3
    IfCount: 6
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - n
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 399
    functionName: response.BytesQueueBuffer.get
    functionSourceFile: response
    functionUses: 0
    functionsReached:
    - io.BytesIO
    - ret.getvalue
    - <builtin>.isinstance
    - <builtin>.len
    - <builtin>.memoryview
    - ret.write
    linkageType: pythonLinkage
    raised:
    - ValueError
    - RuntimeError
    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>.memoryview
    functionSourceFile: <builtin>
    functionUses: 5
    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: ret.write
    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: ret.getvalue
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 434
    functionName: response.BytesQueueBuffer.get_all
    functionSourceFile: response
    functionUses: 0
    functionsReached:
    - ret.writelines
    - result.tobytes
    - io.BytesIO
    - ret.getvalue
    - <builtin>.isinstance
    - <builtin>.range
    - <builtin>.len
    - buffer.pop
    - buffer.popleft
    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: buffer.pop
    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: result.tobytes
    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: buffer.popleft
    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>.range
    functionSourceFile: <builtin>
    functionUses: 21
    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: ret.writelines
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 9
    argDefaultValues: []
    argNames:
    - self
    - headers
    - status
    - version
    - version_string
    - reason
    - decode_content
    - request_url
    - retries
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 466
    functionName: response.BaseHTTPResponse.__init__
    functionSourceFile: response
    functionUses: 0
    functionsReached:
    - _collections.HTTPHeaderDict.__init__
    - <builtin>.isinstance
    - <builtin>.super
    - tr_enc.split
    - enc.strip
    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: enc.strip
    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: tr_enc.split
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 501
    functionName: response.BaseHTTPResponse.get_redirect_location
    functionSourceFile: response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 514
    functionName: response.BaseHTTPResponse.data
    functionSourceFile: response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    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: 517
    functionName: response.BaseHTTPResponse.json
    functionSourceFile: response
    functionUses: 0
    functionsReached:
    - json.loads
    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: json.loads
    functionSourceFile: json
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - url
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 543
    functionName: response.BaseHTTPResponse.url
    functionSourceFile: response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 547
    functionName: response.BaseHTTPResponse.connection
    functionSourceFile: response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - retries
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 555
    functionName: response.BaseHTTPResponse.retries
    functionSourceFile: response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.BinOp object at 0x7fdac3632250>
    - <ast.Constant object at 0x7fdac36324f0>
    argNames:
    - self
    - amt
    - decode_content
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 561
    functionName: response.BaseHTTPResponse.stream
    functionSourceFile: response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3632310>
    - <ast.Constant object at 0x7fdac3632dc0>
    - <ast.Constant object at 0x7fdac3632df0>
    argNames:
    - self
    - amt
    - decode_content
    - cache_content
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 566
    functionName: response.BaseHTTPResponse.read
    functionSourceFile: response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3d6fc40>
    - <ast.Constant object at 0x7fdac3d6f520>
    argNames:
    - self
    - amt
    - decode_content
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 574
    functionName: response.BaseHTTPResponse.read1
    functionSourceFile: response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3d6fc10>
    - <ast.Constant object at 0x7fdac3d6faf0>
    argNames:
    - self
    - amt
    - decode_content
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 581
    functionName: response.BaseHTTPResponse.read_chunked
    functionSourceFile: response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 588
    functionName: response.BaseHTTPResponse.release_conn
    functionSourceFile: response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 591
    functionName: response.BaseHTTPResponse.drain_conn
    functionSourceFile: response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 594
    functionName: response.BaseHTTPResponse.shutdown
    functionSourceFile: response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 597
    functionName: response.BaseHTTPResponse.close
    functionSourceFile: response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 600
    functionName: response.BaseHTTPResponse._init_decoder
    functionSourceFile: response
    functionUses: 0
    functionsReached:
    - compression.zstd.ZstdDecompressor
    - response._get_decoder
    - brotli.Decompressor
    - content_encoding.split
    - zlib.decompressobj
    - m.strip
    - e.strip
    - response.ZstdDecoder.__init__
    - modes.split
    - brotlicffi.Decompressor
    - response.BrotliDecoder.__init__
    - <builtin>.len
    - response.GzipDecoder.__init__
    - <builtin>.hasattr
    - <builtin>.setattr
    - response.DeflateDecoder.__init__
    - backports.zstd.ZstdDecompressor
    - response.MultiDecoder.__init__
    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: e.strip
    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: content_encoding.split
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3409730>
    argNames:
    - self
    - data
    - decode_content
    - flush_decoder
    - max_length
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 619
    functionName: response.BaseHTTPResponse._decode
    functionSourceFile: response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    - DecodeError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 656
    functionName: response.BaseHTTPResponse._flush_decoder
    functionSourceFile: response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - b
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 666
    functionName: response.BaseHTTPResponse.readinto
    functionSourceFile: response
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 675
    functionName: response.BaseHTTPResponse.getheaders
    functionSourceFile: response
    functionUses: 0
    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 0x7fdac3c11b50>
    argNames:
    - self
    - name
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 678
    functionName: response.BaseHTTPResponse.getheader
    functionSourceFile: response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 682
    functionName: response.BaseHTTPResponse.info
    functionSourceFile: response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 685
    functionName: response.BaseHTTPResponse.geturl
    functionSourceFile: response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 19
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3175130>
    - <ast.Constant object at 0x7fdac31750d0>
    - <ast.Constant object at 0x7fdac3175d30>
    - <ast.Constant object at 0x7fdac3175160>
    - <ast.Constant object at 0x7fdac3175a30>
    - <ast.Constant object at 0x7fdac31758e0>
    - <ast.Constant object at 0x7fdac31752e0>
    - <ast.Constant object at 0x7fdac3175100>
    - <ast.Constant object at 0x7fdac3175880>
    - <ast.Constant object at 0x7fdac3175220>
    - <ast.Constant object at 0x7fdac3175250>
    - <ast.Constant object at 0x7fdac3175400>
    - <ast.Constant object at 0x7fdac3175bb0>
    - <ast.Constant object at 0x7fdac3175be0>
    - <ast.Constant object at 0x7fdac3175850>
    - <ast.Constant object at 0x7fdac3175460>
    - <ast.Constant object at 0x7fdac3175ee0>
    - <ast.Constant object at 0x7fdac3175e50>
    argNames:
    - self
    - body
    - headers
    - status
    - version
    - version_string
    - reason
    - preload_content
    - decode_content
    - original_response
    - pool
    - connection
    - msg
    - retries
    - enforce_content_length
    - request_method
    - request_url
    - auto_close
    - sock_shutdown
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 722
    functionName: response.HTTPResponse.__init__
    functionSourceFile: response
    functionUses: 1
    functionsReached:
    - collections.deque
    - <builtin>.isinstance
    - <builtin>.super
    - <builtin>.hasattr
    - response.BytesQueueBuffer.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 786
    functionName: response.HTTPResponse.release_conn
    functionSourceFile: response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 793
    functionName: response.HTTPResponse.drain_conn
    functionSourceFile: response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 809
    functionName: response.HTTPResponse.data
    functionSourceFile: response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 820
    functionName: response.HTTPResponse.connection
    functionSourceFile: response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 823
    functionName: response.HTTPResponse.isclosed
    functionSourceFile: response
    functionUses: 0
    functionsReached:
    - util.response.is_fp_closed
    - obj.isclosed
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 9
    functionName: util.response.is_fp_closed
    functionSourceFile: util
    functionUses: 2
    functionsReached:
    - obj.isclosed
    linkageType: pythonLinkage
    raised:
    - ValueError
    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: 0
    functionLinenumber: 826
    functionName: response.HTTPResponse.tell
    functionSourceFile: response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - request_method
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 834
    functionName: response.HTTPResponse._init_length
    functionSourceFile: response
    functionUses: 0
    functionsReached:
    - lengths.pop
    - <builtin>.int
    - <builtin>.len
    - log.warning
    - content_length.split
    linkageType: pythonLinkage
    raised:
    - InvalidHeader
    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: log.warning
    functionSourceFile: <builtin>
    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: <builtin>.int
    functionSourceFile: <builtin>
    functionUses: 30
    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: content_length.split
    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: lengths.pop
    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: 1
    functionLinenumber: -1
    functionName: response.HTTPResponse
    functionSourceFile: response
    functionUses: 0
    functionsReached:
    - contextlib.contextmanager
    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: contextlib.contextmanager
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 5
    IfCount: 6
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 891
    functionName: response.HTTPResponse._error_catcher
    functionSourceFile: response
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised:
    - SSLError
    - ReadTimeoutError
    - ProtocolError
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fdac2352ac0>
    argNames:
    - self
    - amt
    - read1
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 956
    functionName: response.HTTPResponse._fp_read
    functionSourceFile: response
    functionUses: 0
    functionsReached:
    - buffer.getvalue
    - buffer.write
    - io.BytesIO
    - <builtin>.min
    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>.min
    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: buffer.write
    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: buffer.getvalue
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 3
    IfCount: 6
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fdac2355d30>
    argNames:
    - self
    - amt
    - read1
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1013
    functionName: response.HTTPResponse._raw_read
    functionSourceFile: response
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised:
    - IncompleteRead
    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: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 5
    IfCount: 10
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fdac2346be0>
    - <ast.Constant object at 0x7fdac2346c10>
    - <ast.Constant object at 0x7fdac2346c40>
    argNames:
    - self
    - amt
    - decode_content
    - cache_content
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1065
    functionName: response.HTTPResponse.read
    functionSourceFile: response
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 4
    IfCount: 11
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fdac2efd7c0>
    - <ast.Constant object at 0x7fdac2efd7f0>
    argNames:
    - self
    - amt
    - decode_content
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1161
    functionName: response.HTTPResponse.read1
    functionSourceFile: response
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.BinOp object at 0x7fdac2eeed60>
    - <ast.Constant object at 0x7fdac2eeedf0>
    argNames:
    - self
    - amt
    - decode_content
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1231
    functionName: response.HTTPResponse.stream
    functionSourceFile: response
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - util.response.is_fp_closed
    - obj.isclosed
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1263
    functionName: response.HTTPResponse.readable
    functionSourceFile: response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1266
    functionName: response.HTTPResponse.shutdown
    functionSourceFile: response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - ValueError
    - RuntimeError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1275
    functionName: response.HTTPResponse.close
    functionSourceFile: response
    functionUses: 0
    functionsReached:
    - io.IOBase.close
    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: io.IOBase.close
    functionSourceFile: io
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1288
    functionName: response.HTTPResponse.closed
    functionSourceFile: response
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - io.IOBase.closed.__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: io.IOBase.closed.__get__
    functionSourceFile: io
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1300
    functionName: response.HTTPResponse.fileno
    functionSourceFile: response
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised:
    - OSError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1311
    functionName: response.HTTPResponse.flush
    functionSourceFile: response
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - <builtin>.getattr
    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: 1319
    functionName: response.HTTPResponse.supports_chunked_reads
    functionSourceFile: response
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1328
    functionName: response.HTTPResponse._update_chunk_length
    functionSourceFile: response
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - line.split
    linkageType: pythonLinkage
    raised:
    - InvalidChunkLength
    - ProtocolError
    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.split
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - amt
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1346
    functionName: response.HTTPResponse._handle_chunk
    functionSourceFile: response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 19
    ICount: 7
    IfCount: 13
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fdac2feb160>
    - <ast.Constant object at 0x7fdac2feb190>
    argNames:
    - self
    - amt
    - decode_content
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1368
    functionName: response.HTTPResponse.read_chunked
    functionSourceFile: response
    functionUses: 0
    functionsReached:
    - util.response.is_response_to_head
    - method_str.upper
    linkageType: pythonLinkage
    raised:
    - BodyNotHttplibCompatible
    - ResponseNotChunked
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - response
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 91
    functionName: util.response.is_response_to_head
    functionSourceFile: util
    functionUses: 1
    functionsReached:
    - method_str.upper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - url
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1462
    functionName: response.HTTPResponse.url
    functionSourceFile: response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1465
    functionName: response.HTTPResponse.__iter__
    functionSourceFile: response
    functionUses: 0
    functionsReached:
    - buffer.append
    - chunk.split
    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: chunk.split
    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: buffer.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: 1
    functionLinenumber: -1
    functionName: connectionpool
    functionSourceFile: connectionpool
    functionUses: 0
    functionsReached:
    - logging.getLogger
    - typing.overload
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fdac2c4a280>
    argNames:
    - self
    - host
    - port
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 81
    functionName: connectionpool.ConnectionPool.__init__
    functionSourceFile: connectionpool
    functionUses: 2
    functionsReached:
    - match.span
    - encoded_component.decode
    - <builtin>.range
    - name.lower
    - <builtin>.len
    - util.url._encode_invalid_chars
    - _ZONE_ID_RE.search
    - idna.encode
    - uri_bytes.count
    - urllib.parse.urljoin.startswith
    - name.isascii
    - util.util.to_str
    - util.url._normalize_host
    - util.url._normalize_host.startswith
    - <builtin>.ord
    - urllib.parse.urljoin.decode
    - _IPV4_RE.match
    - util.url._normalize_host.split
    - byte.decode
    - urllib.parse.urljoin.encode
    - <builtin>.bytearray
    - connectionpool._normalize_host
    - util.url._idna_encode
    - <builtin>.isinstance
    - util.util.to_str.encode
    - util.url._normalize_host.endswith
    - <builtin>.hex
    - _IPV6_ADDRZ_RE.match
    - util.util.to_str.startswith
    - encoded_component.extend
    - _PERCENT_RE.subn
    - util.util.to_str.decode
    - util.url._normalize_host.lower
    linkageType: pythonLinkage
    raised:
    - LocationValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - host
    - scheme
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1145
    functionName: connectionpool._normalize_host
    functionSourceFile: connectionpool
    functionUses: 4
    functionsReached:
    - match.span
    - encoded_component.decode
    - <builtin>.range
    - name.lower
    - <builtin>.len
    - util.url._encode_invalid_chars
    - _ZONE_ID_RE.search
    - idna.encode
    - uri_bytes.count
    - urllib.parse.urljoin.startswith
    - name.isascii
    - util.util.to_str
    - util.url._normalize_host
    - util.url._normalize_host.startswith
    - <builtin>.ord
    - urllib.parse.urljoin.decode
    - _IPV4_RE.match
    - util.url._normalize_host.split
    - byte.decode
    - urllib.parse.urljoin.encode
    - <builtin>.bytearray
    - util.url._idna_encode
    - <builtin>.isinstance
    - util.util.to_str.encode
    - util.url._normalize_host.endswith
    - <builtin>.hex
    - _IPV6_ADDRZ_RE.match
    - util.util.to_str.startswith
    - encoded_component.extend
    - _PERCENT_RE.subn
    - util.util.to_str.decode
    - util.url._normalize_host.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 0
    IfCount: 6
    argCount: 2
    argDefaultValues: []
    argNames:
    - host
    - scheme
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 301
    functionName: util.url._normalize_host
    functionSourceFile: util
    functionUses: 17
    functionsReached:
    - match.span
    - encoded_component.decode
    - <builtin>.range
    - name.lower
    - <builtin>.len
    - util.url._encode_invalid_chars
    - _ZONE_ID_RE.search
    - idna.encode
    - uri_bytes.count
    - urllib.parse.urljoin.startswith
    - name.isascii
    - util.util.to_str
    - <builtin>.ord
    - urllib.parse.urljoin.decode
    - _IPV4_RE.match
    - util.url._normalize_host.split
    - byte.decode
    - urllib.parse.urljoin.encode
    - <builtin>.bytearray
    - util.url._idna_encode
    - <builtin>.isinstance
    - util.util.to_str.encode
    - <builtin>.hex
    - _IPV6_ADDRZ_RE.match
    - util.util.to_str.startswith
    - encoded_component.extend
    - _PERCENT_RE.subn
    - util.util.to_str.decode
    - util.url._normalize_host.lower
    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: util.url._normalize_host.lower
    functionSourceFile: util
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 94
    functionName: connectionpool.ConnectionPool.__str__
    functionSourceFile: connectionpool
    functionUses: 0
    functionsReached:
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 97
    functionName: connectionpool.ConnectionPool.__enter__
    functionSourceFile: connectionpool
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exc_type
    - exc_val
    - exc_tb
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 100
    functionName: connectionpool.ConnectionPool.__exit__
    functionSourceFile: connectionpool
    functionUses: 0
    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: 0
    functionLinenumber: 110
    functionName: connectionpool.ConnectionPool.close
    functionSourceFile: connectionpool
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 12
    argDefaultValues:
    - <ast.Constant object at 0x7fdac375e730>
    - <ast.Name object at 0x7fdac375ea60>
    - <ast.Constant object at 0x7fdac375e8b0>
    - <ast.Constant object at 0x7fdac375ee50>
    - <ast.Constant object at 0x7fdac375eb20>
    - <ast.Constant object at 0x7fdac375e4c0>
    - <ast.Constant object at 0x7fdac375ed90>
    - <ast.Constant object at 0x7fdac375e250>
    - <ast.Constant object at 0x7fdac375e850>
    argNames:
    - self
    - host
    - port
    - timeout
    - maxsize
    - block
    - headers
    - retries
    - _proxy
    - _proxy_headers
    - _proxy_config
    - conn_kw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 175
    functionName: connectionpool.HTTPConnectionPool.__init__
    functionSourceFile: connectionpool
    functionUses: 1
    functionsReached:
    - match.span
    - encoded_component.decode
    - <builtin>.range
    - name.lower
    - <builtin>.len
    - util.url._encode_invalid_chars
    - _ZONE_ID_RE.search
    - idna.encode
    - uri_bytes.count
    - urllib.parse.urljoin.startswith
    - connectionpool.ConnectionPool.__init__
    - name.isascii
    - weakref.finalize
    - util.util.to_str
    - util.url._normalize_host
    - util.url._normalize_host.startswith
    - <builtin>.ord
    - urllib.parse.urljoin.decode
    - _IPV4_RE.match
    - _request_methods.RequestMethods.__init__
    - util.url._normalize_host.split
    - urllib.parse.urljoin.encode
    - byte.decode
    - <builtin>.bytearray
    - util.timeout.Timeout.__init__
    - <builtin>.isinstance
    - connectionpool._normalize_host
    - util.url._idna_encode
    - util.util.to_str.encode
    - util.url._normalize_host.endswith
    - util.timeout.Timeout.from_float
    - <builtin>.hex
    - _IPV6_ADDRZ_RE.match
    - util.util.to_str.startswith
    - encoded_component.extend
    - _PERCENT_RE.subn
    - util.util.to_str.decode
    - util.url._normalize_host.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - timeout
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 173
    functionName: util.timeout.Timeout.from_float
    functionSourceFile: util.timeout
    functionUses: 3
    functionsReached:
    - util.timeout.Timeout.__init__
    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: weakref.finalize
    functionSourceFile: weakref
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 236
    functionName: connectionpool.HTTPConnectionPool._new_conn
    functionSourceFile: connectionpool
    functionUses: 0
    functionsReached:
    - log.debug
    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: log.debug
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fdac31328b0>
    argNames:
    - self
    - timeout
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 256
    functionName: connectionpool.HTTPConnectionPool._get_conn
    functionSourceFile: connectionpool
    functionUses: 0
    functionsReached:
    - util.connection.is_connection_dropped
    - conn.close
    - log.debug
    linkageType: pythonLinkage
    raised:
    - ClosedPoolError
    - EmptyPoolError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - conn
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 15
    functionName: util.connection.is_connection_dropped
    functionSourceFile: util
    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: conn.close
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 5
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - conn
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 294
    functionName: connectionpool.HTTPConnectionPool._put_conn
    functionSourceFile: connectionpool
    functionUses: 0
    functionsReached:
    - conn.close
    - log.warning
    linkageType: pythonLinkage
    raised:
    - FullPoolError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - conn
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 337
    functionName: connectionpool.HTTPConnectionPool._validate_conn
    functionSourceFile: connectionpool
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - conn
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 342
    functionName: connectionpool.HTTPConnectionPool._prepare_proxy
    functionSourceFile: connectionpool
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - timeout
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 346
    functionName: connectionpool.HTTPConnectionPool._get_timeout
    functionSourceFile: connectionpool
    functionUses: 0
    functionsReached:
    - util.timeout.Timeout.__init__
    - util.timeout.Timeout.from_float
    - timeout.clone
    - <builtin>.isinstance
    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: timeout.clone
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - err
    - url
    - timeout_value
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 358
    functionName: connectionpool.HTTPConnectionPool._raise_timeout
    functionSourceFile: connectionpool
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - ReadTimeoutError
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 7
    IfCount: 5
    argCount: 13
    argDefaultValues:
    - <ast.Constant object at 0x7fdac37545e0>
    - <ast.Constant object at 0x7fdac3754250>
    - <ast.Constant object at 0x7fdac3754640>
    - <ast.Name object at 0x7fdac3754850>
    - <ast.Constant object at 0x7fdac3754ac0>
    - <ast.Constant object at 0x7fdac37547c0>
    - <ast.Constant object at 0x7fdac3754460>
    - <ast.Constant object at 0x7fdac37549d0>
    - <ast.Constant object at 0x7fdac3754220>
    argNames:
    - self
    - conn
    - method
    - url
    - body
    - headers
    - retries
    - timeout
    - chunked
    - response_conn
    - preload_content
    - decode_content
    - enforce_content_length
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 377
    functionName: connectionpool.HTTPConnectionPool._make_request
    functionSourceFile: connectionpool
    functionUses: 0
    functionsReached:
    - util.timeout.Timeout.resolve_default_timeout
    - socket.getdefaulttimeout
    - conn.getresponse
    - log.debug
    - <builtin>.str
    - exceptions.ProxyError.__init__
    - <builtin>.isinstance
    - <builtin>.super
    - conn.request
    - connection._wrap_proxy_error
    - timeout_obj.start_connect
    - re.split
    linkageType: pythonLinkage
    raised:
    - ReadTimeoutError
    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: timeout_obj.start_connect
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - timeout
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 127
    functionName: util.timeout.Timeout.resolve_default_timeout
    functionSourceFile: util.timeout
    functionUses: 2
    functionsReached:
    - socket.getdefaulttimeout
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - err
    - proxy_scheme
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1052
    functionName: connection._wrap_proxy_error
    functionSourceFile: connection
    functionUses: 2
    functionsReached:
    - <builtin>.str
    - <builtin>.super
    - exceptions.ProxyError.__init__
    - re.split
    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: conn.request
    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: conn.getresponse
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 558
    functionName: connectionpool.HTTPConnectionPool.close
    functionSourceFile: connectionpool
    functionUses: 0
    functionsReached:
    - conn.close
    - connectionpool._close_pool_connections
    - pool.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - pool
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1170
    functionName: connectionpool._close_pool_connections
    functionSourceFile: connectionpool
    functionUses: 1
    functionsReached:
    - conn.close
    - pool.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - url
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 570
    functionName: connectionpool.HTTPConnectionPool.is_same_host
    functionSourceFile: connectionpool
    functionUses: 0
    functionsReached:
    - match.span
    - encoded_component.decode
    - <builtin>.range
    - name.lower
    - <builtin>.len
    - util.url._encode_invalid_chars
    - _ZONE_ID_RE.search
    - idna.encode
    - uri_bytes.count
    - output.append
    - output.pop
    - urllib.parse.urljoin.startswith
    - url.startswith
    - name.isascii
    - port_by_scheme.get
    - util.util.to_str
    - util.url._normalize_host
    - util.util.to_str.endswith
    - util.url._normalize_host.startswith
    - <builtin>.ord
    - urllib.parse.urljoin.decode
    - _IPV4_RE.match
    - output.insert
    - _HOST_PORT_RE.match
    - util.url._normalize_host.split
    - util.util.to_str.split
    - byte.decode
    - urllib.parse.urljoin.encode
    - util.url.parse_url
    - <builtin>.bytearray
    - util.url._remove_path_dot_segments
    - connectionpool._normalize_host
    - _URI_RE.match
    - util.url._idna_encode
    - util.util.to_str.encode
    - <builtin>.isinstance
    - util.url.Url
    - util.url._normalize_host.endswith
    - <builtin>.hex
    - _IPV6_ADDRZ_RE.match
    - urllib.parse.urljoin.split
    - util.util.to_str.startswith
    - encoded_component.extend
    - _PERCENT_RE.subn
    - scheme.lower
    - authority.rpartition
    - <builtin>.int
    - _SCHEME_RE.search
    - util.util.to_str.decode
    - util.url._normalize_host.lower
    - urllib.parse.urljoin.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: url.startswith
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 19
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 11
    EdgeCount: 28
    ICount: 16
    IfCount: 19
    argCount: 16
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3d6f8e0>
    - <ast.Constant object at 0x7fdac3d6fca0>
    - <ast.Constant object at 0x7fdac3d6f820>
    - <ast.Constant object at 0x7fdac3d6fa60>
    - <ast.Constant object at 0x7fdac3d6f100>
    - <ast.Name object at 0x7fdac3d6f7c0>
    - <ast.Constant object at 0x7fdac3d6fe20>
    - <ast.Constant object at 0x7fdac3d6fd90>
    - <ast.Constant object at 0x7fdac3d6f3d0>
    - <ast.Constant object at 0x7fdac3d6f7f0>
    - <ast.Constant object at 0x7fdac3d6f0d0>
    - <ast.Constant object at 0x7fdac3d6f6a0>
    argNames:
    - self
    - method
    - url
    - body
    - headers
    - retries
    - redirect
    - assert_same_host
    - timeout
    - pool_timeout
    - release_conn
    - chunked
    - body_pos
    - preload_content
    - decode_content
    - response_kw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 592
    functionName: connectionpool.HTTPConnectionPool.urlopen
    functionSourceFile: connectionpool
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    - clone._copy_from
    - exceptions.ProxyError.__init__
    - match.span
    - encoded_component.decode
    - <builtin>.range
    - name.lower
    - <builtin>.super
    - retries.is_retry
    - util.url._encode_invalid_chars
    - <builtin>.len
    - response.drain_conn
    - response.headers.get
    - uri_bytes.count
    - _ZONE_ID_RE.search
    - output.append
    - idna.encode
    - urllib.parse.urljoin.startswith
    - output.pop
    - util.request.rewind_body
    - name.isascii
    - util.util.to_str
    - body.tell
    - util.url._normalize_host
    - <builtin>.ord
    - retries.sleep
    - util.util.to_str.endswith
    - retries.sleep_for_retry
    - urllib.parse.urljoin.decode
    - _IPV4_RE.match
    - util.retry.Retry.from_int
    - output.insert
    - _HOST_PORT_RE.match
    - util.url._normalize_host.split
    - <builtin>.getattr
    - util.util.to_str.split
    - _collections.HTTPHeaderDict.update
    - urllib.parse.urljoin.encode
    - byte.decode
    - util.url.parse_url
    - <builtin>.bytearray
    - _collections.HTTPHeaderDict.__init__
    - log.debug
    - _collections.HTTPHeaderDict.copy
    - retries.increment
    - util.proxy.connection_requires_http_tunnel
    - util.url._remove_path_dot_segments
    - <builtin>.isinstance
    - _URI_RE.match
    - util.url._idna_encode
    - util.util.to_str.encode
    - util.url.Url
    - sys.exc_info
    - <builtin>.hex
    - conn.close
    - connection._wrap_proxy_error
    - _IPV6_ADDRZ_RE.match
    - urllib.parse.urljoin.split
    - <builtin>.str
    - <builtin>.type
    - _collections.HTTPHeaderDict._prepare_for_method_change
    - util.util.to_str.startswith
    - encoded_component.extend
    - _PERCENT_RE.subn
    - scheme.lower
    - response.get_redirect_location
    - urllib.parse.urljoin
    - authority.rpartition
    - re.split
    - util.request.set_file_position
    - <builtin>.int
    - log.warning
    - _SCHEME_RE.search
    - util.util.to_str.decode
    - util.url._normalize_host.lower
    - urllib.parse.urljoin.endswith
    linkageType: pythonLinkage
    raised:
    - HostChangedError
    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: urllib.parse.urljoin.startswith
    functionSourceFile: urllib
    functionUses: 19
    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: util.util.to_str.startswith
    functionSourceFile: util
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3d5cc10>
    - <ast.Constant object at 0x7fdac3d5c490>
    argNames:
    - x
    - encoding
    - errors
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 19
    functionName: util.util.to_str
    functionSourceFile: util
    functionUses: 22
    functionsReached:
    - util.util.to_str.decode
    - <builtin>.isinstance
    - urllib.parse.urljoin.decode
    linkageType: pythonLinkage
    raised:
    - TypeError
    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: _collections.HTTPHeaderDict.update
    functionSourceFile: _collections
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - body
    - pos
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 142
    functionName: util.request.set_file_position
    functionSourceFile: util
    functionUses: 1
    functionsReached:
    - util.request.rewind_body
    - <builtin>.isinstance
    - <builtin>.getattr
    - body.tell
    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.exc_info
    functionSourceFile: sys
    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: retries.sleep
    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: retries.sleep_for_retry
    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: response.headers.get
    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: retries.is_retry
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 22
    argDefaultValues:
    - <ast.Constant object at 0x7fdac36234c0>
    - <ast.Name object at 0x7fdac36237c0>
    - <ast.Constant object at 0x7fdac3623490>
    - <ast.Constant object at 0x7fdac3623850>
    - <ast.Constant object at 0x7fdac36237f0>
    - <ast.Constant object at 0x7fdac36232e0>
    - <ast.Constant object at 0x7fdac3623700>
    - <ast.Constant object at 0x7fdac3623580>
    - <ast.Constant object at 0x7fdac3623400>
    - <ast.Constant object at 0x7fdac3623ca0>
    - <ast.Constant object at 0x7fdac3623ee0>
    - <ast.Constant object at 0x7fdac3623310>
    - <ast.Constant object at 0x7fdac3623eb0>
    - <ast.Constant object at 0x7fdac3623670>
    - <ast.Constant object at 0x7fdac3623640>
    - <ast.Constant object at 0x7fdac36232b0>
    - <ast.Constant object at 0x7fdac3623430>
    - <ast.Constant object at 0x7fdac3623b20>
    - <ast.Constant object at 0x7fdac3623a30>
    argNames:
    - self
    - host
    - port
    - timeout
    - maxsize
    - block
    - headers
    - retries
    - _proxy
    - _proxy_headers
    - key_file
    - cert_file
    - cert_reqs
    - key_password
    - ca_certs
    - ssl_version
    - ssl_minimum_version
    - ssl_maximum_version
    - assert_hostname
    - assert_fingerprint
    - ca_cert_dir
    - conn_kw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 980
    functionName: connectionpool.HTTPSConnectionPool.__init__
    functionSourceFile: connectionpool
    functionUses: 1
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - conn
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1029
    functionName: connectionpool.HTTPSConnectionPool._prepare_proxy
    functionSourceFile: connectionpool
    functionUses: 0
    functionsReached:
    - conn.connect
    - conn.set_tunnel
    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: conn.set_tunnel
    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: conn.connect
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1044
    functionName: connectionpool.HTTPSConnectionPool._new_conn
    functionSourceFile: connectionpool
    functionUses: 0
    functionsReached:
    - log.debug
    linkageType: pythonLinkage
    raised:
    - ImportError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - conn
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1085
    functionName: connectionpool.HTTPSConnectionPool._validate_conn
    functionSourceFile: connectionpool
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - warnings.warn
    - conn.connect
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - url
    - kw
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1108
    functionName: connectionpool.connection_from_url
    functionSourceFile: connectionpool
    functionUses: 0
    functionsReached:
    - match.span
    - encoded_component.decode
    - <builtin>.range
    - name.lower
    - connectionpool.HTTPSConnectionPool.__init__
    - <builtin>.super
    - util.url._encode_invalid_chars
    - <builtin>.len
    - uri_bytes.count
    - output.append
    - _ZONE_ID_RE.search
    - output.pop
    - idna.encode
    - urllib.parse.urljoin.startswith
    - connectionpool.ConnectionPool.__init__
    - name.isascii
    - weakref.finalize
    - port_by_scheme.get
    - util.util.to_str
    - util.url._normalize_host
    - util.util.to_str.endswith
    - <builtin>.ord
    - util.url._normalize_host.startswith
    - urllib.parse.urljoin.decode
    - output.insert
    - _IPV4_RE.match
    - _HOST_PORT_RE.match
    - _request_methods.RequestMethods.__init__
    - util.url._normalize_host.split
    - util.util.to_str.split
    - urllib.parse.urljoin.encode
    - byte.decode
    - util.url.parse_url
    - <builtin>.bytearray
    - util.timeout.Timeout.__init__
    - util.url._remove_path_dot_segments
    - _URI_RE.match
    - <builtin>.isinstance
    - connectionpool._normalize_host
    - util.util.to_str.encode
    - util.url._idna_encode
    - util.url.Url
    - <builtin>.hex
    - util.timeout.Timeout.from_float
    - util.url._normalize_host.endswith
    - _IPV6_ADDRZ_RE.match
    - urllib.parse.urljoin.split
    - util.util.to_str.startswith
    - encoded_component.extend
    - connectionpool.HTTPConnectionPool.__init__
    - _PERCENT_RE.subn
    - scheme.lower
    - authority.rpartition
    - <builtin>.int
    - _SCHEME_RE.search
    - util.util.to_str.decode
    - util.url._normalize_host.lower
    - urllib.parse.urljoin.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: util.url._normalize_host.startswith
    functionSourceFile: util
    functionUses: 5
    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: util.url._normalize_host.endswith
    functionSourceFile: util
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fdac2a46d90>
    argNames:
    - pool
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1163
    functionName: connectionpool._url_from_pool
    functionSourceFile: connectionpool
    functionUses: 0
    functionsReached:
    - util.url.Url
    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: util.url.Url
    functionSourceFile: util
    functionUses: 17
    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: pool.get
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: connection
    functionSourceFile: connection
    functionUses: 0
    functionsReached:
    - logging.getLogger
    - re.compile
    - datetime.date
    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: datetime.date
    functionSourceFile: datetime
    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: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 9
    argDefaultValues:
    - <ast.Constant object at 0x7fdac36a2430>
    argNames:
    - self
    - host
    - port
    - timeout
    - source_address
    - blocksize
    - socket_options
    - proxy
    - proxy_config
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 132
    functionName: connection.HTTPConnection.__init__
    functionSourceFile: connection
    functionUses: 0
    functionsReached:
    - util.timeout.Timeout.resolve_default_timeout
    - socket.getdefaulttimeout
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 163
    functionName: connection.HTTPConnection.__str__
    functionSourceFile: connection
    functionUses: 0
    functionsReached:
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 166
    functionName: connection.HTTPConnection.__repr__
    functionSourceFile: connection
    functionUses: 0
    functionsReached:
    - <builtin>.id
    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>.id
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 189
    functionName: connection.HTTPConnection.host
    functionSourceFile: connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 198
    functionName: connection.HTTPConnection._new_conn
    functionSourceFile: connection
    functionUses: 0
    functionsReached:
    - sock.setsockopt
    - host.strip
    - sock.connect
    - host.encode
    - util.connection._set_socket_options
    - socket.socket
    - util.connection.allowed_gai_family
    - sock.bind
    - sock.settimeout
    - util.connection.create_connection
    - socket.getaddrinfo
    - host.startswith
    - sock.close
    - sys.audit
    linkageType: pythonLinkage
    raised:
    - ConnectTimeoutError
    - NameResolutionError
    - NewConnectionError
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 7
    IfCount: 5
    argCount: 4
    argDefaultValues:
    - <ast.Name object at 0x7fdac3753e80>
    - <ast.Constant object at 0x7fdac3753520>
    - <ast.Constant object at 0x7fdac3753d60>
    argNames:
    - address
    - timeout
    - source_address
    - socket_options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 27
    functionName: util.connection.create_connection
    functionSourceFile: util.connection
    functionUses: 1
    functionsReached:
    - sock.setsockopt
    - host.strip
    - sock.connect
    - host.encode
    - util.connection._set_socket_options
    - socket.socket
    - util.connection.allowed_gai_family
    - sock.bind
    - sock.settimeout
    - sock.close
    - host.startswith
    - socket.getaddrinfo
    linkageType: pythonLinkage
    raised:
    - LocationParseError
    - OSError
    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.audit
    functionSourceFile: sys
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fdac340ce50>
    - <ast.Constant object at 0x7fdac340c5b0>
    - <ast.Constant object at 0x7fdac340cf10>
    argNames:
    - self
    - host
    - port
    - headers
    - scheme
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 227
    functionName: connection.HTTPConnection.set_tunnel
    functionSourceFile: connection
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - ip
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 244
    functionName: connection.HTTPConnection._wrap_ipv6
    functionSourceFile: connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 296
    functionName: connection.HTTPConnection._tunnel
    functionSourceFile: connection
    functionUses: 0
    functionsReached:
    - http.client._read_headers
    - headers.append
    - response._read_status
    - <builtin>.len
    - response.close
    - <builtin>.print
    - line.decode
    - response.fp.readline
    - header.decode
    linkageType: pythonLinkage
    raised:
    - OSError
    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: headers.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: response._read_status
    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: response.fp.readline
    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: line.decode
    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>.print
    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: response.close
    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: http.client._read_headers
    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: header.decode
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 330
    functionName: connection.HTTPConnection.connect
    functionSourceFile: connection
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 348
    functionName: connection.HTTPConnection.is_closed
    functionSourceFile: connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 352
    functionName: connection.HTTPConnection.is_connected
    functionSourceFile: connection
    functionUses: 0
    functionsReached:
    - poll_obj.poll
    - <builtin>.bool
    - poll_obj.register
    - functools.partial
    - util.wait.poll_wait_for_socket
    - wcheck.append
    - util.wait._have_working_poll
    - util.wait.wait_for_socket
    - <builtin>.hasattr
    - util.wait.select_wait_for_socket
    - util.wait.wait_for_read
    - util.wait.poll_wait_for_socket.do_poll
    - select.poll
    - rcheck.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3710580>
    argNames:
    - sock
    - timeout
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 113
    functionName: util.wait.wait_for_read
    functionSourceFile: util
    functionUses: 1
    functionsReached:
    - poll_obj.poll
    - <builtin>.bool
    - poll_obj.register
    - functools.partial
    - util.wait.poll_wait_for_socket
    - wcheck.append
    - util.wait._have_working_poll
    - util.wait.wait_for_socket
    - util.wait.select_wait_for_socket
    - <builtin>.hasattr
    - util.wait.poll_wait_for_socket.do_poll
    - select.poll
    - rcheck.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 358
    functionName: connection.HTTPConnection.has_connected_to_proxy
    functionSourceFile: connection
    functionUses: 0
    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: 362
    functionName: connection.HTTPConnection.proxy_is_forwarding
    functionSourceFile: connection
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    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: 0
    functionLinenumber: 369
    functionName: connection.HTTPConnection.proxy_is_tunneling
    functionSourceFile: connection
    functionUses: 0
    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: 375
    functionName: connection.HTTPConnection.close
    functionSourceFile: connection
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3623400>
    - <ast.Constant object at 0x7fdac3623580>
    argNames:
    - self
    - method
    - url
    - skip_host
    - skip_accept_encoding
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 390
    functionName: connection.HTTPConnection.putrequest
    functionSourceFile: connection
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - _CONTAINS_CONTROL_CHAR_RE.search
    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: _CONTAINS_CONTROL_CHAR_RE.search
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - header
    - values
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 410
    functionName: connection.HTTPConnection.putheader
    functionSourceFile: connection
    functionUses: 0
    functionsReached:
    - util.util.to_str
    - <builtin>.sorted
    - <builtin>.isinstance
    - urllib.parse.urljoin.decode
    - <builtin>.super
    - <builtin>.any
    - str.title
    - util.util.to_str.decode
    - header.lower
    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: str.title
    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>.sorted
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 21
    ICount: 11
    IfCount: 14
    argCount: 9
    argDefaultValues:
    - <ast.Constant object at 0x7fdac31752e0>
    - <ast.Constant object at 0x7fdac3175100>
    argNames:
    - self
    - method
    - url
    - body
    - headers
    - chunked
    - preload_content
    - decode_content
    - enforce_content_length
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 424
    functionName: connection.HTTPConnection.request
    functionSourceFile: connection
    functionUses: 0
    functionsReached:
    - k.lower
    - util.request.body_to_chunks
    - <builtin>.iter
    - x.encode
    - connection._get_default_user_agent
    - <builtin>.len
    - body.read
    - util.request.body_to_chunks.chunk_readable
    - datablock.encode
    - util.util.to_str
    - urllib.parse.urljoin.decode
    - util.util.to_bytes
    - <builtin>.frozenset
    - headers.items
    - util.util.to_str.decode
    - <builtin>.isinstance
    - typing.NamedTuple.__init__
    - <builtin>.str
    - chunk.encode
    - <builtin>.hasattr
    - <builtin>.memoryview
    - method.upper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - body
    - method
    - blocksize
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 197
    functionName: util.request.body_to_chunks
    functionSourceFile: util
    functionUses: 1
    functionsReached:
    - <builtin>.iter
    - <builtin>.isinstance
    - x.encode
    - <builtin>.len
    - <builtin>.hasattr
    - util.util.to_bytes
    - body.read
    - util.request.body_to_chunks.chunk_readable
    - <builtin>.memoryview
    - method.upper
    - datablock.encode
    - typing.NamedTuple.__init__
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1077
    functionName: connection._get_default_user_agent
    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: headers.items
    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: chunk.encode
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fdac36a96a0>
    - <ast.Constant object at 0x7fdac36a9310>
    argNames:
    - self
    - method
    - url
    - body
    - headers
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 521
    functionName: connection.HTTPConnection.request_chunked
    functionSourceFile: connection
    functionUses: 0
    functionsReached:
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 540
    functionName: connection.HTTPConnection.getresponse
    functionSourceFile: connection
    functionUses: 0
    functionsReached:
    - util.response.assert_header_parsing
    - headers.get_payload
    - _collections.HTTPHeaderDict.__init__
    - headers.is_multipart
    - collections.deque
    - response.HTTPResponse.__init__
    - httplib_response.msg.items
    - <builtin>.isinstance
    - <builtin>.super
    - <builtin>.hasattr
    - log.warning
    - <builtin>.getattr
    - util.url.Url
    - response.BytesQueueBuffer.__init__
    - connection._url_from_connection
    linkageType: pythonLinkage
    raised:
    - ResponseNotReady
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - headers
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 40
    functionName: util.response.assert_header_parsing
    functionSourceFile: util
    functionUses: 1
    functionsReached:
    - headers.is_multipart
    - headers.get_payload
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - HeaderParsingError
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fdac2911490>
    argNames:
    - conn
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1092
    functionName: connection._url_from_connection
    functionSourceFile: connection
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - util.url.Url
    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: httplib_response.msg.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 23
    argDefaultValues:
    - <ast.Constant object at 0x7fdac34090d0>
    argNames:
    - self
    - host
    - port
    - timeout
    - source_address
    - blocksize
    - socket_options
    - proxy
    - proxy_config
    - cert_reqs
    - assert_hostname
    - assert_fingerprint
    - server_hostname
    - ssl_context
    - ca_certs
    - ca_cert_dir
    - ca_cert_data
    - ssl_minimum_version
    - ssl_maximum_version
    - ssl_version
    - cert_file
    - key_file
    - key_password
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 621
    functionName: connection.HTTPSConnection.__init__
    functionSourceFile: connection
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.super
    - <builtin>.getattr
    - os.path.expanduser
    - util.ssl_.resolve_cert_reqs
    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.expanduser
    functionSourceFile: os
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - candidate
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 186
    functionName: util.ssl_.resolve_cert_reqs
    functionSourceFile: util
    functionUses: 5
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 10
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3b0a220>
    - <ast.Constant object at 0x7fdac3b0a2b0>
    - <ast.Constant object at 0x7fdac3b0a0d0>
    - <ast.Constant object at 0x7fdac3b0a1c0>
    - <ast.Constant object at 0x7fdac3b0a190>
    - <ast.Constant object at 0x7fdac3b0afd0>
    - <ast.Constant object at 0x7fdac3132160>
    - <ast.Constant object at 0x7fdac3132a00>
    - <ast.Constant object at 0x7fdac31320d0>
    argNames:
    - self
    - key_file
    - cert_file
    - cert_reqs
    - key_password
    - ca_certs
    - assert_hostname
    - assert_fingerprint
    - ca_cert_dir
    - ca_cert_data
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 683
    functionName: connection.HTTPSConnection.set_cert
    functionSourceFile: connection
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - warnings.warn
    - <builtin>.getattr
    - os.path.expanduser
    - util.ssl_.resolve_cert_reqs
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 19
    ICount: 6
    IfCount: 13
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 724
    functionName: connection.HTTPSConnection.connect
    functionSourceFile: connection
    functionUses: 0
    functionsReached:
    - util.ssl_match_hostname._ipaddress_match
    - <builtin>.bool
    - ssl.SSLContext
    - util.ssl_match_hostname.match_hostname
    - typing.NamedTuple.socket.selected_alpn_protocol
    - os.environ.get
    - fingerprint.replace
    - asserted_hostname.strip
    - <builtin>.len
    - dn.split
    - pats.append
    - hostname.decode
    - server_hostname.rstrip
    - warnings.warn
    - util.ssltransport.SSLTransport.__init__
    - util.ssl_.create_urllib3_context.load_verify_locations
    - util.ssl_.ssl_wrap_socket.getpeercert
    - util.ssl_.assert_fingerprint
    - connection._ssl_wrap_socket_and_match_hostname
    - _BRACELESS_IPV6_ADDRZ_RE.match
    - pat.match
    - server_hostname.strip
    - ipaddress.ip_address
    - os.path.expandvars
    - _IPV4_RE.match
    - fingerprint.encode
    - ssl.MemoryBIO
    - hostname.lower
    - datetime.date.today
    - binascii.unhexlify
    - <builtin>.getattr
    - util.ssl_.create_urllib3_context.load_cert_chain
    - util.ssl_match_hostname._dnsname_match
    - re.escape
    - util.ssl_.resolve_cert_reqs
    - util.ssltransport.SSLTransport._validate_ssl_context_for_tls_in_tls
    - ipname.rstrip
    - util.ssl_.create_urllib3_context.set_alpn_protocols
    - connection._match_hostname
    - util.ssl_._ssl_wrap_socket_impl
    - hmac.compare_digest
    - dnsnames.append
    - normalized.rfind
    - util.ssl_.create_urllib3_context.load_default_certs
    - ssl_context.wrap_bio
    - util.ssl_.ssl_wrap_socket
    - <builtin>.isinstance
    - threading.get_ident
    - _SSL_VERSION_TO_TLS_VERSION.get
    - <builtin>.open
    - util.ssl_.resolve_ssl_version
    - hostname.rfind
    - util.ssl_._is_key_file_encrypted
    - typing.NamedTuple.__init__
    - cert.get
    - util.ssl_.is_ipaddress
    - context.set_ciphers
    - util.ssl_.ssl_wrap_socket.close
    - leftmost.count
    - dn.lower
    - leftmost.startswith
    - typing.cast
    - <builtin>.hasattr
    - util.ssl_.create_urllib3_context
    - HASHFUNC_MAP.get
    - log.warning
    - hostname.startswith
    - re.compile
    - util.ssl_.create_urllib3_context.wrap_socket
    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: threading.get_ident
    functionSourceFile: threading
    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: datetime.date.today
    functionSourceFile: datetime
    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: server_hostname.rstrip
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 5
    IfCount: 9
    argCount: 16
    argDefaultValues: []
    argNames:
    - sock
    - cert_reqs
    - ssl_version
    - ssl_minimum_version
    - ssl_maximum_version
    - cert_file
    - key_file
    - key_password
    - ca_certs
    - ca_cert_dir
    - ca_cert_data
    - assert_hostname
    - assert_fingerprint
    - server_hostname
    - ssl_context
    - tls_in_tls
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 901
    functionName: connection._ssl_wrap_socket_and_match_hostname
    functionSourceFile: connection
    functionUses: 2
    functionsReached:
    - util.ssl_match_hostname._ipaddress_match
    - <builtin>.bool
    - ssl.SSLContext
    - util.ssl_match_hostname.match_hostname
    - os.environ.get
    - fingerprint.replace
    - asserted_hostname.strip
    - <builtin>.len
    - dn.split
    - pats.append
    - hostname.decode
    - warnings.warn
    - util.ssltransport.SSLTransport.__init__
    - util.ssl_.create_urllib3_context.load_verify_locations
    - util.ssl_.ssl_wrap_socket.getpeercert
    - util.ssl_.assert_fingerprint
    - _BRACELESS_IPV6_ADDRZ_RE.match
    - pat.match
    - server_hostname.strip
    - ipaddress.ip_address
    - os.path.expandvars
    - fingerprint.encode
    - _IPV4_RE.match
    - ssl.MemoryBIO
    - hostname.lower
    - binascii.unhexlify
    - util.ssl_match_hostname._dnsname_match
    - <builtin>.getattr
    - util.ssl_.create_urllib3_context.load_cert_chain
    - re.escape
    - util.ssl_.resolve_cert_reqs
    - util.ssltransport.SSLTransport._validate_ssl_context_for_tls_in_tls
    - ipname.rstrip
    - util.ssl_.create_urllib3_context.set_alpn_protocols
    - connection._match_hostname
    - util.ssl_._ssl_wrap_socket_impl
    - hmac.compare_digest
    - dnsnames.append
    - normalized.rfind
    - util.ssl_.create_urllib3_context.load_default_certs
    - ssl_context.wrap_bio
    - util.ssl_.ssl_wrap_socket
    - <builtin>.isinstance
    - _SSL_VERSION_TO_TLS_VERSION.get
    - <builtin>.open
    - util.ssl_.resolve_ssl_version
    - hostname.rfind
    - util.ssl_._is_key_file_encrypted
    - typing.NamedTuple.__init__
    - cert.get
    - util.ssl_.is_ipaddress
    - context.set_ciphers
    - util.ssl_.ssl_wrap_socket.close
    - leftmost.count
    - dn.lower
    - leftmost.startswith
    - typing.cast
    - <builtin>.hasattr
    - util.ssl_.create_urllib3_context
    - HASHFUNC_MAP.get
    - log.warning
    - hostname.startswith
    - re.compile
    - util.ssl_.create_urllib3_context.wrap_socket
    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.socket.selected_alpn_protocol
    functionSourceFile: typing
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - hostname
    - sock
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 861
    functionName: connection.HTTPSConnection._connect_tls_proxy
    functionSourceFile: connection
    functionUses: 0
    functionsReached:
    - util.ssl_match_hostname._ipaddress_match
    - <builtin>.bool
    - ssl.SSLContext
    - util.ssl_match_hostname.match_hostname
    - os.environ.get
    - fingerprint.replace
    - <builtin>.len
    - dn.split
    - pats.append
    - hostname.decode
    - warnings.warn
    - util.ssl_.create_urllib3_context.load_verify_locations
    - util.ssltransport.SSLTransport.__init__
    - util.ssl_.ssl_wrap_socket.getpeercert
    - util.ssl_.assert_fingerprint
    - connection._ssl_wrap_socket_and_match_hostname
    - _BRACELESS_IPV6_ADDRZ_RE.match
    - pat.match
    - server_hostname.strip
    - ipaddress.ip_address
    - os.path.expandvars
    - fingerprint.encode
    - _IPV4_RE.match
    - ssl.MemoryBIO
    - hostname.lower
    - binascii.unhexlify
    - util.ssl_match_hostname._dnsname_match
    - re.escape
    - <builtin>.getattr
    - util.ssl_.create_urllib3_context.wrap_socket
    - util.ssl_.create_urllib3_context.load_cert_chain
    - util.ssl_.resolve_cert_reqs
    - util.ssltransport.SSLTransport._validate_ssl_context_for_tls_in_tls
    - ipname.rstrip
    - util.ssl_.create_urllib3_context.set_alpn_protocols
    - connection._match_hostname
    - util.ssl_._ssl_wrap_socket_impl
    - hmac.compare_digest
    - dnsnames.append
    - normalized.rfind
    - util.ssl_.create_urllib3_context.load_default_certs
    - ssl_context.wrap_bio
    - util.ssl_.ssl_wrap_socket
    - <builtin>.isinstance
    - _SSL_VERSION_TO_TLS_VERSION.get
    - <builtin>.open
    - util.ssl_.resolve_ssl_version
    - hostname.rfind
    - util.ssl_._is_key_file_encrypted
    - typing.NamedTuple.__init__
    - cert.get
    - util.ssl_.is_ipaddress
    - context.set_ciphers
    - util.ssl_.ssl_wrap_socket.close
    - leftmost.count
    - dn.lower
    - leftmost.startswith
    - typing.cast
    - <builtin>.hasattr
    - util.ssl_.create_urllib3_context
    - HASHFUNC_MAP.get
    - log.warning
    - hostname.startswith
    - re.compile
    - asserted_hostname.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - candidate
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 209
    functionName: util.ssl_.resolve_ssl_version
    functionSourceFile: util
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.getattr
    - typing.cast
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 19
    ICount: 3
    IfCount: 13
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7fdac31f2850>
    - <ast.Constant object at 0x7fdac31f2ac0>
    - <ast.Constant object at 0x7fdac31f2880>
    - <ast.Constant object at 0x7fdac31f29d0>
    - <ast.Constant object at 0x7fdac31f2460>
    - <ast.Constant object at 0x7fdac31f2940>
    - <ast.Constant object at 0x7fdac31f2070>
    argNames:
    - ssl_version
    - cert_reqs
    - options
    - ciphers
    - ssl_minimum_version
    - ssl_maximum_version
    - verify_flags
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 225
    functionName: util.ssl_.create_urllib3_context
    functionSourceFile: util
    functionUses: 4
    functionsReached:
    - context.set_ciphers
    - ssl.SSLContext
    - os.environ.get
    - os.path.expandvars
    - _SSL_VERSION_TO_TLS_VERSION.get
    - <builtin>.getattr
    - warnings.warn
    linkageType: pythonLinkage
    raised:
    - ValueError
    - TypeError
    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: util.ssl_.create_urllib3_context.load_default_certs
    functionSourceFile: util
    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: server_hostname.strip
    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: normalized.rfind
    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:
    - hostname
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 487
    functionName: util.ssl_.is_ipaddress
    functionSourceFile: util
    functionUses: 5
    functionsReached:
    - _BRACELESS_IPV6_ADDRZ_RE.match
    - <builtin>.bool
    - <builtin>.isinstance
    - _IPV4_RE.match
    - hostname.decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 6
    IfCount: 6
    argCount: 13
    argDefaultValues:
    - <ast.Constant object at 0x7fdac368b3a0>
    - <ast.Constant object at 0x7fdac368b460>
    - <ast.Constant object at 0x7fdac368b700>
    - <ast.Constant object at 0x7fdac368be50>
    - <ast.Constant object at 0x7fdac368b340>
    - <ast.Constant object at 0x7fdac368bd30>
    - <ast.Constant object at 0x7fdac368b7c0>
    - <ast.Constant object at 0x7fdac368ba30>
    - <ast.Constant object at 0x7fdac368b8e0>
    - <ast.Constant object at 0x7fdac368bac0>
    - <ast.Constant object at 0x7fdac368b5b0>
    - <ast.Constant object at 0x7fdac368b280>
    argNames:
    - sock
    - keyfile
    - certfile
    - cert_reqs
    - ca_certs
    - server_hostname
    - ssl_version
    - ciphers
    - ssl_context
    - ca_cert_dir
    - key_password
    - ca_cert_data
    - tls_in_tls
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 413
    functionName: util.ssl_.ssl_wrap_socket
    functionSourceFile: util
    functionUses: 3
    functionsReached:
    - ssl.SSLContext
    - os.environ.get
    - warnings.warn
    - util.ssl_.create_urllib3_context.load_verify_locations
    - util.ssltransport.SSLTransport.__init__
    - os.path.expandvars
    - ssl.MemoryBIO
    - util.ssl_.create_urllib3_context.load_cert_chain
    - <builtin>.getattr
    - util.ssltransport.SSLTransport._validate_ssl_context_for_tls_in_tls
    - util.ssl_.create_urllib3_context.set_alpn_protocols
    - util.ssl_._ssl_wrap_socket_impl
    - util.ssl_.create_urllib3_context.load_default_certs
    - ssl_context.wrap_bio
    - _SSL_VERSION_TO_TLS_VERSION.get
    - <builtin>.open
    - util.ssl_._is_key_file_encrypted
    - context.set_ciphers
    - <builtin>.hasattr
    - util.ssl_.create_urllib3_context
    - util.ssl_.create_urllib3_context.wrap_socket
    linkageType: pythonLinkage
    raised:
    - SSLError
    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: util.ssl_.ssl_wrap_socket.getpeercert
    functionSourceFile: util
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - cert
    - fingerprint
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 152
    functionName: util.ssl_.assert_fingerprint
    functionSourceFile: util
    functionUses: 3
    functionsReached:
    - hmac.compare_digest
    - fingerprint.replace
    - <builtin>.len
    - fingerprint.encode
    - HASHFUNC_MAP.get
    - binascii.unhexlify
    linkageType: pythonLinkage
    raised:
    - SSLError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fdac2902af0>
    argNames:
    - cert
    - asserted_hostname
    - hostname_checks_common_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1026
    functionName: connection._match_hostname
    functionSourceFile: connection
    functionUses: 3
    functionsReached:
    - util.ssl_match_hostname._ipaddress_match
    - <builtin>.bool
    - util.ssl_match_hostname.match_hostname
    - <builtin>.len
    - dn.split
    - pats.append
    - hostname.decode
    - _BRACELESS_IPV6_ADDRZ_RE.match
    - pat.match
    - ipaddress.ip_address
    - _IPV4_RE.match
    - hostname.lower
    - re.escape
    - util.ssl_match_hostname._dnsname_match
    - ipname.rstrip
    - dnsnames.append
    - <builtin>.isinstance
    - hostname.rfind
    - cert.get
    - util.ssl_.is_ipaddress
    - leftmost.count
    - dn.lower
    - leftmost.startswith
    - log.warning
    - hostname.startswith
    - re.compile
    - asserted_hostname.strip
    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: util.ssl_.ssl_wrap_socket.close
    functionSourceFile: util
    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: asserted_hostname.strip
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 4
    IfCount: 11
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3c3cd00>
    argNames:
    - cert
    - hostname
    - hostname_checks_common_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 95
    functionName: util.ssl_match_hostname.match_hostname
    functionSourceFile: util
    functionUses: 4
    functionsReached:
    - util.ssl_match_hostname._ipaddress_match
    - <builtin>.bool
    - <builtin>.len
    - dn.split
    - pats.append
    - pat.match
    - ipaddress.ip_address
    - hostname.lower
    - re.escape
    - util.ssl_match_hostname._dnsname_match
    - ipname.rstrip
    - dnsnames.append
    - hostname.rfind
    - cert.get
    - leftmost.count
    - dn.lower
    - leftmost.startswith
    - hostname.startswith
    - re.compile
    linkageType: pythonLinkage
    raised:
    - ValueError
    - CertificateError
    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.split
    functionSourceFile: re
    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: fields
    functionSourceFile: fields
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3b20910>
    argNames:
    - filename
    - default
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 15
    functionName: fields.guess_content_type
    functionSourceFile: fields
    functionUses: 5
    functionsReached:
    - mimetypes.guess_type
    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: mimetypes.guess_type
    functionSourceFile: mimetypes
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - name
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 31
    functionName: fields.format_header_param_rfc2231
    functionSourceFile: fields
    functionUses: 0
    functionsReached:
    - result.encode
    - value.decode
    - <builtin>.isinstance
    - <builtin>.any
    - warnings.warn
    - email.utils.encode_rfc2231
    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: value.decode
    functionSourceFile: <builtin>
    functionUses: 5
    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: result.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: email.utils.encode_rfc2231
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - name
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 79
    functionName: fields.format_multipart_header_param
    functionSourceFile: fields
    functionUses: 2
    functionsReached:
    - value.translate
    - value.decode
    - <builtin>.isinstance
    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: value.translate
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - name
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 117
    functionName: fields.format_header_param_html5
    functionSourceFile: fields
    functionUses: 0
    functionsReached:
    - value.decode
    - <builtin>.isinstance
    - value.translate
    - warnings.warn
    - fields.format_multipart_header_param
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - name
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 135
    functionName: fields.format_header_param
    functionSourceFile: fields
    functionUses: 0
    functionsReached:
    - value.decode
    - <builtin>.isinstance
    - value.translate
    - warnings.warn
    - fields.format_multipart_header_param
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7fdac34ff760>
    - <ast.Constant object at 0x7fdac34ffc10>
    - <ast.Constant object at 0x7fdac34ff4c0>
    argNames:
    - self
    - name
    - data
    - filename
    - headers
    - header_formatter
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 171
    functionName: fields.RequestField.__init__
    functionSourceFile: fields
    functionUses: 0
    functionsReached:
    - warnings.warn
    - <builtin>.dict
    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: request_param.make_multipart
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 244
    functionName: fields.RequestField._render_part
    functionSourceFile: fields
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - header_parts
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 260
    functionName: fields.RequestField._render_parts
    functionSourceFile: fields
    functionUses: 0
    functionsReached:
    - header_parts.items
    - parts.append
    - <builtin>.isinstance
    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: header_parts.items
    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: parts.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 291
    functionName: fields.RequestField.render_headers
    functionSourceFile: fields
    functionUses: 0
    functionsReached:
    - lines.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: lines.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3132a60>
    - <ast.Constant object at 0x7fdac3132460>
    - <ast.Constant object at 0x7fdac3132f40>
    argNames:
    - self
    - content_disposition
    - content_type
    - content_location
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 310
    functionName: fields.RequestField.make_multipart
    functionSourceFile: fields
    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: _version
    functionSourceFile: _version
    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: 1
    functionLinenumber: -1
    functionName: http2.connection
    functionSourceFile: http2.connection
    functionUses: 0
    functionsReached:
    - logging.getLogger
    - typing.TypeVar
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 29
    functionName: http2.connection._is_legal_header_name
    functionSourceFile: http2.connection
    functionUses: 2
    functionsReached:
    - RE_IS_LEGAL_HEADER_NAME.match
    - <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: RE_IS_LEGAL_HEADER_NAME.match
    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:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 44
    functionName: http2.connection._is_illegal_header_value
    functionSourceFile: http2.connection
    functionUses: 2
    functionsReached:
    - <builtin>.bool
    - RE_IS_ILLEGAL_HEADER_VALUE.search
    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_IS_ILLEGAL_HEADER_VALUE.search
    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: []
    argNames:
    - self
    - obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 68
    functionName: http2.connection._LockedObject.__init__
    functionSourceFile: http2.connection
    functionUses: 3
    functionsReached:
    - threading.RLock
    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: 0
    functionLinenumber: 72
    functionName: http2.connection._LockedObject.__enter__
    functionSourceFile: http2.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exc_type
    - exc_val
    - exc_tb
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 76
    functionName: http2.connection._LockedObject.__exit__
    functionSourceFile: http2.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3632b50>
    argNames:
    - self
    - host
    - port
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 86
    functionName: http2.connection.HTTP2Connection.__init__
    functionSourceFile: http2.connection
    functionUses: 0
    functionsReached:
    - http2.connection.HTTP2Connection._new_h2_conn
    - http2.connection._LockedObject.__init__
    - <builtin>.super
    - h2.connection.H2Connection
    - threading.RLock
    - h2.config.H2Configuration
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 101
    functionName: http2.connection.HTTP2Connection._new_h2_conn
    functionSourceFile: http2.connection
    functionUses: 2
    functionsReached:
    - http2.connection._LockedObject.__init__
    - h2.config.H2Configuration
    - threading.RLock
    - h2.connection.H2Connection
    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: h2.config.H2Configuration
    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: h2.connection.H2Connection
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 105
    functionName: http2.connection.HTTP2Connection.connect
    functionSourceFile: http2.connection
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - conn.data_to_send
    - conn.initiate_connection
    - connection.HTTPSConnection.sock.sendall
    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: conn.initiate_connection
    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: conn.data_to_send
    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: connection.HTTPSConnection.sock.sendall
    functionSourceFile: connection
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 6
    IfCount: 3
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - method
    - url
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 112
    functionName: http2.connection.HTTP2Connection.putrequest
    functionSourceFile: http2.connection
    functionUses: 1
    functionsReached:
    - authority.encode
    - conn.get_next_available_stream_id
    - url.encode
    - method.encode
    - connection.HTTPSConnection._validate_path
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    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: connection.HTTPSConnection._validate_path
    functionSourceFile: connection
    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: method.encode
    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: authority.encode
    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: url.encode
    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: conn.get_next_available_stream_id
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - header
    - values
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 143
    functionName: http2.connection.HTTP2Connection.putheader
    functionSourceFile: http2.connection
    functionUses: 1
    functionsReached:
    - <builtin>.bool
    - header.encode
    - http2.connection._is_illegal_header_value
    - http2.connection._is_legal_header_name
    - <builtin>.isinstance
    - RE_IS_ILLEGAL_HEADER_VALUE.search
    - RE_IS_LEGAL_HEADER_NAME.match
    - value.encode
    - header.lower
    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: header.encode
    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: value.encode
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3580370>
    argNames:
    - self
    - message_body
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 156
    functionName: http2.connection.HTTP2Connection.endheaders
    functionSourceFile: http2.connection
    functionUses: 1
    functionsReached:
    - conn.send_headers
    - conn.data_to_send
    - connection.HTTPSConnection.sock.sendall
    linkageType: pythonLinkage
    raised:
    - ConnectionError
    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: conn.send_headers
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 10
    IfCount: 10
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 170
    functionName: http2.connection.HTTP2Connection.send
    functionSourceFile: http2.connection
    functionUses: 1
    functionsReached:
    - connection.HTTPSConnection.sock.sendall
    - chunk.encode
    - data.read
    - conn.data_to_send
    - <builtin>.isinstance
    - <builtin>.hasattr
    - data.encode
    - conn.send_data
    - conn.end_stream
    linkageType: pythonLinkage
    raised:
    - ConnectionError
    - TypeError
    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: data.read
    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: conn.send_data
    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: conn.end_stream
    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: data.encode
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3710fa0>
    - <ast.Constant object at 0x7fdac3710550>
    - <ast.Constant object at 0x7fdac37104f0>
    argNames:
    - self
    - host
    - port
    - headers
    - scheme
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 215
    functionName: http2.connection.HTTP2Connection.set_tunnel
    functionSourceFile: http2.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 3
    IfCount: 6
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 226
    functionName: http2.connection.HTTP2Connection.getresponse
    functionSourceFile: http2.connection
    functionUses: 0
    functionsReached:
    - vals.append
    - conn.data_to_send
    - conn.receive_data
    - <builtin>.super
    - <builtin>.len
    - <builtin>.bytes
    - header.decode
    - connection.HTTPSConnection.sock.sendall
    - key.lower
    - connection.HTTPSConnection.sock.recv
    - <builtin>.bytearray
    - _collections.HTTPHeaderDict.__init__
    - key.decode
    - _collections.HTTPHeaderDict.add
    - <builtin>.isinstance
    - value.decode
    - http2.connection.HTTP2Response.__init__
    - conn.acknowledge_received_data
    - <builtin>.int
    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: connection.HTTPSConnection.sock.recv
    functionSourceFile: connection
    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: conn.receive_data
    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: conn.acknowledge_received_data
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3d6f760>
    argNames:
    - self
    - status
    - headers
    - request_url
    - data
    - decode_content
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 326
    functionName: http2.connection.HTTP2Response.__init__
    functionSourceFile: http2.connection
    functionUses: 1
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 8
    IfCount: 5
    argCount: 9
    argDefaultValues:
    - <ast.Constant object at 0x7fdac35cb0d0>
    - <ast.Constant object at 0x7fdac35cb850>
    argNames:
    - self
    - method
    - url
    - body
    - headers
    - preload_content
    - decode_content
    - enforce_content_length
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 268
    functionName: http2.connection.HTTP2Connection.request
    functionSourceFile: http2.connection
    functionUses: 0
    functionsReached:
    - k.lower
    - authority.encode
    - <builtin>.bool
    - http2.connection.HTTP2Connection.send
    - header.encode
    - http2.connection._is_legal_header_name
    - <builtin>.dict
    - connection.HTTPSConnection.sock.settimeout
    - conn.data_to_send
    - connection._get_default_user_agent
    - RE_IS_ILLEGAL_HEADER_VALUE.search
    - url.encode
    - data.encode
    - connection.HTTPSConnection.sock.sendall
    - conn.send_headers
    - http2.connection.HTTP2Connection.putheader
    - data.read
    - conn.get_next_available_stream_id
    - headers.items
    - header.lower
    - connection.HTTPSConnection._validate_path
    - http2.connection.HTTP2Connection.endheaders
    - <builtin>.isinstance
    - value.encode
    - chunk.encode
    - http2.connection._is_illegal_header_value
    - <builtin>.hasattr
    - RE_IS_LEGAL_HEADER_NAME.match
    - conn.send_data
    - method.encode
    - conn.end_stream
    - http2.connection.HTTP2Connection.putrequest
    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: connection.HTTPSConnection.sock.settimeout
    functionSourceFile: connection
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 307
    functionName: http2.connection.HTTP2Connection.close
    functionSourceFile: http2.connection
    functionUses: 0
    functionsReached:
    - http2.connection.HTTP2Connection._new_h2_conn
    - connection.HTTPSConnection.sock.sendall
    - http2.connection._LockedObject.__init__
    - conn.data_to_send
    - <builtin>.super
    - h2.connection.H2Connection
    - conn.close_connection
    - threading.RLock
    - h2.config.H2Configuration
    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: conn.close_connection
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 349
    functionName: http2.connection.HTTP2Response.data
    functionSourceFile: http2.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 352
    functionName: http2.connection.HTTP2Response.get_redirect_location
    functionSourceFile: http2.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 355
    functionName: http2.connection.HTTP2Response.close
    functionSourceFile: http2.connection
    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: http2
    functionSourceFile: http2
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 15
    functionName: http2.inject_into_urllib3
    functionSourceFile: http2
    functionUses: 0
    functionsReached:
    - importlib.metadata.version
    - importlib.metadata.version.startswith
    linkageType: pythonLinkage
    raised:
    - ImportError
    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: importlib.metadata.version
    functionSourceFile: importlib
    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: importlib.metadata.version.startswith
    functionSourceFile: importlib
    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: 43
    functionName: http2.extract_from_urllib3
    functionSourceFile: http2
    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: 2
    functionLinenumber: -1
    functionName: http2.probe
    functionSourceFile: http2.probe
    functionUses: 0
    functionsReached:
    - http2.probe._HTTP2ProbeCache.__init__
    - threading.Lock
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 13
    functionName: http2.probe._HTTP2ProbeCache.__init__
    functionSourceFile: http2.probe
    functionUses: 1
    functionsReached:
    - threading.Lock
    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: threading.Lock
    functionSourceFile: threading
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - host
    - port
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 18
    functionName: http2.probe._HTTP2ProbeCache.acquire_and_get
    functionSourceFile: http2.probe
    functionUses: 0
    functionsReached:
    - key_lock.acquire
    - threading.RLock
    - <builtin>.isinstance
    - key_lock.release
    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: key_lock.acquire
    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: key_lock.release
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - host
    - port
    - supports_http2
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 51
    functionName: http2.probe._HTTP2ProbeCache.set_and_release
    functionSourceFile: http2.probe
    functionUses: 0
    functionsReached:
    - key_lock.release
    linkageType: pythonLinkage
    raised:
    - ValueError
    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: 0
    functionLinenumber: 65
    functionName: http2.probe._HTTP2ProbeCache._values
    functionSourceFile: http2.probe
    functionUses: 0
    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: 0
    functionLinenumber: 70
    functionName: http2.probe._HTTP2ProbeCache._reset
    functionSourceFile: http2.probe
    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: util.proxy
    functionSourceFile: util.proxy
    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: util
    functionSourceFile: util
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: util.ssl_
    functionSourceFile: util.ssl_
    functionUses: 0
    functionsReached:
    - typing.overload
    - ssl.OPENSSL_VERSION.startswith
    - util.ssl_._is_has_never_check_common_name_reliable
    - <builtin>.getattr
    - util.ssl_._is_bpo_43522_fixed
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - implementation_name
    - version_info
    - pypy_version_info
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 30
    functionName: util.ssl_._is_bpo_43522_fixed
    functionSourceFile: util.ssl_
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - openssl_version
    - openssl_version_number
    - implementation_name
    - version_info
    - pypy_version_info
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 56
    functionName: util.ssl_._is_has_never_check_common_name_reliable
    functionSourceFile: util.ssl_
    functionUses: 1
    functionsReached:
    - ssl.OPENSSL_VERSION.startswith
    - util.ssl_._is_bpo_43522_fixed
    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: ssl.OPENSSL_VERSION.startswith
    functionSourceFile: ssl
    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: fingerprint.replace
    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: HASHFUNC_MAP.get
    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: fingerprint.encode
    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: binascii.unhexlify
    functionSourceFile: binascii
    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: hmac.compare_digest
    functionSourceFile: hmac
    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: _SSL_VERSION_TO_TLS_VERSION.get
    functionSourceFile: <builtin>
    functionUses: 5
    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: ssl.SSLContext
    functionSourceFile: ssl
    functionUses: 5
    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: context.set_ciphers
    functionSourceFile: <builtin>
    functionUses: 5
    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.environ.get
    functionSourceFile: os
    functionUses: 5
    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.expandvars
    functionSourceFile: os
    functionUses: 5
    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: util.ssl_.create_urllib3_context.load_verify_locations
    functionSourceFile: util
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - key_file
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 500
    functionName: util.ssl_._is_key_file_encrypted
    functionSourceFile: util.ssl_
    functionUses: 4
    functionsReached:
    - <builtin>.open
    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: util.ssl_.create_urllib3_context.load_cert_chain
    functionSourceFile: util
    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: util.ssl_.create_urllib3_context.set_alpn_protocols
    functionSourceFile: util
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fdac375e940>
    argNames:
    - sock
    - ssl_context
    - tls_in_tls
    - server_hostname
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 511
    functionName: util.ssl_._ssl_wrap_socket_impl
    functionSourceFile: util.ssl_
    functionUses: 4
    functionsReached:
    - ssl_context.wrap_bio
    - <builtin>.hasattr
    - ssl.MemoryBIO
    - util.ssl_.create_urllib3_context.wrap_socket
    - util.ssltransport.SSLTransport._validate_ssl_context_for_tls_in_tls
    - util.ssltransport.SSLTransport.__init__
    linkageType: pythonLinkage
    raised:
    - ProxySchemeUnsupported
    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: hostname.decode
    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: _IPV4_RE.match
    functionSourceFile: <builtin>
    functionUses: 24
    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: _BRACELESS_IPV6_ADDRZ_RE.match
    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>.open
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - ssl_context
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 34
    functionName: util.ssltransport.SSLTransport._validate_ssl_context_for_tls_in_tls
    functionSourceFile: util.ssltransport
    functionUses: 5
    functionsReached:
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised:
    - ProxySchemeUnsupported
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3d5c040>
    - <ast.Constant object at 0x7fdac3d5c520>
    argNames:
    - self
    - socket
    - ssl_context
    - server_hostname
    - suppress_ragged_eofs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 49
    functionName: util.ssltransport.SSLTransport.__init__
    functionSourceFile: util.ssltransport
    functionUses: 5
    functionsReached:
    - ssl.MemoryBIO
    - ssl_context.wrap_bio
    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: util.ssl_.create_urllib3_context.wrap_socket
    functionSourceFile: util
    functionUses: 5
    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: 1
    functionLinenumber: -1
    functionName: util.ssltransport
    functionSourceFile: util.ssltransport
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    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: ssl.MemoryBIO
    functionSourceFile: ssl
    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: ssl_context.wrap_bio
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 72
    functionName: util.ssltransport.SSLTransport.__enter__
    functionSourceFile: util.ssltransport
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - _
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 75
    functionName: util.ssltransport.SSLTransport.__exit__
    functionSourceFile: util.ssltransport
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 78
    functionName: util.ssltransport.SSLTransport.fileno
    functionSourceFile: util.ssltransport
    functionUses: 0
    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 0x7fdac3537a00>
    - <ast.Constant object at 0x7fdac3537220>
    argNames:
    - self
    - len
    - buffer
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 81
    functionName: util.ssltransport.SSLTransport.read
    functionSourceFile: util.ssltransport
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3753dc0>
    - <ast.Constant object at 0x7fdac3753460>
    argNames:
    - self
    - buflen
    - flags
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 84
    functionName: util.ssltransport.SSLTransport.recv
    functionSourceFile: util.ssltransport
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3753820>
    - <ast.Constant object at 0x7fdac3753fd0>
    argNames:
    - self
    - buffer
    - nbytes
    - flags
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 89
    functionName: util.ssltransport.SSLTransport.recv_into
    functionSourceFile: util.ssltransport
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fdac340c310>
    argNames:
    - self
    - data
    - flags
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 101
    functionName: util.ssltransport.SSLTransport.sendall
    functionSourceFile: util.ssltransport
    functionUses: 0
    functionsReached:
    - <builtin>.memoryview
    - view.cast
    - <builtin>.len
    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: view.cast
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fdac340c220>
    argNames:
    - self
    - data
    - flags
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 111
    functionName: util.ssltransport.SSLTransport.send
    functionSourceFile: util.ssltransport
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 1
    IfCount: 10
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3d858e0>
    argNames:
    - self
    - mode
    - buffering
    - encoding
    - errors
    - newline
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 116
    functionName: util.ssltransport.SSLTransport.makefile
    functionSourceFile: util.ssltransport
    functionUses: 0
    functionsReached:
    - <builtin>.set
    - io.BufferedWriter
    - io.BufferedReader
    - io.BufferedRWPair
    - io.TextIOWrapper
    - socket.SocketIO
    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: socket.SocketIO
    functionSourceFile: socket
    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: io.BufferedRWPair
    functionSourceFile: io
    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: io.BufferedReader
    functionSourceFile: io
    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: io.BufferedWriter
    functionSourceFile: io
    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: io.TextIOWrapper
    functionSourceFile: io
    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: 0
    functionLinenumber: 168
    functionName: util.ssltransport.SSLTransport.unwrap
    functionSourceFile: util.ssltransport
    functionUses: 0
    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: 0
    functionLinenumber: 171
    functionName: util.ssltransport.SSLTransport.close
    functionSourceFile: util.ssltransport
    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: 1
    functionLinenumber: -1
    functionName: util.ssltransport.SSLTransport
    functionSourceFile: util.ssltransport
    functionUses: 0
    functionsReached:
    - typing.overload
    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 0x7fdac31753a0>
    argNames:
    - self
    - binary_form
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 182
    functionName: util.ssltransport.SSLTransport.getpeercert
    functionSourceFile: util.ssltransport
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 185
    functionName: util.ssltransport.SSLTransport.version
    functionSourceFile: util.ssltransport
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 188
    functionName: util.ssltransport.SSLTransport.cipher
    functionSourceFile: util.ssltransport
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 191
    functionName: util.ssltransport.SSLTransport.selected_alpn_protocol
    functionSourceFile: util.ssltransport
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 194
    functionName: util.ssltransport.SSLTransport.shared_ciphers
    functionSourceFile: util.ssltransport
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 197
    functionName: util.ssltransport.SSLTransport.compression
    functionSourceFile: util.ssltransport
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 200
    functionName: util.ssltransport.SSLTransport.settimeout
    functionSourceFile: util.ssltransport
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 203
    functionName: util.ssltransport.SSLTransport.gettimeout
    functionSourceFile: util.ssltransport
    functionUses: 0
    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: 0
    functionLinenumber: 206
    functionName: util.ssltransport.SSLTransport._decref_socketios
    functionSourceFile: util.ssltransport
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3727790>
    argNames:
    - self
    - len
    - buffer
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 209
    functionName: util.ssltransport.SSLTransport._wrap_ssl_read
    functionSourceFile: util.ssltransport
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 4
    IfCount: 6
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3710040>
    - <ast.Constant object at 0x7fdac3710250>
    argNames:
    - self
    - func
    - arg1
    - arg2
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 235
    functionName: util.ssltransport.SSLTransport._ssl_io_loop
    functionSourceFile: util.ssltransport
    functionUses: 0
    functionsReached:
    - typing.cast
    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: 1
    functionLinenumber: -1
    functionName: util.request
    functionSourceFile: util.request
    functionUses: 0
    functionsReached:
    - <builtin>.frozenset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 1
    IfCount: 8
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7fdac31443d0>
    - <ast.Constant object at 0x7fdac3144d90>
    - <ast.Constant object at 0x7fdac3144280>
    - <ast.Constant object at 0x7fdac3144820>
    - <ast.Constant object at 0x7fdac3144ca0>
    - <ast.Constant object at 0x7fdac3144130>
    argNames:
    - keep_alive
    - accept_encoding
    - user_agent
    - basic_auth
    - proxy_basic_auth
    - disable_cache
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 60
    functionName: util.request.make_headers
    functionSourceFile: util.request
    functionUses: 0
    functionsReached:
    - basic_auth.encode
    - <builtin>.isinstance
    - base64.b64encode
    - base64.b64encode.decode
    - proxy_basic_auth.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: basic_auth.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: base64.b64encode
    functionSourceFile: base64
    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: base64.b64encode.decode
    functionSourceFile: base64
    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: proxy_basic_auth.encode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - body
    - body_pos
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 162
    functionName: util.request.rewind_body
    functionSourceFile: util.request
    functionUses: 2
    functionsReached:
    - <builtin>.getattr
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - ValueError
    - UnrewindableBodyError
    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: body.tell
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fdac30eb940>
    - <ast.Constant object at 0x7fdac30eb610>
    argNames:
    - x
    - encoding
    - errors
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 7
    functionName: util.util.to_bytes
    functionSourceFile: util.util
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    - x.encode
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 230
    functionName: util.request.body_to_chunks.chunk_readable
    functionSourceFile: util.request
    functionUses: 2
    functionsReached:
    - datablock.encode
    - <builtin>.isinstance
    - body.read
    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: body.read
    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: datablock.encode
    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: <builtin>.iter
    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: 2
    functionLinenumber: -1
    functionName: util.connection
    functionSourceFile: util.connection
    functionUses: 0
    functionsReached:
    - socket.socket
    - sock.close
    - util.connection._has_ipv6
    - sock.bind
    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: host.startswith
    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: host.strip
    functionSourceFile: <builtin>
    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: 0
    functionLinenumber: 103
    functionName: util.connection.allowed_gai_family
    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: host.encode
    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: socket.getaddrinfo
    functionSourceFile: socket
    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: socket.socket
    functionSourceFile: socket
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - sock
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 93
    functionName: util.connection._set_socket_options
    functionSourceFile: util.connection
    functionUses: 2
    functionsReached:
    - sock.setsockopt
    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: sock.settimeout
    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: sock.bind
    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: sock.connect
    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: sock.close
    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: sock.setsockopt
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - host
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 114
    functionName: util.connection._has_ipv6
    functionSourceFile: util.connection
    functionUses: 1
    functionsReached:
    - socket.socket
    - sock.close
    - sock.bind
    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: util.timeout
    functionSourceFile: util.timeout
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fdac35cb280>
    - <ast.Name object at 0x7fdac35cbb80>
    - <ast.Name object at 0x7fdac35cba00>
    argNames:
    - self
    - total
    - connect
    - read
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 109
    functionName: util.timeout.Timeout.__init__
    functionSourceFile: util.timeout
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 120
    functionName: util.timeout.Timeout.__repr__
    functionSourceFile: util.timeout
    functionUses: 0
    functionsReached:
    - <builtin>.type
    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: socket.getdefaulttimeout
    functionSourceFile: socket
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - cls
    - value
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 131
    functionName: util.timeout.Timeout._validate_timeout
    functionSourceFile: util.timeout
    functionUses: 0
    functionsReached:
    - <builtin>.float
    - <builtin>.isinstance
    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: <builtin>.float
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 188
    functionName: util.timeout.Timeout.clone
    functionSourceFile: util.timeout
    functionUses: 0
    functionsReached:
    - util.timeout.Timeout.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 202
    functionName: util.timeout.Timeout.start_connect
    functionSourceFile: util.timeout
    functionUses: 0
    functionsReached:
    - time.monotonic
    linkageType: pythonLinkage
    raised:
    - TimeoutStateError
    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: time.monotonic
    functionSourceFile: time
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 213
    functionName: util.timeout.Timeout.get_connect_duration
    functionSourceFile: util.timeout
    functionUses: 0
    functionsReached:
    - time.monotonic
    linkageType: pythonLinkage
    raised:
    - TimeoutStateError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 228
    functionName: util.timeout.Timeout.connect_timeout
    functionSourceFile: util.timeout
    functionUses: 0
    functionsReached:
    - <builtin>.min
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 246
    functionName: util.timeout.Timeout.read_timeout
    functionSourceFile: util.timeout
    functionUses: 0
    functionsReached:
    - <builtin>.min
    - <builtin>.max
    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: util.wait
    functionSourceFile: util.wait
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3623700>
    - <ast.Constant object at 0x7fdac36234c0>
    - <ast.Constant object at 0x7fdac3623550>
    argNames:
    - sock
    - read
    - write
    - timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 33
    functionName: util.wait.select_wait_for_socket
    functionSourceFile: util.wait
    functionUses: 4
    functionsReached:
    - <builtin>.bool
    - rcheck.append
    - wcheck.append
    - functools.partial
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    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: rcheck.append
    functionSourceFile: <builtin>
    functionUses: 5
    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: wcheck.append
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fdac31f2190>
    - <ast.Constant object at 0x7fdac31f2310>
    - <ast.Constant object at 0x7fdac31f2f40>
    argNames:
    - sock
    - read
    - write
    - timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 57
    functionName: util.wait.poll_wait_for_socket
    functionSourceFile: util.wait
    functionUses: 4
    functionsReached:
    - poll_obj.poll
    - <builtin>.bool
    - poll_obj.register
    - util.wait.poll_wait_for_socket.do_poll
    - select.poll
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    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: select.poll
    functionSourceFile: select
    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: poll_obj.register
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - t
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 74
    functionName: util.wait.poll_wait_for_socket.do_poll
    functionSourceFile: util.wait
    functionUses: 5
    functionsReached:
    - poll_obj.poll
    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: poll_obj.poll
    functionSourceFile: <builtin>
    functionUses: 7
    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: 82
    functionName: util.wait._have_working_poll
    functionSourceFile: util.wait
    functionUses: 4
    functionsReached:
    - poll_obj.poll
    - select.poll
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fdac37279d0>
    - <ast.Constant object at 0x7fdac37270a0>
    - <ast.Constant object at 0x7fdac37276d0>
    argNames:
    - sock
    - read
    - write
    - timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 95
    functionName: util.wait.wait_for_socket
    functionSourceFile: util.wait
    functionUses: 3
    functionsReached:
    - poll_obj.poll
    - <builtin>.bool
    - poll_obj.register
    - functools.partial
    - util.wait.poll_wait_for_socket
    - wcheck.append
    - util.wait._have_working_poll
    - util.wait.select_wait_for_socket
    - <builtin>.hasattr
    - util.wait.poll_wait_for_socket.do_poll
    - select.poll
    - rcheck.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fdac35da100>
    argNames:
    - sock
    - timeout
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 120
    functionName: util.wait.wait_for_write
    functionSourceFile: util.wait
    functionUses: 0
    functionsReached:
    - poll_obj.poll
    - <builtin>.bool
    - poll_obj.register
    - functools.partial
    - util.wait.poll_wait_for_socket
    - wcheck.append
    - util.wait._have_working_poll
    - util.wait.wait_for_socket
    - util.wait.select_wait_for_socket
    - <builtin>.hasattr
    - util.wait.poll_wait_for_socket.do_poll
    - select.poll
    - rcheck.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: util.response
    functionSourceFile: util.response
    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: obj.isclosed
    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: headers.is_multipart
    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: headers.get_payload
    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: method_str.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: 2
    functionLinenumber: -1
    functionName: util.retry
    functionSourceFile: util.retry
    functionUses: 0
    functionsReached:
    - util.retry.Retry.__init__
    - <builtin>.set
    - h.lower
    - <builtin>.frozenset
    - logging.getLogger
    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: 1
    functionLinenumber: -1
    functionName: util.retry.Retry
    functionSourceFile: util.retry
    functionUses: 0
    functionsReached:
    - <builtin>.frozenset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 18
    argDefaultValues:
    - <ast.Constant object at 0x7fdac34ffc40>
    - <ast.Constant object at 0x7fdac34fffa0>
    - <ast.Constant object at 0x7fdac34ff880>
    - <ast.Constant object at 0x7fdac34ffe20>
    - <ast.Constant object at 0x7fdac34ff430>
    - <ast.Constant object at 0x7fdac3b1c940>
    - <ast.Name object at 0x7fdac3b1cdf0>
    - <ast.Constant object at 0x7fdac3b1cca0>
    - <ast.Constant object at 0x7fdac3b1cee0>
    - <ast.Name object at 0x7fdac3b1c1c0>
    - <ast.Constant object at 0x7fdac3b1c6a0>
    - <ast.Constant object at 0x7fdac3b1cfa0>
    - <ast.Constant object at 0x7fdac3b1c0a0>
    - <ast.Constant object at 0x7fdac3b1c610>
    - <ast.Name object at 0x7fdac3b1cf40>
    - <ast.Constant object at 0x7fdac3b1cb80>
    - <ast.Name object at 0x7fdac3b1cb20>
    argNames:
    - self
    - total
    - connect
    - read
    - redirect
    - status
    - other
    - allowed_methods
    - status_forcelist
    - backoff_factor
    - backoff_max
    - raise_on_redirect
    - raise_on_status
    - history
    - respect_retry_after_header
    - remove_headers_on_redirect
    - backoff_jitter
    - retry_after_max
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 211
    functionName: util.retry.Retry.__init__
    functionSourceFile: util.retry
    functionUses: 1
    functionsReached:
    - <builtin>.set
    - h.lower
    - <builtin>.frozenset
    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: h.lower
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - kw
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 258
    functionName: util.retry.Retry.new
    functionSourceFile: util.retry
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - params.update
    - <builtin>.dict
    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: params.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 301
    functionName: util.retry.Retry.get_backoff_time
    functionSourceFile: util.retry
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - <builtin>.max
    - <builtin>.len
    - random.random
    - itertools.takewhile
    - <builtin>.reversed
    - <builtin>.min
    - <builtin>.float
    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: util.retry.Retry.get_backoff_time.<lambda1>
    functionSourceFile: util.retry
    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: itertools.takewhile
    functionSourceFile: itertools
    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: random.random
    functionSourceFile: random
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - retry_after
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 320
    functionName: util.retry.Retry.parse_retry_after
    functionSourceFile: util.retry
    functionUses: 0
    functionsReached:
    - email.utils.mktime_tz
    - <builtin>.max
    - time.time
    - email.utils.parsedate_tz
    - <builtin>.int
    - re.match
    linkageType: pythonLinkage
    raised:
    - InvalidHeader
    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.match
    functionSourceFile: re
    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: email.utils.parsedate_tz
    functionSourceFile: email
    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: email.utils.mktime_tz
    functionSourceFile: email
    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: time.time
    functionSourceFile: time
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 341
    functionName: util.retry.Retry.get_retry_after
    functionSourceFile: util.retry
    functionUses: 0
    functionsReached:
    - response.headers.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 351
    functionName: util.retry.Retry.sleep_for_retry
    functionSourceFile: util.retry
    functionUses: 0
    functionsReached:
    - time.sleep
    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: time.sleep
    functionSourceFile: time
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 359
    functionName: util.retry.Retry._sleep_backoff
    functionSourceFile: util.retry
    functionUses: 0
    functionsReached:
    - time.sleep
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fdac34090d0>
    argNames:
    - self
    - response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 365
    functionName: util.retry.Retry.sleep
    functionSourceFile: util.retry
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - err
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 381
    functionName: util.retry.Retry._is_connection_error
    functionSourceFile: util.retry
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - err
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 389
    functionName: util.retry.Retry._is_read_error
    functionSourceFile: util.retry
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - method
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 395
    functionName: util.retry.Retry._is_method_retryable
    functionSourceFile: util.retry
    functionUses: 0
    functionsReached:
    - method.upper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fdac37545e0>
    argNames:
    - self
    - method
    - status_code
    - has_retry_after
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 403
    functionName: util.retry.Retry.is_retry
    functionSourceFile: util.retry
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 425
    functionName: util.retry.Retry.is_exhausted
    functionSourceFile: util.retry
    functionUses: 0
    functionsReached:
    - <builtin>.min
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 16
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 23
    ICount: 2
    IfCount: 16
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3c3cd00>
    - <ast.Constant object at 0x7fdac3c3cf70>
    - <ast.Constant object at 0x7fdac3c3cfd0>
    - <ast.Constant object at 0x7fdac3c3cb80>
    - <ast.Constant object at 0x7fdac3c3cee0>
    - <ast.Constant object at 0x7fdac3c3cb20>
    argNames:
    - self
    - method
    - url
    - response
    - error
    - _pool
    - _stacktrace
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 444
    functionName: util.retry.Retry.increment
    functionSourceFile: util.retry
    functionUses: 0
    functionsReached:
    - log.debug
    - response.get_redirect_location
    - ResponseError.SPECIFIC_ERROR.format
    - new_retry.is_exhausted
    - typing.NamedTuple.__init__
    linkageType: pythonLinkage
    raised:
    - MaxRetryError
    - reraise
    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: ResponseError.SPECIFIC_ERROR.format
    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: new_retry.is_exhausted
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 541
    functionName: util.retry.Retry.__repr__
    functionSourceFile: util.retry
    functionUses: 0
    functionsReached:
    - <builtin>.type
    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: 1
    functionLinenumber: -1
    functionName: util.url
    functionSourceFile: util.url
    functionUses: 0
    functionsReached:
    - typing.overload
    - <builtin>.set
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7fdac362afa0>
    - <ast.Constant object at 0x7fdac3202400>
    - <ast.Constant object at 0x7fdac3202c10>
    - <ast.Constant object at 0x7fdac3202430>
    - <ast.Constant object at 0x7fdac3202e50>
    - <ast.Constant object at 0x7fdac3202b50>
    - <ast.Constant object at 0x7fdac3202730>
    argNames:
    - cls
    - scheme
    - auth
    - host
    - port
    - path
    - query
    - fragment
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 100
    functionName: util.url.Url.__new__
    functionSourceFile: util.url
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - scheme.lower
    - path.startswith
    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: path.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: scheme.lower
    functionSourceFile: <builtin>
    functionUses: 15
    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: 0
    functionLinenumber: 117
    functionName: util.url.Url.hostname
    functionSourceFile: util.url
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 122
    functionName: util.url.Url.request_uri
    functionSourceFile: util.url
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 132
    functionName: util.url.Url.authority
    functionSourceFile: util.url
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 148
    functionName: util.url.Url.netloc
    functionSourceFile: util.url
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 1
    IfCount: 7
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 162
    functionName: util.url.Url.url
    functionSourceFile: util.url
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 209
    functionName: util.url.Url.__str__
    functionSourceFile: util.url
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - component
    - allowed_chars
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 227
    functionName: util.url._encode_invalid_chars
    functionSourceFile: util.url
    functionUses: 19
    functionsReached:
    - <builtin>.bytearray
    - util.util.to_str
    - encoded_component.extend
    - _PERCENT_RE.subn
    - encoded_component.decode
    - <builtin>.ord
    - byte.decode
    - <builtin>.range
    - <builtin>.isinstance
    - <builtin>.len
    - util.util.to_str.encode
    - urllib.parse.urljoin.decode
    - uri_bytes.count
    - <builtin>.hex
    - util.util.to_str.decode
    - urllib.parse.urljoin.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: 1
    functionLinenumber: -1
    functionName: util.url._encode_invalid_chars.<lambda1>
    functionSourceFile: util.url
    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: match.group
    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: _PERCENT_RE.subn
    functionSourceFile: <builtin>
    functionUses: 20
    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: util.util.to_str.encode
    functionSourceFile: util
    functionUses: 20
    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: urllib.parse.urljoin.encode
    functionSourceFile: urllib
    functionUses: 20
    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: uri_bytes.count
    functionSourceFile: <builtin>
    functionUses: 20
    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>.ord
    functionSourceFile: <builtin>
    functionUses: 20
    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.decode
    functionSourceFile: <builtin>
    functionUses: 20
    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>.hex
    functionSourceFile: <builtin>
    functionUses: 20
    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_component.extend
    functionSourceFile: <builtin>
    functionUses: 20
    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_component.decode
    functionSourceFile: <builtin>
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 4
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 263
    functionName: util.url._remove_path_dot_segments
    functionSourceFile: util.url
    functionUses: 14
    functionsReached:
    - util.util.to_str.startswith
    - urllib.parse.urljoin.startswith
    - util.util.to_str.endswith
    - output.insert
    - output.append
    - output.pop
    - util.util.to_str.split
    - urllib.parse.urljoin.split
    - urllib.parse.urljoin.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: util.util.to_str.split
    functionSourceFile: util
    functionUses: 15
    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: urllib.parse.urljoin.split
    functionSourceFile: urllib
    functionUses: 15
    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: output.append
    functionSourceFile: <builtin>
    functionUses: 15
    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: output.pop
    functionSourceFile: <builtin>
    functionUses: 15
    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: output.insert
    functionSourceFile: <builtin>
    functionUses: 15
    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: util.util.to_str.endswith
    functionSourceFile: util
    functionUses: 15
    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: urllib.parse.urljoin.endswith
    functionSourceFile: urllib
    functionUses: 15
    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: _IPV6_ADDRZ_RE.match
    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: _ZONE_ID_RE.search
    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: match.span
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 330
    functionName: util.url._idna_encode
    functionSourceFile: util.url
    functionUses: 18
    functionsReached:
    - idna.encode
    - name.isascii
    - name.lower
    linkageType: pythonLinkage
    raised:
    - LocationParseError
    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: util.url._normalize_host.split
    functionSourceFile: util
    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: name.isascii
    functionSourceFile: <builtin>
    functionUses: 19
    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: 21
    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: idna.encode
    functionSourceFile: idna
    functionUses: 21
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - target
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 349
    functionName: util.url._encode_target
    functionSourceFile: util.url
    functionUses: 0
    functionsReached:
    - encoded_component.decode
    - <builtin>.range
    - <builtin>.len
    - util.url._encode_invalid_chars
    - uri_bytes.count
    - match.groups
    - util.util.to_str
    - _TARGET_RE.match
    - <builtin>.ord
    - urllib.parse.urljoin.decode
    - byte.decode
    - urllib.parse.urljoin.encode
    - <builtin>.bytearray
    - <builtin>.isinstance
    - util.util.to_str.encode
    - <builtin>.hex
    - encoded_component.extend
    - _PERCENT_RE.subn
    - util.util.to_str.decode
    linkageType: pythonLinkage
    raised:
    - LocationParseError
    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: _TARGET_RE.match
    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: match.groups
    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: _SCHEME_RE.search
    functionSourceFile: <builtin>
    functionUses: 14
    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: _URI_RE.match
    functionSourceFile: <builtin>
    functionUses: 14
    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: authority.rpartition
    functionSourceFile: <builtin>
    functionUses: 14
    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: _HOST_PORT_RE.match
    functionSourceFile: <builtin>
    functionUses: 14
    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: util.util
    functionSourceFile: util.util
    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: x.encode
    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: util.util.to_str.decode
    functionSourceFile: util
    functionUses: 23
    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: urllib.parse.urljoin.decode
    functionSourceFile: urllib
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fdac31f2c70>
    argNames:
    - tp
    - value
    - tb
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 31
    functionName: util.util.reraise
    functionSourceFile: util.util
    functionUses: 0
    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: util.ssl_match_hostname
    functionSourceFile: util.ssl_match_hostname
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 5
    IfCount: 5
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fdac340c790>
    argNames:
    - dn
    - hostname
    - max_wildcards
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 24
    functionName: util.ssl_match_hostname._dnsname_match
    functionSourceFile: util.ssl_match_hostname
    functionUses: 5
    functionsReached:
    - <builtin>.bool
    - pat.match
    - leftmost.count
    - dn.lower
    - leftmost.startswith
    - hostname.lower
    - dn.split
    - re.escape
    - hostname.startswith
    - pats.append
    - re.compile
    linkageType: pythonLinkage
    raised:
    - CertificateError
    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: dn.split
    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: leftmost.count
    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: dn.lower
    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: hostname.lower
    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: pats.append
    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: leftmost.startswith
    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: hostname.startswith
    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: re.escape
    functionSourceFile: re
    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: pat.match
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - ipname
    - host_ip
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 80
    functionName: util.ssl_match_hostname._ipaddress_match
    functionSourceFile: util.ssl_match_hostname
    functionUses: 5
    functionsReached:
    - ipaddress.ip_address
    - ipname.rstrip
    - <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: ipname.rstrip
    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: ipaddress.ip_address
    functionSourceFile: ipaddress
    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: hostname.rfind
    functionSourceFile: <builtin>
    functionUses: 5
    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: cert.get
    functionSourceFile: <builtin>
    functionUses: 5
    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: dnsnames.append
    functionSourceFile: <builtin>
    functionUses: 5
    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: contrib.socks
    functionSourceFile: contrib.socks
    functionUses: 0
    functionsReached:
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - _socks_options
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 89
    functionName: contrib.socks.SOCKSConnection.__init__
    functionSourceFile: contrib.socks
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 98
    functionName: contrib.socks.SOCKSConnection._new_conn
    functionSourceFile: contrib.socks
    functionUses: 0
    functionsReached:
    - socks.create_connection
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - ConnectTimeoutError
    - NewConnectionError
    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: socks.create_connection
    functionSourceFile: socks
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7fdac37358b0>
    - <ast.Constant object at 0x7fdac3735e80>
    - <ast.Constant object at 0x7fdac3735220>
    - <ast.Constant object at 0x7fdac3735dc0>
    argNames:
    - self
    - proxy_url
    - username
    - password
    - num_pools
    - headers
    - connection_pool_kw
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 184
    functionName: contrib.socks.SOCKSProxyManager.__init__
    functionSourceFile: contrib.socks
    functionUses: 0
    functionsReached:
    - match.span
    - encoded_component.decode
    - <builtin>.range
    - name.lower
    - <builtin>.len
    - <builtin>.super
    - util.url._encode_invalid_chars
    - _ZONE_ID_RE.search
    - idna.encode
    - uri_bytes.count
    - output.append
    - output.pop
    - urllib.parse.urljoin.startswith
    - name.isascii
    - util.util.to_str
    - util.url._normalize_host
    - util.util.to_str.endswith
    - <builtin>.ord
    - urllib.parse.urljoin.decode
    - _IPV4_RE.match
    - output.insert
    - _HOST_PORT_RE.match
    - util.url._normalize_host.split
    - util.util.to_str.split
    - urllib.parse.urljoin.encode
    - byte.decode
    - util.url.parse_url
    - <builtin>.bytearray
    - util.url._remove_path_dot_segments
    - _URI_RE.match
    - util.url._idna_encode
    - <builtin>.isinstance
    - util.util.to_str.encode
    - util.url.Url
    - <builtin>.hex
    - _IPV6_ADDRZ_RE.match
    - urllib.parse.urljoin.split
    - util.util.to_str.startswith
    - encoded_component.extend
    - _PERCENT_RE.subn
    - scheme.lower
    - authority.rpartition
    - <builtin>.int
    - _SCHEME_RE.search
    - util.util.to_str.decode
    - util.url._normalize_host.lower
    - urllib.parse.urljoin.endswith
    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: contrib
    functionSourceFile: contrib
    functionUses: 0
    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: contrib.pyopenssl
    functionSourceFile: contrib.pyopenssl
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - <builtin>.hasattr
    - _stdlib_to_openssl_verify.items
    - logging.getLogger
    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: _stdlib_to_openssl_verify.items
    functionSourceFile: <builtin>
    functionUses: 1
    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: 2
    functionLinenumber: 139
    functionName: contrib.pyopenssl.inject_into_urllib3
    functionSourceFile: contrib.pyopenssl
    functionUses: 0
    functionsReached:
    - OpenSSL.crypto.X509
    - contrib.pyopenssl._validate_dependencies_met
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 159
    functionName: contrib.pyopenssl._validate_dependencies_met
    functionSourceFile: contrib.pyopenssl
    functionUses: 1
    functionsReached:
    - OpenSSL.crypto.X509
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised:
    - ImportError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 150
    functionName: contrib.pyopenssl.extract_from_urllib3
    functionSourceFile: contrib.pyopenssl
    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: OpenSSL.crypto.X509
    functionSourceFile: OpenSSL
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 185
    functionName: contrib.pyopenssl._dnsname_to_stdlib
    functionSourceFile: contrib.pyopenssl
    functionUses: 0
    functionsReached:
    - encoded_name.decode
    - contrib.pyopenssl._dnsname_to_stdlib.idna_encode
    - <builtin>.len
    - idna.encode
    - name.startswith
    - prefix.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 199
    functionName: contrib.pyopenssl._dnsname_to_stdlib.idna_encode
    functionSourceFile: contrib.pyopenssl
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - idna.encode
    - name.startswith
    - prefix.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: name.startswith
    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: prefix.encode
    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: encoded_name.decode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - peer_cert
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 226
    functionName: contrib.pyopenssl.get_subj_alt_name
    functionSourceFile: contrib.pyopenssl
    functionUses: 1
    functionsReached:
    - <builtin>.str
    - peer_cert.to_cryptography
    - log.warning
    - <builtin>.map
    - names.extend
    - cert.extensions.get_extension_for_class
    - ext.get_values_for_type
    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: peer_cert.to_cryptography
    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: cert.extensions.get_extension_for_class
    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: ext.get_values_for_type
    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: names.extend
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3500340>
    argNames:
    - self
    - connection
    - socket
    - suppress_ragged_eofs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 277
    functionName: contrib.pyopenssl.WrappedSocket.__init__
    functionSourceFile: contrib.pyopenssl
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 289
    functionName: contrib.pyopenssl.WrappedSocket.fileno
    functionSourceFile: contrib.pyopenssl
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 293
    functionName: contrib.pyopenssl.WrappedSocket._decref_socketios
    functionSourceFile: contrib.pyopenssl
    functionUses: 0
    functionsReached:
    - contrib.pyopenssl.WrappedSocket._real_close
    - contrib.pyopenssl.WrappedSocket.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 375
    functionName: contrib.pyopenssl.WrappedSocket.close
    functionSourceFile: contrib.pyopenssl
    functionUses: 1
    functionsReached:
    - contrib.pyopenssl.WrappedSocket._real_close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 299
    functionName: contrib.pyopenssl.WrappedSocket.recv
    functionSourceFile: contrib.pyopenssl
    functionUses: 0
    functionsReached:
    - contrib.pyopenssl.WrappedSocket.recv
    - util.wait_for_read
    linkageType: pythonLinkage
    raised:
    - timeout
    - OSError
    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: util.wait_for_read
    functionSourceFile: util
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 324
    functionName: contrib.pyopenssl.WrappedSocket.recv_into
    functionSourceFile: contrib.pyopenssl
    functionUses: 0
    functionsReached:
    - util.wait_for_read
    - contrib.pyopenssl.WrappedSocket.recv_into
    linkageType: pythonLinkage
    raised:
    - timeout
    - OSError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - timeout
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 347
    functionName: contrib.pyopenssl.WrappedSocket.settimeout
    functionSourceFile: contrib.pyopenssl
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 350
    functionName: contrib.pyopenssl.WrappedSocket._send_until_done
    functionSourceFile: contrib.pyopenssl
    functionUses: 1
    functionsReached:
    - util.wait_for_write
    linkageType: pythonLinkage
    raised:
    - timeout
    - OSError
    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: util.wait_for_write
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 361
    functionName: contrib.pyopenssl.WrappedSocket.sendall
    functionSourceFile: contrib.pyopenssl
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - contrib.pyopenssl.WrappedSocket._send_until_done
    - util.wait_for_write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - how
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 369
    functionName: contrib.pyopenssl.WrappedSocket.shutdown
    functionSourceFile: contrib.pyopenssl
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 380
    functionName: contrib.pyopenssl.WrappedSocket._real_close
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3d50250>
    argNames:
    - self
    - binary_form
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 386
    functionName: contrib.pyopenssl.WrappedSocket.getpeercert
    functionSourceFile: contrib.pyopenssl
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - OpenSSL.crypto.dump_certificate
    - peer_cert.to_cryptography
    - contrib.pyopenssl.get_subj_alt_name
    - log.warning
    - <builtin>.map
    - x509.get_subject
    - names.extend
    - cert.extensions.get_extension_for_class
    - ext.get_values_for_type
    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: OpenSSL.crypto.dump_certificate
    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: x509.get_subject
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 402
    functionName: contrib.pyopenssl.WrappedSocket.version
    functionSourceFile: contrib.pyopenssl
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 405
    functionName: contrib.pyopenssl.WrappedSocket.selected_alpn_protocol
    functionSourceFile: contrib.pyopenssl
    functionUses: 0
    functionsReached:
    - alpn_proto.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: alpn_proto.decode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - protocol
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 420
    functionName: contrib.pyopenssl.PyOpenSSLContext.__init__
    functionSourceFile: contrib.pyopenssl
    functionUses: 0
    functionsReached:
    - OpenSSL.SSL.Context
    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: OpenSSL.SSL.Context
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 434
    functionName: contrib.pyopenssl.PyOpenSSLContext.options
    functionSourceFile: contrib.pyopenssl
    functionUses: 0
    functionsReached:
    - contrib.pyopenssl.PyOpenSSLContext._set_ctx_options
    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: 0
    functionLinenumber: 531
    functionName: contrib.pyopenssl.PyOpenSSLContext._set_ctx_options
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 443
    functionName: contrib.pyopenssl.PyOpenSSLContext.verify_flags
    functionSourceFile: contrib.pyopenssl
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 452
    functionName: contrib.pyopenssl.PyOpenSSLContext.verify_mode
    functionSourceFile: contrib.pyopenssl
    functionUses: 0
    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: 0
    functionLinenumber: 455
    functionName: contrib.pyopenssl.PyOpenSSLContext.set_default_verify_paths
    functionSourceFile: contrib.pyopenssl
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - ciphers
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 458
    functionName: contrib.pyopenssl.PyOpenSSLContext.set_ciphers
    functionSourceFile: contrib.pyopenssl
    functionUses: 0
    functionsReached:
    - ciphers.encode
    - <builtin>.isinstance
    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: ciphers.encode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3d85eb0>
    - <ast.Constant object at 0x7fdac3d85e80>
    - <ast.Constant object at 0x7fdac3c3c6d0>
    argNames:
    - self
    - cafile
    - capath
    - cadata
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 463
    functionName: contrib.pyopenssl.PyOpenSSLContext.load_verify_locations
    functionSourceFile: contrib.pyopenssl
    functionUses: 0
    functionsReached:
    - cafile.encode
    - capath.encode
    - io.BytesIO
    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: cafile.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: capath.encode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3753610>
    - <ast.Constant object at 0x7fdac3753520>
    argNames:
    - self
    - certfile
    - keyfile
    - password
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 480
    functionName: contrib.pyopenssl.PyOpenSSLContext.load_cert_chain
    functionSourceFile: contrib.pyopenssl
    functionUses: 0
    functionsReached:
    - password.encode
    - <builtin>.isinstance
    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: password.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: contrib.pyopenssl.PyOpenSSLContext.load_cert_chain.<lambda1>
    functionSourceFile: contrib.pyopenssl
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - protocols
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 496
    functionName: contrib.pyopenssl.PyOpenSSLContext.set_alpn_protocols
    functionSourceFile: contrib.pyopenssl
    functionUses: 0
    functionsReached:
    - util.util.to_bytes
    - <builtin>.isinstance
    - x.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7fdac31754f0>
    - <ast.Constant object at 0x7fdac31751c0>
    - <ast.Constant object at 0x7fdac3175d30>
    - <ast.Constant object at 0x7fdac3175a30>
    argNames:
    - self
    - sock
    - server_side
    - do_handshake_on_connect
    - suppress_ragged_eofs
    - server_hostname
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 500
    functionName: contrib.pyopenssl.PyOpenSSLContext.wrap_socket
    functionSourceFile: contrib.pyopenssl
    functionUses: 0
    functionsReached:
    - _BRACELESS_IPV6_ADDRZ_RE.match
    - util.ssl_.is_ipaddress
    - <builtin>.bool
    - contrib.pyopenssl.WrappedSocket.__init__
    - server_hostname.encode
    - <builtin>.isinstance
    - cnx.do_handshake
    - sock.gettimeout
    - _IPV4_RE.match
    - cnx.set_connect_state
    - util.wait_for_read
    - hostname.decode
    - cnx.set_tlsext_host_name
    - OpenSSL.SSL.Connection
    linkageType: pythonLinkage
    raised:
    - timeout
    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: OpenSSL.SSL.Connection
    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: server_hostname.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: cnx.set_tlsext_host_name
    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: cnx.set_connect_state
    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: cnx.do_handshake
    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: sock.gettimeout
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - minimum_version
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 543
    functionName: contrib.pyopenssl.PyOpenSSLContext.minimum_version
    functionSourceFile: contrib.pyopenssl
    functionUses: 0
    functionsReached:
    - contrib.pyopenssl.PyOpenSSLContext._set_ctx_options
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - maximum_version
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 552
    functionName: contrib.pyopenssl.PyOpenSSLContext.maximum_version
    functionSourceFile: contrib.pyopenssl
    functionUses: 0
    functionsReached:
    - contrib.pyopenssl.PyOpenSSLContext._set_ctx_options
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - cnx
    - x509
    - err_no
    - err_depth
    - return_code
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 557
    functionName: contrib.pyopenssl._verify_callback
    functionSourceFile: contrib.pyopenssl
    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: contrib.emscripten.request
    functionSourceFile: contrib.emscripten.request
    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: dataclasses.field
    functionSourceFile: dataclasses
    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: 1
    functionLinenumber: -1
    functionName: contrib.emscripten.request.EmscriptenRequest
    functionSourceFile: contrib.emscripten.request
    functionUses: 0
    functionsReached:
    - dataclasses.field
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 18
    functionName: contrib.emscripten.request.EmscriptenRequest.set_header
    functionSourceFile: contrib.emscripten.request
    functionUses: 1
    functionsReached:
    - name.capitalize
    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.capitalize
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - body
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 21
    functionName: contrib.emscripten.request.EmscriptenRequest.set_body
    functionSourceFile: contrib.emscripten.request
    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: 3
    functionLinenumber: -1
    functionName: contrib.emscripten.fetch
    functionSourceFile: contrib.emscripten.fetch
    functionUses: 0
    functionsReached:
    - js.URL.createObjectURL
    - contrib.emscripten.fetch._obj_from_dict
    - js.Blob.new
    - importlib.resources.files
    - contrib.emscripten.fetch.is_cross_origin_isolated
    - js.globalThis.Promise.new
    - importlib.resources.files.joinpath
    - <builtin>.hasattr
    - contrib.emscripten.fetch.is_in_browser_main_thread
    - contrib.emscripten.fetch._StreamingFetcher.__init__
    - js.globalThis.Worker.new
    - pyodide.ffi.to_js
    - contrib.emscripten.fetch.is_worker_available
    - contrib.emscripten.fetch.is_in_node
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3049400>
    argNames:
    - self
    - message
    - request
    - response
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 72
    functionName: contrib.emscripten.fetch._RequestError.__init__
    functionSourceFile: contrib.emscripten.fetch
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - dict_val
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 93
    functionName: contrib.emscripten.fetch._obj_from_dict
    functionSourceFile: contrib.emscripten.fetch
    functionUses: 10
    functionsReached:
    - pyodide.ffi.to_js
    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: pyodide.ffi.to_js
    functionSourceFile: pyodide
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 7
    argDefaultValues: []
    argNames:
    - self
    - int_buffer
    - byte_buffer
    - timeout
    - worker
    - connection_id
    - request
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 98
    functionName: contrib.emscripten.fetch._ReadStream.__init__
    functionSourceFile: contrib.emscripten.fetch
    functionUses: 3
    functionsReached:
    - <builtin>.int
    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: 3
    functionLinenumber: 118
    functionName: contrib.emscripten.fetch._ReadStream.__del__
    functionSourceFile: contrib.emscripten.fetch
    functionUses: 0
    functionsReached:
    - contrib.emscripten.fetch._obj_from_dict
    - <builtin>.super
    - contrib.emscripten.fetch._ReadStream.close
    - pyodide.ffi.to_js
    - contrib.emscripten.fetch._ReadStream.is_closed
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 130
    functionName: contrib.emscripten.fetch._ReadStream.close
    functionSourceFile: contrib.emscripten.fetch
    functionUses: 2
    functionsReached:
    - <builtin>.super
    - pyodide.ffi.to_js
    - contrib.emscripten.fetch._ReadStream.is_closed
    - contrib.emscripten.fetch._obj_from_dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 122
    functionName: contrib.emscripten.fetch._ReadStream.is_closed
    functionSourceFile: contrib.emscripten.fetch
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 127
    functionName: contrib.emscripten.fetch._ReadStream.closed
    functionSourceFile: contrib.emscripten.fetch
    functionUses: 0
    functionsReached:
    - contrib.emscripten.fetch._ReadStream.is_closed
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 144
    functionName: contrib.emscripten.fetch._ReadStream.readable
    functionSourceFile: contrib.emscripten.fetch
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 147
    functionName: contrib.emscripten.fetch._ReadStream.writable
    functionSourceFile: contrib.emscripten.fetch
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 150
    functionName: contrib.emscripten.fetch._ReadStream.seekable
    functionSourceFile: contrib.emscripten.fetch
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 3
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - byte_obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 153
    functionName: contrib.emscripten.fetch._ReadStream.readinto
    functionSourceFile: contrib.emscripten.fetch
    functionUses: 0
    functionsReached:
    - js_decoder.decode
    - js.TextDecoder.new
    - contrib.emscripten.fetch._obj_from_dict
    - js.Atomics.wait
    - js.Atomics.store
    - <builtin>.len
    - contrib.emscripten.fetch._ReadStream.close
    - <builtin>.super
    - <builtin>.memoryview
    - pyodide.ffi.to_js
    - contrib.emscripten.fetch._ReadStream.is_closed
    - <builtin>.min
    linkageType: pythonLinkage
    raised:
    - _StreamingError
    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: js.Atomics.store
    functionSourceFile: js
    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: js.Atomics.wait
    functionSourceFile: js
    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: js.TextDecoder.new
    functionSourceFile: js
    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: js_decoder.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: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 201
    functionName: contrib.emscripten.fetch._StreamingFetcher.__init__
    functionSourceFile: contrib.emscripten.fetch
    functionUses: 1
    functionsReached:
    - js.URL.createObjectURL
    - contrib.emscripten.fetch._obj_from_dict
    - js.Blob.new
    - importlib.resources.files
    - js.globalThis.Promise.new
    - importlib.resources.files.joinpath
    - js.globalThis.Worker.new
    - pyodide.ffi.to_js
    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: importlib.resources.files
    functionSourceFile: importlib
    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: importlib.resources.files.joinpath
    functionSourceFile: importlib
    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: js.Blob.new
    functionSourceFile: js
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - js_resolve_fn
    - js_reject_fn
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 214
    functionName: contrib.emscripten.fetch._StreamingFetcher.__init__.promise_resolver
    functionSourceFile: contrib.emscripten.fetch
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - e
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 215
    functionName: contrib.emscripten.fetch._StreamingFetcher.__init__.promise_resolver.onMsg
    functionSourceFile: contrib.emscripten.fetch
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - e
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 219
    functionName: contrib.emscripten.fetch._StreamingFetcher.__init__.promise_resolver.onErr
    functionSourceFile: contrib.emscripten.fetch
    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: js.URL.createObjectURL
    functionSourceFile: js
    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: js.globalThis.Worker.new
    functionSourceFile: js
    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: js.globalThis.Promise.new
    functionSourceFile: js
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 229
    functionName: contrib.emscripten.fetch._StreamingFetcher.send
    functionSourceFile: contrib.emscripten.fetch
    functionUses: 2
    functionsReached:
    - js_decoder.decode
    - js.URL.new
    - js.Int32Array.new
    - js.SharedArrayBuffer.new
    - request.headers.items
    - contrib.emscripten.fetch._obj_from_dict
    - js.TextDecoder.new
    - js.Uint8Array.new
    - js.Atomics.wait
    - js.Atomics.store
    - json.loads
    - <builtin>.int
    - js.Atomics.notify
    - pyodide.ffi.to_js
    - contrib.emscripten.fetch._ReadStream.__init__
    - js_byte_buffer.slice
    linkageType: pythonLinkage
    raised:
    - _TimeoutError
    - _StreamingError
    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: request.headers.items
    functionSourceFile: <builtin>
    functionUses: 5
    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: js.SharedArrayBuffer.new
    functionSourceFile: js
    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: js.Int32Array.new
    functionSourceFile: js
    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: js.Uint8Array.new
    functionSourceFile: js
    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: js.Atomics.notify
    functionSourceFile: js
    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: js.URL.new
    functionSourceFile: js
    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: js_byte_buffer.slice
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 6
    argDefaultValues: []
    argNames:
    - self
    - js_read_stream
    - timeout
    - request
    - response
    - js_abort_controller
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 324
    functionName: contrib.emscripten.fetch._JSPIReadStream.__init__
    functionSourceFile: contrib.emscripten.fetch
    functionUses: 4
    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: 2
    functionLinenumber: 342
    functionName: contrib.emscripten.fetch._JSPIReadStream.__del__
    functionSourceFile: contrib.emscripten.fetch
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - contrib.emscripten.fetch._JSPIReadStream.is_closed
    - contrib.emscripten.fetch._JSPIReadStream.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 354
    functionName: contrib.emscripten.fetch._JSPIReadStream.close
    functionSourceFile: contrib.emscripten.fetch
    functionUses: 9
    functionsReached:
    - <builtin>.super
    - contrib.emscripten.fetch._JSPIReadStream.is_closed
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 346
    functionName: contrib.emscripten.fetch._JSPIReadStream.is_closed
    functionSourceFile: contrib.emscripten.fetch
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 351
    functionName: contrib.emscripten.fetch._JSPIReadStream.closed
    functionSourceFile: contrib.emscripten.fetch
    functionUses: 0
    functionsReached:
    - contrib.emscripten.fetch._JSPIReadStream.is_closed
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 367
    functionName: contrib.emscripten.fetch._JSPIReadStream.readable
    functionSourceFile: contrib.emscripten.fetch
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 370
    functionName: contrib.emscripten.fetch._JSPIReadStream.writable
    functionSourceFile: contrib.emscripten.fetch
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 373
    functionName: contrib.emscripten.fetch._JSPIReadStream.seekable
    functionSourceFile: contrib.emscripten.fetch
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 376
    functionName: contrib.emscripten.fetch._JSPIReadStream._get_next_buffer
    functionSourceFile: contrib.emscripten.fetch
    functionUses: 1
    functionsReached:
    - js.clearTimeout
    - <builtin>.int
    - js.setTimeout
    - pyodide.ffi.run_sync
    - js_abort_controller.abort.bind
    - pyodide.ffi.run_sync.value.to_py
    - contrib.emscripten.fetch._run_sync_with_timeout
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 5
    argDefaultValues: []
    argNames:
    - promise
    - timeout
    - js_abort_controller
    - request
    - response
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 626
    functionName: contrib.emscripten.fetch._run_sync_with_timeout
    functionSourceFile: contrib.emscripten.fetch
    functionUses: 6
    functionsReached:
    - js.clearTimeout
    - <builtin>.int
    - js.setTimeout
    - pyodide.ffi.run_sync
    - js_abort_controller.abort.bind
    linkageType: pythonLinkage
    raised:
    - _TimeoutError
    - _RequestError
    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: pyodide.ffi.run_sync.value.to_py
    functionSourceFile: pyodide
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - byte_obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 392
    functionName: contrib.emscripten.fetch._JSPIReadStream.readinto
    functionSourceFile: contrib.emscripten.fetch
    functionUses: 0
    functionsReached:
    - js.clearTimeout
    - contrib.emscripten.fetch._JSPIReadStream.is_closed
    - js_abort_controller.abort.bind
    - <builtin>.len
    - <builtin>.int
    - <builtin>.super
    - js.setTimeout
    - contrib.emscripten.fetch._JSPIReadStream._get_next_buffer
    - contrib.emscripten.fetch._JSPIReadStream.close
    - pyodide.ffi.run_sync
    - pyodide.ffi.run_sync.value.to_py
    - <builtin>.min
    - contrib.emscripten.fetch._run_sync_with_timeout
    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: 1
    functionLinenumber: 410
    functionName: contrib.emscripten.fetch.is_in_browser_main_thread
    functionSourceFile: contrib.emscripten.fetch
    functionUses: 5
    functionsReached:
    - <builtin>.hasattr
    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: 1
    functionLinenumber: 414
    functionName: contrib.emscripten.fetch.is_cross_origin_isolated
    functionSourceFile: contrib.emscripten.fetch
    functionUses: 4
    functionsReached:
    - <builtin>.hasattr
    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: 1
    functionLinenumber: 418
    functionName: contrib.emscripten.fetch.is_in_node
    functionSourceFile: contrib.emscripten.fetch
    functionUses: 4
    functionsReached:
    - <builtin>.hasattr
    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: 1
    functionLinenumber: 427
    functionName: contrib.emscripten.fetch.is_worker_available
    functionSourceFile: contrib.emscripten.fetch
    functionUses: 4
    functionsReached:
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - request
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 449
    functionName: contrib.emscripten.fetch.send_streaming_request
    functionSourceFile: contrib.emscripten.fetch
    functionUses: 1
    functionsReached:
    - js.URL.new
    - js.Int32Array.new
    - js.SharedArrayBuffer.new
    - <builtin>.bool
    - request.headers.items
    - contrib.emscripten.fetch._JSPIReadStream.__init__
    - js.Atomics.wait
    - js.clearTimeout
    - contrib.emscripten.fetch.is_cross_origin_isolated
    - json.loads
    - pyodide.ffi.run_sync.arrayBuffer
    - js_byte_buffer.slice
    - js_decoder.decode
    - pyodide.ffi.can_run_sync
    - js.Atomics.notify
    - pyodide.ffi.run_sync.headers.entries
    - js.AbortController.new
    - <builtin>.getattr
    - pyodide.ffi.run_sync
    - js.console.warn
    - contrib.emscripten.fetch.is_in_node
    - js.fetch
    - contrib.emscripten.fetch.has_jspi
    - contrib.emscripten.fetch._obj_from_dict
    - js.Atomics.store
    - contrib.emscripten.fetch._show_streaming_warning
    - pyodide.ffi.run_sync.body.getReader
    - contrib.emscripten.fetch.is_in_browser_main_thread
    - js_abort_controller.abort.bind
    - pyodide.ffi.to_js
    - contrib.emscripten.fetch.is_worker_available
    - contrib.emscripten.fetch._run_sync_with_timeout
    - <builtin>.str
    - js.TextDecoder.new
    - js.Uint8Array.new
    - contrib.emscripten.fetch._StreamingFetcher.send
    - contrib.emscripten.fetch.streaming_ready
    - <builtin>.int
    - <builtin>.hasattr
    - js.setTimeout
    - contrib.emscripten.fetch._is_node_js
    - header_iter.next
    - contrib.emscripten.fetch._ReadStream.__init__
    - pyodide.ffi.run_sync.to_py
    - contrib.emscripten.fetch.send_jspi_request
    linkageType: pythonLinkage
    raised:
    - _RequestError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 680
    functionName: contrib.emscripten.fetch.has_jspi
    functionSourceFile: contrib.emscripten.fetch
    functionUses: 3
    functionsReached:
    - <builtin>.bool
    - pyodide.ffi.can_run_sync
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - request
    - streaming
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 548
    functionName: contrib.emscripten.fetch.send_jspi_request
    functionSourceFile: contrib.emscripten.fetch
    functionUses: 3
    functionsReached:
    - contrib.emscripten.fetch._JSPIReadStream.__init__
    - js.clearTimeout
    - request.headers.items
    - pyodide.ffi.run_sync.arrayBuffer
    - pyodide.ffi.run_sync.headers.entries
    - js.AbortController.new
    - <builtin>.getattr
    - pyodide.ffi.run_sync
    - js.fetch
    - contrib.emscripten.fetch._obj_from_dict
    - pyodide.ffi.run_sync.body.getReader
    - js_abort_controller.abort.bind
    - pyodide.ffi.to_js
    - contrib.emscripten.fetch._run_sync_with_timeout
    - <builtin>.str
    - <builtin>.int
    - <builtin>.hasattr
    - js.setTimeout
    - contrib.emscripten.fetch._is_node_js
    - header_iter.next
    - pyodide.ffi.run_sync.to_py
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 714
    functionName: contrib.emscripten.fetch.streaming_ready
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 480
    functionName: contrib.emscripten.fetch._show_streaming_warning
    functionSourceFile: contrib.emscripten.fetch
    functionUses: 2
    functionsReached:
    - contrib.emscripten.fetch.is_cross_origin_isolated
    - contrib.emscripten.fetch.streaming_ready
    - <builtin>.hasattr
    - contrib.emscripten.fetch.is_in_browser_main_thread
    - js.console.warn
    - contrib.emscripten.fetch.is_worker_available
    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: 469
    functionName: contrib.emscripten.fetch._show_timeout_warning
    functionSourceFile: contrib.emscripten.fetch
    functionUses: 2
    functionsReached:
    - js.console.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: js.console.warn
    functionSourceFile: js
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 5
    IfCount: 9
    argCount: 1
    argDefaultValues: []
    argNames:
    - request
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 499
    functionName: contrib.emscripten.fetch.send_request
    functionSourceFile: contrib.emscripten.fetch
    functionUses: 1
    functionsReached:
    - email.parser.Parser.parsestr
    - contrib.emscripten.fetch._JSPIReadStream.__init__
    - <builtin>.bool
    - js.clearTimeout
    - request.headers.items
    - js_xhr.overrideMimeType
    - <builtin>.dict
    - name.lower
    - pyodide.ffi.run_sync.arrayBuffer
    - js.XMLHttpRequest.new
    - pyodide.ffi.can_run_sync
    - pyodide.ffi.run_sync.headers.entries
    - pyodide.ffi.run_sync.to_py
    - js.AbortController.new
    - <builtin>.getattr
    - pyodide.ffi.run_sync
    - js_xhr.send
    - js.console.warn
    - js.fetch
    - contrib.emscripten.fetch.has_jspi
    - contrib.emscripten.fetch._obj_from_dict
    - js_xhr.setRequestHeader
    - pyodide.ffi.run_sync.body.getReader
    - contrib.emscripten.fetch.is_in_browser_main_thread
    - js_abort_controller.abort.bind
    - js_xhr.getAllResponseHeaders
    - pyodide.ffi.to_js
    - contrib.emscripten.fetch._run_sync_with_timeout
    - email.parser.Parser
    - <builtin>.str
    - contrib.emscripten.fetch._show_timeout_warning
    - <builtin>.int
    - js_xhr.open
    - js_xhr.response.to_py
    - <builtin>.hasattr
    - contrib.emscripten.fetch._is_node_js
    - js.setTimeout
    - header_iter.next
    - contrib.emscripten.fetch.is_in_node
    - js_xhr.response.encode
    - contrib.emscripten.fetch.send_jspi_request
    linkageType: pythonLinkage
    raised:
    - _TimeoutError
    - _RequestError
    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: js.XMLHttpRequest.new
    functionSourceFile: js
    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: js_xhr.overrideMimeType
    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: js_xhr.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: js_xhr.setRequestHeader
    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: js_xhr.send
    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: js_xhr.getAllResponseHeaders
    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: email.parser.Parser
    functionSourceFile: email
    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: email.parser.Parser.parsestr
    functionSourceFile: email
    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: js_xhr.response.to_py
    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: js_xhr.response.encode
    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: js.AbortController.new
    functionSourceFile: js
    functionUses: 4
    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: 699
    functionName: contrib.emscripten.fetch._is_node_js
    functionSourceFile: contrib.emscripten.fetch
    functionUses: 4
    functionsReached:
    - <builtin>.hasattr
    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: js.fetch
    functionSourceFile: js
    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: pyodide.ffi.run_sync.headers.entries
    functionSourceFile: pyodide
    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: header_iter.next
    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: pyodide.ffi.run_sync.body.getReader
    functionSourceFile: pyodide
    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: pyodide.ffi.run_sync.arrayBuffer
    functionSourceFile: pyodide
    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: pyodide.ffi.run_sync.to_py
    functionSourceFile: pyodide
    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: js_abort_controller.abort.bind
    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: js.setTimeout
    functionSourceFile: js
    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: pyodide.ffi.run_sync
    functionSourceFile: pyodide
    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: js.clearTimeout
    functionSourceFile: js
    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: pyodide.ffi.can_run_sync
    functionSourceFile: pyodide
    functionUses: 4
    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: 0
    functionLinenumber: 721
    functionName: contrib.emscripten.fetch.wait_for_streaming_ready
    functionSourceFile: contrib.emscripten.fetch
    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: contrib.emscripten
    functionSourceFile: contrib.emscripten
    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: 9
    functionName: contrib.emscripten.inject_into_urllib3
    functionSourceFile: contrib.emscripten
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: contrib.emscripten.connection
    functionSourceFile: contrib.emscripten.connection
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - contrib.emscripten.connection.EmscriptenHTTPConnection.__init__
    - <builtin>.super
    - contrib.emscripten.connection.EmscriptenHTTPSConnection.__init__
    - os.path.expanduser
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 9
    argDefaultValues:
    - <ast.Constant object at 0x7fdac350e820>
    argNames:
    - self
    - host
    - port
    - timeout
    - source_address
    - blocksize
    - socket_options
    - proxy
    - proxy_config
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 46
    functionName: contrib.emscripten.connection.EmscriptenHTTPConnection.__init__
    functionSourceFile: contrib.emscripten.connection
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fdac35cb430>
    - <ast.Constant object at 0x7fdac35cb250>
    - <ast.Constant object at 0x7fdac35cbbb0>
    argNames:
    - self
    - host
    - port
    - headers
    - scheme
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 73
    functionName: contrib.emscripten.connection.EmscriptenHTTPConnection.set_tunnel
    functionSourceFile: contrib.emscripten.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 82
    functionName: contrib.emscripten.connection.EmscriptenHTTPConnection.connect
    functionSourceFile: contrib.emscripten.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 9
    argDefaultValues:
    - <ast.Constant object at 0x7fdac31750d0>
    - <ast.Constant object at 0x7fdac3175e80>
    argNames:
    - self
    - method
    - url
    - body
    - headers
    - chunked
    - preload_content
    - decode_content
    - enforce_content_length
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 85
    functionName: contrib.emscripten.connection.EmscriptenHTTPConnection.request
    functionSourceFile: contrib.emscripten.connection
    functionUses: 0
    functionsReached:
    - email.parser.Parser.parsestr
    - js.URL.new
    - js.Int32Array.new
    - js.SharedArrayBuffer.new
    - request.headers.items
    - contrib.emscripten.fetch.send_request
    - js.Atomics.wait
    - <builtin>.bool
    - js_xhr.overrideMimeType
    - <builtin>.dict
    - contrib.emscripten.fetch.is_cross_origin_isolated
    - name.lower
    - json.loads
    - js.clearTimeout
    - pyodide.ffi.run_sync.arrayBuffer
    - url.startswith
    - js_byte_buffer.slice
    - js_decoder.decode
    - js.XMLHttpRequest.new
    - pyodide.ffi.can_run_sync
    - contrib.emscripten.fetch._JSPIReadStream.__init__
    - js.Atomics.notify
    - pyodide.ffi.run_sync.headers.entries
    - pyodide.ffi.run_sync.to_py
    - name.capitalize
    - js.AbortController.new
    - headers.items
    - <builtin>.getattr
    - js_xhr.send
    - js.console.warn
    - contrib.emscripten.fetch.is_in_node
    - pyodide.ffi.run_sync
    - js.fetch
    - contrib.emscripten.fetch.has_jspi
    - contrib.emscripten.fetch._obj_from_dict
    - js.Atomics.store
    - js_xhr.setRequestHeader
    - contrib.emscripten.request.EmscriptenRequest.set_body
    - contrib.emscripten.fetch._show_streaming_warning
    - pyodide.ffi.run_sync.body.getReader
    - contrib.emscripten.fetch.is_in_browser_main_thread
    - js_abort_controller.abort.bind
    - js_xhr.getAllResponseHeaders
    - pyodide.ffi.to_js
    - contrib.emscripten.fetch.is_worker_available
    - contrib.emscripten.fetch._run_sync_with_timeout
    - email.parser.Parser
    - <builtin>.str
    - contrib.emscripten.fetch.send_streaming_request
    - js.TextDecoder.new
    - contrib.emscripten.request.EmscriptenRequest.set_header
    - js.Uint8Array.new
    - contrib.emscripten.fetch._show_timeout_warning
    - contrib.emscripten.fetch._StreamingFetcher.send
    - contrib.emscripten.fetch.streaming_ready
    - <builtin>.int
    - js_xhr.open
    - js_xhr.response.to_py
    - <builtin>.hasattr
    - contrib.emscripten.fetch._is_node_js
    - js.setTimeout
    - header_iter.next
    - contrib.emscripten.fetch._ReadStream.__init__
    - js_xhr.response.encode
    - contrib.emscripten.fetch.send_jspi_request
    linkageType: pythonLinkage
    raised:
    - HTTPException
    - TimeoutError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 129
    functionName: contrib.emscripten.connection.EmscriptenHTTPConnection.getresponse
    functionSourceFile: contrib.emscripten.connection
    functionUses: 0
    functionsReached:
    - contrib.emscripten.response.EmscriptenHttpResponseWrapper._init_length
    - contrib.emscripten.response.EmscriptenHttpResponseWrapper.__init__
    - response.BaseHTTPResponse.headers.get
    - lengths.pop
    - <builtin>.super
    - <builtin>.len
    - <builtin>.int
    - content_length.split
    linkageType: pythonLinkage
    raised:
    - ResponseNotReady
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fdac31f2670>
    - <ast.Constant object at 0x7fdac31f2040>
    argNames:
    - self
    - internal_response
    - url
    - connection
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 31
    functionName: contrib.emscripten.response.EmscriptenHttpResponseWrapper.__init__
    functionSourceFile: contrib.emscripten.response
    functionUses: 1
    functionsReached:
    - contrib.emscripten.response.EmscriptenHttpResponseWrapper._init_length
    - response.BaseHTTPResponse.headers.get
    - lengths.pop
    - <builtin>.super
    - <builtin>.len
    - <builtin>.int
    - content_length.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 139
    functionName: contrib.emscripten.connection.EmscriptenHTTPConnection.close
    functionSourceFile: contrib.emscripten.connection
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 144
    functionName: contrib.emscripten.connection.EmscriptenHTTPConnection.is_closed
    functionSourceFile: contrib.emscripten.connection
    functionUses: 0
    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: 0
    functionLinenumber: 152
    functionName: contrib.emscripten.connection.EmscriptenHTTPConnection.is_connected
    functionSourceFile: contrib.emscripten.connection
    functionUses: 0
    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: 0
    functionLinenumber: 157
    functionName: contrib.emscripten.connection.EmscriptenHTTPConnection.has_connected_to_proxy
    functionSourceFile: contrib.emscripten.connection
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 23
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3500fd0>
    argNames:
    - self
    - host
    - port
    - timeout
    - source_address
    - blocksize
    - socket_options
    - proxy
    - proxy_config
    - cert_reqs
    - assert_hostname
    - assert_fingerprint
    - server_hostname
    - ssl_context
    - ca_certs
    - ca_cert_dir
    - ca_cert_data
    - ssl_minimum_version
    - ssl_maximum_version
    - ssl_version
    - cert_file
    - key_file
    - key_password
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 182
    functionName: contrib.emscripten.connection.EmscriptenHTTPSConnection.__init__
    functionSourceFile: contrib.emscripten.connection
    functionUses: 1
    functionsReached:
    - <builtin>.super
    - os.path.expanduser
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 10
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3580490>
    - <ast.Constant object at 0x7fdac3580c10>
    - <ast.Constant object at 0x7fdac3580370>
    - <ast.Constant object at 0x7fdac3580d90>
    - <ast.Constant object at 0x7fdac3580430>
    - <ast.Constant object at 0x7fdac3580ac0>
    - <ast.Constant object at 0x7fdac3580340>
    - <ast.Constant object at 0x7fdac35806d0>
    - <ast.Constant object at 0x7fdac3b068b0>
    argNames:
    - self
    - key_file
    - cert_file
    - cert_reqs
    - key_password
    - ca_certs
    - assert_hostname
    - assert_fingerprint
    - ca_cert_dir
    - ca_cert_data
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 242
    functionName: contrib.emscripten.connection.EmscriptenHTTPSConnection.set_cert
    functionSourceFile: contrib.emscripten.connection
    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: 1
    functionLinenumber: -1
    functionName: contrib.emscripten.response
    functionSourceFile: contrib.emscripten.response
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - request_method
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 102
    functionName: contrib.emscripten.response.EmscriptenHttpResponseWrapper._init_length
    functionSourceFile: contrib.emscripten.response
    functionUses: 2
    functionsReached:
    - response.BaseHTTPResponse.headers.get
    - lengths.pop
    - <builtin>.int
    - <builtin>.len
    - content_length.split
    linkageType: pythonLinkage
    raised:
    - InvalidHeader
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - url
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 60
    functionName: contrib.emscripten.response.EmscriptenHttpResponseWrapper.url
    functionSourceFile: contrib.emscripten.response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 64
    functionName: contrib.emscripten.response.EmscriptenHttpResponseWrapper.connection
    functionSourceFile: contrib.emscripten.response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - retries
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 72
    functionName: contrib.emscripten.response.EmscriptenHttpResponseWrapper.retries
    functionSourceFile: contrib.emscripten.response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.BinOp object at 0x7fdac368be80>
    - <ast.Constant object at 0x7fdac368bd90>
    argNames:
    - self
    - amt
    - decode_content
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 76
    functionName: contrib.emscripten.response.EmscriptenHttpResponseWrapper.stream
    functionSourceFile: contrib.emscripten.response
    functionUses: 0
    functionsReached:
    - io.RawIOBase.read
    - io.BytesIO.close
    - io.BytesIO
    - contrib.emscripten.fetch._JSPIReadStream.is_closed
    - <builtin>.max
    - io.BytesIO.read
    - <builtin>.isinstance
    - typing.cast
    - <builtin>.len
    - <builtin>.super
    - contrib.emscripten.response.EmscriptenHttpResponseWrapper.read
    - contrib.emscripten.fetch._JSPIReadStream.close
    - contrib.emscripten.response.EmscriptenHttpResponseWrapper.release_conn
    - contrib.emscripten.response.EmscriptenHttpResponseWrapper._error_catcher
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fdac3144280>
    - <ast.Constant object at 0x7fdac3144310>
    - <ast.Constant object at 0x7fdac3144850>
    argNames:
    - self
    - amt
    - decode_content
    - cache_content
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 139
    functionName: contrib.emscripten.response.EmscriptenHttpResponseWrapper.read
    functionSourceFile: contrib.emscripten.response
    functionUses: 3
    functionsReached:
    - io.RawIOBase.read
    - io.BytesIO.close
    - io.BytesIO
    - contrib.emscripten.fetch._JSPIReadStream.is_closed
    - <builtin>.max
    - io.BytesIO.read
    - <builtin>.isinstance
    - typing.cast
    - <builtin>.len
    - <builtin>.super
    - contrib.emscripten.fetch._JSPIReadStream.close
    - contrib.emscripten.response.EmscriptenHttpResponseWrapper.release_conn
    - contrib.emscripten.response.EmscriptenHttpResponseWrapper._error_catcher
    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: response.BaseHTTPResponse.headers.get
    functionSourceFile: response
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 236
    functionName: contrib.emscripten.response.EmscriptenHttpResponseWrapper._error_catcher
    functionSourceFile: contrib.emscripten.response
    functionUses: 4
    functionsReached:
    - io.BytesIO.close
    - contrib.emscripten.fetch._JSPIReadStream.is_closed
    - <builtin>.isinstance
    - <builtin>.super
    - contrib.emscripten.fetch._JSPIReadStream.close
    - contrib.emscripten.response.EmscriptenHttpResponseWrapper.release_conn
    linkageType: pythonLinkage
    raised:
    - HTTPException
    - TimeoutError
    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: io.RawIOBase.read
    functionSourceFile: io
    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: io.BytesIO.read
    functionSourceFile: io
    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: io.BytesIO.close
    functionSourceFile: io
    functionUses: 7
    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 0x7fdac3632430>
    - <ast.Constant object at 0x7fdac36327f0>
    argNames:
    - self
    - amt
    - decode_content
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 176
    functionName: contrib.emscripten.response.EmscriptenHttpResponseWrapper.read_chunked
    functionSourceFile: contrib.emscripten.response
    functionUses: 0
    functionsReached:
    - io.RawIOBase.read
    - io.BytesIO.close
    - io.BytesIO
    - contrib.emscripten.fetch._JSPIReadStream.is_closed
    - <builtin>.max
    - io.BytesIO.read
    - <builtin>.isinstance
    - typing.cast
    - <builtin>.len
    - <builtin>.super
    - contrib.emscripten.response.EmscriptenHttpResponseWrapper.read
    - contrib.emscripten.fetch._JSPIReadStream.close
    - contrib.emscripten.response.EmscriptenHttpResponseWrapper.release_conn
    - contrib.emscripten.response.EmscriptenHttpResponseWrapper._error_catcher
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 188
    functionName: contrib.emscripten.response.EmscriptenHttpResponseWrapper.release_conn
    functionSourceFile: contrib.emscripten.response
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 195
    functionName: contrib.emscripten.response.EmscriptenHttpResponseWrapper.drain_conn
    functionSourceFile: contrib.emscripten.response
    functionUses: 0
    functionsReached:
    - io.BytesIO.close
    - contrib.emscripten.fetch._JSPIReadStream.is_closed
    - <builtin>.isinstance
    - contrib.emscripten.response.EmscriptenHttpResponseWrapper.close
    - <builtin>.super
    - contrib.emscripten.connection.EmscriptenHTTPConnection.close
    - contrib.emscripten.fetch._JSPIReadStream.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 226
    functionName: contrib.emscripten.response.EmscriptenHttpResponseWrapper.close
    functionSourceFile: contrib.emscripten.response
    functionUses: 1
    functionsReached:
    - io.BytesIO.close
    - contrib.emscripten.fetch._JSPIReadStream.is_closed
    - <builtin>.isinstance
    - <builtin>.super
    - contrib.emscripten.connection.EmscriptenHTTPConnection.close
    - contrib.emscripten.fetch._JSPIReadStream.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 199
    functionName: contrib.emscripten.response.EmscriptenHttpResponseWrapper.data
    functionSourceFile: contrib.emscripten.response
    functionUses: 0
    functionsReached:
    - io.RawIOBase.read
    - io.BytesIO.close
    - io.BytesIO
    - contrib.emscripten.fetch._JSPIReadStream.is_closed
    - <builtin>.max
    - io.BytesIO.read
    - <builtin>.isinstance
    - typing.cast
    - <builtin>.len
    - <builtin>.super
    - contrib.emscripten.response.EmscriptenHttpResponseWrapper.read
    - contrib.emscripten.fetch._JSPIReadStream.close
    - contrib.emscripten.response.EmscriptenHttpResponseWrapper.release_conn
    - contrib.emscripten.response.EmscriptenHttpResponseWrapper._error_catcher
    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: 205
    functionName: contrib.emscripten.response.EmscriptenHttpResponseWrapper.json
    functionSourceFile: contrib.emscripten.response
    functionUses: 0
    functionsReached:
    - json.loads
    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: 1
    functionLinenumber: -1
    functionName: contrib.emscripten.response.EmscriptenHttpResponseWrapper
    functionSourceFile: contrib.emscripten.response
    functionUses: 0
    functionsReached:
    - contextlib.contextmanager
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  Function list name: All functions
Function coverage:
  '.........fuzz_urlparse':
  - 42
  - 43
  - 44
  '.........fuzz_urlparse.TestOneInput':
  - 32
  - 33
  - 35
  - 22
  - 23
  - 28
  - 29
  - 30
  - 31
  '.........fuzz_urlparse.main':
  - 40
  - 39
  _base_connection:
  - 29
  _base_connection.BaseHTTPConnection.__init__:
  - 65
  _base_connection.BaseHTTPConnection.close:
  - 95
  _base_connection.BaseHTTPConnection.connect:
  - 75
  _base_connection.BaseHTTPConnection.getresponse:
  - 93
  _base_connection.BaseHTTPConnection.has_connected_to_proxy:
  - 110
  _base_connection.BaseHTTPConnection.is_closed:
  - 99
  _base_connection.BaseHTTPConnection.is_connected:
  - 106
  _base_connection.BaseHTTPConnection.request:
  - 91
  _base_connection.BaseHTTPConnection.set_tunnel:
  - 73
  _base_connection.BaseHTTPSConnection.__init__:
  - 165
  _collections:
  - 8
  - 25
  - 27
  - 29
  _collections.HTTPHeaderDict:
  - 205
  _collections.HTTPHeaderDict.__contains__:
  - 272
  - 269
  - 270
  - 271
  _collections.HTTPHeaderDict.__delitem__:
  - 264
  - 265
  - 266
  _collections.HTTPHeaderDict.__eq__:
  - 279
  - 280
  - 283
  - 285
  - 286
  _collections.HTTPHeaderDict.__getitem__:
  - 258
  - 259
  - 260
  - 261
  _collections.HTTPHeaderDict.__init__:
  - 241
  - 243
  - 244
  - 245
  - 247
  - 248
  - 249
  _collections.HTTPHeaderDict.__ior__:
  - 464
  - 466
  - 463
  _collections.HTTPHeaderDict.__iter__:
  - 297
  - 298
  _collections.HTTPHeaderDict.__len__:
  - 293
  _collections.HTTPHeaderDict.__ne__:
  - 290
  _collections.HTTPHeaderDict.__or__:
  - 472
  - 473
  - 475
  - 476
  _collections.HTTPHeaderDict.__repr__:
  - 427
  _collections.HTTPHeaderDict.__ror__:
  - 482
  - 483
  - 485
  - 486
  _collections.HTTPHeaderDict.__setitem__:
  - 253
  - 254
  - 255
  _collections.HTTPHeaderDict._copy_from:
  - 432
  - 430
  - 431
  _collections.HTTPHeaderDict._has_value_for_header:
  - 456
  - 457
  _collections.HTTPHeaderDict._prepare_for_method_change:
  - 401
  - 414
  - 415
  _collections.HTTPHeaderDict.add:
  - 326
  - 327
  - 328
  - 331
  - 332
  - 335
  - 336
  - 307
  - 339
  _collections.HTTPHeaderDict.copy:
  - 435
  - 436
  _collections.HTTPHeaderDict.extend:
  - 352
  - 353
  - 354
  - 355
  - 356
  - 357
  - 358
  - 359
  - 360
  - 361
  - 362
  - 368
  - 369
  - 371
  - 372
  - 342
  - 346
  - 350
  _collections.HTTPHeaderDict.getlist:
  - 385
  - 386
  - 388
  - 390
  - 375
  - 378
  - 383
  _collections.HTTPHeaderDict.items:
  - 453
  _collections.HTTPHeaderDict.iteritems:
  - 440
  - 441
  - 442
  - 443
  - 444
  _collections.HTTPHeaderDict.itermerged:
  - 448
  - 449
  - 450
  - 447
  _collections.HTTPHeaderDict.setdefault:
  - 276
  _collections.HTTPHeaderDictItemView:
  - 157
  _collections.HTTPHeaderDictItemView.__contains__:
  - 200
  - 197
  - 199
  _collections.HTTPHeaderDictItemView.__iter__:
  - 194
  _collections.HTTPHeaderDictItemView.__len__:
  - 191
  _collections.HasGettableStringKeys.__getitem__:
  - 18
  _collections.HasGettableStringKeys.keys:
  - 16
  _collections.RecentlyUsedContainer:
  - 64
  _collections.RecentlyUsedContainer.__delitem__:
  - 129
  - 130
  - 127
  _collections.RecentlyUsedContainer.__getitem__:
  - 96
  _collections.RecentlyUsedContainer.__init__:
  - 90
  - 91
  - 87
  _collections.RecentlyUsedContainer.__len__:
  - 134
  _collections.RecentlyUsedContainer.__setitem__:
  - 108
  - 114
  - 118
  - 121
  - 123
  _collections.RecentlyUsedContainer.clear:
  - 144
  - 145
  - 147
  - 148
  - 149
  _collections.RecentlyUsedContainer.keys:
  - 153
  _collections._Sentinel:
  - 40
  _collections.ensure_can_construct_http_header_dict:
  - 46
  - 48
  - 51
  - 52
  - 56
  - 57
  - 58
  _request_methods.RequestMethods:
  - 21
  _request_methods.RequestMethods.request:
  - 131
  - 134
  - 135
  - 79
  - 112
  - 143
  - 114
  - 119
  - 120
  - 123
  - 124
  - 127
  _request_methods.RequestMethods.request_encode_body:
  - 257
  - 258
  - 194
  - 263
  - 264
  - 269
  - 274
  - 276
  - 278
  - 251
  - 254
  _request_methods.RequestMethods.request_encode_url:
  - 173
  - 177
  - 179
  - 180
  - 182
  - 155
  _version:
  - 14
  connection:
  - 71
  - 77
  - 79
  - 18
  - 1085
  connection.DummyConnection:
  - 1082
  connection.HTTPConnection:
  - 293
  - 241
  - 83
  - 249
  connection.HTTPConnection.__init__:
  - 146
  - 149
  connection.HTTPConnection.__repr__:
  - 167
  connection.HTTPConnection.__str__:
  - 164
  connection.HTTPConnection._new_conn:
  - 223
  - 204
  - 199
  connection.HTTPConnection._tunnel:
  - 256
  - 260
  - 261
  - 262
  - 266
  - 269
  - 271
  - 273
  - 274
  - 279
  - 280
  - 282
  - 285
  - 288
  - 289
  - 291
  - 298
  - 302
  - 303
  - 304
  - 308
  - 311
  - 313
  - 315
  - 317
  - 318
  - 319
  - 321
  - 322
  - 328
  connection.HTTPConnection._wrap_ipv6:
  - 245
  connection.HTTPConnection.close:
  - 377
  connection.HTTPConnection.connect:
  - 331
  - 332
  - 337
  - 342
  - 344
  connection.HTTPConnection.getresponse:
  - 576
  - 578
  - 551
  - 583
  - 585
  - 590
  - 560
  - 568
  - 571
  - 574
  - 543
  connection.HTTPConnection.host:
  - 186
  - 171
  - 190
  connection.HTTPConnection.is_connected:
  - 353
  - 355
  connection.HTTPConnection.proxy_is_forwarding:
  - 363
  - 366
  connection.HTTPConnection.proxy_is_tunneling:
  - 370
  connection.HTTPConnection.putheader:
  - 416
  - 411
  - 412
  - 413
  - 414
  - 415
  connection.HTTPConnection.putrequest:
  - 400
  - 401
  - 397
  - 406
  connection.HTTPConnection.request:
  - 512
  - 514
  - 518
  - 519
  - 438
  - 439
  - 449
  - 457
  - 459
  - 462
  - 468
  - 473
  - 474
  - 475
  - 480
  - 482
  - 488
  - 489
  - 491
  - 493
  - 496
  - 497
  - 498
  - 499
  - 500
  - 503
  - 504
  - 507
  - 509
  - 510
  - 511
  connection.HTTPConnection.request_chunked:
  - 528
  - 538
  - 532
  connection.HTTPConnection.set_tunnel:
  - 234
  - 238
  connection.HTTPSConnection:
  - 604
  connection.HTTPSConnection.__init__:
  - 675
  - 676
  - 679
  - 649
  - 670
  - 671
  connection.HTTPSConnection._connect_tls_proxy:
  - 866
  - 868
  - 862
  connection.HTTPSConnection.connect:
  - 768
  - 770
  - 776
  - 778
  - 780
  - 783
  - 784
  - 785
  - 794
  - 796
  - 819
  - 820
  - 822
  - 826
  - 827
  - 834
  - 835
  - 836
  - 846
  - 854
  - 729
  - 858
  - 741
  - 742
  - 750
  - 751
  - 753
  - 759
  - 764
  - 766
  connection.HTTPSConnection.set_cert:
  - 708
  - 709
  - 712
  - 720
  - 721
  - 695
  - 698
  connection._WrappedAndVerifiedSocket:
  - 892
  connection._match_hostname:
  - 1041
  - 1034
  - 1035
  - 1039
  connection._ssl_wrap_socket_and_match_hostname:
  - 920
  - 926
  - 928
  - 929
  - 932
  - 937
  - 940
  - 956
  - 961
  - 963
  - 968
  - 969
  - 970
  - 971
  - 972
  - 975
  - 989
  - 990
  - 991
  - 993
  - 998
  - 1003
  - 1007
  - 1010
  - 1016
  - 1019
  - 1022
  connection._url_from_connection:
  - 1097
  - 1099
  - 1095
  connection._wrap_proxy_error:
  - 1056
  - 1068
  connectionpool:
  - 61
  - 54
  connectionpool.ConnectionPool:
  - 68
  connectionpool.ConnectionPool.__exit__:
  - 106
  connectionpool.ConnectionPool.__init__:
  - 82
  - 92
  - 85
  connectionpool.ConnectionPool.__str__:
  - 95
  connectionpool.ConnectionPool.close:
  - 111
  connectionpool.HTTPConnectionPool:
  - 121
  connectionpool.HTTPConnectionPool.__init__:
  - 192
  - 193
  - 195
  - 201
  - 234
  - 209
  - 210
  - 221
  - 217
  - 189
  - 190
  connectionpool.HTTPConnectionPool._get_conn:
  - 288
  - 257
  - 289
  - 290
  - 292
  - 270
  - 274
  - 280
  connectionpool.HTTPConnectionPool._get_timeout:
  - 352
  - 356
  - 347
  - 348
  - 349
  - 351
  connectionpool.HTTPConnectionPool._make_request:
  - 480
  - 481
  - 514
  - 544
  - 484
  - 487
  - 392
  - 457
  - 458
  - 459
  - 520
  - 493
  - 526
  - 464
  - 466
  - 534
  - 536
  connectionpool.HTTPConnectionPool._new_conn:
  - 248
  - 241
  - 237
  connectionpool.HTTPConnectionPool._put_conn:
  - 320
  - 295
  - 327
  - 330
  - 334
  - 335
  - 308
  - 310
  - 317
  - 318
  connectionpool.HTTPConnectionPool._raise_timeout:
  - 372
  - 364
  - 366
  connectionpool.HTTPConnectionPool._validate_conn:
  - 338
  connectionpool.HTTPConnectionPool.close:
  - 568
  - 562
  - 559
  connectionpool.HTTPConnectionPool.is_same_host:
  - 579
  - 581
  - 582
  - 585
  - 586
  - 587
  - 571
  - 575
  connectionpool.HTTPConnectionPool.urlopen:
  - 897
  - 771
  - 900
  - 773
  - 902
  - 775
  - 903
  - 907
  - 908
  - 909
  - 910
  - 787
  - 929
  - 930
  - 932
  - 934
  - 935
  - 939
  - 940
  - 941
  - 942
  - 825
  - 826
  - 827
  - 705
  - 708
  - 837
  - 838
  - 711
  - 712
  - 839
  - 714
  - 841
  - 842
  - 844
  - 718
  - 722
  - 723
  - 850
  - 725
  - 855
  - 856
  - 860
  - 864
  - 610
  - 866
  - 740
  - 868
  - 871
  - 747
  - 748
  - 749
  - 761
  - 890
  - 891
  - 892
  - 765
  - 766
  connectionpool.HTTPSConnectionPool:
  - 964
  connectionpool.HTTPSConnectionPool.__init__:
  - 1004
  connectionpool.HTTPSConnectionPool._new_conn:
  - 1056
  - 1063
  - 1067
  - 1045
  - 1049
  connectionpool.HTTPSConnectionPool._prepare_proxy:
  - 1042
  - 1036
  - 1030
  - 1031
  connectionpool.HTTPSConnectionPool._validate_conn:
  - 1089
  - 1092
  - 1093
  - 1096
  - 1097
  - 1086
  connectionpool._close_pool_connections:
  - 1176
  - 1171
  - 1174
  - 1175
  connectionpool._normalize_host:
  - 1158
  - 1138
  - 1142
  - 1146
  - 1150
  connectionpool._url_from_pool:
  - 1166
  - 1167
  connectionpool.connection_from_url:
  - 1128
  - 1130
  - 1131
  - 1132
  - 1134
  - 1109
  contrib.emscripten.connection:
  - 258
  - 259
  - 260
  - 21
  contrib.emscripten.connection.EmscriptenHTTPConnection.__init__:
  - 60
  contrib.emscripten.connection.EmscriptenHTTPConnection.getresponse:
  - 130
  - 131
  contrib.emscripten.connection.EmscriptenHTTPConnection.has_connected_to_proxy:
  - 158
  contrib.emscripten.connection.EmscriptenHTTPConnection.is_closed:
  - 145
  contrib.emscripten.connection.EmscriptenHTTPConnection.is_connected:
  - 153
  contrib.emscripten.connection.EmscriptenHTTPConnection.request:
  - 101
  - 102
  - 108
  - 114
  - 115
  - 116
  - 117
  - 120
  - 121
  - 122
  - 123
  contrib.emscripten.connection.EmscriptenHTTPSConnection.__init__:
  - 232
  - 233
  - 210
  contrib.emscripten.fetch:
  - 1
  - 433
  - 434
  - 435
  - 53
  - 437
  - 59
  contrib.emscripten.fetch._JSPIReadStream:
  - 303
  contrib.emscripten.fetch._JSPIReadStream.__del__:
  - 343
  contrib.emscripten.fetch._JSPIReadStream._get_next_buffer:
  - 384
  - 377
  - 378
  - 388
  contrib.emscripten.fetch._JSPIReadStream.close:
  - 355
  - 365
  - 359
  contrib.emscripten.fetch._JSPIReadStream.closed:
  - 352
  contrib.emscripten.fetch._JSPIReadStream.readinto:
  - 393
  - 394
  - 395
  - 397
  - 398
  - 404
  contrib.emscripten.fetch._ReadStream.__del__:
  - 119
  contrib.emscripten.fetch._ReadStream.__init__:
  - 113
  contrib.emscripten.fetch._ReadStream.close:
  - 140
  - 131
  - 139
  - 142
  contrib.emscripten.fetch._ReadStream.closed:
  - 128
  contrib.emscripten.fetch._ReadStream.readinto:
  - 160
  - 162
  - 163
  - 164
  - 165
  - 194
  - 170
  - 173
  - 176
  - 177
  - 154
  - 187
  - 190
  - 191
  contrib.emscripten.fetch._RequestError.__init__:
  - 82
  contrib.emscripten.fetch._StreamingFetcher.__init__:
  - 225
  - 226
  - 227
  - 205
  - 209
  - 210
  - 211
  contrib.emscripten.fetch._StreamingFetcher.__init__.promise_resolver.onErr:
  - 220
  contrib.emscripten.fetch._StreamingFetcher.__init__.promise_resolver.onMsg:
  - 217
  contrib.emscripten.fetch._StreamingFetcher.send:
  - 256
  - 262
  - 267
  - 270
  - 272
  - 273
  - 277
  - 286
  - 289
  - 290
  - 231
  - 235
  - 237
  - 238
  - 239
  - 240
  - 242
  - 243
  - 244
  - 245
  - 246
  - 255
  contrib.emscripten.fetch._is_node_js:
  - 708
  - 707
  - 700
  contrib.emscripten.fetch._obj_from_dict:
  - 94
  contrib.emscripten.fetch._run_sync_with_timeout:
  - 676
  - 677
  - 658
  - 659
  - 660
  - 633
  - 667
  - 669
  contrib.emscripten.fetch._show_streaming_warning:
  - 482
  - 485
  - 487
  - 489
  - 491
  - 496
  contrib.emscripten.fetch._show_timeout_warning:
  - 474
  - 471
  contrib.emscripten.fetch.has_jspi:
  - 681
  - 694
  contrib.emscripten.fetch.is_cross_origin_isolated:
  - 415
  contrib.emscripten.fetch.is_in_browser_main_thread:
  - 411
  contrib.emscripten.fetch.is_in_node:
  - 420
  - 421
  - 422
  contrib.emscripten.fetch.is_worker_available:
  - 428
  contrib.emscripten.fetch.send_jspi_request:
  - 608
  - 577
  - 609
  - 580
  - 551
  - 583
  - 615
  - 616
  - 591
  - 593
  - 594
  - 565
  - 566
  - 597
  - 601
  - 570
  - 604
  - 606
  contrib.emscripten.fetch.send_request:
  - 513
  - 514
  - 516
  - 517
  - 520
  - 522
  - 523
  - 524
  - 525
  - 527
  - 529
  - 531
  - 532
  - 534
  - 535
  - 539
  - 541
  - 500
  - 501
  - 502
  - 509
  - 511
  contrib.emscripten.fetch.send_streaming_request:
  - 450
  - 451
  - 452
  - 459
  - 460
  - 462
  contrib.emscripten.fetch.streaming_ready:
  - 715
  contrib.emscripten.fetch.wait_for_streaming_ready:
  - 722
  - 723
  contrib.emscripten.request.EmscriptenRequest:
  - 14
  contrib.emscripten.request.EmscriptenRequest.set_header:
  - 19
  contrib.emscripten.response:
  - 16
  - 19
  contrib.emscripten.response.EmscriptenHttpResponseWrapper.__init__:
  - 43
  - 52
  contrib.emscripten.response.EmscriptenHttpResponseWrapper._error_catcher:
  - 260
  - 263
  - 264
  - 267
  - 237
  - 269
  - 273
  - 274
  - 277
  - 249
  contrib.emscripten.response.EmscriptenHttpResponseWrapper._init_length:
  - 130
  - 104
  - 106
  - 113
  - 114
  - 119
  - 123
  contrib.emscripten.response.EmscriptenHttpResponseWrapper.close:
  - 227
  - 228
  - 229
  - 230
  - 231
  contrib.emscripten.response.EmscriptenHttpResponseWrapper.data:
  - 200
  - 203
  contrib.emscripten.response.EmscriptenHttpResponseWrapper.drain_conn:
  - 196
  contrib.emscripten.response.EmscriptenHttpResponseWrapper.json:
  - 224
  - 206
  - 223
  contrib.emscripten.response.EmscriptenHttpResponseWrapper.read:
  - 162
  - 164
  - 165
  - 167
  - 168
  - 169
  - 173
  - 174
  - 145
  - 148
  - 152
  - 154
  - 155
  - 158
  - 159
  contrib.emscripten.response.EmscriptenHttpResponseWrapper.read_chunked:
  - 184
  - 186
  - 183
  contrib.emscripten.response.EmscriptenHttpResponseWrapper.release_conn:
  - 192
  - 189
  contrib.emscripten.response.EmscriptenHttpResponseWrapper.stream:
  - 97
  - 98
  - 95
  - 79
  contrib.pyopenssl:
  - 96
  - 1
  - 97
  - 98
  - 99
  - 136
  - 76
  - 79
  - 89
  - 93
  - 63
  contrib.pyopenssl.PyOpenSSLContext:
  - 414
  contrib.pyopenssl.PyOpenSSLContext.__init__:
  - 422
  contrib.pyopenssl.PyOpenSSLContext._set_ctx_options:
  - 532
  contrib.pyopenssl.PyOpenSSLContext.load_cert_chain:
  - 487
  - 488
  - 489
  - 490
  - 491
  - 492
  contrib.pyopenssl.PyOpenSSLContext.load_verify_locations:
  - 469
  - 470
  - 471
  - 472
  - 474
  - 475
  - 476
  contrib.pyopenssl.PyOpenSSLContext.maximum_version:
  - 554
  contrib.pyopenssl.PyOpenSSLContext.minimum_version:
  - 545
  contrib.pyopenssl.PyOpenSSLContext.options:
  - 436
  contrib.pyopenssl.PyOpenSSLContext.set_alpn_protocols:
  - 497
  - 498
  contrib.pyopenssl.PyOpenSSLContext.set_ciphers:
  - 459
  - 460
  - 461
  contrib.pyopenssl.PyOpenSSLContext.set_default_verify_paths:
  - 456
  contrib.pyopenssl.PyOpenSSLContext.verify_flags:
  - 445
  contrib.pyopenssl.PyOpenSSLContext.verify_mode:
  - 449
  - 453
  contrib.pyopenssl.PyOpenSSLContext.wrap_socket:
  - 512
  - 513
  - 514
  - 516
  - 520
  - 522
  - 529
  - 508
  - 511
  contrib.pyopenssl.WrappedSocket:
  - 275
  contrib.pyopenssl.WrappedSocket._decref_socketios:
  - 296
  - 297
  - 294
  contrib.pyopenssl.WrappedSocket._real_close:
  - 382
  contrib.pyopenssl.WrappedSocket._send_until_done:
  - 353
  - 355
  contrib.pyopenssl.WrappedSocket.close:
  - 377
  - 378
  contrib.pyopenssl.WrappedSocket.fileno:
  - 290
  contrib.pyopenssl.WrappedSocket.getpeercert:
  - 389
  - 391
  - 394
  - 395
  - 398
  - 399
  contrib.pyopenssl.WrappedSocket.recv:
  - 301
  - 303
  - 308
  - 313
  - 316
  contrib.pyopenssl.WrappedSocket.recv_into:
  - 326
  - 328
  - 333
  - 338
  - 341
  contrib.pyopenssl.WrappedSocket.selected_alpn_protocol:
  - 406
  - 407
  contrib.pyopenssl.WrappedSocket.sendall:
  - 363
  - 364
  contrib.pyopenssl.WrappedSocket.settimeout:
  - 348
  contrib.pyopenssl.WrappedSocket.shutdown:
  - 371
  contrib.pyopenssl.WrappedSocket.version:
  - 403
  contrib.pyopenssl._dnsname_to_stdlib:
  - 217
  - 186
  - 220
  - 221
  - 223
  contrib.pyopenssl._dnsname_to_stdlib.idna_encode:
  - 200
  - 208
  - 209
  - 210
  - 211
  - 212
  contrib.pyopenssl._validate_dependencies_met:
  - 160
  - 177
  - 178
  - 167
  contrib.pyopenssl.extract_from_urllib3:
  - 151
  contrib.pyopenssl.get_subj_alt_name:
  - 227
  - 230
  - 264
  - 235
  - 267
  - 268
  - 247
  contrib.pyopenssl.inject_into_urllib3:
  - 140
  - 142
  contrib.socks:
  - 1
  - 50
  contrib.socks.SOCKSConnection:
  - 85
  contrib.socks.SOCKSConnection.__init__:
  - 96
  contrib.socks.SOCKSConnection._new_conn:
  - 99
  - 131
  - 133
  - 103
  - 106
  - 110
  contrib.socks.SOCKSProxyManager:
  - 174
  contrib.socks.SOCKSProxyManager.__init__:
  - 193
  - 226
  - 195
  - 196
  - 197
  - 199
  - 202
  - 205
  - 208
  exceptions:
  - 9
  exceptions.BodyNotHttplibCompatible:
  - 255
  exceptions.ClosedPoolError:
  - 189
  exceptions.ConnectTimeoutError:
  - 139
  exceptions.DecodeError:
  - 70
  exceptions.DependencyWarning:
  - 244
  exceptions.EmptyPoolError:
  - 181
  exceptions.FullPoolError:
  - 185
  exceptions.HTTPError:
  - 19
  exceptions.HTTPWarning:
  - 23
  exceptions.HeaderParsingError:
  - 325
  exceptions.HeaderParsingError.__init__:
  - 331
  exceptions.HostChangedError:
  - 110
  exceptions.HostChangedError.__init__:
  - 116
  exceptions.IncompleteRead:
  - 262
  exceptions.InsecurePlatformWarning:
  - 240
  exceptions.InsecureRequestWarning:
  - 228
  exceptions.InvalidChunkLength:
  - 284
  exceptions.InvalidChunkLength.__init__:
  - 287
  exceptions.InvalidHeader:
  - 300
  exceptions.LocationParseError:
  - 197
  exceptions.LocationParseError.__init__:
  - 201
  exceptions.LocationValueError:
  - 193
  exceptions.MaxRetryError:
  - 85
  exceptions.MaxRetryError.__init__:
  - 102
  exceptions.NameResolutionError:
  - 167
  exceptions.NameResolutionError.__init__:
  - 173
  exceptions.NewConnectionError:
  - 143
  exceptions.NewConnectionError.__init__:
  - 148
  exceptions.NewConnectionError.pool:
  - 156
  exceptions.NotOpenSSLWarning:
  - 232
  exceptions.PoolError:
  - 30
  exceptions.PoolError.__init__:
  - 35
  exceptions.ProtocolError:
  - 74
  exceptions.ProxyError:
  - 59
  exceptions.ProxyError.__init__:
  - 65
  exceptions.ProxySchemeUnknown:
  - 304
  exceptions.ProxySchemeUnknown.__init__:
  - 313
  - 317
  - 311
  exceptions.ProxySchemeUnsupported:
  - 321
  exceptions.ReadTimeoutError:
  - 133
  exceptions.RequestError:
  - 43
  exceptions.RequestError.__init__:
  - 47
  exceptions.ResponseError:
  - 217
  exceptions.ResponseNotChunked:
  - 251
  exceptions.SSLError:
  - 55
  exceptions.SecurityWarning:
  - 224
  exceptions.SystemTimeWarning:
  - 236
  exceptions.TimeoutError:
  - 125
  exceptions.TimeoutStateError:
  - 121
  exceptions.URLSchemeUnknown:
  - 207
  exceptions.URLSchemeUnknown.__init__:
  - 211
  exceptions.UnrewindableBodyError:
  - 335
  fields.RequestField:
  - 154
  fields.RequestField.__init__:
  - 184
  - 186
  - 189
  - 183
  fields.RequestField._render_part:
  - 258
  - 245
  fields.RequestField._render_parts:
  - 289
  - 267
  - 280
  - 281
  - 285
  - 286
  - 287
  fields.RequestField.from_tuples:
  - 226
  - 227
  - 231
  - 237
  - 206
  - 240
  fields.RequestField.make_multipart:
  - 330
  - 316
  fields.RequestField.render_headers:
  - 292
  - 298
  - 299
  - 300
  - 302
  - 303
  - 304
  - 305
  - 307
  - 308
  fields.format_header_param:
  - 136
  - 150
  - 143
  fields.format_header_param_html5:
  - 132
  - 125
  - 118
  fields.format_header_param_rfc2231:
  - 32
  - 64
  - 67
  - 73
  - 53
  - 61
  - 62
  fields.format_multipart_header_param:
  - 80
  - 113
  - 109
  - 110
  fields.guess_content_type:
  - 27
  - 18
  - 26
  filepost:
  - 11
  filepost.choose_boundary:
  - 26
  - 23
  filepost.encode_multipart_formdata:
  - 65
  - 66
  - 67
  - 69
  - 70
  - 72
  - 75
  - 76
  - 78
  - 79
  - 81
  - 83
  - 85
  - 54
  - 89
  filepost.iter_field_objects:
  - 39
  - 40
  - 44
  - 45
  - 46
  - 48
  - 30
  http2.connection:
  - 25
  - 26
  - 21
  - 23
  http2.connection.HTTP2Connection.__init__:
  - 96
  - 89
  - 98
  - 93
  http2.connection.HTTP2Connection._new_h2_conn:
  - 102
  - 103
  http2.connection.HTTP2Connection.close:
  - 321
  - 310
  - 311
  - 312
  - 317
  http2.connection.HTTP2Connection.connect:
  - 106
  - 108
  - 109
  - 110
  http2.connection.HTTP2Connection.endheaders:
  - 161
  - 157
  - 166
  - 167
  http2.connection.HTTP2Connection.getresponse:
  - 257
  - 258
  - 261
  - 230
  - 265
  - 235
  - 236
  - 237
  - 238
  - 239
  - 240
  - 241
  - 242
  - 244
  - 245
  - 248
  - 250
  - 254
  http2.connection.HTTP2Connection.putheader:
  - 145
  - 146
  - 147
  - 150
  - 151
  - 152
  - 154
  http2.connection.HTTP2Connection.putrequest:
  - 128
  - 130
  - 135
  - 136
  - 137
  - 138
  - 141
  - 118
  - 122
  - 124
  http2.connection.HTTP2Connection.request:
  - 289
  - 292
  - 293
  - 296
  - 298
  - 299
  - 301
  - 302
  - 303
  - 305
  - 280
  - 281
  - 286
  - 287
  http2.connection.HTTP2Connection.send:
  - 171
  - 175
  - 179
  - 180
  - 182
  - 184
  - 185
  - 187
  - 188
  - 189
  - 190
  - 191
  - 192
  - 195
  - 196
  - 199
  - 200
  - 201
  - 202
  - 204
  - 205
  - 206
  - 207
  - 208
  http2.connection.HTTP2Response.__init__:
  - 334
  http2.connection._LockedObject:
  - 55
  http2.connection._LockedObject.__enter__:
  - 73
  http2.connection._LockedObject.__exit__:
  - 82
  http2.connection._LockedObject.__init__:
  - 69
  http2.connection._is_illegal_header_value:
  - 51
  - 45
  http2.connection._is_legal_header_name:
  - 41
  - 30
  http2.inject_into_urllib3:
  - 17
  - 18
  http2.probe:
  - 77
  http2.probe._HTTP2ProbeCache.__init__:
  - 14
  http2.probe._HTTP2ProbeCache._reset:
  - 71
  http2.probe._HTTP2ProbeCache._values:
  - 66
  - 68
  http2.probe._HTTP2ProbeCache.acquire_and_get:
  - 37
  - 45
  - 46
  - 27
  - 30
  http2.probe._HTTP2ProbeCache.set_and_release:
  - 57
  - 63
  poolmanager:
  - 35
  - 27
  - 155
  - 156
  poolmanager.PoolKey:
  - 57
  poolmanager.PoolManager:
  - 163
  poolmanager.PoolManager.__exit__:
  - 239
  poolmanager.PoolManager.__init__:
  - 228
  - 205
  - 214
  - 216
  - 217
  - 218
  - 223
  poolmanager.PoolManager._merge_pool_kwargs:
  - 391
  - 398
  - 399
  - 400
  - 401
  poolmanager.PoolManager._new_pool:
  - 260
  - 261
  - 265
  - 272
  - 273
  - 275
  - 276
  - 277
  - 279
  - 250
  poolmanager.PoolManager._proxy_requires_url_absolute_form:
  - 416
  - 411
  - 419
  poolmanager.PoolManager.clear:
  - 288
  - 282
  poolmanager.PoolManager.connection_from_context:
  - 322
  - 328
  - 329
  - 334
  - 336
  - 337
  - 338
  - 340
  - 342
  poolmanager.PoolManager.connection_from_host:
  - 297
  - 307
  - 310
  - 312
  - 313
  - 317
  poolmanager.PoolManager.connection_from_pool_key:
  - 365
  - 347
  - 357
  - 358
  poolmanager.PoolManager.connection_from_url:
  - 384
  - 373
  - 383
  poolmanager.PoolManager.urlopen:
  - 426
  - 434
  - 436
  - 437
  - 446
  - 451
  - 454
  - 455
  - 457
  - 459
  - 460
  - 464
  - 466
  - 471
  - 473
  - 474
  - 475
  - 480
  - 483
  - 484
  - 485
  - 486
  - 490
  - 492
  - 493
  - 500
  - 502
  - 503
  poolmanager.ProxyManager:
  - 507
  poolmanager.ProxyManager.__init__:
  - 577
  - 579
  - 582
  - 583
  - 584
  - 589
  - 600
  - 573
  poolmanager.ProxyManager._set_proxy_headers:
  - 621
  - 627
  - 628
  - 631
  - 632
  poolmanager.ProxyManager.connection_from_host:
  - 609
  - 610
  - 614
  poolmanager.ProxyManager.urlopen:
  - 640
  - 644
  - 645
  - 647
  - 638
  - 639
  poolmanager._default_key_normalizer:
  - 129
  - 98
  - 130
  - 131
  - 135
  - 136
  - 139
  - 140
  - 144
  - 147
  - 118
  - 119
  - 120
  - 123
  - 124
  - 125
  poolmanager.proxy_from_url:
  - 651
  response:
  - 195
  - 48
  - 17
  - 241
  - 51
  response.BaseHTTPResponse:
  - 463
  - 460
  - 453
  - 455
  response.BaseHTTPResponse.__init__:
  - 481
  - 492
  - 494
  - 495
  - 478
  response.BaseHTTPResponse._decode:
  - 641
  - 642
  - 645
  - 651
  - 652
  - 626
  - 629
  - 630
  - 637
  response.BaseHTTPResponse._flush_decoder:
  - 657
  - 661
  - 662
  response.BaseHTTPResponse._init_decoder:
  - 608
  - 609
  - 610
  - 612
  - 613
  - 614
  - 616
  - 617
  - 601
  - 606
  - 607
  response.BaseHTTPResponse.get_redirect_location:
  - 509
  - 502
  - 510
  response.BaseHTTPResponse.getheader:
  - 679
  response.BaseHTTPResponse.json:
  - 536
  - 518
  - 535
  response.BaseHTTPResponse.readinto:
  - 672
  - 667
  - 668
  - 671
  response.BaseHTTPResponse.retries:
  - 557
  response.BrotliDecoder.__init__:
  - 202
  - 203
  - 204
  - 206
  response.BrotliDecoder.decompress:
  - 225
  - 214
  - 215
  - 217
  - 221
  response.BrotliDecoder.flush:
  - 235
  - 236
  response.BrotliDecoder.has_unconsumed_tail:
  - 230
  response.BytesQueueBuffer:
  - 375
  response.BytesQueueBuffer.__init__:
  - 389
  response.BytesQueueBuffer.get:
  - 416
  - 417
  - 418
  - 420
  - 421
  - 425
  - 429
  - 400
  - 432
  - 402
  - 404
  - 407
  - 409
  - 412
  - 415
  response.BytesQueueBuffer.get_all:
  - 436
  - 439
  - 440
  - 441
  - 442
  - 444
  - 445
  - 446
  response.BytesQueueBuffer.put:
  - 396
  - 397
  response.DeflateDecoder.__init__:
  - 71
  response.DeflateDecoder.decompress:
  - 99
  - 100
  - 107
  - 76
  - 109
  - 79
  - 81
  - 91
  - 92
  response.DeflateDecoder.flush:
  - 122
  response.DeflateDecoder.has_unconsumed_tail:
  - 117
  - 118
  response.GzipDecoder.__init__:
  - 133
  response.GzipDecoder.decompress:
  - 185
  - 166
  - 168
  - 138
  - 139
  - 140
  - 142
  - 174
  - 177
  - 178
  - 181
  - 183
  - 153
  - 154
  - 158
  - 159
  response.GzipDecoder.flush:
  - 192
  response.GzipDecoder.has_unconsumed_tail:
  - 189
  response.HTTPResponse:
  - 690
  response.HTTPResponse.__init__:
  - 769
  - 743
  - 777
  - 780
  - 783
  - 784
  - 763
  response.HTTPResponse.__iter__:
  - 1472
  - 1473
  - 1478
  - 1479
  - 1480
  - 1467
  - 1468
  - 1469
  - 1470
  - 1471
  response.HTTPResponse._error_catcher:
  - 903
  - 938
  - 942
  - 943
  - 912
  - 948
  - 949
  - 919
  - 953
  - 954
  - 892
  response.HTTPResponse._fp_read:
  - 962
  - 996
  - 997
  - 1001
  - 1002
  - 1004
  - 1006
  - 1007
  - 1008
  - 977
  - 1011
  - 985
  - 986
  - 987
  response.HTTPResponse._handle_chunk:
  - 1348
  - 1349
  - 1351
  - 1353
  - 1354
  - 1357
  - 1358
  - 1359
  - 1363
  - 1364
  response.HTTPResponse._init_length:
  - 835
  - 867
  - 839
  - 871
  - 841
  - 842
  - 846
  - 880
  - 885
  - 861
  - 862
  response.HTTPResponse._raw_read:
  - 1025
  - 1057
  - 1027
  - 1028
  - 1029
  - 1059
  - 1060
  - 1051
  - 1061
  - 1062
  - 1038
  - 1039
  - 1050
  - 1019
  - 1022
  response.HTTPResponse._update_chunk_length:
  - 1331
  - 1333
  - 1334
  - 1336
  - 1338
  - 1339
  response.HTTPResponse.close:
  - 1281
  - 1282
  - 1284
  - 1285
  - 1278
  - 1279
  response.HTTPResponse.closed:
  - 1289
  - 1290
  - 1291
  - 1293
  - 1294
  - 1295
  response.HTTPResponse.data:
  - 811
  - 814
  - 815
  response.HTTPResponse.drain_conn:
  - 800
  - 794
  response.HTTPResponse.fileno:
  - 1304
  - 1301
  - 1303
  response.HTTPResponse.flush:
  - 1312
  - 1314
  - 1315
  - 1317
  response.HTTPResponse.isclosed:
  - 824
  response.HTTPResponse.read:
  - 1154
  - 1156
  - 1157
  - 1071
  - 1091
  - 1092
  - 1095
  - 1098
  - 1101
  - 1102
  - 1106
  - 1108
  - 1109
  - 1110
  - 1112
  - 1116
  - 1118
  - 1123
  - 1124
  - 1125
  - 1129
  - 1130
  - 1137
  - 1141
  - 1143
  - 1145
  - 1149
  - 1150
  response.HTTPResponse.read1:
  - 1166
  - 1178
  - 1180
  - 1184
  - 1185
  - 1190
  - 1193
  - 1195
  - 1200
  - 1203
  - 1204
  - 1205
  - 1206
  - 1207
  - 1208
  - 1212
  - 1213
  - 1216
  - 1219
  - 1222
  - 1223
  - 1225
  - 1227
  - 1228
  - 1229
  response.HTTPResponse.read_chunked:
  - 1408
  - 1415
  - 1418
  - 1419
  - 1421
  - 1422
  - 1428
  - 1429
  - 1431
  - 1435
  - 1436
  - 1437
  - 1441
  - 1442
  - 1445
  - 1449
  - 1450
  - 1371
  - 1384
  - 1386
  - 1391
  - 1397
  - 1399
  - 1400
  - 1405
  response.HTTPResponse.release_conn:
  - 787
  - 790
  response.HTTPResponse.shutdown:
  - 1273
  - 1267
  - 1269
  response.HTTPResponse.stream:
  - 1249
  - 1250
  - 1253
  - 1254
  - 1257
  - 1259
  - 1260
  - 1234
  response.HTTPResponse.supports_chunked_reads:
  - 1320
  - 1326
  response.HTTPResponse.tell:
  - 827
  response.HTTPResponse.url:
  - 1454
  response.MultiDecoder:
  - 301
  response.MultiDecoder.__init__:
  - 320
  - 314
  - 315
  response.MultiDecoder.decompress:
  - 326
  - 327
  - 328
  - 331
  - 340
  - 341
  - 342
  - 347
  - 348
  response.MultiDecoder.flush:
  - 323
  response.MultiDecoder.has_unconsumed_tail:
  - 353
  response.ZstdDecoder.__init__:
  - 252
  response.ZstdDecoder.decompress:
  - 257
  - 259
  - 260
  - 261
  - 275
  - 276
  - 277
  - 281
  - 282
  - 284
  - 286
  - 255
  response.ZstdDecoder.flush:
  - 295
  response.ZstdDecoder.has_unconsumed_tail:
  - 290
  response._get_decoder:
  - 357
  - 358
  - 362
  - 363
  - 365
  - 366
  - 368
  - 369
  - 371
  util.connection:
  - 137
  - 11
  util.connection._has_ipv6:
  - 132
  - 133
  - 115
  - 119
  - 126
  - 127
  util.connection._set_socket_options:
  - 96
  - 99
  - 100
  util.connection.allowed_gai_family:
  - 104
  - 109
  util.connection.create_connection:
  - 64
  - 33
  - 67
  - 69
  - 70
  - 71
  - 72
  - 73
  - 46
  - 47
  - 80
  - 81
  - 83
  - 53
  - 56
  - 60
  util.connection.is_connection_dropped:
  - 16
  util.proxy:
  - 7
  util.proxy.connection_requires_http_tunnel:
  - 16
  - 35
  - 27
  - 31
  util.request:
  - 34
  - 12
  - 20
  util.request.body_to_chunks:
  - 224
  - 225
  - 228
  - 263
  - 200
  - 251
  - 240
  - 215
  - 217
  - 247
  - 223
  util.request.body_to_chunks.chunk_readable:
  - 231
  - 233
  - 234
  - 236
  - 237
  - 238
  util.request.make_headers:
  - 128
  - 131
  - 68
  - 133
  - 136
  - 111
  - 112
  - 114
  - 115
  - 120
  - 123
  - 126
  util.request.rewind_body:
  - 163
  - 173
  - 174
  - 176
  - 181
  util.request.set_file_position:
  - 145
  - 149
  - 150
  - 151
  - 153
  util.response.assert_header_parsing:
  - 65
  - 41
  - 82
  - 87
  - 55
  - 62
  - 63
  util.response.is_fp_closed:
  - 10
  - 20
  util.response.is_response_to_head:
  - 92
  - 101
  util.retry:
  - 549
  - 29
  - 23
  util.retry.Retry:
  - 197
  - 194
  - 42
  - 189
  util.retry.Retry.__init__:
  - 244
  - 253
  - 254
  - 239
  util.retry.Retry.__repr__:
  - 543
  util.retry.Retry._is_connection_error:
  - 385
  - 387
  - 382
  util.retry.Retry._is_method_retryable:
  - 396
  - 399
  util.retry.Retry._is_read_error:
  - 393
  - 390
  util.retry.Retry._sleep_backoff:
  - 360
  - 361
  - 363
  util.retry.Retry.from_int:
  - 289
  - 290
  - 293
  - 296
  - 297
  - 298
  util.retry.Retry.get_backoff_time:
  - 302
  - 307
  - 308
  - 309
  - 312
  - 316
  - 317
  - 318
  util.retry.Retry.get_retry_after:
  - 344
  - 346
  - 349
  - 342
  util.retry.Retry.increment:
  - 513
  - 514
  - 516
  - 520
  - 523
  - 533
  - 534
  - 537
  - 453
  - 463
  - 468
  - 480
  - 482
  - 484
  - 487
  - 489
  - 491
  - 494
  - 496
  - 499
  - 501
  - 504
  - 505
  util.retry.Retry.is_exhausted:
  - 442
  - 426
  - 439
  util.retry.Retry.is_retry:
  - 418
  - 412
  - 406
  - 415
  util.retry.Retry.new:
  - 280
  - 259
  - 279
  util.retry.Retry.parse_retry_after:
  - 323
  - 324
  - 326
  - 327
  - 330
  - 331
  - 333
  - 336
  util.retry.Retry.sleep:
  - 366
  - 374
  - 375
  - 376
  - 379
  util.retry.Retry.sleep_for_retry:
  - 352
  - 353
  - 354
  util.ssl_:
  - 129
  - 131
  - 78
  - 114
  - 118
  - 25
  util.ssl_._is_bpo_43522_fixed:
  - 48
  - 35
  - 45
  util.ssl_._is_has_never_check_common_name_reliable:
  - 65
  - 74
  util.ssl_._is_key_file_encrypted:
  - 505
  - 501
  - 502
  - 503
  util.ssl_._ssl_wrap_socket_impl:
  - 517
  - 518
  - 524
  - 525
  - 527
  util.ssl_.assert_fingerprint:
  - 162
  - 165
  - 166
  - 167
  - 169
  - 170
  - 176
  - 178
  - 180
  - 153
  util.ssl_.create_urllib3_context:
  - 264
  - 268
  - 271
  - 280
  - 283
  - 290
  - 298
  - 300
  - 305
  - 310
  - 311
  - 316
  - 333
  - 337
  - 347
  - 355
  - 234
  - 367
  - 368
  - 371
  util.ssl_.is_ipaddress:
  - 488
  - 496
  - 497
  - 494
  util.ssl_.resolve_cert_reqs:
  - 197
  - 200
  - 201
  - 202
  - 203
  - 187
  util.ssl_.resolve_ssl_version:
  - 210
  - 213
  - 216
  - 217
  - 218
  - 219
  - 220
  util.ssl_.ssl_wrap_socket:
  - 481
  - 483
  - 454
  - 392
  - 457
  - 459
  - 428
  - 461
  - 465
  - 467
  - 472
  - 410
  - 475
  - 476
  - 477
  - 479
  util.ssl_match_hostname:
  - 1
  - 14
  util.ssl_match_hostname._dnsname_match:
  - 32
  - 67
  - 37
  - 70
  - 41
  - 42
  - 73
  - 74
  - 76
  - 77
  - 52
  - 53
  - 58
  - 27
  - 61
  - 62
  util.ssl_match_hostname._ipaddress_match:
  - 81
  - 91
  - 92
  util.ssl_match_hostname.match_hostname:
  - 128
  - 131
  - 132
  - 133
  - 135
  - 136
  - 137
  - 139
  - 143
  - 144
  - 145
  - 146
  - 147
  - 149
  - 151
  - 156
  - 100
  - 107
  - 119
  - 120
  - 122
  util.ssltransport:
  - 17
  - 10
  util.ssltransport.SSLTransport:
  - 23
  util.ssltransport.SSLTransport.__exit__:
  - 76
  util.ssltransport.SSLTransport.__init__:
  - 65
  - 70
  - 56
  - 59
  - 60
  util.ssltransport.SSLTransport._decref_socketios:
  - 207
  util.ssltransport.SSLTransport._ssl_io_loop:
  - 260
  - 261
  - 263
  - 265
  - 266
  - 267
  - 268
  - 270
  - 271
  - 220
  - 224
  - 233
  - 241
  - 248
  - 249
  - 250
  - 251
  - 253
  - 255
  util.ssltransport.SSLTransport._validate_ssl_context_for_tls_in_tls:
  - 43
  - 35
  util.ssltransport.SSLTransport._wrap_ssl_read:
  - 211
  - 213
  util.ssltransport.SSLTransport.cipher:
  - 189
  util.ssltransport.SSLTransport.close:
  - 172
  util.ssltransport.SSLTransport.compression:
  - 198
  util.ssltransport.SSLTransport.fileno:
  - 79
  util.ssltransport.SSLTransport.getpeercert:
  - 177
  - 180
  - 183
  util.ssltransport.SSLTransport.gettimeout:
  - 204
  util.ssltransport.SSLTransport.makefile:
  - 161
  - 162
  - 132
  - 164
  - 140
  - 142
  - 144
  - 146
  - 148
  - 150
  - 151
  - 157
  - 155
  - 156
  - 125
  - 158
  util.ssltransport.SSLTransport.read:
  - 82
  util.ssltransport.SSLTransport.recv:
  - 85
  - 87
  util.ssltransport.SSLTransport.recv_into:
  - 97
  - 98
  - 99
  - 95
  util.ssltransport.SSLTransport.selected_alpn_protocol:
  - 192
  util.ssltransport.SSLTransport.send:
  - 112
  - 114
  util.ssltransport.SSLTransport.sendall:
  - 105
  - 106
  - 108
  - 102
  util.ssltransport.SSLTransport.settimeout:
  - 201
  util.ssltransport.SSLTransport.shared_ciphers:
  - 195
  util.ssltransport.SSLTransport.unwrap:
  - 169
  util.ssltransport.SSLTransport.version:
  - 186
  util.timeout:
  - 10
  util.timeout.Timeout:
  - 26
  util.timeout.Timeout.__init__:
  - 115
  - 116
  - 117
  util.timeout.Timeout.__repr__:
  - 121
  util.timeout.Timeout._validate_timeout:
  - 132
  - 141
  - 144
  - 150
  - 158
  util.timeout.Timeout.clone:
  - 200
  - 189
  util.timeout.Timeout.connect_timeout:
  - 240
  - 237
  - 243
  - 229
  util.timeout.Timeout.from_float:
  - 186
  - 174
  util.timeout.Timeout.get_connect_duration:
  - 225
  - 221
  - 214
  util.timeout.Timeout.read_timeout:
  - 262
  - 269
  - 271
  - 272
  - 273
  - 275
  - 247
  util.timeout.Timeout.resolve_default_timeout:
  - 128
  util.timeout.Timeout.start_connect:
  - 208
  - 210
  - 203
  util.url:
  - 69
  - 71
  - 74
  - 60
  - 15
  - 16
  - 17
  - 52
  - 56
  - 58
  - 59
  - 28
  - 61
  - 62
  util.url.Url:
  - 94
  util.url.Url.__new__:
  - 112
  - 113
  - 114
  - 110
  util.url.Url.authority:
  - 133
  - 142
  util.url.Url.hostname:
  - 118
  util.url.Url.netloc:
  - 155
  - 149
  - 157
  util.url.Url.request_uri:
  - 123
  - 126
  util.url.Url.url:
  - 192
  - 194
  - 163
  - 196
  - 198
  - 199
  - 200
  - 202
  - 204
  util.url._encode_invalid_chars:
  - 224
  - 258
  - 260
  - 249
  - 230
  - 233
  - 236
  - 241
  - 242
  - 245
  - 246
  - 247
  - 217
  - 252
  - 253
  - 254
  util.url._encode_invalid_chars.<lambda1>:
  - 242
  util.url._encode_target:
  - 355
  - 356
  - 359
  - 360
  - 361
  - 362
  - 350
  util.url._idna_encode:
  - 346
  - 331
  - 340
  util.url._normalize_host:
  - 321
  - 322
  - 323
  - 324
  - 294
  - 298
  - 302
  - 303
  - 304
  - 305
  - 309
  - 310
  - 311
  - 314
  - 318
  - 319
  util.url._remove_path_dot_segments:
  - 288
  - 290
  - 265
  - 268
  - 270
  - 273
  - 274
  - 277
  - 278
  - 282
  - 283
  - 287
  util.url.parse_url:
  - 395
  - 397
  - 400
  - 414
  - 415
  - 417
  - 418
  - 420
  - 421
  - 423
  - 424
  - 425
  - 426
  - 431
  - 432
  - 433
  - 438
  - 440
  - 441
  - 442
  - 443
  - 444
  - 445
  - 446
  - 455
  - 456
  - 461
  - 368
  util.util.reraise:
  - 37
  util.util.to_bytes:
  - 10
  - 12
  - 14
  - 15
  - 16
  util.util.to_str:
  - 22
  - 24
  - 26
  - 27
  - 28
  util.wait._have_working_poll:
  - 88
  - 87
  util.wait.poll_wait_for_socket:
  - 66
  - 68
  - 70
  - 71
  - 79
  - 63
  util.wait.poll_wait_for_socket.do_poll:
  - 75
  - 77
  util.wait.select_wait_for_socket:
  - 39
  - 43
  - 44
  - 45
  - 46
  - 52
  - 53
  - 54
  util.wait.wait_for_read:
  - 114
  - 117
  util.wait.wait_for_socket:
  - 106
  - 108
  - 110
  util.wait.wait_for_write:
  - 121
  - 124
Fuzzer filename: /src/fuzz_urlparse.py
Inheritance:
  _base_connection.BaseHTTPConnection:
  - Protocol
  _base_connection.BaseHTTPSConnection:
  - Protocol
  - BaseHTTPConnection
  _base_connection.ProxyConfig: []
  _base_connection._ResponseOptions: []
  _collections.HTTPHeaderDict: []
  _collections.HTTPHeaderDictItemView: []
  _collections.HasGettableStringKeys:
  - Protocol
  _collections.RecentlyUsedContainer: []
  _collections._Sentinel:
  - Enum
  _request_methods.RequestMethods: []
  connection.BaseSSLError:
  - BaseException
  connection.DummyConnection: []
  connection.HTTPConnection:
  - _HTTPConnection
  connection.HTTPSConnection:
  - HTTPConnection
  connection._WrappedAndVerifiedSocket: []
  connectionpool.ConnectionPool: []
  connectionpool.HTTPConnectionPool:
  - RequestMethods
  - ConnectionPool
  connectionpool.HTTPSConnectionPool:
  - HTTPConnectionPool
  contrib.emscripten.connection.EmscriptenHTTPConnection: []
  contrib.emscripten.connection.EmscriptenHTTPSConnection:
  - EmscriptenHTTPConnection
  contrib.emscripten.fetch._JSPIReadStream: []
  contrib.emscripten.fetch._ReadStream: []
  contrib.emscripten.fetch._RequestError:
  - Exception
  contrib.emscripten.fetch._StreamingError:
  - _RequestError
  contrib.emscripten.fetch._StreamingFetcher: []
  contrib.emscripten.fetch._TimeoutError:
  - _RequestError
  contrib.emscripten.request.EmscriptenRequest: []
  contrib.emscripten.response.EmscriptenHttpResponseWrapper:
  - BaseHTTPResponse
  contrib.emscripten.response.EmscriptenResponse: []
  contrib.pyopenssl.PyOpenSSLContext: []
  contrib.pyopenssl.UnsupportedExtension:
  - Exception
  contrib.pyopenssl.WrappedSocket: []
  contrib.socks.SOCKSConnection:
  - HTTPConnection
  contrib.socks.SOCKSHTTPConnectionPool:
  - HTTPConnectionPool
  contrib.socks.SOCKSHTTPSConnection:
  - SOCKSConnection
  - HTTPSConnection
  contrib.socks.SOCKSHTTPSConnectionPool:
  - HTTPSConnectionPool
  contrib.socks.SOCKSProxyManager:
  - PoolManager
  contrib.socks._TYPE_SOCKS_OPTIONS: []
  exceptions.BodyNotHttplibCompatible:
  - HTTPError
  exceptions.ClosedPoolError:
  - PoolError
  exceptions.ConnectTimeoutError:
  - TimeoutError
  exceptions.DecodeError:
  - HTTPError
  exceptions.DependencyWarning:
  - HTTPWarning
  exceptions.EmptyPoolError:
  - PoolError
  exceptions.FullPoolError:
  - PoolError
  exceptions.HTTPError:
  - Exception
  exceptions.HTTPWarning:
  - Warning
  exceptions.HeaderParsingError:
  - HTTPError
  exceptions.HostChangedError:
  - RequestError
  exceptions.IncompleteRead:
  - HTTPError
  - httplib_IncompleteRead
  exceptions.InsecurePlatformWarning:
  - SecurityWarning
  exceptions.InsecureRequestWarning:
  - SecurityWarning
  exceptions.InvalidChunkLength:
  - HTTPError
  - httplib_IncompleteRead
  exceptions.InvalidHeader:
  - HTTPError
  exceptions.LocationParseError:
  - LocationValueError
  exceptions.LocationValueError:
  - ValueError
  - HTTPError
  exceptions.MaxRetryError:
  - RequestError
  exceptions.NameResolutionError:
  - NewConnectionError
  exceptions.NewConnectionError:
  - ConnectTimeoutError
  - HTTPError
  exceptions.NotOpenSSLWarning:
  - SecurityWarning
  exceptions.PoolError:
  - HTTPError
  exceptions.ProtocolError:
  - HTTPError
  exceptions.ProxyError:
  - HTTPError
  exceptions.ProxySchemeUnknown:
  - URLSchemeUnknown
  - AssertionError
  exceptions.ProxySchemeUnsupported:
  - ValueError
  exceptions.ReadTimeoutError:
  - RequestError
  - TimeoutError
  exceptions.RequestError:
  - PoolError
  exceptions.ResponseError:
  - HTTPError
  exceptions.ResponseNotChunked:
  - ValueError
  - ProtocolError
  exceptions.SSLError:
  - HTTPError
  exceptions.SecurityWarning:
  - HTTPWarning
  exceptions.SystemTimeWarning:
  - SecurityWarning
  exceptions.TimeoutError:
  - HTTPError
  exceptions.TimeoutStateError:
  - HTTPError
  exceptions.URLSchemeUnknown:
  - LocationValueError
  exceptions.UnrewindableBodyError:
  - HTTPError
  fields.RequestField: []
  http2.connection.HTTP2Connection:
  - HTTPSConnection
  http2.connection.HTTP2Response:
  - BaseHTTPResponse
  http2.connection._LockedObject: []
  http2.probe._HTTP2ProbeCache: []
  poolmanager.PoolKey: []
  poolmanager.PoolManager:
  - RequestMethods
  poolmanager.ProxyManager:
  - PoolManager
  response.BaseHTTPResponse: []
  response.BrotliDecoder:
  - ContentDecoder
  response.BytesQueueBuffer: []
  response.ContentDecoder: []
  response.DeflateDecoder:
  - ContentDecoder
  response.GzipDecoder:
  - ContentDecoder
  response.GzipDecoderState: []
  response.HTTPResponse:
  - BaseHTTPResponse
  response.MultiDecoder:
  - ContentDecoder
  response.ZstdDecoder:
  - ContentDecoder
  util.request.ChunksAndContentLength: []
  util.request._TYPE_FAILEDTELL:
  - Enum
  util.retry.RequestHistory: []
  util.retry.Retry: []
  util.ssl_._TYPE_PEER_CERT_RET_DICT:
  - TypedDict
  util.ssl_match_hostname.CertificateError:
  - ValueError
  util.ssltransport.SSLTransport: []
  util.timeout.Timeout: []
  util.timeout._TYPE_DEFAULT:
  - Enum
  util.url.Url: []
ep:
  func_name: TestOneInput
  module: '.........fuzz_urlparse'
