All classes:
- connexion.jsonifier.JSONEncoder
- connexion.jsonifier.Jsonifier
- werkzeug.datastructures.mixins.ImmutableListMixin
- werkzeug.datastructures.mixins.ImmutableDictMixin
- werkzeug.datastructures.mixins.ImmutableMultiDictMixin
- werkzeug.datastructures.mixins.ImmutableHeadersMixin
- werkzeug.datastructures.mixins.UpdateDictMixin
- werkzeug.datastructures.structures.ImmutableList
- werkzeug.datastructures.structures.TypeConversionDict
- werkzeug.datastructures.structures.ImmutableTypeConversionDict
- werkzeug.datastructures.structures.MultiDict
- werkzeug.datastructures.structures._omd_bucket
- werkzeug.datastructures.structures._OrderedMultiDict
- werkzeug.datastructures.structures.CombinedMultiDict
- werkzeug.datastructures.structures.ImmutableDict
- werkzeug.datastructures.structures.ImmutableMultiDict
- werkzeug.datastructures.structures._ImmutableOrderedMultiDict
- werkzeug.datastructures.structures.CallbackDict
- werkzeug.datastructures.structures.HeaderSet
- werkzeug.datastructures.accept.Accept
- werkzeug.datastructures.accept.MIMEAccept
- werkzeug.datastructures.accept.LanguageAccept
- werkzeug.datastructures.accept.CharsetAccept
- werkzeug.http.COEP
- werkzeug.http.COOP
- werkzeug.datastructures.auth.Authorization
- werkzeug.datastructures.auth.WWWAuthenticate
- werkzeug.datastructures.cache_control._CacheControl
- werkzeug.datastructures.cache_control.RequestCacheControl
- werkzeug.datastructures.cache_control.ResponseCacheControl
- werkzeug.datastructures.csp.ContentSecurityPolicy
- werkzeug.datastructures.etag.ETags
- werkzeug.wsgi.ClosingIterator
- werkzeug.wsgi.FileWrapper
- werkzeug.wsgi._RangeWrapper
- werkzeug.wsgi.LimitedStream
- werkzeug.wrappers.response.Response
- werkzeug.sansio.multipart.Event
- werkzeug.sansio.multipart.Preamble
- werkzeug.sansio.multipart.Field
- werkzeug.sansio.multipart.File
- werkzeug.sansio.multipart.Data
- werkzeug.sansio.multipart.Epilogue
- werkzeug.sansio.multipart.NeedData
- werkzeug.sansio.multipart.State
- werkzeug.sansio.multipart.MultipartDecoder
- werkzeug.sansio.multipart.MultipartEncoder
- werkzeug.test.EnvironBuilder
- werkzeug.test.ClientRedirectError
- werkzeug.test.Client
- werkzeug.test.TestResponse
- werkzeug.test.Cookie
- werkzeug.wrappers.response.ResponseStream
- werkzeug.utils.cached_property
- werkzeug.utils.environ_property
- werkzeug.utils.header_property
- werkzeug.utils.ImportStringError
- werkzeug.sansio.response.Response
- werkzeug.exceptions.HTTPException
- werkzeug.exceptions.BadRequest
- werkzeug.exceptions.BadRequestKeyError
- werkzeug.exceptions.ClientDisconnected
- werkzeug.exceptions.SecurityError
- werkzeug.exceptions.BadHost
- werkzeug.exceptions.Unauthorized
- werkzeug.exceptions.Forbidden
- werkzeug.exceptions.NotFound
- werkzeug.exceptions.MethodNotAllowed
- werkzeug.exceptions.NotAcceptable
- werkzeug.exceptions.RequestTimeout
- werkzeug.exceptions.Conflict
- werkzeug.exceptions.Gone
- werkzeug.exceptions.LengthRequired
- werkzeug.exceptions.PreconditionFailed
- werkzeug.exceptions.RequestEntityTooLarge
- werkzeug.exceptions.RequestURITooLarge
- werkzeug.exceptions.UnsupportedMediaType
- werkzeug.exceptions.RequestedRangeNotSatisfiable
- werkzeug.exceptions.ExpectationFailed
- werkzeug.exceptions.ImATeapot
- werkzeug.exceptions.MisdirectedRequest
- werkzeug.exceptions.UnprocessableEntity
- werkzeug.exceptions.Locked
- werkzeug.exceptions.FailedDependency
- werkzeug.exceptions.PreconditionRequired
- werkzeug.exceptions._RetryAfter
- werkzeug.exceptions.TooManyRequests
- werkzeug.exceptions.RequestHeaderFieldsTooLarge
- werkzeug.exceptions.UnavailableForLegalReasons
- werkzeug.exceptions.InternalServerError
- werkzeug.exceptions.NotImplemented
- werkzeug.exceptions.BadGateway
- werkzeug.exceptions.ServiceUnavailable
- werkzeug.exceptions.GatewayTimeout
- werkzeug.exceptions.HTTPVersionNotSupported
- werkzeug.exceptions.Aborter
- werkzeug.datastructures.headers.Headers
- werkzeug.datastructures.headers.EnvironHeaders
- werkzeug.datastructures.file_storage.FileStorage
- werkzeug.datastructures.file_storage.FileMultiDict
- werkzeug.datastructures.range.IfRange
- werkzeug.datastructures.range.Range
- werkzeug.datastructures.range._CallbackProperty
- werkzeug.datastructures.range.ContentRange
- werkzeug.formparser.TStreamFactory
- werkzeug.formparser.FormDataParser
- werkzeug.formparser.MultiPartParser
- werkzeug.user_agent.UserAgent
- werkzeug.sansio.request.Request
- werkzeug.wrappers.request.Request
- werkzeug._internal._Missing
- werkzeug._internal._ColorStreamHandler
- werkzeug._internal._DictAccessorProperty
- werkzeug.serving._SslDummy
- werkzeug.serving.ForkingMixIn
- werkzeug.serving.DechunkedInput
- werkzeug.serving.WSGIRequestHandler
- werkzeug.debug.repr._Helper
- werkzeug.debug.repr.DebugReprGenerator
- werkzeug.debug.console.HTMLStringO
- werkzeug.debug.console.ThreadedStream
- werkzeug.debug.console._ConsoleLoader
- werkzeug.debug.console._InteractiveConsole
- werkzeug.debug.console.Console
- werkzeug.debug.tbtools.DebugTraceback
- werkzeug.debug.tbtools.DebugFrameSummary
- werkzeug.debug._ConsoleFrame
- werkzeug.debug.DebuggedApplication
- werkzeug.serving.BaseWSGIServer
- werkzeug.serving.ThreadedWSGIServer
- werkzeug.serving.ForkingWSGIServer
- werkzeug.middleware.shared_data.SharedDataMiddleware
- werkzeug._reloader.ReloaderLoop
- werkzeug._reloader.StatReloaderLoop
- werkzeug._reloader.WatchdogReloaderLoop
- werkzeug._reloader.WatchdogReloaderLoop.__init__.EventHandler
- connexion.exceptions.ConnexionException
- connexion.exceptions.ResolverError
- connexion.exceptions.InvalidSpecification
- connexion.exceptions.MissingMiddleware
- connexion.exceptions.ProblemException
- connexion.exceptions.ClientProblem
- connexion.exceptions.BadRequestProblem
- connexion.exceptions.ExtraParameterProblem
- connexion.exceptions.TypeValidationError
- connexion.exceptions.Unauthorized
- connexion.exceptions.OAuthProblem
- connexion.exceptions.OAuthResponseProblem
- connexion.exceptions.Forbidden
- connexion.exceptions.OAuthScopeProblem
- connexion.exceptions.UnsupportedMediaTypeProblem
- connexion.exceptions.ServerError
- connexion.exceptions.InternalServerError
- connexion.exceptions.NonConformingResponse
- connexion.exceptions.NonConformingResponseBody
- connexion.exceptions.NonConformingResponseHeaders
- connexion.exceptions.ResolverProblem
- connexion.handlers.ResolverErrorHandler
- connexion.operations.abstract.AbstractOperation
- connexion.datastructures.MediaTypeDict
- connexion.uri_parsing.AbstractURIParser
- connexion.uri_parsing.OpenAPIURIParser
- connexion.uri_parsing.Swagger2URIParser
- connexion.uri_parsing.FirstValueURIParser
- connexion.uri_parsing.AlwaysMultiURIParser
- connexion.operations.openapi.OpenAPIOperation
- connexion.operations.swagger2.Swagger2Operation
- connexion.resolver.Resolution
- connexion.resolver.Resolver
- connexion.resolver.RelativeResolver
- connexion.resolver.RestyResolver
- connexion.resolver.MethodResolverBase
- connexion.resolver.MethodResolver
- connexion.resolver.MethodViewResolver
- connexion.json_schema.ExtendedSafeLoader
- connexion.json_schema.FileHandler
- connexion.json_schema.URLHandler
- connexion.spec.Specification
- connexion.spec.Swagger2Specification
- connexion.spec.OpenAPISpecification
- connexion.middleware.abstract.SpecMiddleware
- connexion.middleware.abstract.AbstractSpecAPI
- connexion.middleware.abstract.AbstractRoutingAPI
- connexion.middleware.abstract.RoutedAPI
- connexion.middleware.abstract.RoutedMiddleware
- connexion.middleware.abstract.MissingOperation
- werkzeug.local.Local
- werkzeug.local.LocalStack
- werkzeug.local.LocalManager
- werkzeug.local._ProxyLookup
- werkzeug.local._ProxyIOp
- werkzeug.local.LocalProxy
- connexion.middleware.context.ContextOperation
- connexion.middleware.context.ContextAPI
- connexion.middleware.context.ContextMiddleware
- connexion.middleware.exceptions.ExceptionMiddleware
- connexion.middleware.lifespan.LifespanMiddleware
- connexion.validators.abstract.AbstractRequestBodyValidator
- connexion.validators.abstract.AbstractResponseBodyValidator
- connexion.validators.form_data.FormDataValidator
- connexion.validators.form_data.MultiPartFormDataValidator
- connexion.validators.json.JSONRequestBodyValidator
- connexion.validators.json.DefaultsJSONRequestBodyValidator
- connexion.validators.json.JSONResponseBodyValidator
- connexion.validators.json.TextResponseBodyValidator
- connexion.validators.parameter.ParameterValidator
- connexion.middleware.request_validation.RequestValidationOperation
- connexion.middleware.request_validation.RequestValidationAPI
- connexion.middleware.request_validation.RequestValidationMiddleware
- connexion.middleware.request_validation.MissingValidationOperation
- connexion.middleware.response_validation.ResponseValidationOperation
- connexion.middleware.response_validation.ResponseValidationAPI
- connexion.middleware.response_validation.ResponseValidationMiddleware
- connexion.frameworks.abstract.Framework
- connexion.frameworks.starlette.Starlette
- connexion.frameworks.starlette.FloatConverter
- connexion.frameworks.starlette.IntegerConverter
- connexion.middleware.routing.RoutingOperation
- connexion.middleware.routing.RoutingAPI
- connexion.middleware.routing.RoutingMiddleware
- connexion.decorators.parameter.BaseParameterDecorator
- connexion.decorators.parameter.SyncParameterDecorator
- connexion.decorators.parameter.AsyncParameterDecorator
- connexion.decorators.response.BaseResponseDecorator
- connexion.decorators.response.SyncResponseDecorator
- connexion.decorators.response.AsyncResponseDecorator
- connexion.decorators.response.NoResponseDecorator
- werkzeug.routing.rules.Weighting
- werkzeug.routing.rules.RulePart
- werkzeug.routing.rules.RuleFactory
- werkzeug.routing.rules.Subdomain
- werkzeug.routing.rules.Submount
- werkzeug.routing.rules.EndpointPrefix
- werkzeug.routing.rules.RuleTemplate
- werkzeug.routing.rules.RuleTemplateFactory
- werkzeug.routing.rules.Rule
- werkzeug.routing.exceptions.RoutingException
- werkzeug.routing.exceptions.RequestRedirect
- werkzeug.routing.exceptions.RequestPath
- werkzeug.routing.exceptions.RequestAliasRedirect
- werkzeug.routing.exceptions.BuildError
- werkzeug.routing.exceptions.WebsocketMismatch
- werkzeug.routing.exceptions.NoMatch
- werkzeug.routing.matcher.SlashRequired
- werkzeug.routing.matcher.State
- werkzeug.routing.matcher.StateMachineMatcher
- werkzeug.routing.map.Map
- werkzeug.routing.map.MapAdapter
- werkzeug.routing.converters.ValidationError
- werkzeug.routing.converters.BaseConverter
- werkzeug.routing.converters.UnicodeConverter
- werkzeug.routing.converters.AnyConverter
- werkzeug.routing.converters.PathConverter
- werkzeug.routing.converters.NumberConverter
- werkzeug.routing.converters.IntegerConverter
- werkzeug.routing.converters.FloatConverter
- werkzeug.routing.converters.UUIDConverter
- connexion.frameworks.flask.Flask
- connexion.frameworks.flask.FlaskJSONProvider
- connexion.frameworks.flask.NumberConverter
- connexion.frameworks.flask.IntegerConverter
- connexion.decorators.main.BaseDecorator
- connexion.decorators.main.WSGIDecorator
- connexion.decorators.main.FlaskDecorator
- connexion.decorators.main.ASGIDecorator
- connexion.decorators.main.StarletteDecorator
- connexion.security.AbstractSecurityHandler
- connexion.security.BasicSecurityHandler
- connexion.security.BearerSecurityHandler
- connexion.security.ApiKeySecurityHandler
- connexion.security.OAuthSecurityHandler
- connexion.security.SecurityHandlerFactory
- connexion.middleware.security.SecurityOperation
- connexion.middleware.security.SecurityAPI
- connexion.middleware.security.SecurityMiddleware
- connexion.middleware.security.MissingSecurityOperation
- connexion.middleware.server_error.ServerErrorMiddleware
- connexion.options.SwaggerUIOptions
- connexion.options.SwaggerUIConfig
- connexion.middleware.swagger_ui.SwaggerUIAPI
- connexion.middleware.swagger_ui.SwaggerUIMiddleware
- connexion.middleware.main._Options
- connexion.middleware.main.MiddlewarePosition
- connexion.middleware.main.API
- connexion.middleware.main.ConnexionMiddleware
- connexion.utils.yamldumper.NoAnchorDumper
- connexion.utils.sort_routes.SortableRoute
- connexion.lifecycle._RequestInterface
- connexion.lifecycle.WSGIRequest
- connexion.lifecycle.ConnexionRequest
- connexion.lifecycle.ConnexionResponse
- connexion.apps.abstract.AbstractApp
- connexion.apps.asynchronous.AsyncOperation
- connexion.apps.asynchronous.AsyncApi
- connexion.apps.asynchronous.AsyncASGIApp
- connexion.apps.asynchronous.AsyncApp
- connexion.apps.flask.FlaskOperation
- connexion.apps.flask.FlaskApi
- connexion.apps.flask.FlaskASGIApp
- connexion.apps.flask.FlaskApp
- connexion.testing.TestContext
- connexion.mock.MockResolver
- werkzeug.middleware.dispatcher.DispatcherMiddleware
- werkzeug.middleware.profiler.ProfilerMiddleware
- werkzeug.middleware.lint.WSGIWarning
- werkzeug.middleware.lint.HTTPWarning
- werkzeug.middleware.lint.InputStream
- werkzeug.middleware.lint.ErrorStream
- werkzeug.middleware.lint.GuardedWrite
- werkzeug.middleware.lint.GuardedIterator
- werkzeug.middleware.lint.LintMiddleware
- werkzeug.middleware.proxy_fix.ProxyFix
- werkzeug.middleware.http_proxy.ProxyMiddleware
All functions:
  Elements:
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: '...fuzz_query_resolving'
    functionSourceFile: '...fuzz_query_resolving'
    functionUses: 0
    functionsReached:
    - atheris.instrument_all
    - '...fuzz_query_resolving.main'
    - atheris.Fuzz
    - atheris.Setup
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 22
    functionName: '...fuzz_query_resolving.fixed_params'
    functionSourceFile: '...fuzz_query_resolving'
    functionUses: 1
    functionsReached:
    - fdp.ConsumeUnicodeNoSurrogates
    - rv.items
    - werkzeug.datastructures.structures.MultiDict.lists
    - werkzeug.datastructures.structures.CombinedMultiDict.__iter__
    - <builtin>.iter
    - werkzeug.datastructures.structures.CombinedMultiDict.items
    - d.lists
    - <builtin>.dict
    - werkzeug.datastructures.structures.CombinedMultiDict._keys_impl
    - werkzeug.datastructures.structures.MultiDict.items
    - <builtin>.set
    - <builtin>.super
    - found.add
    - parser.resolve_query
    - werkzeug.datastructures.structures.MultiDict.to_dict
    - <builtin>.list
    - werkzeug.datastructures.structures.CombinedMultiDict.lists
    - werkzeug.datastructures.structures.MultiDict.__iter__
    - werkzeug.datastructures.structures.MultiDict.__init__
    - d.items
    - tmp.setdefault
    - atheris.FuzzedDataProvider
    - fdp.PickValueInList
    - <builtin>.isinstance
    - rv.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: fdp.PickValueInList
    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: fdp.ConsumeUnicodeNoSurrogates
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 5
    IfCount: 5
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d942bc100>
    argNames:
    - self
    - mapping
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 181
    functionName: werkzeug.datastructures.structures.MultiDict.__init__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 6
    functionsReached:
    - werkzeug.datastructures.structures.CombinedMultiDict._keys_impl
    - werkzeug.datastructures.structures.MultiDict.items
    - <builtin>.list
    - <builtin>.set
    - rv.items
    - werkzeug.datastructures.structures.CombinedMultiDict.lists
    - werkzeug.datastructures.structures.MultiDict.__iter__
    - werkzeug.datastructures.structures.MultiDict.lists
    - <builtin>.super
    - werkzeug.datastructures.structures.CombinedMultiDict.__iter__
    - found.add
    - <builtin>.isinstance
    - <builtin>.iter
    - werkzeug.datastructures.structures.CombinedMultiDict.items
    - d.items
    - d.lists
    - tmp.setdefault
    - rv.setdefault
    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 0x7f5d94340160>
    argNames:
    - self
    - flat
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 404
    functionName: werkzeug.datastructures.structures.MultiDict.to_dict
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 5
    functionsReached:
    - werkzeug.datastructures.structures.MultiDict.items
    - <builtin>.list
    - werkzeug.datastructures.structures.MultiDict.lists
    - <builtin>.super
    - <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: parser.resolve_query
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 54
    functionName: '...fuzz_query_resolving.arbitrary'
    functionSourceFile: '...fuzz_query_resolving'
    functionUses: 1
    functionsReached:
    - fdp.ConsumeUnicodeNoSurrogates
    - rv.items
    - werkzeug.datastructures.structures.MultiDict.lists
    - werkzeug.datastructures.structures.CombinedMultiDict.__iter__
    - <builtin>.iter
    - werkzeug.datastructures.structures.CombinedMultiDict.items
    - d.lists
    - <builtin>.dict
    - werkzeug.datastructures.structures.CombinedMultiDict._keys_impl
    - werkzeug.datastructures.structures.MultiDict.items
    - <builtin>.set
    - <builtin>.super
    - found.add
    - parser.resolve_query
    - werkzeug.datastructures.structures.MultiDict.to_dict
    - <builtin>.list
    - werkzeug.datastructures.structures.CombinedMultiDict.lists
    - werkzeug.datastructures.structures.MultiDict.__iter__
    - werkzeug.datastructures.structures.MultiDict.__init__
    - d.items
    - tmp.setdefault
    - atheris.FuzzedDataProvider
    - fdp.PickValueInList
    - <builtin>.isinstance
    - rv.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 89
    functionName: '...fuzz_query_resolving.TestOneInput'
    functionSourceFile: '...fuzz_query_resolving'
    functionUses: 0
    functionsReached:
    - fdp.ConsumeUnicodeNoSurrogates
    - rv.items
    - werkzeug.datastructures.structures.MultiDict.lists
    - werkzeug.datastructures.structures.CombinedMultiDict.__iter__
    - <builtin>.iter
    - d.lists
    - werkzeug.datastructures.structures.CombinedMultiDict.items
    - <builtin>.dict
    - werkzeug.datastructures.structures.CombinedMultiDict._keys_impl
    - werkzeug.datastructures.structures.MultiDict.items
    - '...fuzz_query_resolving.arbitrary'
    - <builtin>.set
    - <builtin>.super
    - found.add
    - parser.resolve_query
    - werkzeug.datastructures.structures.MultiDict.to_dict
    - <builtin>.list
    - werkzeug.datastructures.structures.CombinedMultiDict.lists
    - werkzeug.datastructures.structures.MultiDict.__iter__
    - werkzeug.datastructures.structures.MultiDict.__init__
    - d.items
    - '...fuzz_query_resolving.fixed_params'
    - tmp.setdefault
    - atheris.FuzzedDataProvider
    - fdp.PickValueInList
    - <builtin>.isinstance
    - rv.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 94
    functionName: '...fuzz_query_resolving.main'
    functionSourceFile: '...fuzz_query_resolving'
    functionUses: 1
    functionsReached:
    - atheris.instrument_all
    - atheris.Setup
    - atheris.Fuzz
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.instrument_all
    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.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: werkzeug.datastructures
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 39
    functionName: werkzeug.datastructures.__getattr__
    functionSourceFile: werkzeug.datastructures
    functionUses: 0
    functionsReached:
    - warnings.warn
    linkageType: pythonLinkage
    raised:
    - AttributeError
    returnType: N/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: 29
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: werkzeug.datastructures.etag
    functionSourceFile: werkzeug.datastructures.etag
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d94c62100>
    - <ast.Constant object at 0x7f5d94c62130>
    - <ast.Constant object at 0x7f5d94c62b50>
    argNames:
    - self
    - strong_etags
    - weak_etags
    - star_tag
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 11
    functionName: werkzeug.datastructures.etag.ETags.__init__
    functionSourceFile: werkzeug.datastructures.etag
    functionUses: 0
    functionsReached:
    - <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: <builtin>.frozenset
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93f350a0>
    argNames:
    - self
    - include_weak
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 25
    functionName: werkzeug.datastructures.etag.ETags.as_set
    functionSourceFile: werkzeug.datastructures.etag
    functionUses: 0
    functionsReached:
    - rv.update
    - <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: 74
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rv.update
    functionSourceFile: <builtin>
    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
    - etag
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 33
    functionName: werkzeug.datastructures.etag.ETags.is_weak
    functionSourceFile: werkzeug.datastructures.etag
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - etag
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 37
    functionName: werkzeug.datastructures.etag.ETags.is_strong
    functionSourceFile: werkzeug.datastructures.etag
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - etag
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 41
    functionName: werkzeug.datastructures.etag.ETags.contains_weak
    functionSourceFile: werkzeug.datastructures.etag
    functionUses: 7
    functionsReached:
    - werkzeug.datastructures.etag.ETags.contains
    - werkzeug.datastructures.etag.ETags.is_weak
    - werkzeug.datastructures.etag.ETags.is_strong
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - etag
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 45
    functionName: werkzeug.datastructures.etag.ETags.contains
    functionSourceFile: werkzeug.datastructures.etag
    functionUses: 9
    functionsReached:
    - werkzeug.datastructures.etag.ETags.is_strong
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - etag
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 53
    functionName: werkzeug.datastructures.etag.ETags.contains_raw
    functionSourceFile: werkzeug.datastructures.etag
    functionUses: 0
    functionsReached:
    - etag.startswith
    - werkzeug.datastructures.etag.ETags.is_weak
    - werkzeug.datastructures.etag.ETags.is_strong
    - werkzeug.datastructures.etag.ETags.contains_weak
    - werkzeug.http.unquote_etag
    - werkzeug.datastructures.etag.ETags.contains
    - etag.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - etag
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 921
    functionName: werkzeug.http.unquote_etag
    functionSourceFile: werkzeug.http
    functionUses: 10
    functionsReached:
    - etag.startswith
    - etag.strip
    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: 64
    functionName: werkzeug.datastructures.etag.ETags.to_header
    functionSourceFile: werkzeug.datastructures.etag
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d94670220>
    - <ast.Constant object at 0x7f5d946702b0>
    - <ast.Constant object at 0x7f5d946706d0>
    argNames:
    - self
    - etag
    - data
    - include_weak
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 72
    functionName: werkzeug.datastructures.etag.ETags.__call__
    functionSourceFile: werkzeug.datastructures.etag
    functionUses: 0
    functionsReached:
    - werkzeug.http.generate_etag
    - hashlib.sha1
    - hashlib.sha1.hexdigest
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 975
    functionName: werkzeug.http.generate_etag
    functionSourceFile: werkzeug.http
    functionUses: 9
    functionsReached:
    - hashlib.sha1
    - hashlib.sha1.hexdigest
    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: 90
    functionName: werkzeug.datastructures.etag.ETags.__bool__
    functionSourceFile: werkzeug.datastructures.etag
    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: 10
    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: 93
    functionName: werkzeug.datastructures.etag.ETags.__str__
    functionSourceFile: werkzeug.datastructures.etag
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.etag.ETags.to_header
    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: 96
    functionName: werkzeug.datastructures.etag.ETags.__len__
    functionSourceFile: werkzeug.datastructures.etag
    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: 225
    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: 99
    functionName: werkzeug.datastructures.etag.ETags.__iter__
    functionSourceFile: werkzeug.datastructures.etag
    functionUses: 0
    functionsReached:
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 70
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - etag
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 102
    functionName: werkzeug.datastructures.etag.ETags.__contains__
    functionSourceFile: werkzeug.datastructures.etag
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.etag.ETags.contains
    - werkzeug.datastructures.etag.ETags.is_strong
    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: 105
    functionName: werkzeug.datastructures.etag.ETags.__repr__
    functionSourceFile: werkzeug.datastructures.etag
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 87
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 158
    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: werkzeug.http
    functionSourceFile: werkzeug.http
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    - re.compile
    - v.to_bytes
    - _cookie_slash_map.update
    - <builtin>.frozenset
    - 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: re.compile
    functionSourceFile: re
    functionUses: 25
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d936dd5b0>
    argNames:
    - value
    - allow_token
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 139
    functionName: werkzeug.http.quote_header_value
    functionSourceFile: werkzeug.http
    functionUses: 31
    functionsReached:
    - token_chars.issuperset
    - value_str.replace
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: token_chars.issuperset
    functionSourceFile: <builtin>
    functionUses: 32
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_str.replace
    functionSourceFile: <builtin>
    functionUses: 32
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 175
    functionName: werkzeug.http.unquote_header_value
    functionSourceFile: werkzeug.http
    functionUses: 0
    functionsReached:
    - value.replace
    - <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: value.replace
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - header
    - options
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 193
    functionName: werkzeug.http.dump_options_header
    functionSourceFile: werkzeug.http
    functionUses: 7
    functionsReached:
    - werkzeug.http.quote_header_value
    - segments.append
    - token_chars.issuperset
    - value_str.replace
    - <builtin>.str
    - options.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: segments.append
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: options.items
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - iterable
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 239
    functionName: werkzeug.http.dump_header
    functionSourceFile: werkzeug.http
    functionUses: 22
    functionsReached:
    - werkzeug.http.quote_header_value
    - items.append
    - <builtin>.isinstance
    - token_chars.issuperset
    - value_str.replace
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 297
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: items.append
    functionSourceFile: <builtin>
    functionUses: 28
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - header
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 287
    functionName: werkzeug.http.dump_csp_header
    functionSourceFile: werkzeug.http
    functionUses: 2
    functionsReached:
    - header.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: header.items
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 300
    functionName: werkzeug.http.parse_list_header
    functionSourceFile: werkzeug.http
    functionUses: 19
    functionsReached:
    - urllib.request.parse_http_list
    - <builtin>.len
    - result.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: urllib.request.parse_http_list
    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: result.append
    functionSourceFile: <builtin>
    functionUses: 30
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 327
    functionName: werkzeug.http.parse_dict_header
    functionSourceFile: werkzeug.http
    functionUses: 7
    functionsReached:
    - item.partition
    - result.append
    - werkzeug.http.parse_list_header
    - urllib.parse.unquote.strip
    - key.strip
    - <builtin>.len
    - urllib.request.parse_http_list
    - urllib.parse.unquote
    - _charset_value_re.match
    - encoding.lower
    - match.groups
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: item.partition
    functionSourceFile: <builtin>
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.strip
    functionSourceFile: <builtin>
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.unquote.strip
    functionSourceFile: urllib
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _charset_value_re.match
    functionSourceFile: <builtin>
    functionUses: 26
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 41
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: encoding.lower
    functionSourceFile: <builtin>
    functionUses: 26
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.unquote
    functionSourceFile: urllib
    functionUses: 53
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 21
    ICount: 3
    IfCount: 14
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 417
    functionName: werkzeug.http.parse_options_header
    functionSourceFile: werkzeug.http
    functionUses: 17
    functionsReached:
    - value.partition
    - rest.strip
    - m.end
    - _continuation_re.search
    - _parameter_key_re.match
    - options.get
    - rest.find
    - encoding.lower
    - m.group
    - <builtin>.len
    - match.start
    - urllib.parse.unquote
    - _charset_value_re.match
    - parts.append
    - value.strip
    - _parameter_token_value_re.match
    - match.groups
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.partition
    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: value.strip
    functionSourceFile: <builtin>
    functionUses: 80
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rest.strip
    functionSourceFile: <builtin>
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _parameter_key_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: m.group
    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: m.end
    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: _parameter_token_value_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: parts.append
    functionSourceFile: <builtin>
    functionUses: 51
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rest.find
    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: _continuation_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.start
    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: options.get
    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: typing.TypeVar
    functionSourceFile: typing
    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: typing.overload
    functionSourceFile: ''
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 2
    IfCount: 6
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d944a2d90>
    argNames:
    - value
    - cls
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 584
    functionName: werkzeug.http.parse_accept_header
    functionSourceFile: werkzeug.http
    functionUses: 4
    functionsReached:
    - rest.strip
    - _continuation_re.search
    - options.get
    - werkzeug.http.parse_options_header
    - value_str.replace
    - werkzeug.http.dump_options_header
    - _q_value_re.fullmatch
    - parts.append
    - value.strip
    - <builtin>.float
    - werkzeug.http.quote_header_value
    - result.append
    - segments.append
    - <builtin>.super
    - m.group
    - token_chars.issuperset
    - urllib.request.parse_http_list
    - encoding.lower
    - <builtin>.len
    - werkzeug.datastructures.accept.Accept.__init__
    - value.partition
    - werkzeug.http.parse_list_header
    - <builtin>.sorted
    - <builtin>.str
    - options.items
    - _charset_value_re.match
    - match.start
    - match.groups
    - m.end
    - _parameter_key_re.match
    - rest.find
    - <builtin>.isinstance
    - typing.cast
    - urllib.parse.unquote
    - options.pop
    - _parameter_token_value_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: typing.cast
    functionSourceFile: typing
    functionUses: 106
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Tuple object at 0x7f5d93d93850>
    argNames:
    - self
    - values
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 47
    functionName: werkzeug.datastructures.accept.Accept.__init__
    functionSourceFile: werkzeug.datastructures.accept
    functionUses: 6
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.sorted
    - <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: options.pop
    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: _q_value_re.fullmatch
    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: <builtin>.float
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d942bcbb0>
    - <ast.Constant object at 0x7f5d942bcbe0>
    argNames:
    - value
    - on_update
    - cls
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 655
    functionName: werkzeug.http.parse_cache_control_header
    functionSourceFile: werkzeug.http
    functionUses: 2
    functionsReached:
    - item.partition
    - werkzeug.http.parse_dict_header
    - result.append
    - <builtin>.super
    - werkzeug.http.parse_list_header
    - urllib.parse.unquote.strip
    - key.strip
    - <builtin>.len
    - urllib.request.parse_http_list
    - typing.cast
    - urllib.parse.unquote
    - werkzeug.datastructures.cache_control._CacheControl.__init__
    - _charset_value_re.match
    - encoding.lower
    - match.groups
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Tuple object at 0x7f5d9367f8b0>
    - <ast.Constant object at 0x7f5d9367f0a0>
    argNames:
    - self
    - values
    - on_update
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 90
    functionName: werkzeug.datastructures.cache_control._CacheControl.__init__
    functionSourceFile: werkzeug.datastructures.cache_control
    functionUses: 3
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d9437ae50>
    - <ast.Constant object at 0x7f5d9437a760>
    argNames:
    - value
    - on_update
    - cls
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 703
    functionName: werkzeug.http.parse_csp_header
    functionSourceFile: werkzeug.http
    functionUses: 2
    functionsReached:
    - policy.strip
    - items.append
    - typing.cast
    - value.split
    - directive.strip
    - value.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: value.split
    functionSourceFile: <builtin>
    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: policy.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: directive.strip
    functionSourceFile: <builtin>
    functionUses: 3
    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 0x7f5d93f14d60>
    argNames:
    - value
    - on_update
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 739
    functionName: werkzeug.http.parse_set_header
    functionSourceFile: werkzeug.http
    functionUses: 2
    functionsReached:
    - werkzeug.http.parse_list_header
    - urllib.request.parse_http_list
    - <builtin>.len
    - result.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 772
    functionName: werkzeug.http.parse_if_range_header
    functionSourceFile: werkzeug.http
    functionUses: 7
    functionsReached:
    - etag.startswith
    - dt.replace
    - werkzeug.http.parse_date
    - werkzeug.http.unquote_etag
    - email.utils.parsedate_to_datetime
    - etag.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 984
    functionName: werkzeug.http.parse_date
    functionSourceFile: werkzeug.http
    functionUses: 25
    functionsReached:
    - dt.replace
    - email.utils.parsedate_to_datetime
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 2
    IfCount: 8
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d9426fe20>
    argNames:
    - value
    - make_inclusive
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 790
    functionName: werkzeug.http.parse_range_header
    functionSourceFile: werkzeug.http
    functionUses: 3
    functionsReached:
    - rng.split
    - <builtin>.int
    - ranges.append
    - item.split
    - begin_str.strip
    - _plain_int_re.fullmatch
    - value.split
    - units.strip
    - end_str.strip
    - item.strip
    - value.strip
    - werkzeug._internal._plain_int
    - item.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: units.strip
    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: rng.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: item.strip
    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: item.startswith
    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:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 199
    functionName: werkzeug._internal._plain_int
    functionSourceFile: werkzeug._internal
    functionUses: 20
    functionsReached:
    - <builtin>.int
    - _plain_int_re.fullmatch
    - value.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: item.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: begin_str.strip
    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: end_str.strip
    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: ranges.append
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 1
    IfCount: 7
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d94a28ca0>
    argNames:
    - value
    - on_update
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 849
    functionName: werkzeug.http.parse_content_range_header
    functionSourceFile: werkzeug.http
    functionUses: 1
    functionsReached:
    - rng.split
    - rangedef.split
    - <builtin>.int
    - werkzeug.http.is_byte_range_valid
    - _plain_int_re.fullmatch
    - value.strip
    - werkzeug._internal._plain_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: rangedef.split
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - start
    - stop
    - length
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1385
    functionName: werkzeug.http.is_byte_range_valid
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93670940>
    argNames:
    - etag
    - weak
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 903
    functionName: werkzeug.http.quote_etag
    functionSourceFile: werkzeug.http
    functionUses: 3
    functionsReached: []
    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: etag.strip
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: etag.startswith
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 3
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 946
    functionName: werkzeug.http.parse_etags
    functionSourceFile: werkzeug.http
    functionUses: 8
    functionsReached:
    - weak.append
    - _etag_re.match
    - match.groups
    - match.end
    - strong.append
    - <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: _etag_re.match
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: weak.append
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: strong.append
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: match.end
    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: hashlib.sha1
    functionSourceFile: hashlib
    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: hashlib.sha1.hexdigest
    functionSourceFile: hashlib
    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: email.utils.parsedate_to_datetime
    functionSourceFile: <builtin>
    functionUses: 26
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dt.replace
    functionSourceFile: <builtin>
    functionUses: 26
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93fa7760>
    argNames:
    - timestamp
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1013
    functionName: werkzeug.http.http_date
    functionSourceFile: werkzeug.http
    functionUses: 10
    functionsReached:
    - datetime.datetime.combine
    - time.mktime
    - <builtin>.isinstance
    - datetime.time
    - email.utils.formatdate
    - time.mktime.astimezone
    - email.utils.format_datetime
    - werkzeug._internal._dt_as_utc
    - time.mktime.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: datetime.time
    functionSourceFile: datetime
    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: datetime.datetime.combine
    functionSourceFile: datetime
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - dt
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 108
    functionName: werkzeug._internal._dt_as_utc
    functionSourceFile: werkzeug._internal
    functionUses: 15
    functionsReached:
    - time.mktime.astimezone
    - time.mktime.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: email.utils.format_datetime
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: time.mktime
    functionSourceFile: time
    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: email.utils.formatdate
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93dd4850>
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1045
    functionName: werkzeug.http.parse_age
    functionSourceFile: werkzeug.http
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - datetime.timedelta
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 104
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.timedelta
    functionSourceFile: datetime
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7f5d94c85430>
    argNames:
    - age
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1067
    functionName: werkzeug.http.dump_age
    functionSourceFile: werkzeug.http
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.int
    - age.total_seconds
    - <builtin>.str
    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: age.total_seconds
    functionSourceFile: <builtin>
    functionUses: 1
    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 0x7f5d94492a90>
    - <ast.Constant object at 0x7f5d94492cd0>
    - <ast.Constant object at 0x7f5d94492f40>
    - <ast.Constant object at 0x7f5d94492c40>
    argNames:
    - environ
    - etag
    - data
    - last_modified
    - ignore_if_range
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1087
    functionName: werkzeug.http.is_resource_modified
    functionSourceFile: werkzeug.http
    functionUses: 4
    functionsReached:
    - werkzeug.datastructures.etag.ETags.is_weak
    - _etag_re.match
    - match.end
    - werkzeug._internal._dt_as_utc
    - werkzeug.http.generate_etag
    - werkzeug.datastructures.etag.ETags.contains
    - werkzeug.sansio.http.is_resource_modified
    - etag.strip
    - etag.startswith
    - werkzeug.http.parse_date
    - weak.append
    - werkzeug.datastructures.etag.ETags.is_strong
    - werkzeug.http.unquote_etag
    - werkzeug.http.parse_if_range_header
    - <builtin>.len
    - time.mktime.replace
    - environ.get
    - time.mktime.astimezone
    - strong.append
    - email.utils.parsedate_to_datetime
    - match.groups
    - dt.replace
    - werkzeug.http.parse_etags
    - werkzeug.datastructures.etag.ETags.contains_weak
    - hashlib.sha1.hexdigest
    - <builtin>.isinstance
    - hashlib.sha1
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: environ.get
    functionSourceFile: <builtin>
    functionUses: 55
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 1
    IfCount: 11
    argCount: 9
    argDefaultValues:
    - <ast.Constant object at 0x7f5d944a29a0>
    - <ast.Constant object at 0x7f5d944a2940>
    - <ast.Constant object at 0x7f5d944a2bb0>
    - <ast.Constant object at 0x7f5d944a22e0>
    - <ast.Constant object at 0x7f5d944a23a0>
    - <ast.Constant object at 0x7f5d944a2d00>
    - <ast.Constant object at 0x7f5d944a23d0>
    - <ast.Constant object at 0x7f5d944a2970>
    - <ast.Constant object at 0x7f5d944a20d0>
    argNames:
    - http_range
    - http_if_range
    - http_if_modified_since
    - http_if_none_match
    - http_if_match
    - etag
    - data
    - last_modified
    - ignore_if_range
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 17
    functionName: werkzeug.sansio.http.is_resource_modified
    functionSourceFile: werkzeug.sansio.http
    functionUses: 5
    functionsReached:
    - werkzeug.datastructures.etag.ETags.is_weak
    - _etag_re.match
    - match.end
    - werkzeug._internal._dt_as_utc
    - werkzeug.http.generate_etag
    - werkzeug.datastructures.etag.ETags.contains
    - etag.strip
    - etag.startswith
    - weak.append
    - werkzeug.http.parse_date
    - werkzeug.datastructures.etag.ETags.is_strong
    - werkzeug.http.unquote_etag
    - werkzeug.http.parse_if_range_header
    - <builtin>.len
    - time.mktime.replace
    - time.mktime.astimezone
    - strong.append
    - email.utils.parsedate_to_datetime
    - match.groups
    - dt.replace
    - werkzeug.http.parse_etags
    - werkzeug.datastructures.etag.ETags.contains_weak
    - hashlib.sha1.hexdigest
    - <builtin>.isinstance
    - hashlib.sha1
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Tuple object at 0x7f5d9405a730>
    argNames:
    - headers
    - allowed
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1125
    functionName: werkzeug.http.remove_entity_headers
    functionSourceFile: werkzeug.http
    functionUses: 3
    functionsReached:
    - header.lower
    - x.lower
    - werkzeug.http.is_entity_header
    - 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: x.lower
    functionSourceFile: <builtin>
    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:
    - header
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1162
    functionName: werkzeug.http.is_entity_header
    functionSourceFile: werkzeug.http
    functionUses: 5
    functionsReached:
    - header.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.lower
    functionSourceFile: <builtin>
    functionUses: 39
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - headers
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1149
    functionName: werkzeug.http.remove_hop_by_hop_headers
    functionSourceFile: werkzeug.http
    functionUses: 0
    functionsReached:
    - header.lower
    - werkzeug.http.is_hop_by_hop_header
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - header
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1173
    functionName: werkzeug.http.is_hop_by_hop_header
    functionSourceFile: werkzeug.http
    functionUses: 3
    functionsReached:
    - header.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.lower
    functionSourceFile: <builtin>
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d944be670>
    argNames:
    - header
    - cls
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1184
    functionName: werkzeug.http.parse_cookie
    functionSourceFile: werkzeug.http
    functionUses: 19
    functionsReached:
    - _cookie_re.findall
    - header.get
    - out.append
    - <builtin>.isinstance
    - cookie.encode
    - werkzeug.sansio.http.parse_cookie
    - _cookie_unslash_re.sub
    - ck.strip
    - cv.strip
    - typing.cast
    - <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: header.get
    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: cookie.encode
    functionSourceFile: <builtin>
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93eda3a0>
    - <ast.Constant object at 0x7f5d93eda8b0>
    argNames:
    - cookie
    - cls
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 122
    functionName: werkzeug.sansio.http.parse_cookie
    functionSourceFile: werkzeug.sansio.http
    functionUses: 21
    functionsReached:
    - _cookie_re.findall
    - out.append
    - _cookie_unslash_re.sub
    - ck.strip
    - cv.strip
    - typing.cast
    - <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: v.to_bytes
    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: _cookie_slash_map.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 13
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 19
    ICount: 4
    IfCount: 13
    argCount: 12
    argDefaultValues:
    - <ast.Constant object at 0x7f5d94cd7d30>
    - <ast.Constant object at 0x7f5d94cd7520>
    - <ast.Constant object at 0x7f5d94cd74c0>
    - <ast.Constant object at 0x7f5d94cd7220>
    - <ast.Constant object at 0x7f5d94cd7e80>
    - <ast.Constant object at 0x7f5d94cd7160>
    - <ast.Constant object at 0x7f5d94cd7130>
    - <ast.Constant object at 0x7f5d94cd7910>
    - <ast.Constant object at 0x7f5d94cd7a00>
    - <ast.Constant object at 0x7f5d94cd7e20>
    - <ast.Constant object at 0x7f5d94cd74f0>
    argNames:
    - key
    - value
    - max_age
    - expires
    - path
    - domain
    - secure
    - httponly
    - sync_expires
    - max_size
    - samesite
    - partitioned
    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: 3
    functionLinenumber: 1230
    functionName: werkzeug.http.dump_cookie
    functionSourceFile: werkzeug.http
    functionUses: 5
    functionsReached:
    - warnings.warn
    - urllib.parse.quote
    - datetime.time
    - werkzeug._internal._dt_as_utc
    - buf.append
    - datetime.datetime.combine
    - key.encode
    - time.mktime
    - value.encode
    - max_age.total_seconds
    - domain.partition
    - <builtin>.len
    - time.mktime.replace
    - <builtin>.int
    - time.mktime.astimezone
    - _cookie_slash_re.sub
    - email.utils.formatdate
    - samesite.title
    - datetime.datetime.now
    - <builtin>.isinstance
    - werkzeug.http.http_date
    - email.utils.format_datetime
    - _cookie_no_quote_re.fullmatch
    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: urllib.parse.quote
    functionSourceFile: urllib
    functionUses: 47
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: domain.partition
    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: max_age.total_seconds
    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: datetime.datetime.now
    functionSourceFile: datetime
    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: samesite.title
    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: _cookie_no_quote_re.fullmatch
    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: 1
    functionLinenumber: -1
    functionName: werkzeug.http.dump_cookie.<lambda1>
    functionSourceFile: werkzeug.http
    functionUses: 0
    functionsReached:
    - m.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: value.encode
    functionSourceFile: <builtin>
    functionUses: 42
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _cookie_slash_re.sub
    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: key.encode
    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: buf.append
    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: 1
    functionLinenumber: -1
    functionName: werkzeug.sansio.http
    functionSourceFile: werkzeug.sansio.http
    functionUses: 0
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.mktime.replace
    functionSourceFile: time
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - m
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 113
    functionName: werkzeug.sansio.http._cookie_unslash_replace
    functionSourceFile: werkzeug.sansio.http
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - m.group
    - <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: _cookie_re.findall
    functionSourceFile: <builtin>
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ck.strip
    functionSourceFile: <builtin>
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cv.strip
    functionSourceFile: <builtin>
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _cookie_unslash_re.sub
    functionSourceFile: <builtin>
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: out.append
    functionSourceFile: <builtin>
    functionUses: 36
    functionsReached: []
    linkageType: 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: werkzeug._internal
    functionSourceFile: werkzeug._internal
    functionUses: 0
    functionsReached:
    - re.compile
    - typing.overload
    - typing.TypeVar
    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: 19
    functionName: werkzeug._internal._Missing.__repr__
    functionSourceFile: werkzeug._internal
    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: 22
    functionName: werkzeug._internal._Missing.__reduce__
    functionSourceFile: werkzeug._internal
    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:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 29
    functionName: werkzeug._internal._wsgi_decoding_dance
    functionSourceFile: werkzeug._internal
    functionUses: 18
    functionsReached:
    - s.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: s.encode
    functionSourceFile: <builtin>
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 33
    functionName: werkzeug._internal._wsgi_encoding_dance
    functionSourceFile: werkzeug._internal
    functionUses: 17
    functionsReached:
    - urllib.parse.unquote.encode
    - urllib.parse.urlsplit.path.encode
    - http.server.BaseHTTPRequestHandler.path.encode
    - urllib.parse.urlsplit.query.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: urllib.parse.unquote.encode
    functionSourceFile: urllib
    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: urllib.parse.urlsplit.path.encode
    functionSourceFile: urllib
    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: http.server.BaseHTTPRequestHandler.path.encode
    functionSourceFile: http
    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: urllib.parse.urlsplit.query.encode
    functionSourceFile: urllib
    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:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 37
    functionName: werkzeug._internal._get_environ
    functionSourceFile: werkzeug._internal
    functionUses: 6
    functionsReached:
    - <builtin>.getattr
    - <builtin>.isinstance
    - <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: <builtin>.getattr
    functionSourceFile: <builtin>
    functionUses: 118
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - logger
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 45
    functionName: werkzeug._internal._has_level_handler
    functionSourceFile: werkzeug._internal
    functionUses: 21
    functionsReached:
    - <builtin>.any
    - logger.getEffectiveLevel
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logger.getEffectiveLevel
    functionSourceFile: <builtin>
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 41
    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: 67
    functionName: werkzeug._internal._ColorStreamHandler.__init__
    functionSourceFile: werkzeug._internal
    functionUses: 21
    functionsReached:
    - colorama.AnsiToWin32
    - <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: colorama.AnsiToWin32
    functionSourceFile: colorama
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 232
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 4
    argDefaultValues: []
    argNames:
    - type
    - message
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 78
    functionName: werkzeug._internal._log
    functionSourceFile: werkzeug._internal
    functionUses: 20
    functionsReached:
    - logger.getEffectiveLevel
    - colorama.AnsiToWin32
    - <builtin>.super
    - _logger.setLevel
    - <builtin>.getattr
    - werkzeug._internal._ColorStreamHandler.__init__
    - <builtin>.any
    - werkzeug._internal._has_level_handler
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - _logger.addHandler
    - 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: logging.getLogger
    functionSourceFile: logging
    functionUses: 45
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _logger.setLevel
    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: _logger.addHandler
    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: http.server.BaseHTTPRequestHandler.requestline.rstrip
    functionSourceFile: http
    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: time.mktime.astimezone
    functionSourceFile: time
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f5d936df910>
    - <ast.Constant object at 0x7f5d936dfa30>
    - <ast.Constant object at 0x7f5d936df850>
    - <ast.Constant object at 0x7f5d936dfb80>
    - <ast.Constant object at 0x7f5d936dfb20>
    argNames:
    - self
    - name
    - default
    - load_func
    - dump_func
    - read_only
    - doc
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 128
    functionName: werkzeug._internal._DictAccessorProperty.__init__
    functionSourceFile: werkzeug._internal
    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
    - instance
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 145
    functionName: werkzeug._internal._DictAccessorProperty.lookup
    functionSourceFile: werkzeug._internal
    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: 1
    functionLinenumber: -1
    functionName: werkzeug._internal._DictAccessorProperty
    functionSourceFile: werkzeug._internal
    functionUses: 0
    functionsReached:
    - typing.overload
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - instance
    - owner
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 156
    functionName: werkzeug._internal._DictAccessorProperty.__get__
    functionSourceFile: werkzeug._internal
    functionUses: 0
    functionsReached:
    - werkzeug._internal._DictAccessorProperty.lookup
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - instance
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 177
    functionName: werkzeug._internal._DictAccessorProperty.__set__
    functionSourceFile: werkzeug._internal
    functionUses: 0
    functionsReached:
    - werkzeug._internal._DictAccessorProperty.lookup
    linkageType: pythonLinkage
    raised:
    - AttributeError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - instance
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 186
    functionName: werkzeug._internal._DictAccessorProperty.__delete__
    functionSourceFile: werkzeug._internal
    functionUses: 0
    functionsReached:
    - werkzeug._internal._DictAccessorProperty.lookup
    linkageType: pythonLinkage
    raised:
    - AttributeError
    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: 192
    functionName: werkzeug._internal._DictAccessorProperty.__repr__
    functionSourceFile: werkzeug._internal
    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: _plain_int_re.fullmatch
    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: werkzeug.wrappers.request
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d940b2e80>
    - <ast.Constant object at 0x7f5d940b21f0>
    argNames:
    - self
    - environ
    - populate_request
    - shallow
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 113
    functionName: werkzeug.wrappers.request.Request.__init__
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 14
    functionsReached:
    - werkzeug.wsgi._get_server
    - werkzeug._internal._wsgi_decoding_dance
    - environ.get
    - <builtin>.int
    - <builtin>.super
    - s.encode
    - werkzeug.datastructures.headers.EnvironHeaders.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - environ
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 69
    functionName: werkzeug.wsgi._get_server
    functionSourceFile: werkzeug.wsgi
    functionUses: 23
    functionsReached:
    - environ.get
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - environ
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 615
    functionName: werkzeug.datastructures.headers.EnvironHeaders.__init__
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 17
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - cls
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 136
    functionName: werkzeug.wrappers.request.Request.from_values
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - werkzeug.test.stream_encode_multipart
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - urllib.parse.urlencode
    - werkzeug.test._iter_data
    - urllib.parse.urlsplit.hostname.encode
    - tempfile.TemporaryFile
    - new_stream.write
    - collections.defaultdict
    - urllib.parse.quote
    - <builtin>.getattr
    - werkzeug.test.EnvironBuilder.__init__
    - urllib.parse.unquote.encode
    - value_str.replace
    - random.random
    - headers.remove
    - urllib.parse.urlsplit.path.encode
    - io.BytesIO.seek
    - werkzeug._internal._wsgi_encoding_dance
    - event.name.encode
    - io.BytesIO.tell
    - werkzeug.wsgi._get_server
    - werkzeug.http.quote_header_value
    - <builtin>.super
    - data.items
    - name.lower
    - typing.cast
    - items.append
    - werkzeug.urls.iri_to_uri
    - value.encode
    - werkzeug.datastructures.auth.Authorization.__init__
    - result.update
    - mimetypes.guess_type
    - token_chars.issuperset
    - urllib.parse.urlunsplit
    - collections.defaultdict.items
    - <builtin>.len
    - werkzeug.test.EnvironBuilder.close
    - werkzeug.test.stream_encode_multipart.write_binary
    - werkzeug.datastructures.auth.Authorization.to_header
    - environ.get
    - <builtin>.int
    - io.BytesIO
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - werkzeug.wrappers.request.Request.__init__
    - headers.to_wsgi_list
    - key.upper
    - stream.seek
    - urllib.parse.urlsplit
    - werkzeug.test.EnvironBuilder.get_request
    - <builtin>.str
    - boundary.encode
    - werkzeug.datastructures.headers.EnvironHeaders.__init__
    - base64.b64encode
    - werkzeug._internal._wsgi_decoding_dance
    - http.server.BaseHTTPRequestHandler.path.encode
    - urllib.parse.urlsplit.query.encode
    - data.read
    - stream.write
    - f.close
    - event.filename.encode
    - headers.update
    - s.encode
    - data.encode
    - werkzeug.http.dump_header
    - <builtin>.isinstance
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - werkzeug.urls._urlencode
    - time.time
    - stream.tell
    - werkzeug.test.EnvironBuilder.get_environ
    - stream.getvalue
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 23
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 12
    EdgeCount: 33
    ICount: 3
    IfCount: 23
    argCount: 19
    argDefaultValues:
    - <ast.Constant object at 0x7f5d940ad340>
    - <ast.Constant object at 0x7f5d940adfa0>
    - <ast.Constant object at 0x7f5d940ad2e0>
    - <ast.Constant object at 0x7f5d940ad820>
    - <ast.Constant object at 0x7f5d940ad7c0>
    - <ast.Constant object at 0x7f5d940adc40>
    - <ast.Constant object at 0x7f5d940ad9a0>
    - <ast.Constant object at 0x7f5d940ada60>
    - <ast.Constant object at 0x7f5d940ada90>
    - <ast.Constant object at 0x7f5d940adfd0>
    - <ast.Constant object at 0x7f5d940ad580>
    - <ast.Constant object at 0x7f5d940ad5b0>
    - <ast.Constant object at 0x7f5d940ad490>
    - <ast.Constant object at 0x7f5d940ad130>
    - <ast.Constant object at 0x7f5d940ada00>
    - <ast.Constant object at 0x7f5d940ad160>
    - <ast.Constant object at 0x7f5d940adf40>
    - <ast.Constant object at 0x7f5d94357e20>
    argNames:
    - self
    - path
    - base_url
    - query_string
    - method
    - input_stream
    - content_type
    - content_length
    - errors_stream
    - multithread
    - multiprocess
    - run_once
    - headers
    - data
    - environ_base
    - environ_overrides
    - mimetype
    - json
    - auth
    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: 4
    functionLinenumber: 298
    functionName: werkzeug.test.EnvironBuilder.__init__
    functionSourceFile: werkzeug.test
    functionUses: 13
    functionsReached:
    - <builtin>.hasattr
    - werkzeug.test._iter_data
    - urllib.parse.urlsplit.hostname.encode
    - urllib.parse.quote
    - value_str.replace
    - werkzeug.http.quote_header_value
    - items.append
    - data.items
    - werkzeug.urls.iri_to_uri
    - werkzeug.datastructures.auth.Authorization.__init__
    - token_chars.issuperset
    - urllib.parse.urlunsplit
    - <builtin>.len
    - werkzeug.datastructures.auth.Authorization.to_header
    - io.BytesIO
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - urllib.parse.urlsplit
    - <builtin>.str
    - base64.b64encode
    - data.read
    - data.encode
    - <builtin>.isinstance
    - werkzeug.http.dump_header
    linkageType: pythonLinkage
    raised:
    - ValueError
    - TypeError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d942d3d00>
    argNames:
    - self
    - cls
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 755
    functionName: werkzeug.test.EnvironBuilder.get_request
    functionSourceFile: werkzeug.test
    functionUses: 11
    functionsReached:
    - werkzeug.test.stream_encode_multipart
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - urllib.parse.urlencode
    - werkzeug.test._iter_data
    - tempfile.TemporaryFile
    - new_stream.write
    - collections.defaultdict
    - <builtin>.getattr
    - urllib.parse.unquote.encode
    - random.random
    - headers.remove
    - urllib.parse.urlsplit.path.encode
    - io.BytesIO.seek
    - werkzeug._internal._wsgi_encoding_dance
    - event.name.encode
    - io.BytesIO.tell
    - werkzeug.wsgi._get_server
    - <builtin>.super
    - name.lower
    - data.items
    - typing.cast
    - value.encode
    - result.update
    - mimetypes.guess_type
    - collections.defaultdict.items
    - <builtin>.len
    - werkzeug.test.stream_encode_multipart.write_binary
    - environ.get
    - <builtin>.int
    - io.BytesIO
    - werkzeug.wrappers.request.Request.__init__
    - headers.to_wsgi_list
    - key.upper
    - stream.seek
    - <builtin>.str
    - boundary.encode
    - werkzeug.datastructures.headers.EnvironHeaders.__init__
    - werkzeug._internal._wsgi_decoding_dance
    - http.server.BaseHTTPRequestHandler.path.encode
    - urllib.parse.urlsplit.query.encode
    - stream.write
    - event.filename.encode
    - headers.update
    - s.encode
    - <builtin>.isinstance
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - werkzeug.urls._urlencode
    - time.time
    - stream.tell
    - werkzeug.test.EnvironBuilder.get_environ
    - stream.getvalue
    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: 649
    functionName: werkzeug.test.EnvironBuilder.close
    functionSourceFile: werkzeug.test
    functionUses: 13
    functionsReached:
    - f.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - f
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 163
    functionName: werkzeug.wrappers.request.Request.application
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 1
    functionsReached:
    - functools.wraps
    - 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: functools.wraps
    functionSourceFile: functools
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - args
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 189
    functionName: werkzeug.wrappers.request.Request.application.application
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 0
    functionsReached:
    - markupsafe.escape.splitlines
    - <builtin>.repr
    - os.path.isdir
    - os.getcwd
    - werkzeug.testapp.iter_sys_path
    - python_eggs.append
    - x.startswith
    - e.get_response
    - werkzeug.testapp._get_werkzeug_version
    - werkzeug.wsgi._get_server
    - os.path.join
    - textwrap.wrap
    - <builtin>.super
    - typing.cast
    - value.encode
    - sys_path.append
    - <builtin>.len
    - os.path.expanduser
    - environ.get
    - wsgi_env.append
    - <builtin>.int
    - werkzeug.wrappers.response.Response.__init__
    - werkzeug.wrappers.request.Request.__init__
    - <builtin>.sorted
    - <builtin>.str
    - importlib.metadata.version
    - css.append
    - os.path.normpath
    - werkzeug.datastructures.headers.EnvironHeaders.__init__
    - markupsafe.escape
    - werkzeug._internal._wsgi_decoding_dance
    - werkzeug.wrappers.response.Response.set_data
    - req.environ.items
    - s.encode
    - <builtin>.isinstance
    - werkzeug.testapp.iter_sys_path.strip
    - os.path.abspath
    - werkzeug.testapp.test_app
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - req
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 116
    functionName: werkzeug.testapp.test_app
    functionSourceFile: werkzeug.testapp
    functionUses: 4
    functionsReached:
    - markupsafe.escape.splitlines
    - <builtin>.repr
    - os.path.isdir
    - os.getcwd
    - werkzeug.testapp.iter_sys_path
    - python_eggs.append
    - x.startswith
    - werkzeug.testapp._get_werkzeug_version
    - os.path.join
    - textwrap.wrap
    - <builtin>.super
    - value.encode
    - sys_path.append
    - <builtin>.len
    - os.path.expanduser
    - wsgi_env.append
    - werkzeug.wrappers.response.Response.__init__
    - <builtin>.sorted
    - <builtin>.str
    - importlib.metadata.version
    - css.append
    - os.path.normpath
    - markupsafe.escape
    - werkzeug.wrappers.response.Response.set_data
    - req.environ.items
    - <builtin>.isinstance
    - werkzeug.testapp.iter_sys_path.strip
    - os.path.abspath
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.get_response
    functionSourceFile: <builtin>
    functionUses: 1
    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 0x7f5d9466bd60>
    - <ast.Constant object at 0x7f5d9466b2e0>
    argNames:
    - self
    - total_content_length
    - content_type
    - filename
    - content_length
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 200
    functionName: werkzeug.wrappers.request.Request._get_file_stream
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 0
    functionsReached:
    - tempfile.SpooledTemporaryFile
    - io.BytesIO
    - tempfile.TemporaryFile
    - werkzeug.formparser.default_stream_factory
    - typing.cast
    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 0x7f5d936dfb80>
    argNames:
    - total_content_length
    - content_type
    - filename
    - content_length
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 53
    functionName: werkzeug.formparser.default_stream_factory
    functionSourceFile: werkzeug.formparser
    functionUses: 7
    functionsReached:
    - io.BytesIO
    - tempfile.TemporaryFile
    - tempfile.SpooledTemporaryFile
    - typing.cast
    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: 234
    functionName: werkzeug.wrappers.request.Request.want_form_data_parsed
    functionSourceFile: werkzeug.wrappers.request
    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: 242
    functionName: werkzeug.wrappers.request.Request.make_form_data_parser
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 7
    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: 256
    functionName: werkzeug.wrappers.request.Request._load_form_data
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 6
    functionsReached:
    - werkzeug.wrappers.request.Request._get_stream_for_parsing
    - io.BytesIO
    - parser.parse
    - <builtin>.getattr
    - werkzeug.wrappers.request.Request.make_form_data_parser
    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: 289
    functionName: werkzeug.wrappers.request.Request._get_stream_for_parsing
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 7
    functionsReached:
    - <builtin>.getattr
    - 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: parser.parse
    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: io.BytesIO
    functionSourceFile: io
    functionUses: 42
    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: 2
    functionLinenumber: 301
    functionName: werkzeug.wrappers.request.Request.close
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - werkzeug.datastructures.structures.iter_multi_items
    - mapping.items
    - value.close
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - mapping
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 22
    functionName: werkzeug.datastructures.structures.iter_multi_items
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 20
    functionsReached:
    - <builtin>.isinstance
    - mapping.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: value.close
    functionSourceFile: <builtin>
    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: 0
    functionLinenumber: 312
    functionName: werkzeug.wrappers.request.Request.__enter__
    functionSourceFile: werkzeug.wrappers.request
    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_value
    - tb
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 315
    functionName: werkzeug.wrappers.request.Request.__exit__
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.structures.iter_multi_items
    - value.close
    - <builtin>.isinstance
    - mapping.items
    - werkzeug.wrappers.request.Request.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: 1
    functionLinenumber: -1
    functionName: werkzeug.wrappers.request.Request
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 0
    functionsReached:
    - typing.overload
    - werkzeug.utils.cached_property
    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: werkzeug.utils.cached_property
    functionSourceFile: ''
    functionUses: 7
    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: 5
    functionLinenumber: 319
    functionName: werkzeug.wrappers.request.Request.stream
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 0
    functionsReached:
    - environ.get
    - <builtin>.int
    - werkzeug.wsgi.get_content_length
    - io.BytesIO
    - werkzeug.sansio.utils.get_content_length
    - <builtin>.max
    - werkzeug.wsgi.LimitedStream.__init__
    - _plain_int_re.fullmatch
    - typing.cast
    - value.strip
    - werkzeug._internal._plain_int
    - werkzeug.wsgi.get_input_stream
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d943057f0>
    - <ast.Constant object at 0x7f5d94305b80>
    argNames:
    - environ
    - safe_fallback
    - max_content_length
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 129
    functionName: werkzeug.wsgi.get_input_stream
    functionSourceFile: werkzeug.wsgi
    functionUses: 5
    functionsReached:
    - environ.get
    - <builtin>.int
    - werkzeug.wsgi.get_content_length
    - io.BytesIO
    - werkzeug.sansio.utils.get_content_length
    - <builtin>.max
    - werkzeug.wsgi.LimitedStream.__init__
    - _plain_int_re.fullmatch
    - typing.cast
    - value.strip
    - werkzeug._internal._plain_int
    linkageType: pythonLinkage
    raised:
    - RequestEntityTooLarge
    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: 4
    functionLinenumber: 367
    functionName: werkzeug.wrappers.request.Request.data
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 0
    functionsReached:
    - werkzeug.wrappers.request.Request._load_form_data
    - rv.decode
    - werkzeug.wrappers.request.Request._get_stream_for_parsing
    - io.BytesIO
    - parser.parse
    - <builtin>.getattr
    - werkzeug.wrappers.request.Request.make_form_data_parser
    - werkzeug.wrappers.request.Request.get_data
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93e62dc0>
    - <ast.Constant object at 0x7f5d93e62af0>
    - <ast.Constant object at 0x7f5d93e62fd0>
    argNames:
    - self
    - cache
    - as_text
    - parse_form_data
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 391
    functionName: werkzeug.wrappers.request.Request.get_data
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 3
    functionsReached:
    - werkzeug.wrappers.request.Request._load_form_data
    - rv.decode
    - werkzeug.wrappers.request.Request._get_stream_for_parsing
    - io.BytesIO
    - parser.parse
    - <builtin>.getattr
    - werkzeug.wrappers.request.Request.make_form_data_parser
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rv.decode
    functionSourceFile: <builtin>
    functionUses: 10
    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: 430
    functionName: werkzeug.wrappers.request.Request.form
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 0
    functionsReached:
    - werkzeug.wrappers.request.Request._load_form_data
    - werkzeug.wrappers.request.Request._get_stream_for_parsing
    - io.BytesIO
    - parser.parse
    - <builtin>.getattr
    - werkzeug.wrappers.request.Request.make_form_data_parser
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 449
    functionName: werkzeug.wrappers.request.Request.values
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 0
    functionsReached:
    - rv.items
    - sources.append
    - werkzeug.datastructures.structures.MultiDict.lists
    - werkzeug.datastructures.structures.CombinedMultiDict.__iter__
    - <builtin>.iter
    - d.lists
    - werkzeug.datastructures.structures.CombinedMultiDict.items
    - args.append
    - werkzeug.datastructures.structures.MultiDict.items
    - werkzeug.datastructures.structures.CombinedMultiDict._keys_impl
    - <builtin>.set
    - <builtin>.super
    - found.add
    - werkzeug.datastructures.structures.CombinedMultiDict.__init__
    - <builtin>.list
    - werkzeug.datastructures.structures.CombinedMultiDict.lists
    - werkzeug.datastructures.structures.MultiDict.__iter__
    - werkzeug.datastructures.structures.MultiDict.__init__
    - d.items
    - tmp.setdefault
    - <builtin>.isinstance
    - rv.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sources.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: args.append
    functionSourceFile: <builtin>
    functionUses: 7
    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 0x7f5d93e9f9d0>
    argNames:
    - self
    - dicts
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 842
    functionName: werkzeug.datastructures.structures.CombinedMultiDict.__init__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 1
    functionsReached:
    - <builtin>.super
    - <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: 3
    functionLinenumber: 478
    functionName: werkzeug.wrappers.request.Request.files
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 0
    functionsReached:
    - werkzeug.wrappers.request.Request._load_form_data
    - werkzeug.wrappers.request.Request._get_stream_for_parsing
    - io.BytesIO
    - parser.parse
    - <builtin>.getattr
    - werkzeug.wrappers.request.Request.make_form_data_parser
    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: 501
    functionName: werkzeug.wrappers.request.Request.script_root
    functionSourceFile: werkzeug.wrappers.request
    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: 508
    functionName: werkzeug.wrappers.request.Request.url_root
    functionSourceFile: werkzeug.wrappers.request
    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: 5
    functionLinenumber: 545
    functionName: werkzeug.wrappers.request.Request.json
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 0
    functionsReached:
    - werkzeug.wrappers.request.Request._load_form_data
    - werkzeug.wrappers.request.Request.get_json
    - rv.decode
    - werkzeug.wrappers.request.Request._get_stream_for_parsing
    - io.BytesIO
    - parser.parse
    - <builtin>.getattr
    - werkzeug.wrappers.request.Request.on_json_loading_failed
    - werkzeug.wrappers.request.Request.make_form_data_parser
    - werkzeug.wrappers.request.Request.get_data
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 1
    IfCount: 7
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d936dde20>
    - <ast.Constant object at 0x7f5d936dd910>
    - <ast.Constant object at 0x7f5d936dd2e0>
    argNames:
    - self
    - force
    - silent
    - cache
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 576
    functionName: werkzeug.wrappers.request.Request.get_json
    functionSourceFile: werkzeug.wrappers.request
    functionUses: 1
    functionsReached:
    - werkzeug.wrappers.request.Request._load_form_data
    - rv.decode
    - werkzeug.wrappers.request.Request._get_stream_for_parsing
    - io.BytesIO
    - parser.parse
    - <builtin>.getattr
    - werkzeug.wrappers.request.Request.on_json_loading_failed
    - werkzeug.wrappers.request.Request.make_form_data_parser
    - werkzeug.wrappers.request.Request.get_data
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - e
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 631
    functionName: werkzeug.wrappers.request.Request.on_json_loading_failed
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - UnsupportedMediaType
    - BadRequest
    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: werkzeug.formparser
    functionSourceFile: werkzeug.formparser
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    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 0x7f5d936df7c0>
    argNames:
    - self
    - total_content_length
    - content_type
    - filename
    - content_length
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 41
    functionName: werkzeug.formparser.TStreamFactory.__call__
    functionSourceFile: werkzeug.formparser
    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: tempfile.SpooledTemporaryFile
    functionSourceFile: tempfile
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tempfile.TemporaryFile
    functionSourceFile: tempfile
    functionUses: 25
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f5d94a28820>
    - <ast.Constant object at 0x7f5d94a282e0>
    - <ast.Constant object at 0x7f5d94a281f0>
    - <ast.Constant object at 0x7f5d94a28370>
    - <ast.Constant object at 0x7f5d94a28850>
    argNames:
    - environ
    - stream_factory
    - max_form_memory_size
    - max_content_length
    - cls
    - silent
    - max_form_parts
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 69
    functionName: werkzeug.formparser.parse_form_data
    functionSourceFile: werkzeug.formparser
    functionUses: 0
    functionsReached:
    - fields.append
    - options.get
    - werkzeug.sansio.multipart.MultipartDecoder.__init__
    - werkzeug.http.parse_options_header
    - werkzeug.sansio.multipart.MultipartDecoder._parse_data
    - werkzeug.formparser.MultiPartParser.start_file_streaming
    - files.append
    - re.escape
    - value.partition
    - werkzeug.datastructures.headers.Headers.__init__
    - io.BytesIO
    - _charset_value_re.match
    - match.groups
    - io.BytesIO.write
    - <builtin>.bytes
    - werkzeug.datastructures.structures.iter_multi_items
    - event.headers.get
    - io.BytesIO.append
    - re.compile
    - LINE_BREAK_RE.match
    - urllib.parse.unquote
    - line.decode
    - tempfile.TemporaryFile
    - stream.read
    - match.group
    - werkzeug.formparser.default_stream_factory
    - werkzeug.formparser.FormDataParser.__init__
    - werkzeug.sansio.utils.get_content_length
    - _plain_int_re.fullmatch
    - data.rindex
    - werkzeug.wsgi.get_input_stream
    - headers.get
    - environ.get
    - BLANK_LINE_RE.search
    - mapping.items
    - werkzeug.formparser.FormDataParser._parse_urlencoded
    - werkzeug.sansio.multipart.MultipartDecoder.last_newline
    - m.end
    - os.fsdecode
    - typing.cast
    - _parameter_token_value_re.match
    - rest.strip
    - _continuation_re.search
    - match.end
    - werkzeug.wsgi.get_content_length
    - werkzeug.wsgi.LimitedStream.__init__
    - werkzeug.formparser._chunk_iter
    - line.strip
    - io.BytesIO.seek
    - value.strip
    - HEADER_CONTINUATION_RE.sub
    - headers.append
    - <builtin>.min
    - m.group
    - parameters.get
    - <builtin>.int
    - <builtin>.bytearray
    - werkzeug.datastructures.headers.Headers.extend
    - _parameter_key_re.match
    - werkzeug.sansio.multipart.MultipartDecoder.receive_data
    - werkzeug.sansio.multipart.MultipartDecoder._parse_headers
    - data.splitlines
    - werkzeug.formparser.FormDataParser.parse
    - werkzeug.formparser.MultiPartParser.get_part_charset
    - <builtin>.max
    - <builtin>.getattr
    - urllib.parse.parse_qsl
    - parts.append
    - werkzeug.formparser.MultiPartParser.parse
    - extra.get
    - encoding.lower
    - <builtin>.len
    - werkzeug.formparser.FormDataParser._parse_multipart
    - tempfile.SpooledTemporaryFile
    - werkzeug.formparser.MultiPartParser.__init__
    - <builtin>.str
    - name.strip
    - match.start
    - werkzeug.sansio.multipart.MultipartDecoder.next_event
    - werkzeug._internal._plain_int
    - werkzeug.formparser.FormDataParser.parse_from_environ
    - rest.find
    - <builtin>.isinstance
    - werkzeug.datastructures.file_storage.FileStorage.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f5d940e1c70>
    - <ast.Constant object at 0x7f5d940e1190>
    - <ast.Constant object at 0x7f5d940e15e0>
    - <ast.Constant object at 0x7f5d940e10d0>
    - <ast.Constant object at 0x7f5d940e18b0>
    argNames:
    - self
    - stream_factory
    - max_form_memory_size
    - max_content_length
    - cls
    - silent
    - max_form_parts
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 170
    functionName: werkzeug.formparser.FormDataParser.__init__
    functionSourceFile: werkzeug.formparser
    functionUses: 1
    functionsReached:
    - typing.cast
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - environ
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 194
    functionName: werkzeug.formparser.FormDataParser.parse_from_environ
    functionSourceFile: werkzeug.formparser
    functionUses: 1
    functionsReached:
    - fields.append
    - options.get
    - werkzeug.sansio.multipart.MultipartDecoder.__init__
    - werkzeug.http.parse_options_header
    - werkzeug.sansio.multipart.MultipartDecoder._parse_data
    - werkzeug.formparser.MultiPartParser.start_file_streaming
    - files.append
    - re.escape
    - value.partition
    - werkzeug.datastructures.headers.Headers.__init__
    - io.BytesIO
    - _charset_value_re.match
    - match.groups
    - io.BytesIO.write
    - <builtin>.bytes
    - werkzeug.datastructures.structures.iter_multi_items
    - event.headers.get
    - io.BytesIO.append
    - re.compile
    - LINE_BREAK_RE.match
    - urllib.parse.unquote
    - line.decode
    - tempfile.TemporaryFile
    - stream.read
    - match.group
    - werkzeug.formparser.default_stream_factory
    - werkzeug.sansio.utils.get_content_length
    - _plain_int_re.fullmatch
    - data.rindex
    - werkzeug.wsgi.get_input_stream
    - headers.get
    - environ.get
    - BLANK_LINE_RE.search
    - mapping.items
    - werkzeug.formparser.FormDataParser._parse_urlencoded
    - werkzeug.sansio.multipart.MultipartDecoder.last_newline
    - m.end
    - os.fsdecode
    - typing.cast
    - _parameter_token_value_re.match
    - rest.strip
    - _continuation_re.search
    - match.end
    - werkzeug.wsgi.get_content_length
    - werkzeug.wsgi.LimitedStream.__init__
    - werkzeug.formparser._chunk_iter
    - line.strip
    - io.BytesIO.seek
    - value.strip
    - HEADER_CONTINUATION_RE.sub
    - headers.append
    - <builtin>.min
    - m.group
    - parameters.get
    - <builtin>.int
    - <builtin>.bytearray
    - werkzeug.datastructures.headers.Headers.extend
    - _parameter_key_re.match
    - werkzeug.sansio.multipart.MultipartDecoder.receive_data
    - werkzeug.sansio.multipart.MultipartDecoder._parse_headers
    - data.splitlines
    - werkzeug.formparser.FormDataParser.parse
    - werkzeug.formparser.MultiPartParser.get_part_charset
    - <builtin>.max
    - <builtin>.getattr
    - urllib.parse.parse_qsl
    - parts.append
    - werkzeug.formparser.MultiPartParser.parse
    - extra.get
    - encoding.lower
    - <builtin>.len
    - werkzeug.formparser.FormDataParser._parse_multipart
    - tempfile.SpooledTemporaryFile
    - werkzeug.formparser.MultiPartParser.__init__
    - <builtin>.str
    - name.strip
    - match.start
    - werkzeug.sansio.multipart.MultipartDecoder.next_event
    - werkzeug._internal._plain_int
    - rest.find
    - <builtin>.isinstance
    - werkzeug.datastructures.file_storage.FileStorage.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - environ
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 114
    functionName: werkzeug.wsgi.get_content_length
    functionSourceFile: werkzeug.wsgi
    functionUses: 6
    functionsReached:
    - environ.get
    - <builtin>.int
    - werkzeug.sansio.utils.get_content_length
    - <builtin>.max
    - _plain_int_re.fullmatch
    - value.strip
    - werkzeug._internal._plain_int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f5d94492640>
    argNames:
    - self
    - stream
    - mimetype
    - content_length
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 210
    functionName: werkzeug.formparser.FormDataParser.parse
    functionSourceFile: werkzeug.formparser
    functionUses: 2
    functionsReached:
    - werkzeug.formparser.MultiPartParser.get_part_charset
    - fields.append
    - rest.strip
    - _continuation_re.search
    - options.get
    - match.end
    - werkzeug.sansio.multipart.MultipartDecoder.__init__
    - tempfile.TemporaryFile
    - <builtin>.max
    - stream.read
    - werkzeug.formparser._chunk_iter
    - <builtin>.getattr
    - match.group
    - werkzeug.http.parse_options_header
    - werkzeug.formparser.default_stream_factory
    - line.strip
    - urllib.parse.parse_qsl
    - io.BytesIO.seek
    - parts.append
    - werkzeug.formparser.MultiPartParser.start_file_streaming
    - value.strip
    - werkzeug.sansio.multipart.MultipartDecoder._parse_data
    - headers.append
    - files.append
    - HEADER_CONTINUATION_RE.sub
    - werkzeug.formparser.MultiPartParser.parse
    - re.escape
    - <builtin>.min
    - _plain_int_re.fullmatch
    - m.group
    - extra.get
    - data.rindex
    - encoding.lower
    - <builtin>.len
    - werkzeug.formparser.FormDataParser._parse_multipart
    - value.partition
    - headers.get
    - tempfile.SpooledTemporaryFile
    - werkzeug.datastructures.headers.Headers.__init__
    - parameters.get
    - <builtin>.int
    - io.BytesIO
    - werkzeug.formparser.MultiPartParser.__init__
    - <builtin>.bytearray
    - BLANK_LINE_RE.search
    - mapping.items
    - werkzeug.formparser.FormDataParser._parse_urlencoded
    - <builtin>.str
    - name.strip
    - match.start
    - _charset_value_re.match
    - werkzeug.sansio.multipart.MultipartDecoder.next_event
    - werkzeug.sansio.multipart.MultipartDecoder.last_newline
    - werkzeug._internal._plain_int
    - match.groups
    - io.BytesIO.write
    - werkzeug.datastructures.headers.Headers.extend
    - <builtin>.bytes
    - m.end
    - _parameter_key_re.match
    - werkzeug.datastructures.structures.iter_multi_items
    - rest.find
    - os.fsdecode
    - <builtin>.isinstance
    - werkzeug.datastructures.file_storage.FileStorage.__init__
    - event.headers.get
    - werkzeug.sansio.multipart.MultipartDecoder.receive_data
    - io.BytesIO.append
    - re.compile
    - LINE_BREAK_RE.match
    - typing.cast
    - urllib.parse.unquote
    - werkzeug.sansio.multipart.MultipartDecoder._parse_headers
    - line.decode
    - _parameter_token_value_re.match
    - data.splitlines
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - stream
    - mimetype
    - content_length
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 249
    functionName: werkzeug.formparser.FormDataParser._parse_multipart
    functionSourceFile: werkzeug.formparser
    functionUses: 3
    functionsReached:
    - werkzeug.formparser.MultiPartParser.get_part_charset
    - fields.append
    - rest.strip
    - _continuation_re.search
    - options.get
    - match.end
    - werkzeug.sansio.multipart.MultipartDecoder.__init__
    - tempfile.TemporaryFile
    - <builtin>.max
    - werkzeug.formparser._chunk_iter
    - <builtin>.getattr
    - match.group
    - werkzeug.http.parse_options_header
    - werkzeug.formparser.default_stream_factory
    - line.strip
    - werkzeug.sansio.multipart.MultipartDecoder._parse_data
    - io.BytesIO.seek
    - parts.append
    - werkzeug.formparser.MultiPartParser.start_file_streaming
    - value.strip
    - HEADER_CONTINUATION_RE.sub
    - headers.append
    - files.append
    - werkzeug.formparser.MultiPartParser.parse
    - re.escape
    - <builtin>.min
    - _plain_int_re.fullmatch
    - m.group
    - extra.get
    - data.rindex
    - encoding.lower
    - <builtin>.len
    - value.partition
    - headers.get
    - tempfile.SpooledTemporaryFile
    - werkzeug.datastructures.headers.Headers.__init__
    - parameters.get
    - <builtin>.int
    - io.BytesIO
    - werkzeug.formparser.MultiPartParser.__init__
    - <builtin>.bytearray
    - BLANK_LINE_RE.search
    - mapping.items
    - <builtin>.str
    - name.strip
    - match.start
    - _charset_value_re.match
    - werkzeug._internal._plain_int
    - match.groups
    - werkzeug.sansio.multipart.MultipartDecoder.next_event
    - werkzeug.datastructures.headers.Headers.extend
    - <builtin>.bytes
    - m.end
    - werkzeug.sansio.multipart.MultipartDecoder.last_newline
    - io.BytesIO.write
    - _parameter_key_re.match
    - werkzeug.datastructures.structures.iter_multi_items
    - rest.find
    - os.fsdecode
    - <builtin>.isinstance
    - werkzeug.datastructures.file_storage.FileStorage.__init__
    - event.headers.get
    - werkzeug.sansio.multipart.MultipartDecoder.receive_data
    - io.BytesIO.append
    - re.compile
    - LINE_BREAK_RE.match
    - typing.cast
    - urllib.parse.unquote
    - werkzeug.sansio.multipart.MultipartDecoder._parse_headers
    - line.decode
    - _parameter_token_value_re.match
    - data.splitlines
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - stream
    - mimetype
    - content_length
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 270
    functionName: werkzeug.formparser.FormDataParser._parse_urlencoded
    functionSourceFile: werkzeug.formparser
    functionUses: 3
    functionsReached:
    - urllib.parse.parse_qsl
    - stream.read
    linkageType: pythonLinkage
    raised:
    - RequestEntityTooLarge
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f5d945d4bb0>
    - <ast.Constant object at 0x7f5d945d4280>
    - <ast.Constant object at 0x7f5d945d4f70>
    - <ast.BinOp object at 0x7f5d945d4490>
    - <ast.Constant object at 0x7f5d945d4e50>
    argNames:
    - self
    - stream_factory
    - max_form_memory_size
    - cls
    - buffer_size
    - max_form_parts
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 293
    functionName: werkzeug.formparser.MultiPartParser.__init__
    functionSourceFile: werkzeug.formparser
    functionUses: 4
    functionsReached:
    - typing.cast
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 5
    IfCount: 7
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - stream
    - boundary
    - content_length
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 351
    functionName: werkzeug.formparser.MultiPartParser.parse
    functionSourceFile: werkzeug.formparser
    functionUses: 4
    functionsReached:
    - werkzeug.formparser.MultiPartParser.get_part_charset
    - fields.append
    - rest.strip
    - _continuation_re.search
    - options.get
    - match.end
    - werkzeug.sansio.multipart.MultipartDecoder.__init__
    - tempfile.TemporaryFile
    - <builtin>.max
    - werkzeug.formparser._chunk_iter
    - <builtin>.getattr
    - match.group
    - werkzeug.http.parse_options_header
    - werkzeug.formparser.default_stream_factory
    - line.strip
    - werkzeug.sansio.multipart.MultipartDecoder._parse_data
    - io.BytesIO.seek
    - parts.append
    - werkzeug.formparser.MultiPartParser.start_file_streaming
    - value.strip
    - HEADER_CONTINUATION_RE.sub
    - headers.append
    - files.append
    - re.escape
    - <builtin>.min
    - _plain_int_re.fullmatch
    - m.group
    - extra.get
    - data.rindex
    - encoding.lower
    - <builtin>.len
    - value.partition
    - headers.get
    - tempfile.SpooledTemporaryFile
    - werkzeug.datastructures.headers.Headers.__init__
    - parameters.get
    - <builtin>.int
    - io.BytesIO
    - <builtin>.bytearray
    - BLANK_LINE_RE.search
    - mapping.items
    - <builtin>.str
    - name.strip
    - match.start
    - _charset_value_re.match
    - werkzeug._internal._plain_int
    - match.groups
    - werkzeug.sansio.multipart.MultipartDecoder.next_event
    - werkzeug.datastructures.headers.Headers.extend
    - <builtin>.bytes
    - m.end
    - werkzeug.sansio.multipart.MultipartDecoder.last_newline
    - io.BytesIO.write
    - _parameter_key_re.match
    - werkzeug.datastructures.structures.iter_multi_items
    - rest.find
    - os.fsdecode
    - <builtin>.isinstance
    - werkzeug.datastructures.file_storage.FileStorage.__init__
    - event.headers.get
    - werkzeug.sansio.multipart.MultipartDecoder.receive_data
    - io.BytesIO.append
    - re.compile
    - LINE_BREAK_RE.match
    - typing.cast
    - urllib.parse.unquote
    - werkzeug.sansio.multipart.MultipartDecoder._parse_headers
    - line.decode
    - _parameter_token_value_re.match
    - data.splitlines
    linkageType: pythonLinkage
    raised:
    - RequestEntityTooLarge
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: stream.read
    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: urllib.parse.parse_qsl
    functionSourceFile: urllib
    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
    - message
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 315
    functionName: werkzeug.formparser.MultiPartParser.fail
    functionSourceFile: werkzeug.formparser
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - headers
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 318
    functionName: werkzeug.formparser.MultiPartParser.get_part_charset
    functionSourceFile: werkzeug.formparser
    functionUses: 5
    functionsReached:
    - rest.strip
    - _continuation_re.search
    - options.get
    - werkzeug.http.parse_options_header
    - parts.append
    - value.strip
    - m.group
    - encoding.lower
    - <builtin>.len
    - value.partition
    - headers.get
    - parameters.get
    - match.start
    - _charset_value_re.match
    - match.groups
    - m.end
    - _parameter_key_re.match
    - rest.find
    - urllib.parse.unquote
    - _parameter_token_value_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: headers.get
    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: parameters.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: 3
    argDefaultValues: []
    argNames:
    - self
    - event
    - total_content_length
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 333
    functionName: werkzeug.formparser.MultiPartParser.start_file_streaming
    functionSourceFile: werkzeug.formparser
    functionUses: 5
    functionsReached:
    - tempfile.SpooledTemporaryFile
    - <builtin>.int
    - io.BytesIO
    - tempfile.TemporaryFile
    - event.headers.get
    - _plain_int_re.fullmatch
    - werkzeug.formparser.default_stream_factory
    - typing.cast
    - value.strip
    - werkzeug._internal._plain_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: event.headers.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: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d943c7d90>
    argNames:
    - self
    - boundary
    - max_form_memory_size
    - max_parts
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 84
    functionName: werkzeug.sansio.multipart.MultipartDecoder.__init__
    functionSourceFile: werkzeug.sansio.multipart
    functionUses: 5
    functionsReached:
    - <builtin>.bytearray
    - re.compile
    - re.escape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - read
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 418
    functionName: werkzeug.formparser._chunk_iter
    functionSourceFile: ''
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 136
    functionName: werkzeug.sansio.multipart.MultipartDecoder.receive_data
    functionSourceFile: werkzeug.sansio.multipart
    functionUses: 5
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - RequestEntityTooLarge
    returnType: N/A
  - BBCount: 14
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 21
    ICount: 0
    IfCount: 14
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 149
    functionName: werkzeug.sansio.multipart.MultipartDecoder.next_event
    functionSourceFile: werkzeug.sansio.multipart
    functionUses: 5
    functionsReached:
    - rest.strip
    - _continuation_re.search
    - match.end
    - options.get
    - <builtin>.max
    - match.group
    - werkzeug.http.parse_options_header
    - line.strip
    - werkzeug.sansio.multipart.MultipartDecoder._parse_data
    - parts.append
    - value.strip
    - HEADER_CONTINUATION_RE.sub
    - headers.append
    - <builtin>.min
    - m.group
    - extra.get
    - data.rindex
    - encoding.lower
    - <builtin>.len
    - value.partition
    - BLANK_LINE_RE.search
    - name.strip
    - match.start
    - _charset_value_re.match
    - werkzeug.sansio.multipart.MultipartDecoder.last_newline
    - match.groups
    - <builtin>.bytes
    - m.end
    - _parameter_key_re.match
    - rest.find
    - <builtin>.isinstance
    - LINE_BREAK_RE.match
    - typing.cast
    - urllib.parse.unquote
    - werkzeug.sansio.multipart.MultipartDecoder._parse_headers
    - line.decode
    - _parameter_token_value_re.match
    - data.splitlines
    linkageType: pythonLinkage
    raised:
    - ValueError
    - RequestEntityTooLarge
    returnType: N/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.append
    functionSourceFile: io
    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: io.BytesIO.write
    functionSourceFile: io
    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: fields.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: io.BytesIO.seek
    functionSourceFile: io
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 0
    IfCount: 6
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f5d9406c670>
    - <ast.Constant object at 0x7f5d9406ceb0>
    - <ast.Constant object at 0x7f5d9406c880>
    - <ast.Constant object at 0x7f5d9406cd60>
    - <ast.Constant object at 0x7f5d9406cee0>
    - <ast.Constant object at 0x7f5d9406c070>
    argNames:
    - self
    - stream
    - filename
    - name
    - content_type
    - content_length
    - headers
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 24
    functionName: werkzeug.datastructures.file_storage.FileStorage.__init__
    functionSourceFile: werkzeug.datastructures.file_storage
    functionUses: 6
    functionsReached:
    - werkzeug.datastructures.headers.Headers.extend
    - werkzeug.datastructures.headers.Headers.__init__
    - io.BytesIO
    - werkzeug.datastructures.structures.iter_multi_items
    - os.fsdecode
    - <builtin>.getattr
    - <builtin>.isinstance
    - mapping.items
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: files.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: 1
    functionLinenumber: -1
    functionName: werkzeug.test
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 11
    IfCount: 7
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93d933d0>
    - <ast.BinOp object at 0x7f5d93d934f0>
    - <ast.Constant object at 0x7f5d93edb820>
    argNames:
    - data
    - use_tempfile
    - threshold
    - boundary
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 54
    functionName: werkzeug.test.stream_encode_multipart
    functionSourceFile: werkzeug.test
    functionUses: 15
    functionsReached:
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - werkzeug.test._iter_data
    - tempfile.TemporaryFile
    - new_stream.write
    - <builtin>.getattr
    - random.random
    - name.lower
    - data.items
    - value.encode
    - mimetypes.guess_type
    - <builtin>.len
    - werkzeug.test.stream_encode_multipart.write_binary
    - io.BytesIO
    - stream.seek
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - <builtin>.str
    - boundary.encode
    - stream.write
    - event.filename.encode
    - headers.update
    - <builtin>.isinstance
    - typing.cast
    - event.name.encode
    - time.time
    - stream.tell
    - stream.getvalue
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 26
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 77
    functionName: werkzeug.test.stream_encode_multipart.write_binary
    functionSourceFile: werkzeug.test
    functionUses: 16
    functionsReached:
    - stream.write
    - tempfile.TemporaryFile
    - new_stream.write
    - typing.cast
    - <builtin>.len
    - stream.getvalue
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: stream.write
    functionSourceFile: <builtin>
    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: stream.getvalue
    functionSourceFile: <builtin>
    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: new_stream.write
    functionSourceFile: <builtin>
    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: boundary.encode
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - boundary
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 288
    functionName: werkzeug.sansio.multipart.MultipartEncoder.__init__
    functionSourceFile: ''
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 0
    IfCount: 8
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - event
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 292
    functionName: werkzeug.sansio.multipart.MultipartEncoder.send_event
    functionSourceFile: werkzeug.sansio.multipart
    functionUses: 16
    functionsReached:
    - name.lower
    - event.filename.encode
    - <builtin>.isinstance
    - typing.cast
    - event.name.encode
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 159
    functionName: werkzeug.test._iter_data
    functionSourceFile: werkzeug.test
    functionUses: 18
    functionsReached:
    - <builtin>.isinstance
    - data.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: mimetypes.guess_type
    functionSourceFile: mimetypes
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: stream.tell
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: stream.seek
    functionSourceFile: <builtin>
    functionUses: 16
    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 0x7f5d94192550>
    argNames:
    - values
    - boundary
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 144
    functionName: werkzeug.test.encode_multipart
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - werkzeug.test.stream_encode_multipart
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - werkzeug.test._iter_data
    - tempfile.TemporaryFile
    - new_stream.write
    - stream.read
    - <builtin>.getattr
    - random.random
    - name.lower
    - data.items
    - value.encode
    - mimetypes.guess_type
    - <builtin>.len
    - werkzeug.test.stream_encode_multipart.write_binary
    - io.BytesIO
    - stream.seek
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - <builtin>.str
    - boundary.encode
    - stream.write
    - event.filename.encode
    - headers.update
    - <builtin>.isinstance
    - typing.cast
    - event.name.encode
    - time.time
    - stream.tell
    - stream.getvalue
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.items
    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: <builtin>.staticmethod
    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: 1
    functionLinenumber: -1
    functionName: werkzeug.test.EnvironBuilder
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - urllib.parse.urlunsplit.setter
    - urllib.parse.urlsplit.query.setter
    - <builtin>.staticmethod
    - io.BytesIO.setter
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.urlsplit
    functionSourceFile: urllib
    functionUses: 34
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - iri
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 113
    functionName: werkzeug.urls.iri_to_uri
    functionSourceFile: werkzeug.urls
    functionUses: 17
    functionsReached:
    - urllib.parse.urlsplit.hostname.encode
    - urllib.parse.urlsplit
    - urllib.parse.quote
    - urllib.parse.urlunsplit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d9430d730>
    - <ast.Constant object at 0x7f5d9430de20>
    argNames:
    - self
    - auth_type
    - data
    - token
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 43
    functionName: werkzeug.datastructures.auth.Authorization.__init__
    functionSourceFile: ''
    functionUses: 16
    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: 3
    functionLinenumber: 120
    functionName: werkzeug.datastructures.auth.Authorization.to_header
    functionSourceFile: werkzeug.datastructures.auth
    functionUses: 16
    functionsReached:
    - werkzeug.http.quote_header_value
    - items.append
    - <builtin>.isinstance
    - token_chars.issuperset
    - value_str.replace
    - <builtin>.str
    - werkzeug.http.dump_header
    - base64.b64encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 101
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: data.encode
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 429
    functionName: werkzeug.test.EnvironBuilder._add_file_from_data
    functionSourceFile: werkzeug.test
    functionUses: 14
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - cls
    - environ
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 397
    functionName: werkzeug.test.EnvironBuilder.from_environ
    functionSourceFile: werkzeug.test
    functionUses: 10
    functionsReached:
    - <builtin>.hasattr
    - werkzeug.test._iter_data
    - urllib.parse.urlsplit.hostname.encode
    - urllib.parse.quote
    - werkzeug.test.EnvironBuilder.__init__
    - value_str.replace
    - out.update
    - werkzeug.http.quote_header_value
    - werkzeug.test.EnvironBuilder._make_base_url
    - data.items
    - items.append
    - werkzeug.urls.iri_to_uri
    - werkzeug.datastructures.auth.Authorization.__init__
    - token_chars.issuperset
    - urllib.parse.urlunsplit
    - <builtin>.len
    - werkzeug.datastructures.auth.Authorization.to_header
    - io.BytesIO
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - urllib.parse.urlsplit
    - <builtin>.str
    - urllib.parse.urlunsplit.rstrip
    - base64.b64encode
    - werkzeug._internal._wsgi_decoding_dance
    - data.read
    - headers.pop
    - s.encode
    - data.encode
    - <builtin>.isinstance
    - werkzeug.http.dump_header
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.pop
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - scheme
    - host
    - script_root
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 441
    functionName: werkzeug.test.EnvironBuilder._make_base_url
    functionSourceFile: werkzeug.test
    functionUses: 12
    functionsReached:
    - urllib.parse.urlunsplit.rstrip
    - urllib.parse.urlunsplit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: out.update
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.parse.urlunsplit
    functionSourceFile: urllib
    functionUses: 36
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.urlunsplit.rstrip
    functionSourceFile: urllib
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 452
    functionName: werkzeug.test.EnvironBuilder.base_url
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - werkzeug.test.EnvironBuilder._make_base_url
    - script_root.rstrip
    - urllib.parse.urlsplit
    - urllib.parse.urlunsplit.rstrip
    - urllib.parse.urlunsplit
    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: urllib.parse.urlunsplit.setter
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: script_root.rstrip
    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
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 481
    functionName: werkzeug.test.EnvironBuilder.content_type
    functionSourceFile: werkzeug.test
    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
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 497
    functionName: werkzeug.test.EnvironBuilder.mimetype
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - werkzeug.utils.get_content_type
    - mimetype.endswith
    - ct.split
    - mimetype.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: ct.split
    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:
    - mimetype
    - charset
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 170
    functionName: werkzeug.utils.get_content_type
    functionSourceFile: werkzeug.utils
    functionUses: 4
    functionsReached:
    - mimetype.endswith
    - mimetype.startswith
    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: 501
    functionName: werkzeug.test.EnvironBuilder.mimetype_params
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - value.partition
    - rest.strip
    - m.end
    - _continuation_re.search
    - _parameter_key_re.match
    - options.get
    - rest.find
    - encoding.lower
    - werkzeug.http.parse_options_header
    - m.group
    - <builtin>.len
    - match.start
    - urllib.parse.unquote
    - _charset_value_re.match
    - parts.append
    - value.strip
    - _parameter_token_value_re.match
    - match.groups
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - d
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 509
    functionName: werkzeug.test.EnvironBuilder.mimetype_params.on_update
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - werkzeug.http.quote_header_value
    - segments.append
    - token_chars.issuperset
    - value_str.replace
    - <builtin>.str
    - werkzeug.http.dump_options_header
    - options.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 524
    functionName: werkzeug.test.EnvironBuilder.content_length
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - storage
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 530
    functionName: werkzeug.test.EnvironBuilder._get_form
    functionSourceFile: werkzeug.test
    functionUses: 2
    functionsReached:
    - <builtin>.getattr
    - <builtin>.setattr
    linkageType: pythonLinkage
    raised:
    - AttributeError
    returnType: N/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: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 548
    functionName: werkzeug.test.EnvironBuilder._set_form
    functionSourceFile: werkzeug.test
    functionUses: 2
    functionsReached:
    - <builtin>.setattr
    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: 2
    functionLinenumber: 564
    functionName: werkzeug.test.EnvironBuilder.form
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - <builtin>.setattr
    - werkzeug.test.EnvironBuilder._get_form
    - werkzeug.test.EnvironBuilder._set_form
    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: 2
    functionLinenumber: 575
    functionName: werkzeug.test.EnvironBuilder.files
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - <builtin>.setattr
    - werkzeug.test.EnvironBuilder._get_form
    - werkzeug.test.EnvironBuilder._set_form
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 588
    functionName: werkzeug.test.EnvironBuilder.input_stream
    functionSourceFile: werkzeug.test
    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: io.BytesIO.setter
    functionSourceFile: ''
    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
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 605
    functionName: werkzeug.test.EnvironBuilder.query_string
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - werkzeug.urls._urlencode
    - urllib.parse.urlencode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - query
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 200
    functionName: werkzeug.urls._urlencode
    functionSourceFile: werkzeug.urls
    functionUses: 24
    functionsReached:
    - urllib.parse.urlencode
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.urlsplit.query.setter
    functionSourceFile: ''
    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
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 619
    functionName: werkzeug.test.EnvironBuilder.args
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - AttributeError
    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: 624
    functionName: werkzeug.test.EnvironBuilder.server_name
    functionSourceFile: werkzeug.test
    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: 1
    functionLinenumber: 629
    functionName: werkzeug.test.EnvironBuilder.server_port
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - <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: 2
    functionLinenumber: 643
    functionName: werkzeug.test.EnvironBuilder.__del__
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - werkzeug.test.EnvironBuilder.close
    - f.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: f.close
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 9
    IfCount: 7
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 667
    functionName: werkzeug.test.EnvironBuilder.get_environ
    functionSourceFile: werkzeug.test
    functionUses: 13
    functionsReached:
    - werkzeug.test.stream_encode_multipart
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - urllib.parse.urlencode
    - werkzeug.test._iter_data
    - tempfile.TemporaryFile
    - new_stream.write
    - collections.defaultdict
    - <builtin>.getattr
    - urllib.parse.unquote.encode
    - random.random
    - headers.remove
    - urllib.parse.urlsplit.path.encode
    - io.BytesIO.seek
    - werkzeug._internal._wsgi_encoding_dance
    - event.name.encode
    - io.BytesIO.tell
    - name.lower
    - data.items
    - typing.cast
    - value.encode
    - result.update
    - mimetypes.guess_type
    - collections.defaultdict.items
    - <builtin>.len
    - werkzeug.test.stream_encode_multipart.write_binary
    - io.BytesIO
    - headers.to_wsgi_list
    - key.upper
    - stream.seek
    - <builtin>.str
    - boundary.encode
    - http.server.BaseHTTPRequestHandler.path.encode
    - urllib.parse.urlsplit.query.encode
    - stream.write
    - event.filename.encode
    - headers.update
    - <builtin>.isinstance
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - werkzeug.urls._urlencode
    - time.time
    - stream.tell
    - stream.getvalue
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.tell
    functionSourceFile: io
    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: result.update
    functionSourceFile: <builtin>
    functionUses: 25
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - x
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 703
    functionName: werkzeug.test.EnvironBuilder.get_environ._path_encode
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - http.server.BaseHTTPRequestHandler.path.encode
    - urllib.parse.urlsplit.query.encode
    - urllib.parse.unquote.encode
    - urllib.parse.unquote
    - urllib.parse.urlsplit.path.encode
    - werkzeug._internal._wsgi_encoding_dance
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.remove
    functionSourceFile: <builtin>
    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: collections.defaultdict
    functionSourceFile: collections
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.to_wsgi_list
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.upper
    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: collections.defaultdict.items
    functionSourceFile: collections
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f5d942d3460>
    - <ast.Constant object at 0x7f5d942d3250>
    - <ast.Constant object at 0x7f5d943c7df0>
    argNames:
    - self
    - application
    - response_wrapper
    - use_cookies
    - allow_subdomain_redirects
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 801
    functionName: werkzeug.test.Client.__init__
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - <builtin>.issubclass
    - typing.cast
    - <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: <builtin>.issubclass
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d9453afd0>
    - <ast.Constant object at 0x7f5d9453a220>
    argNames:
    - self
    - key
    - domain
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 830
    functionName: werkzeug.test.Client.get_cookie
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f5d94454f40>
    argNames:
    - self
    - key
    - value
    - domain
    - origin_only
    - path
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 849
    functionName: werkzeug.test.Client.set_cookie
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - <builtin>.next
    - _cookie_re.findall
    - header.get
    - warnings.warn
    - key.strip
    - urllib.parse.quote
    - _cookie_unslash_re.sub
    - datetime.time
    - werkzeug._internal._dt_as_utc
    - value.strip
    - buf.append
    - item.partition
    - werkzeug.http.parse_date
    - datetime.datetime.combine
    - key.encode
    - time.mktime
    - werkzeug.sansio.http.parse_cookie
    - value.encode
    - max_age.total_seconds
    - domain.partition
    - k.strip
    - <builtin>.len
    - time.mktime.replace
    - <builtin>.int
    - werkzeug.http.dump_cookie
    - header.partition
    - urllib.parse.urlsplit.path.rpartition
    - parameters_str.split
    - werkzeug.test.Cookie._from_response_header
    - out.append
    - time.mktime.astimezone
    - cookie.encode
    - _cookie_slash_re.sub
    - email.utils.formatdate
    - ck.strip
    - v.strip
    - email.utils.parsedate_to_datetime
    - werkzeug.http.parse_cookie
    - samesite.title
    - dt.replace
    - datetime.datetime.now
    - <builtin>.isinstance
    - werkzeug.http.http_date
    - email.utils.format_datetime
    - _cookie_no_quote_re.fullmatch
    - cv.strip
    - typing.cast
    - params.get
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - cls
    - server_name
    - path
    - header
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1431
    functionName: werkzeug.test.Cookie._from_response_header
    functionSourceFile: werkzeug.test
    functionUses: 13
    functionsReached:
    - <builtin>.next
    - _cookie_re.findall
    - header.get
    - key.strip
    - _cookie_unslash_re.sub
    - value.strip
    - item.partition
    - werkzeug.http.parse_date
    - werkzeug.sansio.http.parse_cookie
    - k.strip
    - <builtin>.len
    - <builtin>.int
    - header.partition
    - urllib.parse.urlsplit.path.rpartition
    - parameters_str.split
    - out.append
    - cookie.encode
    - ck.strip
    - v.strip
    - email.utils.parsedate_to_datetime
    - werkzeug.http.parse_cookie
    - dt.replace
    - <builtin>.isinstance
    - cv.strip
    - typing.cast
    - params.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - key
    - domain
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 904
    functionName: werkzeug.test.Client.delete_cookie
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - environ
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 935
    functionName: werkzeug.test.Client._add_cookies_to_wsgi
    functionSourceFile: werkzeug.test
    functionUses: 11
    functionsReached:
    - <builtin>.next
    - hostname.endswith
    - werkzeug.sansio.utils.get_host
    - urllib.parse.urlsplit.hostname.encode
    - hostname.partition
    - urllib.parse.quote
    - <builtin>.iter
    - parts.append
    - pattern.split
    - werkzeug.wsgi._get_server
    - ref.startswith
    - data.split
    - host.endswith
    - path.lstrip
    - urllib.parse.urlunsplit
    - data.decode
    - werkzeug.wsgi.get_current_url
    - environ.get
    - <builtin>.int
    - out.append
    - urllib.parse.urlsplit
    - werkzeug.sansio.utils.get_current_url
    - werkzeug.sansio.utils.host_is_trusted
    - c._to_request_header
    - part.decode
    - werkzeug.urls._decode_idna
    - werkzeug.urls.uri_to_iri
    - werkzeug.wsgi.get_host
    - c._matches_request
    - root_path.rstrip
    - url.append
    - werkzeug.urls._make_unquote_part._unquote_partial
    - <builtin>.isinstance
    - urllib.parse.unquote
    - ref.partition
    - environ.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f5d9454f6a0>
    - <ast.Constant object at 0x7f5d9454f730>
    - <ast.Constant object at 0x7f5d9454f8b0>
    - <ast.Constant object at 0x7f5d9454f280>
    argNames:
    - environ
    - root_only
    - strip_querystring
    - host_only
    - trusted_hosts
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 31
    functionName: werkzeug.wsgi.get_current_url
    functionSourceFile: werkzeug.wsgi
    functionUses: 15
    functionsReached:
    - <builtin>.next
    - hostname.endswith
    - werkzeug.sansio.utils.get_host
    - urllib.parse.urlsplit.hostname.encode
    - hostname.partition
    - urllib.parse.quote
    - <builtin>.iter
    - parts.append
    - pattern.split
    - werkzeug.wsgi._get_server
    - ref.startswith
    - data.split
    - host.endswith
    - path.lstrip
    - urllib.parse.urlunsplit
    - data.decode
    - environ.get
    - <builtin>.int
    - out.append
    - werkzeug.sansio.utils.get_current_url
    - urllib.parse.urlsplit
    - werkzeug.sansio.utils.host_is_trusted
    - part.decode
    - werkzeug.urls._decode_idna
    - werkzeug.urls.uri_to_iri
    - werkzeug.wsgi.get_host
    - root_path.rstrip
    - url.append
    - werkzeug.urls._make_unquote_part._unquote_partial
    - <builtin>.isinstance
    - urllib.parse.unquote
    - ref.partition
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: c._to_request_header
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: c._matches_request
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: environ.pop
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - server_name
    - path
    - headers
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 959
    functionName: werkzeug.test.Client._update_cookies_from_response
    functionSourceFile: werkzeug.test
    functionUses: 11
    functionsReached:
    - <builtin>.next
    - _cookie_re.findall
    - header.get
    - key.strip
    - _cookie_unslash_re.sub
    - value.strip
    - item.partition
    - werkzeug.http.parse_date
    - werkzeug.sansio.http.parse_cookie
    - k.strip
    - <builtin>.len
    - <builtin>.int
    - header.partition
    - urllib.parse.urlsplit.path.rpartition
    - parameters_str.split
    - werkzeug.test.Cookie._from_response_header
    - out.append
    - cookie.encode
    - ck.strip
    - v.strip
    - email.utils.parsedate_to_datetime
    - werkzeug.http.parse_cookie
    - dt.replace
    - <builtin>.isinstance
    - cv.strip
    - typing.cast
    - params.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d935b76d0>
    argNames:
    - self
    - environ
    - buffered
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 980
    functionName: werkzeug.test.Client.run_wsgi_app
    functionSourceFile: werkzeug.test
    functionUses: 10
    functionsReached:
    - <builtin>.next
    - _cookie_re.findall
    - hostname.endswith
    - werkzeug.sansio.utils.get_host
    - urllib.parse.urlsplit.hostname.encode
    - header.get
    - key.strip
    - werkzeug.test.Client._add_cookies_to_wsgi
    - hostname.partition
    - urllib.parse.quote
    - _cookie_unslash_re.sub
    - <builtin>.iter
    - parts.append
    - value.strip
    - pattern.split
    - werkzeug.wsgi._get_server
    - item.partition
    - werkzeug.test.Client._update_cookies_from_response
    - ref.startswith
    - werkzeug.http.parse_date
    - werkzeug.sansio.http.parse_cookie
    - data.split
    - host.endswith
    - path.lstrip
    - urllib.parse.urlunsplit
    - k.strip
    - <builtin>.len
    - data.decode
    - werkzeug.wsgi.get_current_url
    - environ.get
    - <builtin>.int
    - header.partition
    - urllib.parse.urlsplit.path.rpartition
    - urllib.parse.unquote
    - parameters_str.split
    - werkzeug.test.Cookie._from_response_header
    - out.append
    - urllib.parse.urlsplit
    - werkzeug.sansio.utils.get_current_url
    - werkzeug.sansio.utils.host_is_trusted
    - c._to_request_header
    - v.strip
    - cookie.encode
    - ck.strip
    - email.utils.parsedate_to_datetime
    - werkzeug.urls._decode_idna
    - part.decode
    - werkzeug.http.parse_cookie
    - werkzeug.test.Client.run_wsgi_app
    - werkzeug.urls.uri_to_iri
    - werkzeug.wsgi.get_host
    - dt.replace
    - c._matches_request
    - root_path.rstrip
    - url.append
    - werkzeug.urls._make_unquote_part._unquote_partial
    - <builtin>.isinstance
    - cv.strip
    - typing.cast
    - params.get
    - ref.partition
    - environ.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 3
    IfCount: 8
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d943c0580>
    argNames:
    - self
    - response
    - buffered
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 995
    functionName: werkzeug.test.Client.resolve_redirect
    functionSourceFile: werkzeug.test
    functionUses: 9
    functionsReached:
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - _cookie_re.findall
    - header.get
    - urllib.parse.unquote.encode
    - werkzeug.test.Client._add_cookies_to_wsgi
    - out.update
    - ref.startswith
    - werkzeug.test.Client._update_cookies_from_response
    - name.lower
    - data.split
    - token_chars.issuperset
    - werkzeug.test.EnvironBuilder.close
    - data.decode
    - werkzeug.wsgi.get_current_url
    - io.BytesIO
    - stream.seek
    - parameters_str.split
    - werkzeug.test.EnvironBuilder.get_request
    - boundary.encode
    - werkzeug.test.Client.run_wsgi_app
    - base64.b64encode
    - dt.replace
    - http.server.BaseHTTPRequestHandler.path.encode
    - root_path.rstrip
    - data.encode
    - params.get
    - urllib.parse.unquote
    - ref.partition
    - <builtin>.hasattr
    - <builtin>.next
    - werkzeug.test._iter_data
    - urllib.parse.urlsplit.hostname.encode
    - werkzeug.test.EnvironBuilder.from_environ
    - tempfile.TemporaryFile
    - collections.defaultdict
    - key.strip
    - _cookie_unslash_re.sub
    - random.random
    - headers.remove
    - werkzeug._internal._wsgi_encoding_dance
    - pattern.split
    - <builtin>.tuple
    - <builtin>.set
    - werkzeug.http.quote_header_value
    - werkzeug.test.EnvironBuilder._make_base_url
    - <builtin>.super
    - path.split
    - werkzeug.sansio.http.parse_cookie
    - result.update
    - host.endswith
    - response.call_on_close
    - urllib.parse.urlunsplit
    - path.lstrip
    - k.strip
    - arg.get_request
    - werkzeug.datastructures.auth.Authorization.to_header
    - environ.get
    - response.make_sequence
    - urllib.parse.urlsplit
    - werkzeug.sansio.utils.get_current_url
    - cookie.encode
    - c._to_request_header
    - werkzeug.sansio.utils.host_is_trusted
    - werkzeug.urls._decode_idna
    - email.utils.parsedate_to_datetime
    - werkzeug.wsgi.get_host
    - headers.pop
    - redirects.add
    - cv.strip
    - typing.cast
    - werkzeug.urls._urlencode
    - builder.server_name.split
    - builder.headers.pop
    - time.time
    - stream.getvalue
    - werkzeug.test.stream_encode_multipart
    - new_stream.write
    - <builtin>.iter
    - value_str.replace
    - io.BytesIO.seek
    - value.strip
    - werkzeug.wsgi._get_server
    - builder.input_stream.close
    - items.append
    - werkzeug.urls.iri_to_uri
    - mimetypes.guess_type
    - <builtin>.int
    - headers.to_wsgi_list
    - part.decode
    - ck.strip
    - urllib.parse.urlunsplit.rstrip
    - response.close
    - werkzeug.datastructures.headers.EnvironHeaders.__init__
    - werkzeug.http.parse_cookie
    - werkzeug.urls.uri_to_iri
    - werkzeug._internal._wsgi_decoding_dance
    - urllib.parse.urlsplit.query.encode
    - c._matches_request
    - history.append
    - stream.write
    - event.filename.encode
    - headers.update
    - s.encode
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - stream.tell
    - f.close
    - urllib.parse.urlencode
    - werkzeug.test.Client.open
    - hostname.endswith
    - werkzeug.sansio.utils.get_host
    - <builtin>.getattr
    - urllib.parse.quote
    - builder.script_root.split
    - werkzeug.test.EnvironBuilder.__init__
    - hostname.partition
    - urllib.parse.urlsplit.path.encode
    - parts.append
    - io.BytesIO.tell
    - item.partition
    - netloc.split
    - werkzeug.test.Client.resolve_redirect
    - werkzeug.http.parse_date
    - data.items
    - value.encode
    - werkzeug.datastructures.auth.Authorization.__init__
    - collections.defaultdict.items
    - <builtin>.len
    - werkzeug.test.stream_encode_multipart.write_binary
    - header.partition
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - werkzeug.wrappers.request.Request.__init__
    - key.upper
    - werkzeug.test.Cookie._from_response_header
    - urllib.parse.urlsplit.path.rpartition
    - out.append
    - v.strip
    - <builtin>.str
    - data.read
    - url.append
    - <builtin>.isinstance
    - werkzeug.urls._make_unquote_part._unquote_partial
    - event.name.encode
    - werkzeug.http.dump_header
    - environ.pop
    - werkzeug.test.EnvironBuilder.get_environ
    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: netloc.split
    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: builder.server_name.split
    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: path.split
    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: builder.script_root.split
    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: builder.input_stream.close
    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: builder.headers.pop
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 7
    IfCount: 8
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - args
    - buffered
    - follow_redirects
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 1058
    functionName: werkzeug.test.Client.open
    functionSourceFile: werkzeug.test
    functionUses: 9
    functionsReached:
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - _cookie_re.findall
    - header.get
    - urllib.parse.unquote.encode
    - werkzeug.test.Client._add_cookies_to_wsgi
    - out.update
    - ref.startswith
    - werkzeug.test.Client._update_cookies_from_response
    - name.lower
    - data.split
    - token_chars.issuperset
    - werkzeug.test.EnvironBuilder.close
    - data.decode
    - werkzeug.wsgi.get_current_url
    - io.BytesIO
    - stream.seek
    - parameters_str.split
    - werkzeug.test.EnvironBuilder.get_request
    - boundary.encode
    - werkzeug.test.Client.run_wsgi_app
    - base64.b64encode
    - dt.replace
    - http.server.BaseHTTPRequestHandler.path.encode
    - root_path.rstrip
    - data.encode
    - params.get
    - urllib.parse.unquote
    - ref.partition
    - <builtin>.hasattr
    - <builtin>.next
    - werkzeug.test._iter_data
    - urllib.parse.urlsplit.hostname.encode
    - werkzeug.test.EnvironBuilder.from_environ
    - tempfile.TemporaryFile
    - collections.defaultdict
    - key.strip
    - _cookie_unslash_re.sub
    - random.random
    - headers.remove
    - werkzeug._internal._wsgi_encoding_dance
    - pattern.split
    - <builtin>.tuple
    - <builtin>.set
    - werkzeug.http.quote_header_value
    - werkzeug.test.EnvironBuilder._make_base_url
    - <builtin>.super
    - path.split
    - werkzeug.sansio.http.parse_cookie
    - result.update
    - host.endswith
    - response.call_on_close
    - urllib.parse.urlunsplit
    - path.lstrip
    - k.strip
    - arg.get_request
    - werkzeug.datastructures.auth.Authorization.to_header
    - environ.get
    - response.make_sequence
    - urllib.parse.urlsplit
    - werkzeug.sansio.utils.get_current_url
    - cookie.encode
    - c._to_request_header
    - werkzeug.sansio.utils.host_is_trusted
    - werkzeug.urls._decode_idna
    - email.utils.parsedate_to_datetime
    - werkzeug.wsgi.get_host
    - headers.pop
    - redirects.add
    - cv.strip
    - typing.cast
    - werkzeug.urls._urlencode
    - builder.server_name.split
    - builder.headers.pop
    - time.time
    - stream.getvalue
    - werkzeug.test.stream_encode_multipart
    - new_stream.write
    - <builtin>.iter
    - value_str.replace
    - io.BytesIO.seek
    - value.strip
    - werkzeug.wsgi._get_server
    - builder.input_stream.close
    - items.append
    - werkzeug.urls.iri_to_uri
    - mimetypes.guess_type
    - <builtin>.int
    - headers.to_wsgi_list
    - part.decode
    - ck.strip
    - urllib.parse.urlunsplit.rstrip
    - response.close
    - werkzeug.datastructures.headers.EnvironHeaders.__init__
    - werkzeug.http.parse_cookie
    - werkzeug.urls.uri_to_iri
    - werkzeug._internal._wsgi_decoding_dance
    - urllib.parse.urlsplit.query.encode
    - c._matches_request
    - history.append
    - stream.write
    - event.filename.encode
    - headers.update
    - s.encode
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - stream.tell
    - f.close
    - urllib.parse.urlencode
    - werkzeug.test.Client.open
    - hostname.endswith
    - werkzeug.sansio.utils.get_host
    - <builtin>.getattr
    - urllib.parse.quote
    - builder.script_root.split
    - werkzeug.test.EnvironBuilder.__init__
    - hostname.partition
    - urllib.parse.urlsplit.path.encode
    - parts.append
    - io.BytesIO.tell
    - item.partition
    - netloc.split
    - werkzeug.test.Client.resolve_redirect
    - werkzeug.http.parse_date
    - data.items
    - value.encode
    - werkzeug.datastructures.auth.Authorization.__init__
    - collections.defaultdict.items
    - <builtin>.len
    - werkzeug.test.stream_encode_multipart.write_binary
    - header.partition
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - werkzeug.wrappers.request.Request.__init__
    - key.upper
    - werkzeug.test.Cookie._from_response_header
    - urllib.parse.urlsplit.path.rpartition
    - out.append
    - v.strip
    - <builtin>.str
    - data.read
    - url.append
    - <builtin>.isinstance
    - werkzeug.urls._make_unquote_part._unquote_partial
    - event.name.encode
    - werkzeug.http.dump_header
    - environ.pop
    - werkzeug.test.EnvironBuilder.get_environ
    linkageType: pythonLinkage
    raised:
    - ClientRedirectError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: arg.get_request
    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: response.make_sequence
    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: response.close
    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: redirects.add
    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>.tuple
    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: history.append
    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: response.call_on_close
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 1159
    functionName: werkzeug.test.Client.get
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - _cookie_re.findall
    - header.get
    - urllib.parse.unquote.encode
    - werkzeug.test.Client._add_cookies_to_wsgi
    - out.update
    - ref.startswith
    - werkzeug.test.Client._update_cookies_from_response
    - name.lower
    - data.split
    - token_chars.issuperset
    - werkzeug.test.EnvironBuilder.close
    - data.decode
    - werkzeug.wsgi.get_current_url
    - io.BytesIO
    - stream.seek
    - parameters_str.split
    - werkzeug.test.EnvironBuilder.get_request
    - boundary.encode
    - werkzeug.test.Client.run_wsgi_app
    - base64.b64encode
    - dt.replace
    - http.server.BaseHTTPRequestHandler.path.encode
    - root_path.rstrip
    - data.encode
    - params.get
    - urllib.parse.unquote
    - ref.partition
    - <builtin>.hasattr
    - <builtin>.next
    - werkzeug.test._iter_data
    - urllib.parse.urlsplit.hostname.encode
    - werkzeug.test.EnvironBuilder.from_environ
    - tempfile.TemporaryFile
    - collections.defaultdict
    - key.strip
    - _cookie_unslash_re.sub
    - random.random
    - headers.remove
    - werkzeug._internal._wsgi_encoding_dance
    - pattern.split
    - <builtin>.tuple
    - <builtin>.set
    - werkzeug.http.quote_header_value
    - werkzeug.test.EnvironBuilder._make_base_url
    - <builtin>.super
    - path.split
    - werkzeug.sansio.http.parse_cookie
    - result.update
    - host.endswith
    - response.call_on_close
    - urllib.parse.urlunsplit
    - path.lstrip
    - k.strip
    - arg.get_request
    - werkzeug.datastructures.auth.Authorization.to_header
    - environ.get
    - response.make_sequence
    - urllib.parse.urlsplit
    - werkzeug.sansio.utils.get_current_url
    - cookie.encode
    - c._to_request_header
    - werkzeug.sansio.utils.host_is_trusted
    - werkzeug.urls._decode_idna
    - email.utils.parsedate_to_datetime
    - werkzeug.wsgi.get_host
    - headers.pop
    - redirects.add
    - cv.strip
    - typing.cast
    - werkzeug.urls._urlencode
    - builder.server_name.split
    - builder.headers.pop
    - time.time
    - stream.getvalue
    - werkzeug.test.stream_encode_multipart
    - new_stream.write
    - <builtin>.iter
    - value_str.replace
    - io.BytesIO.seek
    - value.strip
    - werkzeug.wsgi._get_server
    - builder.input_stream.close
    - items.append
    - werkzeug.urls.iri_to_uri
    - mimetypes.guess_type
    - <builtin>.int
    - headers.to_wsgi_list
    - part.decode
    - ck.strip
    - urllib.parse.urlunsplit.rstrip
    - response.close
    - werkzeug.datastructures.headers.EnvironHeaders.__init__
    - werkzeug.http.parse_cookie
    - werkzeug.urls.uri_to_iri
    - werkzeug._internal._wsgi_decoding_dance
    - urllib.parse.urlsplit.query.encode
    - c._matches_request
    - history.append
    - stream.write
    - event.filename.encode
    - headers.update
    - s.encode
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - stream.tell
    - f.close
    - urllib.parse.urlencode
    - werkzeug.test.Client.open
    - hostname.endswith
    - werkzeug.sansio.utils.get_host
    - <builtin>.getattr
    - urllib.parse.quote
    - builder.script_root.split
    - werkzeug.test.EnvironBuilder.__init__
    - hostname.partition
    - urllib.parse.urlsplit.path.encode
    - parts.append
    - io.BytesIO.tell
    - item.partition
    - netloc.split
    - werkzeug.test.Client.resolve_redirect
    - werkzeug.http.parse_date
    - data.items
    - value.encode
    - werkzeug.datastructures.auth.Authorization.__init__
    - collections.defaultdict.items
    - <builtin>.len
    - werkzeug.test.stream_encode_multipart.write_binary
    - header.partition
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - werkzeug.wrappers.request.Request.__init__
    - key.upper
    - werkzeug.test.Cookie._from_response_header
    - urllib.parse.urlsplit.path.rpartition
    - out.append
    - v.strip
    - <builtin>.str
    - data.read
    - url.append
    - <builtin>.isinstance
    - werkzeug.urls._make_unquote_part._unquote_partial
    - event.name.encode
    - werkzeug.http.dump_header
    - environ.pop
    - werkzeug.test.EnvironBuilder.get_environ
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 1164
    functionName: werkzeug.test.Client.post
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - _cookie_re.findall
    - header.get
    - urllib.parse.unquote.encode
    - werkzeug.test.Client._add_cookies_to_wsgi
    - out.update
    - ref.startswith
    - werkzeug.test.Client._update_cookies_from_response
    - name.lower
    - data.split
    - token_chars.issuperset
    - werkzeug.test.EnvironBuilder.close
    - data.decode
    - werkzeug.wsgi.get_current_url
    - io.BytesIO
    - stream.seek
    - parameters_str.split
    - werkzeug.test.EnvironBuilder.get_request
    - boundary.encode
    - werkzeug.test.Client.run_wsgi_app
    - base64.b64encode
    - dt.replace
    - http.server.BaseHTTPRequestHandler.path.encode
    - root_path.rstrip
    - data.encode
    - params.get
    - urllib.parse.unquote
    - ref.partition
    - <builtin>.hasattr
    - <builtin>.next
    - werkzeug.test._iter_data
    - urllib.parse.urlsplit.hostname.encode
    - werkzeug.test.EnvironBuilder.from_environ
    - tempfile.TemporaryFile
    - collections.defaultdict
    - key.strip
    - _cookie_unslash_re.sub
    - random.random
    - headers.remove
    - werkzeug._internal._wsgi_encoding_dance
    - pattern.split
    - <builtin>.tuple
    - <builtin>.set
    - werkzeug.http.quote_header_value
    - werkzeug.test.EnvironBuilder._make_base_url
    - <builtin>.super
    - path.split
    - werkzeug.sansio.http.parse_cookie
    - result.update
    - host.endswith
    - response.call_on_close
    - urllib.parse.urlunsplit
    - path.lstrip
    - k.strip
    - arg.get_request
    - werkzeug.datastructures.auth.Authorization.to_header
    - environ.get
    - response.make_sequence
    - urllib.parse.urlsplit
    - werkzeug.sansio.utils.get_current_url
    - cookie.encode
    - c._to_request_header
    - werkzeug.sansio.utils.host_is_trusted
    - werkzeug.urls._decode_idna
    - email.utils.parsedate_to_datetime
    - werkzeug.wsgi.get_host
    - headers.pop
    - redirects.add
    - cv.strip
    - typing.cast
    - werkzeug.urls._urlencode
    - builder.server_name.split
    - builder.headers.pop
    - time.time
    - stream.getvalue
    - werkzeug.test.stream_encode_multipart
    - new_stream.write
    - <builtin>.iter
    - value_str.replace
    - io.BytesIO.seek
    - value.strip
    - werkzeug.wsgi._get_server
    - builder.input_stream.close
    - items.append
    - werkzeug.urls.iri_to_uri
    - mimetypes.guess_type
    - <builtin>.int
    - headers.to_wsgi_list
    - part.decode
    - ck.strip
    - urllib.parse.urlunsplit.rstrip
    - response.close
    - werkzeug.datastructures.headers.EnvironHeaders.__init__
    - werkzeug.http.parse_cookie
    - werkzeug.urls.uri_to_iri
    - werkzeug._internal._wsgi_decoding_dance
    - urllib.parse.urlsplit.query.encode
    - c._matches_request
    - history.append
    - stream.write
    - event.filename.encode
    - headers.update
    - s.encode
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - stream.tell
    - f.close
    - urllib.parse.urlencode
    - werkzeug.test.Client.open
    - hostname.endswith
    - werkzeug.sansio.utils.get_host
    - <builtin>.getattr
    - urllib.parse.quote
    - builder.script_root.split
    - werkzeug.test.EnvironBuilder.__init__
    - hostname.partition
    - urllib.parse.urlsplit.path.encode
    - parts.append
    - io.BytesIO.tell
    - item.partition
    - netloc.split
    - werkzeug.test.Client.resolve_redirect
    - werkzeug.http.parse_date
    - data.items
    - value.encode
    - werkzeug.datastructures.auth.Authorization.__init__
    - collections.defaultdict.items
    - <builtin>.len
    - werkzeug.test.stream_encode_multipart.write_binary
    - header.partition
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - werkzeug.wrappers.request.Request.__init__
    - key.upper
    - werkzeug.test.Cookie._from_response_header
    - urllib.parse.urlsplit.path.rpartition
    - out.append
    - v.strip
    - <builtin>.str
    - data.read
    - url.append
    - <builtin>.isinstance
    - werkzeug.urls._make_unquote_part._unquote_partial
    - event.name.encode
    - werkzeug.http.dump_header
    - environ.pop
    - werkzeug.test.EnvironBuilder.get_environ
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 1169
    functionName: werkzeug.test.Client.put
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - _cookie_re.findall
    - header.get
    - urllib.parse.unquote.encode
    - werkzeug.test.Client._add_cookies_to_wsgi
    - out.update
    - ref.startswith
    - werkzeug.test.Client._update_cookies_from_response
    - name.lower
    - data.split
    - token_chars.issuperset
    - werkzeug.test.EnvironBuilder.close
    - data.decode
    - werkzeug.wsgi.get_current_url
    - io.BytesIO
    - stream.seek
    - parameters_str.split
    - werkzeug.test.EnvironBuilder.get_request
    - boundary.encode
    - werkzeug.test.Client.run_wsgi_app
    - base64.b64encode
    - dt.replace
    - http.server.BaseHTTPRequestHandler.path.encode
    - root_path.rstrip
    - data.encode
    - params.get
    - urllib.parse.unquote
    - ref.partition
    - <builtin>.hasattr
    - <builtin>.next
    - werkzeug.test._iter_data
    - urllib.parse.urlsplit.hostname.encode
    - werkzeug.test.EnvironBuilder.from_environ
    - tempfile.TemporaryFile
    - collections.defaultdict
    - key.strip
    - _cookie_unslash_re.sub
    - random.random
    - headers.remove
    - werkzeug._internal._wsgi_encoding_dance
    - pattern.split
    - <builtin>.tuple
    - <builtin>.set
    - werkzeug.http.quote_header_value
    - werkzeug.test.EnvironBuilder._make_base_url
    - <builtin>.super
    - path.split
    - werkzeug.sansio.http.parse_cookie
    - result.update
    - host.endswith
    - response.call_on_close
    - urllib.parse.urlunsplit
    - path.lstrip
    - k.strip
    - arg.get_request
    - werkzeug.datastructures.auth.Authorization.to_header
    - environ.get
    - response.make_sequence
    - urllib.parse.urlsplit
    - werkzeug.sansio.utils.get_current_url
    - cookie.encode
    - c._to_request_header
    - werkzeug.sansio.utils.host_is_trusted
    - werkzeug.urls._decode_idna
    - email.utils.parsedate_to_datetime
    - werkzeug.wsgi.get_host
    - headers.pop
    - redirects.add
    - cv.strip
    - typing.cast
    - werkzeug.urls._urlencode
    - builder.server_name.split
    - builder.headers.pop
    - time.time
    - stream.getvalue
    - werkzeug.test.stream_encode_multipart
    - new_stream.write
    - <builtin>.iter
    - value_str.replace
    - io.BytesIO.seek
    - value.strip
    - werkzeug.wsgi._get_server
    - builder.input_stream.close
    - items.append
    - werkzeug.urls.iri_to_uri
    - mimetypes.guess_type
    - <builtin>.int
    - headers.to_wsgi_list
    - part.decode
    - ck.strip
    - urllib.parse.urlunsplit.rstrip
    - response.close
    - werkzeug.datastructures.headers.EnvironHeaders.__init__
    - werkzeug.http.parse_cookie
    - werkzeug.urls.uri_to_iri
    - werkzeug._internal._wsgi_decoding_dance
    - urllib.parse.urlsplit.query.encode
    - c._matches_request
    - history.append
    - stream.write
    - event.filename.encode
    - headers.update
    - s.encode
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - stream.tell
    - f.close
    - urllib.parse.urlencode
    - werkzeug.test.Client.open
    - hostname.endswith
    - werkzeug.sansio.utils.get_host
    - <builtin>.getattr
    - urllib.parse.quote
    - builder.script_root.split
    - werkzeug.test.EnvironBuilder.__init__
    - hostname.partition
    - urllib.parse.urlsplit.path.encode
    - parts.append
    - io.BytesIO.tell
    - item.partition
    - netloc.split
    - werkzeug.test.Client.resolve_redirect
    - werkzeug.http.parse_date
    - data.items
    - value.encode
    - werkzeug.datastructures.auth.Authorization.__init__
    - collections.defaultdict.items
    - <builtin>.len
    - werkzeug.test.stream_encode_multipart.write_binary
    - header.partition
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - werkzeug.wrappers.request.Request.__init__
    - key.upper
    - werkzeug.test.Cookie._from_response_header
    - urllib.parse.urlsplit.path.rpartition
    - out.append
    - v.strip
    - <builtin>.str
    - data.read
    - url.append
    - <builtin>.isinstance
    - werkzeug.urls._make_unquote_part._unquote_partial
    - event.name.encode
    - werkzeug.http.dump_header
    - environ.pop
    - werkzeug.test.EnvironBuilder.get_environ
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 1174
    functionName: werkzeug.test.Client.delete
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - _cookie_re.findall
    - header.get
    - urllib.parse.unquote.encode
    - werkzeug.test.Client._add_cookies_to_wsgi
    - out.update
    - ref.startswith
    - werkzeug.test.Client._update_cookies_from_response
    - name.lower
    - data.split
    - token_chars.issuperset
    - werkzeug.test.EnvironBuilder.close
    - data.decode
    - werkzeug.wsgi.get_current_url
    - io.BytesIO
    - stream.seek
    - parameters_str.split
    - werkzeug.test.EnvironBuilder.get_request
    - boundary.encode
    - werkzeug.test.Client.run_wsgi_app
    - base64.b64encode
    - dt.replace
    - http.server.BaseHTTPRequestHandler.path.encode
    - root_path.rstrip
    - data.encode
    - params.get
    - urllib.parse.unquote
    - ref.partition
    - <builtin>.hasattr
    - <builtin>.next
    - werkzeug.test._iter_data
    - urllib.parse.urlsplit.hostname.encode
    - werkzeug.test.EnvironBuilder.from_environ
    - tempfile.TemporaryFile
    - collections.defaultdict
    - key.strip
    - _cookie_unslash_re.sub
    - random.random
    - headers.remove
    - werkzeug._internal._wsgi_encoding_dance
    - pattern.split
    - <builtin>.tuple
    - <builtin>.set
    - werkzeug.http.quote_header_value
    - werkzeug.test.EnvironBuilder._make_base_url
    - <builtin>.super
    - path.split
    - werkzeug.sansio.http.parse_cookie
    - result.update
    - host.endswith
    - response.call_on_close
    - urllib.parse.urlunsplit
    - path.lstrip
    - k.strip
    - arg.get_request
    - werkzeug.datastructures.auth.Authorization.to_header
    - environ.get
    - response.make_sequence
    - urllib.parse.urlsplit
    - werkzeug.sansio.utils.get_current_url
    - cookie.encode
    - c._to_request_header
    - werkzeug.sansio.utils.host_is_trusted
    - werkzeug.urls._decode_idna
    - email.utils.parsedate_to_datetime
    - werkzeug.wsgi.get_host
    - headers.pop
    - redirects.add
    - cv.strip
    - typing.cast
    - werkzeug.urls._urlencode
    - builder.server_name.split
    - builder.headers.pop
    - time.time
    - stream.getvalue
    - werkzeug.test.stream_encode_multipart
    - new_stream.write
    - <builtin>.iter
    - value_str.replace
    - io.BytesIO.seek
    - value.strip
    - werkzeug.wsgi._get_server
    - builder.input_stream.close
    - items.append
    - werkzeug.urls.iri_to_uri
    - mimetypes.guess_type
    - <builtin>.int
    - headers.to_wsgi_list
    - part.decode
    - ck.strip
    - urllib.parse.urlunsplit.rstrip
    - response.close
    - werkzeug.datastructures.headers.EnvironHeaders.__init__
    - werkzeug.http.parse_cookie
    - werkzeug.urls.uri_to_iri
    - werkzeug._internal._wsgi_decoding_dance
    - urllib.parse.urlsplit.query.encode
    - c._matches_request
    - history.append
    - stream.write
    - event.filename.encode
    - headers.update
    - s.encode
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - stream.tell
    - f.close
    - urllib.parse.urlencode
    - werkzeug.test.Client.open
    - hostname.endswith
    - werkzeug.sansio.utils.get_host
    - <builtin>.getattr
    - urllib.parse.quote
    - builder.script_root.split
    - werkzeug.test.EnvironBuilder.__init__
    - hostname.partition
    - urllib.parse.urlsplit.path.encode
    - parts.append
    - io.BytesIO.tell
    - item.partition
    - netloc.split
    - werkzeug.test.Client.resolve_redirect
    - werkzeug.http.parse_date
    - data.items
    - value.encode
    - werkzeug.datastructures.auth.Authorization.__init__
    - collections.defaultdict.items
    - <builtin>.len
    - werkzeug.test.stream_encode_multipart.write_binary
    - header.partition
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - werkzeug.wrappers.request.Request.__init__
    - key.upper
    - werkzeug.test.Cookie._from_response_header
    - urllib.parse.urlsplit.path.rpartition
    - out.append
    - v.strip
    - <builtin>.str
    - data.read
    - url.append
    - <builtin>.isinstance
    - werkzeug.urls._make_unquote_part._unquote_partial
    - event.name.encode
    - werkzeug.http.dump_header
    - environ.pop
    - werkzeug.test.EnvironBuilder.get_environ
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 1179
    functionName: werkzeug.test.Client.patch
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - _cookie_re.findall
    - header.get
    - urllib.parse.unquote.encode
    - werkzeug.test.Client._add_cookies_to_wsgi
    - out.update
    - ref.startswith
    - werkzeug.test.Client._update_cookies_from_response
    - name.lower
    - data.split
    - token_chars.issuperset
    - werkzeug.test.EnvironBuilder.close
    - data.decode
    - werkzeug.wsgi.get_current_url
    - io.BytesIO
    - stream.seek
    - parameters_str.split
    - werkzeug.test.EnvironBuilder.get_request
    - boundary.encode
    - werkzeug.test.Client.run_wsgi_app
    - base64.b64encode
    - dt.replace
    - http.server.BaseHTTPRequestHandler.path.encode
    - root_path.rstrip
    - data.encode
    - params.get
    - urllib.parse.unquote
    - ref.partition
    - <builtin>.hasattr
    - <builtin>.next
    - werkzeug.test._iter_data
    - urllib.parse.urlsplit.hostname.encode
    - werkzeug.test.EnvironBuilder.from_environ
    - tempfile.TemporaryFile
    - collections.defaultdict
    - key.strip
    - _cookie_unslash_re.sub
    - random.random
    - headers.remove
    - werkzeug._internal._wsgi_encoding_dance
    - pattern.split
    - <builtin>.tuple
    - <builtin>.set
    - werkzeug.http.quote_header_value
    - werkzeug.test.EnvironBuilder._make_base_url
    - <builtin>.super
    - path.split
    - werkzeug.sansio.http.parse_cookie
    - result.update
    - host.endswith
    - response.call_on_close
    - urllib.parse.urlunsplit
    - path.lstrip
    - k.strip
    - arg.get_request
    - werkzeug.datastructures.auth.Authorization.to_header
    - environ.get
    - response.make_sequence
    - urllib.parse.urlsplit
    - werkzeug.sansio.utils.get_current_url
    - cookie.encode
    - c._to_request_header
    - werkzeug.sansio.utils.host_is_trusted
    - werkzeug.urls._decode_idna
    - email.utils.parsedate_to_datetime
    - werkzeug.wsgi.get_host
    - headers.pop
    - redirects.add
    - cv.strip
    - typing.cast
    - werkzeug.urls._urlencode
    - builder.server_name.split
    - builder.headers.pop
    - time.time
    - stream.getvalue
    - werkzeug.test.stream_encode_multipart
    - new_stream.write
    - <builtin>.iter
    - value_str.replace
    - io.BytesIO.seek
    - value.strip
    - werkzeug.wsgi._get_server
    - builder.input_stream.close
    - items.append
    - werkzeug.urls.iri_to_uri
    - mimetypes.guess_type
    - <builtin>.int
    - headers.to_wsgi_list
    - part.decode
    - ck.strip
    - urllib.parse.urlunsplit.rstrip
    - response.close
    - werkzeug.datastructures.headers.EnvironHeaders.__init__
    - werkzeug.http.parse_cookie
    - werkzeug.urls.uri_to_iri
    - werkzeug._internal._wsgi_decoding_dance
    - urllib.parse.urlsplit.query.encode
    - c._matches_request
    - history.append
    - stream.write
    - event.filename.encode
    - headers.update
    - s.encode
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - stream.tell
    - f.close
    - urllib.parse.urlencode
    - werkzeug.test.Client.open
    - hostname.endswith
    - werkzeug.sansio.utils.get_host
    - <builtin>.getattr
    - urllib.parse.quote
    - builder.script_root.split
    - werkzeug.test.EnvironBuilder.__init__
    - hostname.partition
    - urllib.parse.urlsplit.path.encode
    - parts.append
    - io.BytesIO.tell
    - item.partition
    - netloc.split
    - werkzeug.test.Client.resolve_redirect
    - werkzeug.http.parse_date
    - data.items
    - value.encode
    - werkzeug.datastructures.auth.Authorization.__init__
    - collections.defaultdict.items
    - <builtin>.len
    - werkzeug.test.stream_encode_multipart.write_binary
    - header.partition
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - werkzeug.wrappers.request.Request.__init__
    - key.upper
    - werkzeug.test.Cookie._from_response_header
    - urllib.parse.urlsplit.path.rpartition
    - out.append
    - v.strip
    - <builtin>.str
    - data.read
    - url.append
    - <builtin>.isinstance
    - werkzeug.urls._make_unquote_part._unquote_partial
    - event.name.encode
    - werkzeug.http.dump_header
    - environ.pop
    - werkzeug.test.EnvironBuilder.get_environ
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 1184
    functionName: werkzeug.test.Client.options
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - _cookie_re.findall
    - header.get
    - urllib.parse.unquote.encode
    - werkzeug.test.Client._add_cookies_to_wsgi
    - out.update
    - ref.startswith
    - werkzeug.test.Client._update_cookies_from_response
    - name.lower
    - data.split
    - token_chars.issuperset
    - werkzeug.test.EnvironBuilder.close
    - data.decode
    - werkzeug.wsgi.get_current_url
    - io.BytesIO
    - stream.seek
    - parameters_str.split
    - werkzeug.test.EnvironBuilder.get_request
    - boundary.encode
    - werkzeug.test.Client.run_wsgi_app
    - base64.b64encode
    - dt.replace
    - http.server.BaseHTTPRequestHandler.path.encode
    - root_path.rstrip
    - data.encode
    - params.get
    - urllib.parse.unquote
    - ref.partition
    - <builtin>.hasattr
    - <builtin>.next
    - werkzeug.test._iter_data
    - urllib.parse.urlsplit.hostname.encode
    - werkzeug.test.EnvironBuilder.from_environ
    - tempfile.TemporaryFile
    - collections.defaultdict
    - key.strip
    - _cookie_unslash_re.sub
    - random.random
    - headers.remove
    - werkzeug._internal._wsgi_encoding_dance
    - pattern.split
    - <builtin>.tuple
    - <builtin>.set
    - werkzeug.http.quote_header_value
    - werkzeug.test.EnvironBuilder._make_base_url
    - <builtin>.super
    - path.split
    - werkzeug.sansio.http.parse_cookie
    - result.update
    - host.endswith
    - response.call_on_close
    - urllib.parse.urlunsplit
    - path.lstrip
    - k.strip
    - arg.get_request
    - werkzeug.datastructures.auth.Authorization.to_header
    - environ.get
    - response.make_sequence
    - urllib.parse.urlsplit
    - werkzeug.sansio.utils.get_current_url
    - cookie.encode
    - c._to_request_header
    - werkzeug.sansio.utils.host_is_trusted
    - werkzeug.urls._decode_idna
    - email.utils.parsedate_to_datetime
    - werkzeug.wsgi.get_host
    - headers.pop
    - redirects.add
    - cv.strip
    - typing.cast
    - werkzeug.urls._urlencode
    - builder.server_name.split
    - builder.headers.pop
    - time.time
    - stream.getvalue
    - werkzeug.test.stream_encode_multipart
    - new_stream.write
    - <builtin>.iter
    - value_str.replace
    - io.BytesIO.seek
    - value.strip
    - werkzeug.wsgi._get_server
    - builder.input_stream.close
    - items.append
    - werkzeug.urls.iri_to_uri
    - mimetypes.guess_type
    - <builtin>.int
    - headers.to_wsgi_list
    - part.decode
    - ck.strip
    - urllib.parse.urlunsplit.rstrip
    - response.close
    - werkzeug.datastructures.headers.EnvironHeaders.__init__
    - werkzeug.http.parse_cookie
    - werkzeug.urls.uri_to_iri
    - werkzeug._internal._wsgi_decoding_dance
    - urllib.parse.urlsplit.query.encode
    - c._matches_request
    - history.append
    - stream.write
    - event.filename.encode
    - headers.update
    - s.encode
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - stream.tell
    - f.close
    - urllib.parse.urlencode
    - werkzeug.test.Client.open
    - hostname.endswith
    - werkzeug.sansio.utils.get_host
    - <builtin>.getattr
    - urllib.parse.quote
    - builder.script_root.split
    - werkzeug.test.EnvironBuilder.__init__
    - hostname.partition
    - urllib.parse.urlsplit.path.encode
    - parts.append
    - io.BytesIO.tell
    - item.partition
    - netloc.split
    - werkzeug.test.Client.resolve_redirect
    - werkzeug.http.parse_date
    - data.items
    - value.encode
    - werkzeug.datastructures.auth.Authorization.__init__
    - collections.defaultdict.items
    - <builtin>.len
    - werkzeug.test.stream_encode_multipart.write_binary
    - header.partition
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - werkzeug.wrappers.request.Request.__init__
    - key.upper
    - werkzeug.test.Cookie._from_response_header
    - urllib.parse.urlsplit.path.rpartition
    - out.append
    - v.strip
    - <builtin>.str
    - data.read
    - url.append
    - <builtin>.isinstance
    - werkzeug.urls._make_unquote_part._unquote_partial
    - event.name.encode
    - werkzeug.http.dump_header
    - environ.pop
    - werkzeug.test.EnvironBuilder.get_environ
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 1189
    functionName: werkzeug.test.Client.head
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - _cookie_re.findall
    - header.get
    - urllib.parse.unquote.encode
    - werkzeug.test.Client._add_cookies_to_wsgi
    - out.update
    - ref.startswith
    - werkzeug.test.Client._update_cookies_from_response
    - name.lower
    - data.split
    - token_chars.issuperset
    - werkzeug.test.EnvironBuilder.close
    - data.decode
    - werkzeug.wsgi.get_current_url
    - io.BytesIO
    - stream.seek
    - parameters_str.split
    - werkzeug.test.EnvironBuilder.get_request
    - boundary.encode
    - werkzeug.test.Client.run_wsgi_app
    - base64.b64encode
    - dt.replace
    - http.server.BaseHTTPRequestHandler.path.encode
    - root_path.rstrip
    - data.encode
    - params.get
    - urllib.parse.unquote
    - ref.partition
    - <builtin>.hasattr
    - <builtin>.next
    - werkzeug.test._iter_data
    - urllib.parse.urlsplit.hostname.encode
    - werkzeug.test.EnvironBuilder.from_environ
    - tempfile.TemporaryFile
    - collections.defaultdict
    - key.strip
    - _cookie_unslash_re.sub
    - random.random
    - headers.remove
    - werkzeug._internal._wsgi_encoding_dance
    - pattern.split
    - <builtin>.tuple
    - <builtin>.set
    - werkzeug.http.quote_header_value
    - werkzeug.test.EnvironBuilder._make_base_url
    - <builtin>.super
    - path.split
    - werkzeug.sansio.http.parse_cookie
    - result.update
    - host.endswith
    - response.call_on_close
    - urllib.parse.urlunsplit
    - path.lstrip
    - k.strip
    - arg.get_request
    - werkzeug.datastructures.auth.Authorization.to_header
    - environ.get
    - response.make_sequence
    - urllib.parse.urlsplit
    - werkzeug.sansio.utils.get_current_url
    - cookie.encode
    - c._to_request_header
    - werkzeug.sansio.utils.host_is_trusted
    - werkzeug.urls._decode_idna
    - email.utils.parsedate_to_datetime
    - werkzeug.wsgi.get_host
    - headers.pop
    - redirects.add
    - cv.strip
    - typing.cast
    - werkzeug.urls._urlencode
    - builder.server_name.split
    - builder.headers.pop
    - time.time
    - stream.getvalue
    - werkzeug.test.stream_encode_multipart
    - new_stream.write
    - <builtin>.iter
    - value_str.replace
    - io.BytesIO.seek
    - value.strip
    - werkzeug.wsgi._get_server
    - builder.input_stream.close
    - items.append
    - werkzeug.urls.iri_to_uri
    - mimetypes.guess_type
    - <builtin>.int
    - headers.to_wsgi_list
    - part.decode
    - ck.strip
    - urllib.parse.urlunsplit.rstrip
    - response.close
    - werkzeug.datastructures.headers.EnvironHeaders.__init__
    - werkzeug.http.parse_cookie
    - werkzeug.urls.uri_to_iri
    - werkzeug._internal._wsgi_decoding_dance
    - urllib.parse.urlsplit.query.encode
    - c._matches_request
    - history.append
    - stream.write
    - event.filename.encode
    - headers.update
    - s.encode
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - stream.tell
    - f.close
    - urllib.parse.urlencode
    - werkzeug.test.Client.open
    - hostname.endswith
    - werkzeug.sansio.utils.get_host
    - <builtin>.getattr
    - urllib.parse.quote
    - builder.script_root.split
    - werkzeug.test.EnvironBuilder.__init__
    - hostname.partition
    - urllib.parse.urlsplit.path.encode
    - parts.append
    - io.BytesIO.tell
    - item.partition
    - netloc.split
    - werkzeug.test.Client.resolve_redirect
    - werkzeug.http.parse_date
    - data.items
    - value.encode
    - werkzeug.datastructures.auth.Authorization.__init__
    - collections.defaultdict.items
    - <builtin>.len
    - werkzeug.test.stream_encode_multipart.write_binary
    - header.partition
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - werkzeug.wrappers.request.Request.__init__
    - key.upper
    - werkzeug.test.Cookie._from_response_header
    - urllib.parse.urlsplit.path.rpartition
    - out.append
    - v.strip
    - <builtin>.str
    - data.read
    - url.append
    - <builtin>.isinstance
    - werkzeug.urls._make_unquote_part._unquote_partial
    - event.name.encode
    - werkzeug.http.dump_header
    - environ.pop
    - werkzeug.test.EnvironBuilder.get_environ
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kw
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 1194
    functionName: werkzeug.test.Client.trace
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - _cookie_re.findall
    - header.get
    - urllib.parse.unquote.encode
    - werkzeug.test.Client._add_cookies_to_wsgi
    - out.update
    - ref.startswith
    - werkzeug.test.Client._update_cookies_from_response
    - name.lower
    - data.split
    - token_chars.issuperset
    - werkzeug.test.EnvironBuilder.close
    - data.decode
    - werkzeug.wsgi.get_current_url
    - io.BytesIO
    - stream.seek
    - parameters_str.split
    - werkzeug.test.EnvironBuilder.get_request
    - boundary.encode
    - werkzeug.test.Client.run_wsgi_app
    - base64.b64encode
    - dt.replace
    - http.server.BaseHTTPRequestHandler.path.encode
    - root_path.rstrip
    - data.encode
    - params.get
    - urllib.parse.unquote
    - ref.partition
    - <builtin>.hasattr
    - <builtin>.next
    - werkzeug.test._iter_data
    - urllib.parse.urlsplit.hostname.encode
    - werkzeug.test.EnvironBuilder.from_environ
    - tempfile.TemporaryFile
    - collections.defaultdict
    - key.strip
    - _cookie_unslash_re.sub
    - random.random
    - headers.remove
    - werkzeug._internal._wsgi_encoding_dance
    - pattern.split
    - <builtin>.tuple
    - <builtin>.set
    - werkzeug.http.quote_header_value
    - werkzeug.test.EnvironBuilder._make_base_url
    - <builtin>.super
    - path.split
    - werkzeug.sansio.http.parse_cookie
    - result.update
    - host.endswith
    - response.call_on_close
    - urllib.parse.urlunsplit
    - path.lstrip
    - k.strip
    - arg.get_request
    - werkzeug.datastructures.auth.Authorization.to_header
    - environ.get
    - response.make_sequence
    - urllib.parse.urlsplit
    - werkzeug.sansio.utils.get_current_url
    - cookie.encode
    - c._to_request_header
    - werkzeug.sansio.utils.host_is_trusted
    - werkzeug.urls._decode_idna
    - email.utils.parsedate_to_datetime
    - werkzeug.wsgi.get_host
    - headers.pop
    - redirects.add
    - cv.strip
    - typing.cast
    - werkzeug.urls._urlencode
    - builder.server_name.split
    - builder.headers.pop
    - time.time
    - stream.getvalue
    - werkzeug.test.stream_encode_multipart
    - new_stream.write
    - <builtin>.iter
    - value_str.replace
    - io.BytesIO.seek
    - value.strip
    - werkzeug.wsgi._get_server
    - builder.input_stream.close
    - items.append
    - werkzeug.urls.iri_to_uri
    - mimetypes.guess_type
    - <builtin>.int
    - headers.to_wsgi_list
    - part.decode
    - ck.strip
    - urllib.parse.urlunsplit.rstrip
    - response.close
    - werkzeug.datastructures.headers.EnvironHeaders.__init__
    - werkzeug.http.parse_cookie
    - werkzeug.urls.uri_to_iri
    - werkzeug._internal._wsgi_decoding_dance
    - urllib.parse.urlsplit.query.encode
    - c._matches_request
    - history.append
    - stream.write
    - event.filename.encode
    - headers.update
    - s.encode
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - stream.tell
    - f.close
    - urllib.parse.urlencode
    - werkzeug.test.Client.open
    - hostname.endswith
    - werkzeug.sansio.utils.get_host
    - <builtin>.getattr
    - urllib.parse.quote
    - builder.script_root.split
    - werkzeug.test.EnvironBuilder.__init__
    - hostname.partition
    - urllib.parse.urlsplit.path.encode
    - parts.append
    - io.BytesIO.tell
    - item.partition
    - netloc.split
    - werkzeug.test.Client.resolve_redirect
    - werkzeug.http.parse_date
    - data.items
    - value.encode
    - werkzeug.datastructures.auth.Authorization.__init__
    - collections.defaultdict.items
    - <builtin>.len
    - werkzeug.test.stream_encode_multipart.write_binary
    - header.partition
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - werkzeug.wrappers.request.Request.__init__
    - key.upper
    - werkzeug.test.Cookie._from_response_header
    - urllib.parse.urlsplit.path.rpartition
    - out.append
    - v.strip
    - <builtin>.str
    - data.read
    - url.append
    - <builtin>.isinstance
    - werkzeug.urls._make_unquote_part._unquote_partial
    - event.name.encode
    - werkzeug.http.dump_header
    - environ.pop
    - werkzeug.test.EnvironBuilder.get_environ
    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: 1199
    functionName: werkzeug.test.Client.__repr__
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1203
    functionName: werkzeug.test.create_environ
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - werkzeug.test.stream_encode_multipart
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - urllib.parse.urlencode
    - werkzeug.test._iter_data
    - urllib.parse.urlsplit.hostname.encode
    - tempfile.TemporaryFile
    - new_stream.write
    - collections.defaultdict
    - <builtin>.getattr
    - urllib.parse.unquote.encode
    - werkzeug.test.EnvironBuilder.__init__
    - urllib.parse.quote
    - value_str.replace
    - random.random
    - headers.remove
    - urllib.parse.urlsplit.path.encode
    - io.BytesIO.seek
    - werkzeug._internal._wsgi_encoding_dance
    - event.name.encode
    - io.BytesIO.tell
    - werkzeug.http.quote_header_value
    - name.lower
    - data.items
    - typing.cast
    - items.append
    - werkzeug.urls.iri_to_uri
    - value.encode
    - werkzeug.datastructures.auth.Authorization.__init__
    - result.update
    - mimetypes.guess_type
    - token_chars.issuperset
    - urllib.parse.urlunsplit
    - collections.defaultdict.items
    - <builtin>.len
    - werkzeug.test.EnvironBuilder.close
    - werkzeug.test.stream_encode_multipart.write_binary
    - werkzeug.datastructures.auth.Authorization.to_header
    - io.BytesIO
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - headers.to_wsgi_list
    - key.upper
    - stream.seek
    - urllib.parse.urlsplit
    - <builtin>.str
    - boundary.encode
    - base64.b64encode
    - http.server.BaseHTTPRequestHandler.path.encode
    - urllib.parse.urlsplit.query.encode
    - data.read
    - stream.write
    - f.close
    - event.filename.encode
    - headers.update
    - werkzeug.http.dump_header
    - data.encode
    - <builtin>.isinstance
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - werkzeug.urls._urlencode
    - time.time
    - stream.tell
    - werkzeug.test.EnvironBuilder.get_environ
    - stream.getvalue
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 3
    IfCount: 5
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d945456d0>
    argNames:
    - app
    - environ
    - buffered
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1226
    functionName: werkzeug.test.run_wsgi_app
    functionSourceFile: werkzeug.test
    functionUses: 2
    functionsReached:
    - functools.partial
    - <builtin>.getattr
    - <builtin>.iter
    - werkzeug.wsgi.ClosingIterator.__iter__
    - werkzeug._internal._get_environ
    - <builtin>.super
    - buffer.append
    - werkzeug.wsgi.ClosingIterator.__next__
    - value.encode
    - <builtin>.len
    - <builtin>.list
    - werkzeug.wrappers.response.Response.__init__
    - <builtin>.type
    - <builtin>.callable
    - werkzeug.wsgi.ClosingIterator.__init__
    - <builtin>.str
    - itertools.chain
    - werkzeug.wrappers.response.Response.set_data
    - <builtin>.isinstance
    - typing.cast
    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 0x7f5d9406cc70>
    argNames:
    - status
    - headers
    - exc_info
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1252
    functionName: werkzeug.test.run_wsgi_app.start_response
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93fb9a30>
    - <ast.Constant object at 0x7f5d93fb9b80>
    - <ast.Constant object at 0x7f5d93fb99d0>
    - <ast.Constant object at 0x7f5d93fb91c0>
    - <ast.Constant object at 0x7f5d93fb9b20>
    - <ast.Constant object at 0x7f5d93fb9df0>
    argNames:
    - self
    - response
    - status
    - headers
    - mimetype
    - content_type
    - direct_passthrough
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 144
    functionName: werkzeug.wrappers.response.Response.__init__
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 20
    functionsReached:
    - werkzeug.wrappers.response.Response.set_data
    - <builtin>.super
    - <builtin>.isinstance
    - value.encode
    - <builtin>.str
    - <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>.list
    functionSourceFile: <builtin>
    functionUses: 81
    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: 252
    functionName: werkzeug.wsgi.ClosingIterator.__iter__
    functionSourceFile: ''
    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: 255
    functionName: werkzeug.wsgi.ClosingIterator.__next__
    functionSourceFile: ''
    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: buffer.append
    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: itertools.chain
    functionSourceFile: itertools
    functionUses: 11
    functionsReached: []
    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 0x7f5d93edadc0>
    argNames:
    - self
    - iterable
    - callbacks
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 233
    functionName: werkzeug.wsgi.ClosingIterator.__init__
    functionSourceFile: werkzeug.wsgi
    functionUses: 7
    functionsReached:
    - <builtin>.list
    - functools.partial
    - <builtin>.getattr
    - <builtin>.callable
    - <builtin>.iter
    - typing.cast
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 7
    argDefaultValues:
    - <ast.Tuple object at 0x7f5d940018e0>
    argNames:
    - self
    - response
    - status
    - headers
    - request
    - history
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1337
    functionName: werkzeug.test.TestResponse.__init__
    functionSourceFile: werkzeug.test
    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: werkzeug.test.TestResponse
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - werkzeug.utils.cached_property
    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: 10
    functionLinenumber: 1352
    functionName: werkzeug.test.TestResponse.text
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - rv.decode
    - werkzeug.wrappers.response._iter_encoded
    - <builtin>.list
    - <builtin>.next
    - item.encode
    - werkzeug.wrappers.response.Response._ensure_sequence
    - werkzeug.wsgi._RangeWrapper.__iter__
    - werkzeug.wrappers.response.Response.iter_encoded
    - werkzeug.wsgi._RangeWrapper._next
    - <builtin>.isinstance
    - <builtin>.getattr
    - werkzeug.wrappers.response.Response.get_data
    - werkzeug.wrappers.response.Response.call_on_close
    - werkzeug.wrappers.response.Response.make_sequence
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - werkzeug.wsgi._RangeWrapper.__next__
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d94351e20>
    argNames:
    - self
    - as_text
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 268
    functionName: werkzeug.wrappers.response.Response.get_data
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 5
    functionsReached:
    - rv.decode
    - werkzeug.wrappers.response._iter_encoded
    - <builtin>.list
    - <builtin>.next
    - item.encode
    - werkzeug.wrappers.response.Response._ensure_sequence
    - werkzeug.wsgi._RangeWrapper.__iter__
    - werkzeug.wrappers.response.Response.iter_encoded
    - werkzeug.wsgi._RangeWrapper._next
    - <builtin>.isinstance
    - <builtin>.getattr
    - werkzeug.wrappers.response.Response.call_on_close
    - werkzeug.wrappers.response.Response.make_sequence
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - werkzeug.wsgi._RangeWrapper.__next__
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - server_name
    - path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1411
    functionName: werkzeug.test.Cookie._matches_request
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - path.startswith
    - server_name.endswith
    - <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: server_name.endswith
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: path.startswith
    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: 0
    functionLinenumber: 1427
    functionName: werkzeug.test.Cookie._to_request_header
    functionSourceFile: werkzeug.test
    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: header.partition
    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: <builtin>.next
    functionSourceFile: <builtin>
    functionUses: 55
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parameters_str.split
    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: k.strip
    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: v.strip
    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: params.get
    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: urllib.parse.urlsplit.path.rpartition
    functionSourceFile: urllib
    functionUses: 14
    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: 1457
    functionName: werkzeug.test.Cookie._storage_key
    functionSourceFile: werkzeug.test
    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: 1461
    functionName: werkzeug.test.Cookie._should_delete
    functionSourceFile: werkzeug.test
    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: werkzeug.sansio.multipart
    functionSourceFile: werkzeug.sansio.multipart
    functionUses: 0
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: werkzeug.sansio.multipart.State
    functionSourceFile: werkzeug.sansio.multipart
    functionUses: 0
    functionsReached:
    - enum.auto
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: re.escape
    functionSourceFile: re
    functionUses: 12
    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: 1
    functionLinenumber: 124
    functionName: werkzeug.sansio.multipart.MultipartDecoder.last_newline
    functionSourceFile: werkzeug.sansio.multipart
    functionUses: 7
    functionsReached:
    - <builtin>.min
    - <builtin>.len
    - data.rindex
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.rindex
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: match.group
    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: <builtin>.bytes
    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>.max
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: BLANK_LINE_RE.search
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 235
    functionName: werkzeug.sansio.multipart.MultipartDecoder._parse_headers
    functionSourceFile: werkzeug.sansio.multipart
    functionUses: 6
    functionsReached:
    - line.decode
    - line.strip
    - name.strip
    - value.strip
    - HEADER_CONTINUATION_RE.sub
    - headers.append
    - data.splitlines
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.get
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - data
    - start
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 248
    functionName: werkzeug.sansio.multipart.MultipartDecoder._parse_data
    functionSourceFile: werkzeug.sansio.multipart
    functionUses: 6
    functionsReached:
    - <builtin>.bytes
    - <builtin>.min
    - match.end
    - werkzeug.sansio.multipart.MultipartDecoder.last_newline
    - match.group
    - LINE_BREAK_RE.match
    - typing.cast
    - data.rindex
    - match.start
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: HEADER_CONTINUATION_RE.sub
    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: data.splitlines
    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: line.strip
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: line.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: name.strip
    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: headers.append
    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: LINE_BREAK_RE.match
    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: event.name.encode
    functionSourceFile: <builtin>
    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: event.filename.encode
    functionSourceFile: <builtin>
    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: name.lower
    functionSourceFile: <builtin>
    functionUses: 29
    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: -1
    functionName: werkzeug.exceptions
    functionSourceFile: werkzeug.exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.issubclass
    - default_exceptions.get
    - <builtin>.globals
    - werkzeug.exceptions._find_exceptions
    - werkzeug.exceptions.Aborter.__init__
    - <builtin>.dict
    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 0x7f5d936925b0>
    - <ast.Constant object at 0x7f5d936929a0>
    argNames:
    - self
    - description
    - response
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 79
    functionName: werkzeug.exceptions.HTTPException.__init__
    functionSourceFile: werkzeug.exceptions
    functionUses: 8
    functionsReached:
    - <builtin>.super
    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: 90
    functionName: werkzeug.exceptions.HTTPException.name
    functionSourceFile: werkzeug.exceptions
    functionUses: 0
    functionsReached:
    - HTTP_STATUS_CODES.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: HTTP_STATUS_CODES.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d9440e310>
    - <ast.Constant object at 0x7f5d9440ee20>
    argNames:
    - self
    - environ
    - scope
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 96
    functionName: werkzeug.exceptions.HTTPException.get_description
    functionSourceFile: werkzeug.exceptions
    functionUses: 2
    functionsReached:
    - markupsafe.Markup
    - markupsafe.escape.replace
    - markupsafe.escape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: markupsafe.Markup
    functionSourceFile: markupsafe
    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: markupsafe.escape
    functionSourceFile: markupsafe
    functionUses: 37
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: markupsafe.escape.replace
    functionSourceFile: markupsafe
    functionUses: 3
    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 0x7f5d9440e370>
    - <ast.Constant object at 0x7f5d9440ef10>
    argNames:
    - self
    - environ
    - scope
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 110
    functionName: werkzeug.exceptions.HTTPException.get_body
    functionSourceFile: werkzeug.exceptions
    functionUses: 1
    functionsReached:
    - markupsafe.Markup
    - werkzeug.exceptions.HTTPException.get_description
    - markupsafe.escape.replace
    - markupsafe.escape
    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 0x7f5d9368afa0>
    - <ast.Constant object at 0x7f5d9368a7c0>
    argNames:
    - self
    - environ
    - scope
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 124
    functionName: werkzeug.exceptions.HTTPException.get_headers
    functionSourceFile: werkzeug.exceptions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d9368ad60>
    - <ast.Constant object at 0x7f5d9368a2e0>
    argNames:
    - self
    - environ
    - scope
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 132
    functionName: werkzeug.exceptions.HTTPException.get_response
    functionSourceFile: werkzeug.exceptions
    functionUses: 0
    functionsReached:
    - werkzeug.wrappers.response.Response.set_data
    - werkzeug.exceptions.HTTPException.get_body
    - werkzeug._internal._get_environ
    - <builtin>.super
    - werkzeug.exceptions.HTTPException.get_description
    - werkzeug.wrappers.response.Response.__init__
    - werkzeug.exceptions.MethodNotAllowed.get_headers
    - markupsafe.Markup
    - <builtin>.getattr
    - <builtin>.isinstance
    - <builtin>.type
    - value.encode
    - <builtin>.str
    - <builtin>.len
    - markupsafe.escape.replace
    - werkzeug.exceptions.RequestedRangeNotSatisfiable.get_headers
    - headers.append
    - markupsafe.escape
    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 0x7f5d936f2cd0>
    - <ast.Constant object at 0x7f5d936f24f0>
    argNames:
    - self
    - environ
    - scope
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 378
    functionName: werkzeug.exceptions.MethodNotAllowed.get_headers
    functionSourceFile: werkzeug.exceptions
    functionUses: 1
    functionsReached:
    - <builtin>.super
    - headers.append
    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 0x7f5d93e6d550>
    - <ast.Constant object at 0x7f5d93e6da30>
    argNames:
    - self
    - environ
    - scope
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 538
    functionName: werkzeug.exceptions.RequestedRangeNotSatisfiable.get_headers
    functionSourceFile: werkzeug.exceptions
    functionUses: 1
    functionsReached:
    - <builtin>.super
    - headers.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - environ
    - start_response
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 154
    functionName: werkzeug.exceptions.HTTPException.__call__
    functionSourceFile: werkzeug.exceptions
    functionUses: 0
    functionsReached:
    - werkzeug.utils.redirect
    - werkzeug.routing.exceptions.RequestRedirect.get_response
    - werkzeug.wrappers.response.Response.set_data
    - <builtin>.super
    - werkzeug.wrappers.response.Response.__init__
    - <builtin>.isinstance
    - value.encode
    - <builtin>.str
    - typing.cast
    - <builtin>.len
    - markupsafe.escape
    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 0x7f5d940b4d60>
    - <ast.Constant object at 0x7f5d940b4b50>
    argNames:
    - self
    - environ
    - scope
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 41
    functionName: werkzeug.routing.exceptions.RequestRedirect.get_response
    functionSourceFile: werkzeug.routing.exceptions
    functionUses: 1
    functionsReached:
    - werkzeug.utils.redirect
    - werkzeug.wrappers.response.Response.set_data
    - <builtin>.super
    - werkzeug.wrappers.response.Response.__init__
    - <builtin>.isinstance
    - value.encode
    - <builtin>.str
    - <builtin>.len
    - markupsafe.escape
    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: 166
    functionName: werkzeug.exceptions.HTTPException.__str__
    functionSourceFile: werkzeug.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: 1
    functionLinenumber: 170
    functionName: werkzeug.exceptions.HTTPException.__repr__
    functionSourceFile: werkzeug.exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93d30100>
    argNames:
    - self
    - arg
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 200
    functionName: werkzeug.exceptions.BadRequestKeyError.__init__
    functionSourceFile: werkzeug.exceptions
    functionUses: 0
    functionsReached:
    - KeyError.__init__
    - <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: KeyError.__init__
    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
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 219
    functionName: werkzeug.exceptions.BadRequestKeyError.description
    functionSourceFile: werkzeug.exceptions
    functionUses: 0
    functionsReached:
    - KeyError.__str__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: KeyError.__str__
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d940b4d00>
    - <ast.Constant object at 0x7f5d940b4e50>
    - <ast.Constant object at 0x7f5d940b4a00>
    argNames:
    - self
    - description
    - response
    - www_authenticate
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 299
    functionName: werkzeug.exceptions.Unauthorized.__init__
    functionSourceFile: werkzeug.exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.super
    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 0x7f5d940b4c70>
    - <ast.Constant object at 0x7f5d940b4f40>
    argNames:
    - self
    - environ
    - scope
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 314
    functionName: werkzeug.exceptions.Unauthorized.get_headers
    functionSourceFile: werkzeug.exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - <builtin>.str
    - headers.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.extend
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d936f2b20>
    - <ast.Constant object at 0x7f5d936f22b0>
    - <ast.Constant object at 0x7f5d936f2460>
    argNames:
    - self
    - valid_methods
    - description
    - response
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 367
    functionName: werkzeug.exceptions.MethodNotAllowed.__init__
    functionSourceFile: werkzeug.exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f5d940541f0>
    - <ast.Constant object at 0x7f5d94054970>
    - <ast.Constant object at 0x7f5d94054550>
    - <ast.Constant object at 0x7f5d94054220>
    argNames:
    - self
    - length
    - units
    - description
    - response
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 524
    functionName: werkzeug.exceptions.RequestedRangeNotSatisfiable.__init__
    functionSourceFile: werkzeug.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: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d94305550>
    - <ast.Constant object at 0x7f5d94305ac0>
    - <ast.Constant object at 0x7f5d94305730>
    argNames:
    - self
    - description
    - response
    - retry_after
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 651
    functionName: werkzeug.exceptions._RetryAfter.__init__
    functionSourceFile: werkzeug.exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d94b27c10>
    - <ast.Constant object at 0x7f5d94a190a0>
    argNames:
    - self
    - environ
    - scope
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 660
    functionName: werkzeug.exceptions._RetryAfter.get_headers
    functionSourceFile: werkzeug.exceptions
    functionUses: 0
    functionsReached:
    - datetime.datetime.combine
    - <builtin>.super
    - time.mktime
    - <builtin>.isinstance
    - datetime.time
    - werkzeug.http.http_date
    - email.utils.formatdate
    - email.utils.format_datetime
    - werkzeug._internal._dt_as_utc
    - time.mktime.astimezone
    - <builtin>.str
    - headers.append
    - time.mktime.replace
    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 0x7f5d9430d9a0>
    - <ast.Constant object at 0x7f5d9430d1c0>
    - <ast.Constant object at 0x7f5d9430d610>
    argNames:
    - self
    - description
    - response
    - original_exception
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 741
    functionName: werkzeug.exceptions.InternalServerError.__init__
    functionSourceFile: werkzeug.exceptions
    functionUses: 2
    functionsReached:
    - <builtin>.super
    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: 827
    functionName: werkzeug.exceptions._find_exceptions
    functionSourceFile: werkzeug.exceptions
    functionUses: 1
    functionsReached:
    - <builtin>.issubclass
    - <builtin>.globals
    - default_exceptions.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: <builtin>.globals
    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: default_exceptions.get
    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:
    - <ast.Constant object at 0x7f5d94265a00>
    - <ast.Constant object at 0x7f5d94265760>
    argNames:
    - self
    - mapping
    - extra
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 854
    functionName: werkzeug.exceptions.Aborter.__init__
    functionSourceFile: werkzeug.exceptions
    functionUses: 1
    functionsReached:
    - <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: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - code
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 865
    functionName: werkzeug.exceptions.Aborter.__call__
    functionSourceFile: werkzeug.exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - LookupError
    - HTTPException
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - status
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 879
    functionName: werkzeug.exceptions.abort
    functionSourceFile: werkzeug.exceptions
    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: werkzeug.sansio.response
    functionSourceFile: werkzeug.sansio.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:
    - <ast.Constant object at 0x7f5d94426040>
    argNames:
    - name
    - doc
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 40
    functionName: werkzeug.sansio.response._set_property
    functionSourceFile: werkzeug.sansio.response
    functionUses: 1
    functionsReached:
    - <builtin>.property
    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: 3
    functionLinenumber: 41
    functionName: werkzeug.sansio.response._set_property.fget
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - result.append
    - werkzeug.http.parse_set_header
    - werkzeug.http.parse_list_header
    - urllib.request.parse_http_list
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - header_set
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 42
    functionName: werkzeug.sansio.response._set_property.fget.on_update
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - header_set.to_header
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_set.to_header
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 50
    functionName: werkzeug.sansio.response._set_property.fset
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - werkzeug.http.quote_header_value
    - items.append
    - <builtin>.isinstance
    - token_chars.issuperset
    - value_str.replace
    - <builtin>.str
    - werkzeug.http.dump_header
    linkageType: pythonLinkage
    raised: []
    returnType: N/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>.property
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 0
    IfCount: 7
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f5d94057370>
    - <ast.Constant object at 0x7f5d94057a00>
    - <ast.Constant object at 0x7f5d940572b0>
    - <ast.Constant object at 0x7f5d94057790>
    argNames:
    - self
    - status
    - headers
    - mimetype
    - content_type
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 111
    functionName: werkzeug.sansio.response.Response.__init__
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - mimetype.endswith
    - werkzeug.utils.get_content_type
    - mimetype.startswith
    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: 139
    functionName: werkzeug.sansio.response.Response.__repr__
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - code
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 148
    functionName: werkzeug.sansio.response.Response.status_code
    functionSourceFile: werkzeug.sansio.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
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 157
    functionName: werkzeug.sansio.response.Response.status
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - value.partition
    - value.strip
    - <builtin>.int
    - <builtin>.isinstance
    - werkzeug.sansio.response.Response._clean_status
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 160
    functionName: werkzeug.sansio.response.Response._clean_status
    functionSourceFile: werkzeug.sansio.response
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - value.partition
    - <builtin>.int
    - value.strip
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 11
    argDefaultValues:
    - <ast.Constant object at 0x7f5d9420c970>
    - <ast.Constant object at 0x7f5d9420c880>
    - <ast.Constant object at 0x7f5d9420c580>
    - <ast.Constant object at 0x7f5d9420cdf0>
    - <ast.Constant object at 0x7f5d9420c460>
    - <ast.Constant object at 0x7f5d9420cca0>
    - <ast.Constant object at 0x7f5d9420c040>
    - <ast.Constant object at 0x7f5d9420c700>
    - <ast.Constant object at 0x7f5d9420c850>
    argNames:
    - self
    - key
    - value
    - max_age
    - expires
    - path
    - domain
    - secure
    - httponly
    - samesite
    - partitioned
    argTypes:
    - 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: 189
    functionName: werkzeug.sansio.response.Response.set_cookie
    functionSourceFile: werkzeug.sansio.response
    functionUses: 3
    functionsReached:
    - warnings.warn
    - urllib.parse.quote
    - datetime.time
    - werkzeug._internal._dt_as_utc
    - buf.append
    - datetime.datetime.combine
    - key.encode
    - time.mktime
    - value.encode
    - max_age.total_seconds
    - domain.partition
    - <builtin>.len
    - time.mktime.replace
    - <builtin>.int
    - werkzeug.http.dump_cookie
    - time.mktime.astimezone
    - _cookie_slash_re.sub
    - email.utils.formatdate
    - samesite.title
    - datetime.datetime.now
    - <builtin>.isinstance
    - werkzeug.http.http_date
    - email.utils.format_datetime
    - _cookie_no_quote_re.fullmatch
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f5d94a34a60>
    - <ast.Constant object at 0x7f5d94a34430>
    - <ast.Constant object at 0x7f5d94a34d90>
    - <ast.Constant object at 0x7f5d94a344f0>
    - <ast.Constant object at 0x7f5d94a340d0>
    - <ast.Constant object at 0x7f5d94a342e0>
    argNames:
    - self
    - key
    - path
    - domain
    - secure
    - httponly
    - samesite
    - partitioned
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 247
    functionName: werkzeug.sansio.response.Response.delete_cookie
    functionSourceFile: werkzeug.sansio.response
    functionUses: 2
    functionsReached:
    - warnings.warn
    - urllib.parse.quote
    - datetime.time
    - werkzeug._internal._dt_as_utc
    - buf.append
    - datetime.datetime.combine
    - key.encode
    - time.mktime
    - value.encode
    - max_age.total_seconds
    - domain.partition
    - <builtin>.len
    - time.mktime.replace
    - <builtin>.int
    - werkzeug.http.dump_cookie
    - time.mktime.astimezone
    - _cookie_slash_re.sub
    - email.utils.formatdate
    - werkzeug.sansio.response.Response.set_cookie
    - samesite.title
    - datetime.datetime.now
    - <builtin>.isinstance
    - werkzeug.http.http_date
    - email.utils.format_datetime
    - _cookie_no_quote_re.fullmatch
    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: 284
    functionName: werkzeug.sansio.response.Response.is_json
    functionSourceFile: werkzeug.sansio.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
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 308
    functionName: werkzeug.sansio.response.Response.mimetype
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - werkzeug.utils.get_content_type
    - mimetype.endswith
    - ct.split
    - mimetype.startswith
    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: 312
    functionName: werkzeug.sansio.response.Response.mimetype_params
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - value.partition
    - rest.strip
    - m.end
    - _continuation_re.search
    - _parameter_key_re.match
    - options.get
    - rest.find
    - encoding.lower
    - werkzeug.http.parse_options_header
    - m.group
    - <builtin>.len
    - match.start
    - urllib.parse.unquote
    - _charset_value_re.match
    - parts.append
    - value.strip
    - _parameter_token_value_re.match
    - match.groups
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - d
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 320
    functionName: werkzeug.sansio.response.Response.mimetype_params.on_update
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - werkzeug.http.quote_header_value
    - segments.append
    - token_chars.issuperset
    - value_str.replace
    - <builtin>.str
    - werkzeug.http.dump_options_header
    - options.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 451
    functionName: werkzeug.sansio.response.Response.retry_after
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - datetime.timedelta
    - dt.replace
    - datetime.datetime.now
    - werkzeug.http.parse_date
    - <builtin>.int
    - datetime.datetime.combine
    - time.mktime
    - <builtin>.isinstance
    - datetime.time
    - werkzeug.http.http_date
    - email.utils.formatdate
    - email.utils.format_datetime
    - werkzeug._internal._dt_as_utc
    - time.mktime.astimezone
    - <builtin>.str
    - email.utils.parsedate_to_datetime
    - time.mktime.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: werkzeug.sansio.response.Response
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - werkzeug.sansio.response._set_property
    - <builtin>.property
    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: 4
    functionLinenumber: 489
    functionName: werkzeug.sansio.response.Response.cache_control
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - item.partition
    - werkzeug.http.parse_dict_header
    - werkzeug.http.parse_cache_control_header
    - result.append
    - <builtin>.super
    - werkzeug.http.parse_list_header
    - urllib.parse.unquote.strip
    - key.strip
    - <builtin>.len
    - urllib.request.parse_http_list
    - typing.cast
    - urllib.parse.unquote
    - werkzeug.datastructures.cache_control._CacheControl.__init__
    - _charset_value_re.match
    - encoding.lower
    - match.groups
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - cache_control
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 495
    functionName: werkzeug.sansio.response.Response.cache_control.on_update
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - cache_control.to_header
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cache_control.to_header
    functionSourceFile: <builtin>
    functionUses: 1
    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 0x7f5d93fb9b50>
    argNames:
    - self
    - etag
    - weak
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 505
    functionName: werkzeug.sansio.response.Response.set_etag
    functionSourceFile: werkzeug.sansio.response
    functionUses: 2
    functionsReached:
    - werkzeug.http.quote_etag
    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: 509
    functionName: werkzeug.sansio.response.Response.get_etag
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - etag.startswith
    - werkzeug.http.unquote_etag
    - etag.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 550
    functionName: werkzeug.sansio.response.Response.content_range
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - rng.split
    - werkzeug.http.parse_content_range_header
    - rangedef.split
    - <builtin>.int
    - werkzeug.http.is_byte_range_valid
    - value.to_header
    - <builtin>.isinstance
    - _plain_int_re.fullmatch
    - value.strip
    - werkzeug._internal._plain_int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - rng
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 535
    functionName: werkzeug.sansio.response.Response.content_range.on_update
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - rng.to_header
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rng.to_header
    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: value.to_header
    functionSourceFile: <builtin>
    functionUses: 3
    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: 4
    functionLinenumber: 623
    functionName: werkzeug.sansio.response.Response.www_authenticate
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - rest.strip
    - werkzeug.datastructures.structures.CallbackDict.__init__
    - key.strip
    - rest.rstrip
    - value_str.replace
    - auth_type.lower
    - werkzeug.datastructures.auth.WWWAuthenticate.__init__
    - item.partition
    - werkzeug.http.parse_dict_header
    - werkzeug.http.quote_header_value
    - result.append
    - items.append
    - <builtin>.super
    - item.to_header
    - token_chars.issuperset
    - urllib.request.parse_http_list
    - encoding.lower
    - <builtin>.len
    - value.partition
    - werkzeug.datastructures.auth.WWWAuthenticate.from_header
    - werkzeug.datastructures.auth.WWWAuthenticate.to_header
    - werkzeug.http.parse_list_header
    - <builtin>.str
    - _charset_value_re.match
    - match.groups
    - scheme.lower
    - <builtin>.isinstance
    - urllib.parse.unquote.strip
    - urllib.parse.unquote
    - werkzeug.http.dump_header
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 271
    functionName: werkzeug.datastructures.auth.WWWAuthenticate.from_header
    functionSourceFile: werkzeug.datastructures.auth
    functionUses: 1
    functionsReached:
    - rest.strip
    - werkzeug.datastructures.structures.CallbackDict.__init__
    - key.strip
    - rest.rstrip
    - auth_type.lower
    - werkzeug.datastructures.auth.WWWAuthenticate.__init__
    - item.partition
    - werkzeug.http.parse_dict_header
    - result.append
    - <builtin>.super
    - urllib.request.parse_http_list
    - encoding.lower
    - <builtin>.len
    - value.partition
    - werkzeug.http.parse_list_header
    - _charset_value_re.match
    - match.groups
    - scheme.lower
    - urllib.parse.unquote.strip
    - urllib.parse.unquote
    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 0x7f5d94545790>
    - <ast.Constant object at 0x7f5d94545580>
    argNames:
    - self
    - auth_type
    - values
    - token
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 169
    functionName: werkzeug.datastructures.auth.WWWAuthenticate.__init__
    functionSourceFile: werkzeug.datastructures.auth
    functionUses: 2
    functionsReached:
    - <builtin>.super
    - werkzeug.datastructures.structures.CallbackDict.__init__
    - auth_type.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 616
    functionName: werkzeug.sansio.response.Response.www_authenticate.on_update
    functionSourceFile: werkzeug.sansio.response
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: item.to_header
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    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: 293
    functionName: werkzeug.datastructures.auth.WWWAuthenticate.to_header
    functionSourceFile: werkzeug.datastructures.auth
    functionUses: 3
    functionsReached:
    - werkzeug.http.quote_header_value
    - items.append
    - <builtin>.isinstance
    - token_chars.issuperset
    - value_str.replace
    - <builtin>.str
    - werkzeug.http.dump_header
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 651
    functionName: werkzeug.sansio.response.Response.content_security_policy
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - policy.strip
    - <builtin>.super
    - items.append
    - value.to_header
    - typing.cast
    - werkzeug.datastructures.csp.ContentSecurityPolicy.__init__
    - <builtin>.isinstance
    - directive.strip
    - value.split
    - werkzeug.http.parse_csp_header
    - value.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - csp
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 639
    functionName: werkzeug.sansio.response.Response.content_security_policy.on_update
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - csp.to_header
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: csp.to_header
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Tuple object at 0x7f5d94c9d400>
    - <ast.Constant object at 0x7f5d94c9da90>
    argNames:
    - self
    - values
    - on_update
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 65
    functionName: werkzeug.datastructures.csp.ContentSecurityPolicy.__init__
    functionSourceFile: werkzeug.datastructures.csp
    functionUses: 2
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 686
    functionName: werkzeug.sansio.response.Response.content_security_policy_report_only
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - policy.strip
    - <builtin>.super
    - items.append
    - value.to_header
    - typing.cast
    - werkzeug.datastructures.csp.ContentSecurityPolicy.__init__
    - <builtin>.isinstance
    - directive.strip
    - value.split
    - werkzeug.http.parse_csp_header
    - value.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - csp
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 672
    functionName: werkzeug.sansio.response.Response.content_security_policy_report_only.on_update
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - csp.to_header
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 707
    functionName: werkzeug.sansio.response.Response.access_control_allow_credentials
    functionSourceFile: werkzeug.sansio.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: 1
    functionLinenumber: -1
    functionName: werkzeug.sansio.response.Response.<lambda1>
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - enum.Enum.__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: enum.Enum.__init__
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: werkzeug.sansio.response.Response.<lambda2>
    functionSourceFile: werkzeug.sansio.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: 1
    functionLinenumber: -1
    functionName: werkzeug.sansio.response.Response.<lambda3>
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - enum.Enum.__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: werkzeug.sansio.response.Response.<lambda4>
    functionSourceFile: werkzeug.sansio.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: werkzeug.datastructures.cache_control
    functionSourceFile: werkzeug.datastructures.cache_control
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 6
    IfCount: 4
    argCount: 4
    argDefaultValues: []
    argNames:
    - key
    - empty
    - type
    - doc
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 11
    functionName: werkzeug.datastructures.cache_control.cache_control_property
    functionSourceFile: werkzeug.datastructures.cache_control
    functionUses: 3
    functionsReached:
    - parts.append
    - inspect.cleandoc
    - <builtin>.property
    linkageType: 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: werkzeug.datastructures.cache_control.cache_control_property.<lambda1>
    functionSourceFile: werkzeug.datastructures.cache_control
    functionUses: 0
    functionsReached:
    - x._get_cache_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/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._get_cache_value
    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: werkzeug.datastructures.cache_control.cache_control_property.<lambda2>
    functionSourceFile: werkzeug.datastructures.cache_control
    functionUses: 0
    functionsReached:
    - x._set_cache_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/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._set_cache_value
    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: werkzeug.datastructures.cache_control.cache_control_property.<lambda3>
    functionSourceFile: werkzeug.datastructures.cache_control
    functionUses: 0
    functionsReached:
    - x._del_cache_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/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._del_cache_value
    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: inspect.cleandoc
    functionSourceFile: inspect
    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: 2
    functionLinenumber: -1
    functionName: werkzeug.datastructures.cache_control._CacheControl
    functionSourceFile: werkzeug.datastructures.cache_control
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.cache_control.cache_control_property
    - inspect.cleandoc
    - <builtin>.property
    - parts.append
    - <builtin>.staticmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - key
    - empty
    - type
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 98
    functionName: werkzeug.datastructures.cache_control._CacheControl._get_cache_value
    functionSourceFile: werkzeug.datastructures.cache_control
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 3
    IfCount: 5
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - key
    - value
    - type
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 119
    functionName: werkzeug.datastructures.cache_control._CacheControl._set_cache_value
    functionSourceFile: werkzeug.datastructures.cache_control
    functionUses: 0
    functionsReached:
    - <builtin>.str
    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: 138
    functionName: werkzeug.datastructures.cache_control._CacheControl._del_cache_value
    functionSourceFile: werkzeug.datastructures.cache_control
    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: 143
    functionName: werkzeug.datastructures.cache_control._CacheControl.to_header
    functionSourceFile: werkzeug.datastructures.cache_control
    functionUses: 1
    functionsReached:
    - http.dump_header
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.dump_header
    functionSourceFile: <builtin>
    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: 2
    functionLinenumber: 147
    functionName: werkzeug.datastructures.cache_control._CacheControl.__str__
    functionSourceFile: werkzeug.datastructures.cache_control
    functionUses: 0
    functionsReached:
    - http.dump_header
    - werkzeug.datastructures.cache_control._CacheControl.to_header
    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: 150
    functionName: werkzeug.datastructures.cache_control._CacheControl.__repr__
    functionSourceFile: werkzeug.datastructures.cache_control
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - <builtin>.sorted
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 44
    functionsReached: []
    linkageType: 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: werkzeug.datastructures.cache_control.RequestCacheControl
    functionSourceFile: werkzeug.datastructures.cache_control
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.cache_control.cache_control_property
    - parts.append
    - inspect.cleandoc
    - <builtin>.property
    linkageType: 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: werkzeug.datastructures.cache_control.ResponseCacheControl
    functionSourceFile: werkzeug.datastructures.cache_control
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.cache_control.cache_control_property
    - parts.append
    - inspect.cleandoc
    - <builtin>.property
    linkageType: 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: werkzeug.utils
    functionSourceFile: werkzeug.utils
    functionUses: 0
    functionsReached:
    - re.compile
    - <builtin>.range
    - 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: <builtin>.range
    functionSourceFile: <builtin>
    functionUses: 19
    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 0x7f5d93d56250>
    - <ast.Constant object at 0x7f5d93d56f70>
    argNames:
    - self
    - fget
    - name
    - doc
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 78
    functionName: werkzeug.utils.cached_property.__init__
    functionSourceFile: werkzeug.utils
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - obj
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 89
    functionName: werkzeug.utils.cached_property.__set__
    functionSourceFile: werkzeug.utils
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - <builtin>.setattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d940b4c70>
    argNames:
    - self
    - obj
    - type
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 95
    functionName: werkzeug.utils.cached_property.__get__
    functionSourceFile: werkzeug.utils
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - <builtin>.setattr
    - obj_dict.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: obj_dict.get
    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
    - obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 116
    functionName: werkzeug.utils.cached_property.__delete__
    functionSourceFile: werkzeug.utils
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - <builtin>.setattr
    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: 0
    functionLinenumber: 146
    functionName: werkzeug.utils.environ_property.lookup
    functionSourceFile: werkzeug.utils
    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
    - obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 153
    functionName: werkzeug.utils.header_property.lookup
    functionSourceFile: werkzeug.utils
    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: mimetype.startswith
    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: mimetype.endswith
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - filename
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 195
    functionName: werkzeug.utils.secure_filename
    functionSourceFile: werkzeug.utils
    functionUses: 0
    functionsReached:
    - filename.split
    - _filename_ascii_strip_re.sub
    - filename.replace
    - <builtin>.str
    - filename.encode
    - unicodedata.normalize
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: unicodedata.normalize
    functionSourceFile: unicodedata
    functionUses: 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: filename.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: filename.replace
    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: filename.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: _filename_ascii_strip_re.sub
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93fa72b0>
    - <ast.Constant object at 0x7f5d93fa7100>
    argNames:
    - location
    - code
    - Response
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 242
    functionName: werkzeug.utils.redirect
    functionSourceFile: werkzeug.utils
    functionUses: 3
    functionsReached:
    - werkzeug.wrappers.response.Response.set_data
    - <builtin>.super
    - werkzeug.wrappers.response.Response.__init__
    - <builtin>.isinstance
    - value.encode
    - <builtin>.str
    - <builtin>.len
    - markupsafe.escape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93e6da30>
    argNames:
    - environ
    - code
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 282
    functionName: werkzeug.utils.append_slash_redirect
    functionSourceFile: werkzeug.utils
    functionUses: 0
    functionsReached:
    - werkzeug.utils.redirect
    - werkzeug.wrappers.response.Response.set_data
    - environ.get
    - <builtin>.super
    - werkzeug.wrappers.response.Response.__init__
    - <builtin>.isinstance
    - value.encode
    - <builtin>.str
    - <builtin>.len
    - markupsafe.escape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 25
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 13
    EdgeCount: 36
    ICount: 8
    IfCount: 25
    argCount: 12
    argDefaultValues:
    - <ast.Constant object at 0x7f5d94337b80>
    - <ast.Constant object at 0x7f5d94337790>
    - <ast.Constant object at 0x7f5d94337940>
    - <ast.Constant object at 0x7f5d94337280>
    - <ast.Constant object at 0x7f5d94337d00>
    - <ast.Constant object at 0x7f5d943379a0>
    - <ast.Constant object at 0x7f5d943379d0>
    - <ast.Constant object at 0x7f5d94337310>
    - <ast.Constant object at 0x7f5d94337130>
    - <ast.Constant object at 0x7f5d943376a0>
    argNames:
    - path_or_file
    - environ
    - mimetype
    - as_attachment
    - download_name
    - conditional
    - etag
    - last_modified
    - max_age
    - use_x_sendfile
    - response_class
    - _root_path
    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: 3
    functionLinenumber: 319
    functionName: werkzeug.utils.send_file
    functionSourceFile: werkzeug.utils
    functionUses: 3
    functionsReached:
    - <builtin>.hasattr
    - werkzeug.wsgi.wrap_file
    - headers.set
    - io.BytesIO.getbuffer
    - urllib.parse.quote
    - download_name.encode
    - simple.encode
    - os.stat
    - unicodedata.normalize
    - zlib.adler32
    - os.path.basename
    - os.path.join
    - <builtin>.open
    - <builtin>.super
    - typing.cast
    - value.encode
    - path.encode
    - mimetypes.guess_type
    - <builtin>.len
    - environ.get
    - <builtin>.int
    - rv.make_conditional
    - werkzeug.wrappers.response.Response.__init__
    - <builtin>.callable
    - <builtin>.str
    - werkzeug.wrappers.response.Response.set_data
    - rv.headers.pop
    - <builtin>.isinstance
    - rv.set_etag
    - os.path.abspath
    - io.BytesIO.close
    - time.time
    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: os.path.join
    functionSourceFile: os
    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: os.path.abspath
    functionSourceFile: os
    functionUses: 35
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.stat
    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.basename
    functionSourceFile: os
    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: headers.set
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: download_name.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: simple.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: <builtin>.open
    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: io.BytesIO.getbuffer
    functionSourceFile: io
    functionUses: 4
    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 0x7f5d93d563d0>
    argNames:
    - environ
    - file
    - buffer_size
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 263
    functionName: werkzeug.wsgi.wrap_file
    functionSourceFile: werkzeug.wsgi
    functionUses: 5
    functionsReached:
    - environ.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: <builtin>.callable
    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: rv.set_etag
    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: path.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: zlib.adler32
    functionSourceFile: zlib
    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: rv.make_conditional
    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: io.BytesIO.close
    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: rv.headers.pop
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 4
    argDefaultValues: []
    argNames:
    - directory
    - path
    - environ
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 538
    functionName: werkzeug.utils.send_from_directory
    functionSourceFile: werkzeug.utils
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - werkzeug.wsgi.wrap_file
    - headers.set
    - io.BytesIO.getbuffer
    - werkzeug.utils.send_file
    - urllib.parse.quote
    - download_name.encode
    - os.path.isfile
    - os.path.isabs
    - simple.encode
    - <builtin>.any
    - os.stat
    - zlib.adler32
    - unicodedata.normalize
    - parts.append
    - os.path.basename
    - os.path.join
    - <builtin>.open
    - <builtin>.super
    - typing.cast
    - os.fspath
    - value.encode
    - path.encode
    - mimetypes.guess_type
    - werkzeug.security.safe_join
    - filename.startswith
    - <builtin>.len
    - posixpath.normpath
    - environ.get
    - <builtin>.int
    - rv.make_conditional
    - werkzeug.wrappers.response.Response.__init__
    - <builtin>.callable
    - <builtin>.str
    - werkzeug.wrappers.response.Response.set_data
    - rv.headers.pop
    - posixpath.join
    - <builtin>.isinstance
    - rv.set_etag
    - os.path.abspath
    - io.BytesIO.close
    - time.time
    linkageType: pythonLinkage
    raised:
    - NotFound
    returnType: N/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.fspath
    functionSourceFile: os
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - directory
    - pathnames
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 134
    functionName: werkzeug.security.safe_join
    functionSourceFile: werkzeug.security
    functionUses: 3
    functionsReached:
    - posixpath.normpath
    - posixpath.join
    - os.path.isabs
    - <builtin>.any
    - parts.append
    - filename.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: os.path.isfile
    functionSourceFile: os
    functionUses: 16
    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 0x7f5d94c62400>
    argNames:
    - import_name
    - silent
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 580
    functionName: werkzeug.utils.import_string
    functionSourceFile: werkzeug.utils
    functionUses: 2
    functionsReached:
    - import_name.rsplit
    - import_name.replace
    - <builtin>.globals
    - <builtin>.locals
    - <builtin>.__import__
    - <builtin>.getattr
    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: import_name.replace
    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>.__import__
    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: import_name.rsplit
    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>.locals
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93f8a430>
    - <ast.Constant object at 0x7f5d93f8a220>
    argNames:
    - import_path
    - include_packages
    - recursive
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 619
    functionName: werkzeug.utils.find_modules
    functionSourceFile: werkzeug.utils
    functionUses: 0
    functionsReached:
    - import_name.replace
    - import_name.rsplit
    - pkgutil.iter_modules
    - <builtin>.globals
    - werkzeug.utils.find_modules
    - <builtin>.locals
    - <builtin>.__import__
    - <builtin>.getattr
    - werkzeug.utils.import_string
    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: pkgutil.iter_modules
    functionSourceFile: pkgutil
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - import_name
    - exception
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 660
    functionName: werkzeug.utils.ImportStringError.__init__
    functionSourceFile: werkzeug.utils
    functionUses: 0
    functionsReached:
    - import_name.replace
    - import_name.rsplit
    - track.append
    - <builtin>.super
    - <builtin>.globals
    - <builtin>.locals
    - tracked.append
    - <builtin>.__import__
    - <builtin>.getattr
    - <builtin>.type
    - werkzeug.utils.import_string
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tracked.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: track.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: 690
    functionName: werkzeug.utils.ImportStringError.__repr__
    functionSourceFile: werkzeug.utils
    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: werkzeug.security
    functionSourceFile: werkzeug.security
    functionUses: 0
    functionsReached:
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - length
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 17
    functionName: werkzeug.security.gen_salt
    functionSourceFile: werkzeug.security
    functionUses: 7
    functionsReached:
    - secrets.choice
    - <builtin>.range
    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: secrets.choice
    functionSourceFile: secrets
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 0
    IfCount: 6
    argCount: 3
    argDefaultValues: []
    argNames:
    - method
    - salt
    - password
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 25
    functionName: werkzeug.security._hash_internal
    functionSourceFile: werkzeug.security
    functionUses: 2
    functionsReached:
    - method.split
    - salt.encode
    - <builtin>.int
    - password.encode
    - <builtin>.map
    - hashlib.pbkdf2_hmac
    - hashlib.scrypt
    - <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: method.split
    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: salt.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: password.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>.map
    functionSourceFile: <builtin>
    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: hashlib.scrypt
    functionSourceFile: hashlib
    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: hashlib.pbkdf2_hmac
    functionSourceFile: hashlib
    functionUses: 3
    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 0x7f5d94337160>
    - <ast.Constant object at 0x7f5d94337730>
    argNames:
    - password
    - method
    - salt_length
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 73
    functionName: werkzeug.security.generate_password_hash
    functionSourceFile: werkzeug.security
    functionUses: 0
    functionsReached:
    - method.split
    - secrets.choice
    - salt.encode
    - <builtin>.int
    - password.encode
    - werkzeug.security._hash_internal
    - <builtin>.range
    - <builtin>.map
    - werkzeug.security.gen_salt
    - hashlib.scrypt
    - hashlib.pbkdf2_hmac
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - pwhash
    - password
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 112
    functionName: werkzeug.security.check_password_hash
    functionSourceFile: werkzeug.security
    functionUses: 0
    functionsReached:
    - method.split
    - salt.encode
    - pwhash.split
    - <builtin>.int
    - password.encode
    - werkzeug.security._hash_internal
    - <builtin>.map
    - hashlib.scrypt
    - hashlib.pbkdf2_hmac
    - <builtin>.len
    - hmac.compare_digest
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pwhash.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: hmac.compare_digest
    functionSourceFile: hmac
    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: posixpath.normpath
    functionSourceFile: posixpath
    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: os.path.isabs
    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: filename.startswith
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: posixpath.join
    functionSourceFile: posixpath
    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: werkzeug.wrappers.response
    functionSourceFile: werkzeug.wrappers.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:
    - iterable
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 31
    functionName: werkzeug.wrappers.response._iter_encoded
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 19
    functionsReached:
    - <builtin>.next
    - item.encode
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wsgi._RangeWrapper.__iter__
    - <builtin>.isinstance
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - werkzeug.wsgi._RangeWrapper.__next__
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <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: 373
    functionName: werkzeug.wsgi._RangeWrapper.__iter__
    functionSourceFile: ''
    functionUses: 20
    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: 4
    functionLinenumber: 413
    functionName: werkzeug.wsgi._RangeWrapper.__next__
    functionSourceFile: werkzeug.wsgi
    functionUses: 20
    functionsReached:
    - <builtin>.next
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - StopIteration
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: item.encode
    functionSourceFile: <builtin>
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 289
    functionName: werkzeug.wrappers.response.Response.set_data
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 21
    functionsReached:
    - <builtin>.isinstance
    - value.encode
    - <builtin>.len
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - func
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 179
    functionName: werkzeug.wrappers.response.Response.call_on_close
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 13
    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: 7
    functionLinenumber: 190
    functionName: werkzeug.wrappers.response.Response.__repr__
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 0
    functionsReached:
    - werkzeug.wrappers.response._iter_encoded
    - <builtin>.next
    - item.encode
    - <builtin>.map
    - werkzeug.wrappers.response.Response.iter_encoded
    - werkzeug.wsgi._RangeWrapper._next
    - <builtin>.type
    - <builtin>.isinstance
    - werkzeug.wsgi._RangeWrapper.__iter__
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - werkzeug.wsgi._RangeWrapper.__next__
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <builtin>.sum
    - <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: 6
    functionLinenumber: 358
    functionName: werkzeug.wrappers.response.Response.iter_encoded
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 18
    functionsReached:
    - werkzeug.wrappers.response._iter_encoded
    - <builtin>.next
    - item.encode
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wsgi._RangeWrapper.__iter__
    - <builtin>.isinstance
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - werkzeug.wsgi._RangeWrapper.__next__
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <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>.sum
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d94a34eb0>
    argNames:
    - cls
    - response
    - environ
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 198
    functionName: werkzeug.wrappers.response.Response.force_type
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 0
    functionsReached:
    - functools.partial
    - <builtin>.getattr
    - <builtin>.iter
    - werkzeug.wsgi.ClosingIterator.__iter__
    - werkzeug._internal._get_environ
    - <builtin>.super
    - buffer.append
    - werkzeug.wsgi.ClosingIterator.__next__
    - werkzeug.test.run_wsgi_app
    - value.encode
    - <builtin>.len
    - <builtin>.list
    - werkzeug.wrappers.response.Response.__init__
    - <builtin>.type
    - <builtin>.callable
    - werkzeug.wsgi.ClosingIterator.__init__
    - <builtin>.str
    - itertools.chain
    - werkzeug.wrappers.response.Response.set_data
    - <builtin>.isinstance
    - typing.cast
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d94a34be0>
    argNames:
    - cls
    - app
    - environ
    - buffered
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 243
    functionName: werkzeug.wrappers.response.Response.from_app
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 0
    functionsReached:
    - functools.partial
    - <builtin>.getattr
    - <builtin>.iter
    - werkzeug.wsgi.ClosingIterator.__iter__
    - werkzeug._internal._get_environ
    - <builtin>.super
    - buffer.append
    - werkzeug.wsgi.ClosingIterator.__next__
    - werkzeug.test.run_wsgi_app
    - value.encode
    - <builtin>.len
    - <builtin>.list
    - werkzeug.wrappers.response.Response.__init__
    - <builtin>.type
    - <builtin>.callable
    - werkzeug.wsgi.ClosingIterator.__init__
    - <builtin>.str
    - itertools.chain
    - werkzeug.wrappers.response.Response.set_data
    - <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: 1
    functionLinenumber: -1
    functionName: werkzeug.wrappers.response.Response
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 0
    functionsReached:
    - typing.overload
    - werkzeug.utils.cached_property
    - <builtin>.property
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d943d4040>
    argNames:
    - self
    - mutable
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 316
    functionName: werkzeug.wrappers.response.Response._ensure_sequence
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 11
    functionsReached:
    - werkzeug.wrappers.response._iter_encoded
    - <builtin>.list
    - <builtin>.next
    - item.encode
    - werkzeug.wsgi._RangeWrapper.__iter__
    - werkzeug.wrappers.response.Response.iter_encoded
    - werkzeug.wsgi._RangeWrapper._next
    - <builtin>.isinstance
    - <builtin>.getattr
    - werkzeug.wrappers.response.Response.call_on_close
    - werkzeug.wrappers.response.Response.make_sequence
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - werkzeug.wsgi._RangeWrapper.__next__
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    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: 9
    functionLinenumber: 308
    functionName: werkzeug.wrappers.response.Response.calculate_content_length
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 1
    functionsReached:
    - werkzeug.wrappers.response._iter_encoded
    - <builtin>.next
    - <builtin>.list
    - item.encode
    - werkzeug.wrappers.response.Response._ensure_sequence
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wrappers.response.Response.iter_encoded
    - werkzeug.wsgi._RangeWrapper.__iter__
    - <builtin>.isinstance
    - <builtin>.getattr
    - werkzeug.wrappers.response.Response.call_on_close
    - werkzeug.wrappers.response.Response.make_sequence
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - werkzeug.wsgi._RangeWrapper.__next__
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <builtin>.sum
    - <builtin>.len
    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: 7
    functionLinenumber: 341
    functionName: werkzeug.wrappers.response.Response.make_sequence
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 12
    functionsReached:
    - werkzeug.wrappers.response._iter_encoded
    - <builtin>.list
    - <builtin>.next
    - item.encode
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wrappers.response.Response.iter_encoded
    - werkzeug.wsgi._RangeWrapper.__iter__
    - <builtin>.getattr
    - <builtin>.isinstance
    - werkzeug.wrappers.response.Response.call_on_close
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - werkzeug.wsgi._RangeWrapper.__next__
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <builtin>.len
    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: 370
    functionName: werkzeug.wrappers.response.Response.is_streamed
    functionSourceFile: werkzeug.wrappers.response
    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: 1
    functionLinenumber: 386
    functionName: werkzeug.wrappers.response.Response.is_sequence
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    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: 2
    functionLinenumber: 395
    functionName: werkzeug.wrappers.response.Response.close
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 4
    functionsReached:
    - <builtin>.hasattr
    - werkzeug.wsgi._RangeWrapper.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: 420
    functionName: werkzeug.wsgi._RangeWrapper.close
    functionSourceFile: werkzeug.wsgi
    functionUses: 5
    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: 0
    functionLinenumber: 407
    functionName: werkzeug.wrappers.response.Response.__enter__
    functionSourceFile: werkzeug.wrappers.response
    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_value
    - tb
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 410
    functionName: werkzeug.wrappers.response.Response.__exit__
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - werkzeug.wrappers.response.Response.close
    - werkzeug.wsgi._RangeWrapper.close
    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: 7
    functionLinenumber: 413
    functionName: werkzeug.wrappers.response.Response.freeze
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 0
    functionsReached:
    - <builtin>.next
    - werkzeug.wrappers.response.Response.iter_encoded
    - <builtin>.getattr
    - werkzeug.http.generate_etag
    - werkzeug.wsgi._RangeWrapper.__next__
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - rv.decode
    - werkzeug.wrappers.response._iter_encoded
    - werkzeug.wrappers.response.Response._ensure_sequence
    - werkzeug.wrappers.response.Response.add_etag
    - werkzeug.wrappers.response.Response.call_on_close
    - <builtin>.sum
    - <builtin>.len
    - <builtin>.list
    - item.encode
    - werkzeug.sansio.response.Response.set_etag
    - werkzeug.wsgi._RangeWrapper.__iter__
    - werkzeug.wrappers.response.Response.get_data
    - <builtin>.str
    - werkzeug.wrappers.response.Response.make_sequence
    - werkzeug.http.quote_etag
    - <builtin>.map
    - werkzeug.wsgi._RangeWrapper._next
    - hashlib.sha1.hexdigest
    - <builtin>.isinstance
    - hashlib.sha1
    - werkzeug.wsgi._RangeWrapper._first_iteration
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d94c9db50>
    - <ast.Constant object at 0x7f5d94c9d6a0>
    argNames:
    - self
    - overwrite
    - weak
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 778
    functionName: werkzeug.wrappers.response.Response.add_etag
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 1
    functionsReached:
    - <builtin>.next
    - werkzeug.wrappers.response.Response.iter_encoded
    - <builtin>.getattr
    - werkzeug.http.generate_etag
    - werkzeug.wsgi._RangeWrapper.__next__
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - rv.decode
    - werkzeug.wrappers.response._iter_encoded
    - werkzeug.wrappers.response.Response._ensure_sequence
    - werkzeug.wrappers.response.Response.call_on_close
    - <builtin>.len
    - <builtin>.list
    - item.encode
    - werkzeug.sansio.response.Response.set_etag
    - werkzeug.wsgi._RangeWrapper.__iter__
    - werkzeug.wrappers.response.Response.get_data
    - werkzeug.wrappers.response.Response.make_sequence
    - werkzeug.http.quote_etag
    - werkzeug.wsgi._RangeWrapper._next
    - hashlib.sha1.hexdigest
    - <builtin>.isinstance
    - hashlib.sha1
    - werkzeug.wsgi._RangeWrapper._first_iteration
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 3
    IfCount: 9
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - environ
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 438
    functionName: werkzeug.wrappers.response.Response.get_wsgi_headers
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 2
    functionsReached:
    - <builtin>.next
    - hostname.endswith
    - werkzeug.sansio.utils.get_host
    - urllib.parse.urljoin
    - urllib.parse.urlsplit.hostname.encode
    - werkzeug.wrappers.response.Response.iter_encoded
    - hostname.partition
    - urllib.parse.quote
    - <builtin>.iter
    - headers.remove
    - werkzeug.wsgi._RangeWrapper.__next__
    - parts.append
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - pattern.split
    - werkzeug.wsgi._get_server
    - werkzeug.wrappers.response._iter_encoded
    - ref.startswith
    - werkzeug.urls.iri_to_uri
    - data.split
    - host.endswith
    - urllib.parse.urlunsplit
    - path.lstrip
    - <builtin>.sum
    - <builtin>.len
    - header.lower
    - data.decode
    - werkzeug.wsgi.get_current_url
    - environ.get
    - <builtin>.int
    - item.encode
    - werkzeug.wsgi._RangeWrapper.__iter__
    - out.append
    - werkzeug.sansio.utils.get_current_url
    - werkzeug.sansio.utils.host_is_trusted
    - urllib.parse.urlsplit
    - werkzeug.http.is_entity_header
    - part.decode
    - <builtin>.str
    - werkzeug.urls._decode_idna
    - werkzeug.http.remove_entity_headers
    - key.lower
    - werkzeug.urls.uri_to_iri
    - werkzeug.wsgi.get_host
    - root_path.rstrip
    - url.append
    - werkzeug.wsgi._RangeWrapper._next
    - <builtin>.isinstance
    - werkzeug.urls._make_unquote_part._unquote_partial
    - x.lower
    - urllib.parse.unquote
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - ref.partition
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - environ
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 520
    functionName: werkzeug.wrappers.response.Response.get_app_iter
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 2
    functionsReached:
    - werkzeug.wrappers.response._iter_encoded
    - <builtin>.list
    - functools.partial
    - <builtin>.next
    - item.encode
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wrappers.response.Response.iter_encoded
    - werkzeug.wsgi._RangeWrapper.__iter__
    - <builtin>.getattr
    - <builtin>.callable
    - <builtin>.isinstance
    - <builtin>.iter
    - werkzeug.wsgi.ClosingIterator.__init__
    - typing.cast
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - werkzeug.wsgi._RangeWrapper.__next__
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - environ
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 547
    functionName: werkzeug.wrappers.response.Response.get_wsgi_response
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 1
    functionsReached:
    - <builtin>.next
    - werkzeug.wrappers.response.Response.get_wsgi_headers
    - functools.partial
    - hostname.endswith
    - werkzeug.sansio.utils.get_host
    - urllib.parse.urljoin
    - urllib.parse.urlsplit.hostname.encode
    - werkzeug.wrappers.response.Response.iter_encoded
    - hostname.partition
    - urllib.parse.quote
    - <builtin>.getattr
    - <builtin>.iter
    - headers.remove
    - werkzeug.wsgi._RangeWrapper.__next__
    - parts.append
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - pattern.split
    - werkzeug.wsgi._get_server
    - werkzeug.wrappers.response._iter_encoded
    - ref.startswith
    - werkzeug.urls.iri_to_uri
    - data.split
    - host.endswith
    - urllib.parse.urlunsplit
    - path.lstrip
    - <builtin>.sum
    - <builtin>.len
    - header.lower
    - <builtin>.list
    - data.decode
    - werkzeug.wsgi.get_current_url
    - environ.get
    - <builtin>.int
    - item.encode
    - headers.to_wsgi_list
    - werkzeug.wsgi._RangeWrapper.__iter__
    - out.append
    - werkzeug.sansio.utils.get_current_url
    - werkzeug.sansio.utils.host_is_trusted
    - urllib.parse.urlsplit
    - <builtin>.callable
    - part.decode
    - werkzeug.wsgi.ClosingIterator.__init__
    - <builtin>.str
    - werkzeug.urls._decode_idna
    - werkzeug.http.remove_entity_headers
    - werkzeug.http.is_entity_header
    - key.lower
    - werkzeug.wrappers.response.Response.get_app_iter
    - werkzeug.wsgi.get_host
    - werkzeug.urls.uri_to_iri
    - root_path.rstrip
    - url.append
    - werkzeug.wsgi._RangeWrapper._next
    - <builtin>.isinstance
    - werkzeug.urls._make_unquote_part._unquote_partial
    - x.lower
    - typing.cast
    - urllib.parse.unquote
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - ref.partition
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - environ
    - start_response
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 566
    functionName: werkzeug.wrappers.response.Response.__call__
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 0
    functionsReached:
    - <builtin>.next
    - werkzeug.wrappers.response.Response.get_wsgi_headers
    - functools.partial
    - hostname.endswith
    - werkzeug.sansio.utils.get_host
    - urllib.parse.urljoin
    - urllib.parse.urlsplit.hostname.encode
    - werkzeug.wrappers.response.Response.iter_encoded
    - hostname.partition
    - urllib.parse.quote
    - <builtin>.getattr
    - <builtin>.iter
    - headers.remove
    - werkzeug.wsgi._RangeWrapper.__next__
    - parts.append
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - pattern.split
    - werkzeug.wsgi._get_server
    - werkzeug.wrappers.response._iter_encoded
    - ref.startswith
    - werkzeug.urls.iri_to_uri
    - data.split
    - host.endswith
    - urllib.parse.urlunsplit
    - path.lstrip
    - <builtin>.sum
    - <builtin>.len
    - header.lower
    - <builtin>.list
    - data.decode
    - werkzeug.wsgi.get_current_url
    - environ.get
    - <builtin>.int
    - item.encode
    - headers.to_wsgi_list
    - werkzeug.wsgi._RangeWrapper.__iter__
    - out.append
    - werkzeug.sansio.utils.get_current_url
    - werkzeug.sansio.utils.host_is_trusted
    - urllib.parse.urlsplit
    - <builtin>.callable
    - part.decode
    - werkzeug.wsgi.ClosingIterator.__init__
    - <builtin>.str
    - werkzeug.urls._decode_idna
    - werkzeug.http.remove_entity_headers
    - werkzeug.http.is_entity_header
    - key.lower
    - werkzeug.wrappers.response.Response.get_app_iter
    - werkzeug.wsgi.get_host
    - werkzeug.urls.uri_to_iri
    - root_path.rstrip
    - url.append
    - werkzeug.wrappers.response.Response.get_wsgi_response
    - werkzeug.wsgi._RangeWrapper._next
    - <builtin>.isinstance
    - werkzeug.urls._make_unquote_part._unquote_partial
    - x.lower
    - typing.cast
    - urllib.parse.unquote
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - ref.partition
    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: 11
    functionLinenumber: 587
    functionName: werkzeug.wrappers.response.Response.json
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 0
    functionsReached:
    - <builtin>.next
    - werkzeug.wrappers.response.Response.iter_encoded
    - werkzeug.wrappers.response.Response.get_json
    - <builtin>.getattr
    - werkzeug.wsgi._RangeWrapper.__next__
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - rv.decode
    - werkzeug.wrappers.response._iter_encoded
    - werkzeug.wrappers.response.Response._ensure_sequence
    - werkzeug.wrappers.response.Response.call_on_close
    - <builtin>.len
    - <builtin>.list
    - item.encode
    - werkzeug.wsgi._RangeWrapper.__iter__
    - werkzeug.wrappers.response.Response.get_data
    - werkzeug.wrappers.response.Response.make_sequence
    - werkzeug.wsgi._RangeWrapper._next
    - <builtin>.isinstance
    - werkzeug.wsgi._RangeWrapper._first_iteration
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93c8de20>
    - <ast.Constant object at 0x7f5d93c8d700>
    argNames:
    - self
    - force
    - silent
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 601
    functionName: werkzeug.wrappers.response.Response.get_json
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 1
    functionsReached:
    - rv.decode
    - werkzeug.wrappers.response._iter_encoded
    - <builtin>.list
    - <builtin>.next
    - item.encode
    - werkzeug.wrappers.response.Response._ensure_sequence
    - werkzeug.wsgi._RangeWrapper.__iter__
    - werkzeug.wrappers.response.Response.iter_encoded
    - werkzeug.wsgi._RangeWrapper._next
    - <builtin>.isinstance
    - <builtin>.getattr
    - werkzeug.wrappers.response.Response.get_data
    - werkzeug.wrappers.response.Response.call_on_close
    - werkzeug.wrappers.response.Response.make_sequence
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - werkzeug.wsgi._RangeWrapper.__next__
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <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: 1
    functionLinenumber: 630
    functionName: werkzeug.wrappers.response.Response.stream
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 0
    functionsReached:
    - werkzeug.wrappers.response.ResponseStream.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 797
    functionName: werkzeug.wrappers.response.ResponseStream.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - start
    - length
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 634
    functionName: werkzeug.wrappers.response.Response._wrap_range_response
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 2
    functionsReached:
    - <builtin>.hasattr
    - <builtin>.iter
    - werkzeug.wsgi._RangeWrapper.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d940b2a60>
    - <ast.Constant object at 0x7f5d940b2ca0>
    argNames:
    - self
    - iterable
    - start_byte
    - byte_range
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 355
    functionName: werkzeug.wsgi._RangeWrapper.__init__
    functionSourceFile: werkzeug.wsgi
    functionUses: 3
    functionsReached:
    - <builtin>.hasattr
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - environ
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 639
    functionName: werkzeug.wrappers.response.Response._is_range_request_processable
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 2
    functionsReached:
    - werkzeug.datastructures.etag.ETags.is_weak
    - _etag_re.match
    - match.end
    - werkzeug.http.is_resource_modified
    - werkzeug._internal._dt_as_utc
    - werkzeug.http.generate_etag
    - werkzeug.datastructures.etag.ETags.contains
    - werkzeug.sansio.http.is_resource_modified
    - etag.strip
    - etag.startswith
    - werkzeug.http.parse_date
    - weak.append
    - werkzeug.datastructures.etag.ETags.is_strong
    - werkzeug.http.unquote_etag
    - werkzeug.http.parse_if_range_header
    - <builtin>.len
    - time.mktime.replace
    - environ.get
    - time.mktime.astimezone
    - strong.append
    - email.utils.parsedate_to_datetime
    - match.groups
    - dt.replace
    - werkzeug.http.parse_etags
    - werkzeug.datastructures.etag.ETags.contains_weak
    - hashlib.sha1.hexdigest
    - <builtin>.isinstance
    - hashlib.sha1
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - environ
    - complete_length
    - accept_ranges
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 654
    functionName: werkzeug.wrappers.response.Response._process_range_request
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 1
    functionsReached:
    - rng.split
    - <builtin>.hasattr
    - werkzeug.datastructures.etag.ETags.is_weak
    - _etag_re.match
    - match.end
    - werkzeug.wsgi._RangeWrapper.__init__
    - werkzeug.http.is_resource_modified
    - item.split
    - <builtin>.iter
    - werkzeug._internal._dt_as_utc
    - werkzeug.http.generate_etag
    - werkzeug.datastructures.etag.ETags.contains
    - werkzeug.sansio.http.is_resource_modified
    - value.strip
    - etag.strip
    - etag.startswith
    - werkzeug.http.parse_date
    - weak.append
    - werkzeug.datastructures.etag.ETags.is_strong
    - <builtin>.min
    - werkzeug.wrappers.response.Response._wrap_range_response
    - _plain_int_re.fullmatch
    - werkzeug.http.unquote_etag
    - value.split
    - werkzeug.http.parse_if_range_header
    - <builtin>.len
    - time.mktime.replace
    - werkzeug.http.parse_range_header
    - environ.get
    - <builtin>.int
    - werkzeug.wrappers.response.Response._is_range_request_processable
    - time.mktime.astimezone
    - begin_str.strip
    - strong.append
    - <builtin>.str
    - units.strip
    - end_str.strip
    - email.utils.parsedate_to_datetime
    - werkzeug.datastructures.range.Range.to_content_range_header
    - item.strip
    - werkzeug._internal._plain_int
    - match.groups
    - item.startswith
    - dt.replace
    - werkzeug.http.parse_etags
    - http.is_byte_range_valid
    - werkzeug.datastructures.etag.ETags.contains_weak
    - ranges.append
    - hashlib.sha1.hexdigest
    - <builtin>.isinstance
    - werkzeug.datastructures.range.Range.range_for_length
    - hashlib.sha1
    linkageType: pythonLinkage
    raised:
    - RequestedRangeNotSatisfiable
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - length
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 69
    functionName: werkzeug.datastructures.range.Range.range_for_length
    functionSourceFile: werkzeug.datastructures.range
    functionUses: 4
    functionsReached:
    - http.is_byte_range_valid
    - <builtin>.min
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - length
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 104
    functionName: werkzeug.datastructures.range.Range.to_content_range_header
    functionSourceFile: werkzeug.datastructures.range
    functionUses: 2
    functionsReached:
    - http.is_byte_range_valid
    - <builtin>.min
    - werkzeug.datastructures.range.Range.range_for_length
    - <builtin>.len
    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 0x7f5d941a9310>
    - <ast.Constant object at 0x7f5d941a9f10>
    argNames:
    - self
    - request_or_environ
    - accept_ranges
    - complete_length
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 705
    functionName: werkzeug.wrappers.response.Response.make_conditional
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 0
    functionsReached:
    - rng.split
    - werkzeug.wsgi._RangeWrapper.__init__
    - etag.strip
    - etag.startswith
    - werkzeug._internal._get_environ
    - werkzeug.wrappers.response.Response._wrap_range_response
    - werkzeug.wrappers.response.Response._ensure_sequence
    - time.mktime.replace
    - <builtin>.list
    - werkzeug.wsgi._RangeWrapper.__iter__
    - match.groups
    - dt.replace
    - http.is_byte_range_valid
    - <builtin>.hasattr
    - <builtin>.next
    - werkzeug.datastructures.etag.ETags.is_weak
    - datetime.time
    - werkzeug.http.generate_etag
    - werkzeug.wsgi._RangeWrapper.__next__
    - werkzeug.sansio.http.is_resource_modified
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - weak.append
    - _plain_int_re.fullmatch
    - value.split
    - environ.get
    - item.encode
    - time.mktime.astimezone
    - email.utils.formatdate
    - email.utils.parsedate_to_datetime
    - end_str.strip
    - werkzeug.wrappers.response.Response.make_sequence
    - item.strip
    - werkzeug.http.parse_etags
    - werkzeug.datastructures.etag.ETags.contains_weak
    - ranges.append
    - werkzeug.wrappers.response.Response._process_range_request
    - match.end
    - <builtin>.iter
    - value.strip
    - <builtin>.min
    - time.mktime
    - werkzeug.wrappers.response.Response.call_on_close
    - werkzeug.wrappers.response.Response.calculate_content_length
    - <builtin>.int
    - werkzeug.wrappers.response.Response._is_range_request_processable
    - units.strip
    - werkzeug.datastructures.range.Range.to_content_range_header
    - item.startswith
    - werkzeug.http.http_date
    - werkzeug.datastructures.range.Range.range_for_length
    - email.utils.format_datetime
    - hashlib.sha1
    - _etag_re.match
    - werkzeug.wrappers.response.Response.iter_encoded
    - werkzeug.http.is_resource_modified
    - <builtin>.getattr
    - item.split
    - werkzeug._internal._dt_as_utc
    - werkzeug.datastructures.etag.ETags.contains
    - werkzeug.wrappers.response._iter_encoded
    - werkzeug.http.parse_date
    - werkzeug.datastructures.etag.ETags.is_strong
    - datetime.datetime.combine
    - werkzeug.http.unquote_etag
    - werkzeug.http.parse_if_range_header
    - <builtin>.sum
    - <builtin>.len
    - werkzeug.http.parse_range_header
    - <builtin>.type
    - begin_str.strip
    - strong.append
    - <builtin>.str
    - werkzeug._internal._plain_int
    - werkzeug.wsgi._RangeWrapper._next
    - hashlib.sha1.hexdigest
    - <builtin>.isinstance
    - werkzeug.wsgi._RangeWrapper._first_iteration
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 801
    functionName: werkzeug.wrappers.response.ResponseStream.write
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 1
    functionsReached:
    - werkzeug.wrappers.response._iter_encoded
    - <builtin>.list
    - <builtin>.next
    - item.encode
    - werkzeug.wrappers.response.Response._ensure_sequence
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wrappers.response.Response.iter_encoded
    - werkzeug.wsgi._RangeWrapper.__iter__
    - <builtin>.isinstance
    - <builtin>.getattr
    - werkzeug.wrappers.response.Response.call_on_close
    - werkzeug.wrappers.response.Response.make_sequence
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - werkzeug.wsgi._RangeWrapper.__next__
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - seq
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 809
    functionName: werkzeug.wrappers.response.ResponseStream.writelines
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 0
    functionsReached:
    - werkzeug.wrappers.response._iter_encoded
    - <builtin>.list
    - <builtin>.next
    - werkzeug.wrappers.response.ResponseStream.write
    - item.encode
    - werkzeug.wrappers.response.Response._ensure_sequence
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wrappers.response.Response.iter_encoded
    - werkzeug.wsgi._RangeWrapper.__iter__
    - <builtin>.isinstance
    - <builtin>.getattr
    - werkzeug.wrappers.response.Response.call_on_close
    - werkzeug.wrappers.response.Response.make_sequence
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - werkzeug.wsgi._RangeWrapper.__next__
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <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: 813
    functionName: werkzeug.wrappers.response.ResponseStream.close
    functionSourceFile: werkzeug.wrappers.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: 0
    functionLinenumber: 816
    functionName: werkzeug.wrappers.response.ResponseStream.flush
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - ValueError
    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: 820
    functionName: werkzeug.wrappers.response.ResponseStream.isatty
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 0
    functionsReached: []
    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: 9
    functionLinenumber: 825
    functionName: werkzeug.wrappers.response.ResponseStream.tell
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 0
    functionsReached:
    - werkzeug.wrappers.response._iter_encoded
    - <builtin>.list
    - <builtin>.next
    - item.encode
    - werkzeug.wrappers.response.Response._ensure_sequence
    - <builtin>.map
    - werkzeug.wrappers.response.Response.iter_encoded
    - werkzeug.wsgi._RangeWrapper.__iter__
    - <builtin>.isinstance
    - <builtin>.getattr
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wrappers.response.Response.call_on_close
    - werkzeug.wrappers.response.Response.make_sequence
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - werkzeug.wsgi._RangeWrapper.__next__
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <builtin>.sum
    - <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: 830
    functionName: werkzeug.wrappers.response.ResponseStream.encoding
    functionSourceFile: werkzeug.wrappers.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: werkzeug.wsgi
    functionSourceFile: werkzeug.wsgi
    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:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 18
    functionName: werkzeug.wsgi.responder
    functionSourceFile: werkzeug.wsgi
    functionUses: 0
    functionsReached:
    - functools.update_wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: werkzeug.wsgi.responder.<lambda1>
    functionSourceFile: werkzeug.wsgi
    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: functools.update_wrapper
    functionSourceFile: functools
    functionUses: 13
    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 0x7f5d9430d8b0>
    argNames:
    - environ
    - trusted_hosts
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 86
    functionName: werkzeug.wsgi.get_host
    functionSourceFile: werkzeug.wsgi
    functionUses: 17
    functionsReached:
    - werkzeug.wsgi._get_server
    - ref.startswith
    - hostname.endswith
    - environ.get
    - werkzeug.sansio.utils.get_host
    - <builtin>.int
    - hostname.partition
    - werkzeug.sansio.utils.host_is_trusted
    - <builtin>.isinstance
    - host.endswith
    - ref.partition
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 7
    IfCount: 3
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f5d943c7640>
    - <ast.Constant object at 0x7f5d943c7970>
    - <ast.Constant object at 0x7f5d943c7700>
    argNames:
    - scheme
    - host
    - root_path
    - path
    - query_string
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 105
    functionName: werkzeug.sansio.utils.get_current_url
    functionSourceFile: werkzeug.sansio.utils
    functionUses: 20
    functionsReached:
    - <builtin>.next
    - urllib.parse.urlsplit.hostname.encode
    - urllib.parse.quote
    - <builtin>.iter
    - parts.append
    - pattern.split
    - data.split
    - path.lstrip
    - urllib.parse.urlunsplit
    - data.decode
    - out.append
    - urllib.parse.urlsplit
    - part.decode
    - werkzeug.urls._decode_idna
    - werkzeug.urls.uri_to_iri
    - root_path.rstrip
    - url.append
    - werkzeug.urls._make_unquote_part._unquote_partial
    - urllib.parse.unquote
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 1
    IfCount: 8
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d944cd5b0>
    - <ast.Constant object at 0x7f5d944cdbb0>
    argNames:
    - scheme
    - host_header
    - server
    - trusted_hosts
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 49
    functionName: werkzeug.sansio.utils.get_host
    functionSourceFile: werkzeug.sansio.utils
    functionUses: 19
    functionsReached:
    - ref.startswith
    - hostname.endswith
    - hostname.partition
    - werkzeug.sansio.utils.host_is_trusted
    - <builtin>.isinstance
    - host.endswith
    - ref.partition
    linkageType: pythonLinkage
    raised:
    - SecurityError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93f8ab50>
    - <ast.Constant object at 0x7f5d93f8a340>
    argNames:
    - http_content_length
    - http_transfer_encoding
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 148
    functionName: werkzeug.sansio.utils.get_content_length
    functionSourceFile: werkzeug.sansio.utils
    functionUses: 8
    functionsReached:
    - <builtin>.int
    - <builtin>.max
    - _plain_int_re.fullmatch
    - value.strip
    - werkzeug._internal._plain_int
    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 0x7f5d93dfda60>
    argNames:
    - self
    - stream
    - limit
    - is_max
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 457
    functionName: werkzeug.wsgi.LimitedStream.__init__
    functionSourceFile: ''
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - environ
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 197
    functionName: werkzeug.wsgi.get_path_info
    functionSourceFile: werkzeug.wsgi
    functionUses: 1
    functionsReached:
    - environ.get
    - path.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: path.decode
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: functools.partial
    functionSourceFile: functools
    functionUses: 20
    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: 258
    functionName: werkzeug.wsgi.ClosingIterator.close
    functionSourceFile: werkzeug.wsgi
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - werkzeug.local.release_local
    - werkzeug.wrappers.response.Response.close
    - local.__release_local__
    - werkzeug.local.LocalManager.cleanup
    - werkzeug.wsgi._RangeWrapper.close
    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: 220
    functionName: werkzeug.local.LocalManager.cleanup
    functionSourceFile: werkzeug.local
    functionUses: 1
    functionsReached:
    - local.__release_local__
    - werkzeug.local.release_local
    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 0x7f5d93d56490>
    argNames:
    - self
    - file
    - buffer_size
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 304
    functionName: werkzeug.wsgi.FileWrapper.__init__
    functionSourceFile: werkzeug.wsgi
    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: 1
    functionLinenumber: 308
    functionName: werkzeug.wsgi.FileWrapper.close
    functionSourceFile: werkzeug.wsgi
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    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: 312
    functionName: werkzeug.wsgi.FileWrapper.seekable
    functionSourceFile: werkzeug.wsgi
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 319
    functionName: werkzeug.wsgi.FileWrapper.seek
    functionSourceFile: werkzeug.wsgi
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    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: 323
    functionName: werkzeug.wsgi.FileWrapper.tell
    functionSourceFile: werkzeug.wsgi
    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: 0
    functionLinenumber: 328
    functionName: werkzeug.wsgi.FileWrapper.__iter__
    functionSourceFile: werkzeug.wsgi
    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: 0
    functionLinenumber: 331
    functionName: werkzeug.wsgi.FileWrapper.__next__
    functionSourceFile: werkzeug.wsgi
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - StopIteration
    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: 376
    functionName: werkzeug.wsgi._RangeWrapper._next_chunk
    functionSourceFile: werkzeug.wsgi
    functionUses: 23
    functionsReached:
    - <builtin>.next
    - <builtin>.len
    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: 385
    functionName: werkzeug.wsgi._RangeWrapper._first_iteration
    functionSourceFile: werkzeug.wsgi
    functionUses: 22
    functionsReached:
    - <builtin>.next
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <builtin>.len
    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: 3
    functionLinenumber: 399
    functionName: werkzeug.wsgi._RangeWrapper._next
    functionSourceFile: werkzeug.wsgi
    functionUses: 21
    functionsReached:
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - <builtin>.next
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - StopIteration
    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: 464
    functionName: werkzeug.wsgi.LimitedStream.is_exhausted
    functionSourceFile: werkzeug.wsgi
    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: 468
    functionName: werkzeug.wsgi.LimitedStream.on_exhausted
    functionSourceFile: werkzeug.wsgi
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RequestEntityTooLarge
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d943c7b50>
    argNames:
    - self
    - error
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 483
    functionName: werkzeug.wsgi.LimitedStream.on_disconnect
    functionSourceFile: werkzeug.wsgi
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - ClientDisconnected
    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: 2
    functionLinenumber: 505
    functionName: werkzeug.wsgi.LimitedStream.exhaust
    functionSourceFile: werkzeug.wsgi
    functionUses: 0
    functionsReached:
    - <builtin>.bytes
    - werkzeug.wsgi.LimitedStream.on_exhausted
    - io.RawIOBase.read
    - <builtin>.bytearray
    - out.extend
    - werkzeug.wsgi.LimitedStream.readall
    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: 568
    functionName: werkzeug.wsgi.LimitedStream.readall
    functionSourceFile: werkzeug.wsgi
    functionUses: 1
    functionsReached:
    - <builtin>.bytes
    - werkzeug.wsgi.LimitedStream.on_exhausted
    - io.RawIOBase.read
    - <builtin>.bytearray
    - out.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 5
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - b
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 520
    functionName: werkzeug.wsgi.LimitedStream.readinto
    functionSourceFile: werkzeug.wsgi
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - werkzeug.wsgi.LimitedStream.on_exhausted
    - <builtin>.min
    - <builtin>.bytearray
    - werkzeug.wsgi.LimitedStream.on_disconnect
    - <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: io.RawIOBase.read
    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: out.extend
    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: 0
    functionLinenumber: 587
    functionName: werkzeug.wsgi.LimitedStream.tell
    functionSourceFile: werkzeug.wsgi
    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: 594
    functionName: werkzeug.wsgi.LimitedStream.readable
    functionSourceFile: werkzeug.wsgi
    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: werkzeug.sansio.utils
    functionSourceFile: werkzeug.sansio.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - hostname
    - trusted_list
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 11
    functionName: werkzeug.sansio.utils.host_is_trusted
    functionSourceFile: werkzeug.sansio.utils
    functionUses: 27
    functionsReached:
    - ref.startswith
    - hostname.endswith
    - hostname.partition
    - <builtin>.isinstance
    - ref.partition
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.partition
    functionSourceFile: <builtin>
    functionUses: 28
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ref.startswith
    functionSourceFile: <builtin>
    functionUses: 28
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ref.partition
    functionSourceFile: <builtin>
    functionUses: 28
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.endswith
    functionSourceFile: <builtin>
    functionUses: 28
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.endswith
    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: url.append
    functionSourceFile: <builtin>
    functionUses: 21
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - uri
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 61
    functionName: werkzeug.urls.uri_to_iri
    functionSourceFile: werkzeug.urls
    functionUses: 22
    functionsReached:
    - <builtin>.next
    - data.decode
    - urllib.parse.urlsplit.hostname.encode
    - out.append
    - werkzeug.urls._make_unquote_part._unquote_partial
    - urllib.parse.urlsplit
    - part.decode
    - <builtin>.iter
    - data.split
    - parts.append
    - werkzeug.urls._decode_idna
    - urllib.parse.unquote
    - urllib.parse.urlunsplit
    - pattern.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: root_path.rstrip
    functionSourceFile: <builtin>
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.lstrip
    functionSourceFile: <builtin>
    functionUses: 24
    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: 2
    functionLinenumber: -1
    functionName: werkzeug.urls
    functionSourceFile: werkzeug.urls
    functionUses: 0
    functionsReached:
    - <builtin>.bytes
    - codecs.register_error
    - werkzeug.urls._make_unquote_part
    - <builtin>.range
    - <builtin>.sorted
    - re.compile
    - urllib.parse.uses_netloc.append
    - <builtin>.ord
    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: 1
    functionLinenumber: 16
    functionName: werkzeug.urls._codec_error_url_quote
    functionSourceFile: werkzeug.urls
    functionUses: 0
    functionsReached:
    - urllib.parse.quote
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: codecs.register_error
    functionSourceFile: codecs
    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:
    - name
    - chars
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 29
    functionName: werkzeug.urls._make_unquote_part
    functionSourceFile: werkzeug.urls
    functionUses: 1
    functionsReached:
    - <builtin>.sorted
    - re.compile
    - <builtin>.ord
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.ord
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 37
    functionName: werkzeug.urls._make_unquote_part._unquote_partial
    functionSourceFile: werkzeug.urls
    functionUses: 23
    functionsReached:
    - <builtin>.next
    - out.append
    - <builtin>.iter
    - urllib.parse.unquote
    - pattern.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: pattern.split
    functionSourceFile: <builtin>
    functionUses: 24
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - domain
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 175
    functionName: werkzeug.urls._decode_idna
    functionSourceFile: werkzeug.urls
    functionUses: 23
    functionsReached:
    - data.decode
    - urllib.parse.urlsplit.hostname.encode
    - part.decode
    - data.split
    - parts.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: urllib.parse.urlsplit.hostname.encode
    functionSourceFile: urllib
    functionUses: 31
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.uses_netloc.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: data.decode
    functionSourceFile: <builtin>
    functionUses: 25
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.split
    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: part.decode
    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: urllib.parse.urlencode
    functionSourceFile: urllib
    functionUses: 25
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: werkzeug.sansio.request
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 9
    argDefaultValues: []
    argNames:
    - self
    - method
    - scheme
    - server
    - root_path
    - path
    - query_string
    - headers
    - remote_addr
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 116
    functionName: werkzeug.sansio.request.Request.__init__
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - root_path.rstrip
    - path.lstrip
    - method.upper
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 149
    functionName: werkzeug.sansio.request.Request.__repr__
    functionSourceFile: werkzeug.sansio.request
    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: werkzeug.sansio.request.Request
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - werkzeug.utils.cached_property
    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: 158
    functionName: werkzeug.sansio.request.Request.args
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - urllib.parse.parse_qsl
    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: 180
    functionName: werkzeug.sansio.request.Request.access_route
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - werkzeug.http.parse_list_header
    - urllib.request.parse_http_list
    - <builtin>.len
    - result.append
    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: 193
    functionName: werkzeug.sansio.request.Request.full_path
    functionSourceFile: werkzeug.sansio.request
    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: 198
    functionName: werkzeug.sansio.request.Request.is_secure
    functionSourceFile: werkzeug.sansio.request
    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: 4
    functionLinenumber: 205
    functionName: werkzeug.sansio.request.Request.url
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - <builtin>.next
    - urllib.parse.urlsplit.hostname.encode
    - urllib.parse.quote
    - <builtin>.iter
    - parts.append
    - pattern.split
    - data.split
    - path.lstrip
    - urllib.parse.urlunsplit
    - data.decode
    - out.append
    - werkzeug.sansio.utils.get_current_url
    - urllib.parse.urlsplit
    - part.decode
    - werkzeug.urls._decode_idna
    - werkzeug.urls.uri_to_iri
    - root_path.rstrip
    - url.append
    - werkzeug.urls._make_unquote_part._unquote_partial
    - urllib.parse.unquote
    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: 4
    functionLinenumber: 213
    functionName: werkzeug.sansio.request.Request.base_url
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - <builtin>.next
    - urllib.parse.urlsplit.hostname.encode
    - urllib.parse.quote
    - <builtin>.iter
    - parts.append
    - pattern.split
    - data.split
    - path.lstrip
    - urllib.parse.urlunsplit
    - data.decode
    - out.append
    - werkzeug.sansio.utils.get_current_url
    - urllib.parse.urlsplit
    - part.decode
    - werkzeug.urls._decode_idna
    - werkzeug.urls.uri_to_iri
    - root_path.rstrip
    - url.append
    - werkzeug.urls._make_unquote_part._unquote_partial
    - urllib.parse.unquote
    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: 4
    functionLinenumber: 218
    functionName: werkzeug.sansio.request.Request.root_url
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - <builtin>.next
    - urllib.parse.urlsplit.hostname.encode
    - urllib.parse.quote
    - <builtin>.iter
    - parts.append
    - pattern.split
    - data.split
    - path.lstrip
    - urllib.parse.urlunsplit
    - data.decode
    - out.append
    - werkzeug.sansio.utils.get_current_url
    - urllib.parse.urlsplit
    - part.decode
    - werkzeug.urls._decode_idna
    - werkzeug.urls.uri_to_iri
    - root_path.rstrip
    - url.append
    - werkzeug.urls._make_unquote_part._unquote_partial
    - urllib.parse.unquote
    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: 4
    functionLinenumber: 225
    functionName: werkzeug.sansio.request.Request.host_url
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - <builtin>.next
    - urllib.parse.urlsplit.hostname.encode
    - urllib.parse.quote
    - <builtin>.iter
    - parts.append
    - pattern.split
    - data.split
    - path.lstrip
    - urllib.parse.urlunsplit
    - data.decode
    - out.append
    - werkzeug.sansio.utils.get_current_url
    - urllib.parse.urlsplit
    - part.decode
    - werkzeug.urls._decode_idna
    - werkzeug.urls.uri_to_iri
    - root_path.rstrip
    - url.append
    - werkzeug.urls._make_unquote_part._unquote_partial
    - urllib.parse.unquote
    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: 230
    functionName: werkzeug.sansio.request.Request.host
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - ref.startswith
    - hostname.endswith
    - werkzeug.sansio.utils.get_host
    - <builtin>.isinstance
    - werkzeug.sansio.utils.host_is_trusted
    - hostname.partition
    - host.endswith
    - ref.partition
    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: 239
    functionName: werkzeug.sansio.request.Request.cookies
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - _cookie_re.findall
    - out.append
    - werkzeug.sansio.http.parse_cookie
    - _cookie_unslash_re.sub
    - ck.strip
    - cv.strip
    - typing.cast
    - <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: 3
    functionLinenumber: 259
    functionName: werkzeug.sansio.request.Request.content_length
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - werkzeug.sansio.utils.get_content_length
    - <builtin>.max
    - _plain_int_re.fullmatch
    - value.strip
    - werkzeug._internal._plain_int
    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: 326
    functionName: werkzeug.sansio.request.Request._parse_content_type
    functionSourceFile: werkzeug.sansio.request
    functionUses: 2
    functionsReached:
    - <builtin>.hasattr
    - rest.strip
    - _continuation_re.search
    - options.get
    - werkzeug.http.parse_options_header
    - parts.append
    - value.strip
    - m.group
    - encoding.lower
    - <builtin>.len
    - value.partition
    - match.start
    - _charset_value_re.match
    - match.groups
    - m.end
    - _parameter_key_re.match
    - rest.find
    - urllib.parse.unquote
    - _parameter_token_value_re.match
    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: 333
    functionName: werkzeug.sansio.request.Request.mimetype
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - rest.strip
    - _continuation_re.search
    - options.get
    - werkzeug.http.parse_options_header
    - parts.append
    - value.strip
    - m.group
    - encoding.lower
    - <builtin>.len
    - value.partition
    - werkzeug.sansio.request.Request._parse_content_type
    - match.start
    - _charset_value_re.match
    - match.groups
    - m.end
    - _parameter_key_re.match
    - rest.find
    - urllib.parse.unquote
    - _parameter_token_value_re.match
    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: 343
    functionName: werkzeug.sansio.request.Request.mimetype_params
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - rest.strip
    - _continuation_re.search
    - options.get
    - werkzeug.http.parse_options_header
    - parts.append
    - value.strip
    - m.group
    - encoding.lower
    - <builtin>.len
    - value.partition
    - werkzeug.sansio.request.Request._parse_content_type
    - match.start
    - _charset_value_re.match
    - match.groups
    - m.end
    - _parameter_key_re.match
    - rest.find
    - urllib.parse.unquote
    - _parameter_token_value_re.match
    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: 352
    functionName: werkzeug.sansio.request.Request.pragma
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - result.append
    - werkzeug.http.parse_set_header
    - werkzeug.http.parse_list_header
    - urllib.request.parse_http_list
    - <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: 4
    functionLinenumber: 364
    functionName: werkzeug.sansio.request.Request.accept_mimetypes
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - rest.strip
    - _continuation_re.search
    - werkzeug.http.parse_accept_header
    - options.get
    - werkzeug.http.parse_options_header
    - value_str.replace
    - werkzeug.http.dump_options_header
    - _q_value_re.fullmatch
    - parts.append
    - value.strip
    - <builtin>.float
    - werkzeug.http.quote_header_value
    - result.append
    - segments.append
    - <builtin>.super
    - m.group
    - token_chars.issuperset
    - urllib.request.parse_http_list
    - encoding.lower
    - <builtin>.len
    - werkzeug.datastructures.accept.Accept.__init__
    - value.partition
    - werkzeug.http.parse_list_header
    - <builtin>.sorted
    - <builtin>.str
    - options.items
    - _charset_value_re.match
    - match.start
    - match.groups
    - m.end
    - _parameter_key_re.match
    - rest.find
    - <builtin>.isinstance
    - typing.cast
    - urllib.parse.unquote
    - options.pop
    - _parameter_token_value_re.match
    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: 4
    functionLinenumber: 371
    functionName: werkzeug.sansio.request.Request.accept_charsets
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - rest.strip
    - _continuation_re.search
    - werkzeug.http.parse_accept_header
    - options.get
    - werkzeug.http.parse_options_header
    - value_str.replace
    - werkzeug.http.dump_options_header
    - _q_value_re.fullmatch
    - parts.append
    - value.strip
    - <builtin>.float
    - werkzeug.http.quote_header_value
    - result.append
    - segments.append
    - <builtin>.super
    - m.group
    - token_chars.issuperset
    - urllib.request.parse_http_list
    - encoding.lower
    - <builtin>.len
    - werkzeug.datastructures.accept.Accept.__init__
    - value.partition
    - werkzeug.http.parse_list_header
    - <builtin>.sorted
    - <builtin>.str
    - options.items
    - _charset_value_re.match
    - match.start
    - match.groups
    - m.end
    - _parameter_key_re.match
    - rest.find
    - <builtin>.isinstance
    - typing.cast
    - urllib.parse.unquote
    - options.pop
    - _parameter_token_value_re.match
    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: 4
    functionLinenumber: 378
    functionName: werkzeug.sansio.request.Request.accept_encodings
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - rest.strip
    - _continuation_re.search
    - werkzeug.http.parse_accept_header
    - options.get
    - werkzeug.http.parse_options_header
    - value_str.replace
    - werkzeug.http.dump_options_header
    - _q_value_re.fullmatch
    - parts.append
    - value.strip
    - <builtin>.float
    - werkzeug.http.quote_header_value
    - result.append
    - segments.append
    - <builtin>.super
    - m.group
    - token_chars.issuperset
    - urllib.request.parse_http_list
    - encoding.lower
    - <builtin>.len
    - werkzeug.datastructures.accept.Accept.__init__
    - value.partition
    - werkzeug.http.parse_list_header
    - <builtin>.sorted
    - <builtin>.str
    - options.items
    - _charset_value_re.match
    - match.start
    - match.groups
    - m.end
    - _parameter_key_re.match
    - rest.find
    - <builtin>.isinstance
    - typing.cast
    - urllib.parse.unquote
    - options.pop
    - _parameter_token_value_re.match
    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: 4
    functionLinenumber: 386
    functionName: werkzeug.sansio.request.Request.accept_languages
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - rest.strip
    - _continuation_re.search
    - werkzeug.http.parse_accept_header
    - options.get
    - werkzeug.http.parse_options_header
    - value_str.replace
    - werkzeug.http.dump_options_header
    - _q_value_re.fullmatch
    - parts.append
    - value.strip
    - <builtin>.float
    - werkzeug.http.quote_header_value
    - result.append
    - segments.append
    - <builtin>.super
    - m.group
    - token_chars.issuperset
    - urllib.request.parse_http_list
    - encoding.lower
    - <builtin>.len
    - werkzeug.datastructures.accept.Accept.__init__
    - value.partition
    - werkzeug.http.parse_list_header
    - <builtin>.sorted
    - <builtin>.str
    - options.items
    - _charset_value_re.match
    - match.start
    - match.groups
    - m.end
    - _parameter_key_re.match
    - rest.find
    - <builtin>.isinstance
    - typing.cast
    - urllib.parse.unquote
    - options.pop
    - _parameter_token_value_re.match
    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: 4
    functionLinenumber: 399
    functionName: werkzeug.sansio.request.Request.cache_control
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - item.partition
    - werkzeug.http.parse_dict_header
    - werkzeug.http.parse_cache_control_header
    - result.append
    - <builtin>.super
    - werkzeug.http.parse_list_header
    - urllib.parse.unquote.strip
    - key.strip
    - <builtin>.len
    - urllib.request.parse_http_list
    - typing.cast
    - urllib.parse.unquote
    - werkzeug.datastructures.cache_control._CacheControl.__init__
    - _charset_value_re.match
    - encoding.lower
    - match.groups
    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: 407
    functionName: werkzeug.sansio.request.Request.if_match
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - werkzeug.http.parse_etags
    - weak.append
    - _etag_re.match
    - match.groups
    - match.end
    - strong.append
    - <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: 2
    functionLinenumber: 415
    functionName: werkzeug.sansio.request.Request.if_none_match
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - werkzeug.http.parse_etags
    - weak.append
    - _etag_re.match
    - match.groups
    - match.end
    - strong.append
    - <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: 2
    functionLinenumber: 423
    functionName: werkzeug.sansio.request.Request.if_modified_since
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - dt.replace
    - werkzeug.http.parse_date
    - email.utils.parsedate_to_datetime
    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: 432
    functionName: werkzeug.sansio.request.Request.if_unmodified_since
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - dt.replace
    - werkzeug.http.parse_date
    - email.utils.parsedate_to_datetime
    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: 441
    functionName: werkzeug.sansio.request.Request.if_range
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - etag.startswith
    - dt.replace
    - werkzeug.http.parse_date
    - werkzeug.http.unquote_etag
    - email.utils.parsedate_to_datetime
    - werkzeug.http.parse_if_range_header
    - etag.strip
    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: 452
    functionName: werkzeug.sansio.request.Request.range
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - rng.split
    - werkzeug.http.parse_range_header
    - <builtin>.int
    - ranges.append
    - item.split
    - begin_str.strip
    - _plain_int_re.fullmatch
    - value.split
    - units.strip
    - end_str.strip
    - item.strip
    - value.strip
    - werkzeug._internal._plain_int
    - item.startswith
    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: 464
    functionName: werkzeug.sansio.request.Request.user_agent
    functionSourceFile: werkzeug.sansio.request
    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: 4
    functionLinenumber: 479
    functionName: werkzeug.sansio.request.Request.authorization
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - rest.strip
    - key.strip
    - rest.rstrip
    - item.partition
    - werkzeug.http.parse_dict_header
    - werkzeug.datastructures.auth.Authorization.from_header
    - result.append
    - werkzeug.datastructures.auth.Authorization.__init__
    - urllib.request.parse_http_list
    - encoding.lower
    - <builtin>.len
    - value.partition
    - werkzeug.http.parse_list_header
    - _charset_value_re.match
    - match.groups
    - scheme.lower
    - urllib.parse.unquote.strip
    - base64.b64decode
    - urllib.parse.unquote
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 90
    functionName: werkzeug.datastructures.auth.Authorization.from_header
    functionSourceFile: werkzeug.datastructures.auth
    functionUses: 1
    functionsReached:
    - value.partition
    - rest.strip
    - werkzeug.http.parse_dict_header
    - item.partition
    - result.append
    - scheme.lower
    - werkzeug.http.parse_list_header
    - urllib.parse.unquote.strip
    - rest.rstrip
    - key.strip
    - werkzeug.datastructures.auth.Authorization.__init__
    - urllib.request.parse_http_list
    - base64.b64decode
    - <builtin>.len
    - urllib.parse.unquote
    - _charset_value_re.match
    - encoding.lower
    - match.groups
    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: 525
    functionName: werkzeug.sansio.request.Request.is_json
    functionSourceFile: werkzeug.sansio.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: werkzeug.user_agent
    functionSourceFile: werkzeug.user_agent
    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
    - string
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 32
    functionName: werkzeug.user_agent.UserAgent.__init__
    functionSourceFile: werkzeug.user_agent
    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: 36
    functionName: werkzeug.user_agent.UserAgent.__repr__
    functionSourceFile: werkzeug.user_agent
    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: 39
    functionName: werkzeug.user_agent.UserAgent.__str__
    functionSourceFile: werkzeug.user_agent
    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: 42
    functionName: werkzeug.user_agent.UserAgent.__bool__
    functionSourceFile: werkzeug.user_agent
    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: 45
    functionName: werkzeug.user_agent.UserAgent.to_header
    functionSourceFile: werkzeug.user_agent
    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: werkzeug.wrappers
    functionSourceFile: werkzeug.wrappers
    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: werkzeug.sansio
    functionSourceFile: werkzeug.sansio
    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: werkzeug.datastructures.file_storage
    functionSourceFile: werkzeug.datastructures.file_storage
    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: os.fsdecode
    functionSourceFile: os
    functionUses: 7
    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 0x7f5d94260370>
    argNames:
    - self
    - defaults
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 60
    functionName: werkzeug.datastructures.headers.Headers.__init__
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 9
    functionsReached:
    - werkzeug.datastructures.headers.Headers.extend
    - mapping.items
    - werkzeug.datastructures.structures.iter_multi_items
    - <builtin>.isinstance
    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: 60
    functionName: werkzeug.datastructures.file_storage.FileStorage._parse_content_type
    functionSourceFile: werkzeug.datastructures.file_storage
    functionUses: 2
    functionsReached:
    - <builtin>.hasattr
    - http.parse_options_header
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.parse_options_header
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 65
    functionName: werkzeug.datastructures.file_storage.FileStorage.content_type
    functionSourceFile: werkzeug.datastructures.file_storage
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.headers.Headers._get_key
    - key.lower
    - k.lower
    - werkzeug.datastructures.headers.Headers.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d943d4cd0>
    - <ast.Constant object at 0x7f5d943d42e0>
    argNames:
    - self
    - key
    - default
    - type
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 120
    functionName: werkzeug.datastructures.headers.Headers.get
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 4
    functionsReached:
    - werkzeug.datastructures.headers.Headers._get_key
    - key.lower
    - k.lower
    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: 2
    functionLinenumber: 70
    functionName: werkzeug.datastructures.file_storage.FileStorage.content_length
    functionSourceFile: werkzeug.datastructures.file_storage
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - _plain_int_re.fullmatch
    - value.strip
    - werkzeug._internal._plain_int
    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: 81
    functionName: werkzeug.datastructures.file_storage.FileStorage.mimetype
    functionSourceFile: werkzeug.datastructures.file_storage
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - werkzeug.datastructures.file_storage.FileStorage._parse_content_type
    - http.parse_options_header
    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: 93
    functionName: werkzeug.datastructures.file_storage.FileStorage.mimetype_params
    functionSourceFile: werkzeug.datastructures.file_storage
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - werkzeug.datastructures.file_storage.FileStorage._parse_content_type
    - http.parse_options_header
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d94c77220>
    argNames:
    - self
    - dst
    - buffer_size
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 103
    functionName: werkzeug.datastructures.file_storage.FileStorage.save
    functionSourceFile: werkzeug.datastructures.file_storage
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - <builtin>.open
    - os.fspath
    - <builtin>.isinstance
    - shutil.copyfileobj
    - os.fspath.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: shutil.copyfileobj
    functionSourceFile: shutil
    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: os.fspath.close
    functionSourceFile: os
    functionUses: 1
    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: 138
    functionName: werkzeug.datastructures.file_storage.FileStorage.close
    functionSourceFile: werkzeug.datastructures.file_storage
    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: 145
    functionName: werkzeug.datastructures.file_storage.FileStorage.__bool__
    functionSourceFile: werkzeug.datastructures.file_storage
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 148
    functionName: werkzeug.datastructures.file_storage.FileStorage.__getattr__
    functionSourceFile: werkzeug.datastructures.file_storage
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - <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: 158
    functionName: werkzeug.datastructures.file_storage.FileStorage.__iter__
    functionSourceFile: werkzeug.datastructures.file_storage
    functionUses: 0
    functionsReached:
    - <builtin>.iter
    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: 161
    functionName: werkzeug.datastructures.file_storage.FileStorage.__repr__
    functionSourceFile: werkzeug.datastructures.file_storage
    functionUses: 0
    functionsReached:
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f5d935c3850>
    - <ast.Constant object at 0x7f5d935c3460>
    argNames:
    - self
    - name
    - file
    - filename
    - content_type
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 173
    functionName: werkzeug.datastructures.file_storage.FileMultiDict.add_file
    functionSourceFile: werkzeug.datastructures.file_storage
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.headers.Headers.extend
    - werkzeug.datastructures.headers.Headers.__init__
    - <builtin>.open
    - io.BytesIO
    - werkzeug.datastructures.structures.iter_multi_items
    - os.fsdecode
    - <builtin>.isinstance
    - werkzeug.datastructures.file_storage.FileStorage.__init__
    - <builtin>.getattr
    - os.fspath
    - mapping.items
    - mimetypes.guess_type
    - <builtin>.str
    linkageType: 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: werkzeug.datastructures.headers
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 0
    functionsReached:
    - re.compile
    - typing.TypeVar
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7f5d9459d910>
    argNames:
    - kwargs
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 225
    functionName: werkzeug.datastructures.headers.Headers.extend
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 10
    functionsReached:
    - <builtin>.isinstance
    - werkzeug.datastructures.structures.iter_multi_items
    - mapping.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: 1
    functionLinenumber: -1
    functionName: werkzeug.datastructures.headers.Headers
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 0
    functionsReached:
    - typing.overload
    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: 2
    functionLinenumber: 81
    functionName: werkzeug.datastructures.headers.Headers.__getitem__
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - key.lower
    - k.lower
    - werkzeug.datastructures.headers.Headers._get_key
    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: 90
    functionName: werkzeug.datastructures.headers.Headers._get_key
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 9
    functionsReached:
    - key.lower
    - k.lower
    linkageType: pythonLinkage
    raised:
    - BadRequestKeyError
    returnType: N/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: 21
    functionsReached: []
    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: 3
    functionLinenumber: 99
    functionName: werkzeug.datastructures.headers.Headers.__eq__
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 0
    functionsReached:
    - http.dump_options_header
    - werkzeug.datastructures.headers.Headers.set
    - <builtin>.map
    - _newline_re.search
    - old_key.lower
    - <builtin>.enumerate
    - <builtin>.isinstance
    - <builtin>.iter
    - werkzeug.datastructures.headers._str_header_value
    - k.replace
    - <builtin>.str
    - werkzeug.datastructures.headers._options_header_vkw
    - kw.items
    - key.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - item
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 103
    functionName: werkzeug.datastructures.headers.Headers.__eq__.lowered
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - kwargs
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 375
    functionName: werkzeug.datastructures.headers.Headers.set
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 5
    functionsReached:
    - http.dump_options_header
    - _newline_re.search
    - old_key.lower
    - <builtin>.enumerate
    - <builtin>.isinstance
    - <builtin>.iter
    - werkzeug.datastructures.headers._str_header_value
    - k.replace
    - <builtin>.str
    - werkzeug.datastructures.headers._options_header_vkw
    - kw.items
    - key.lower
    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 0x7f5d94427490>
    argNames:
    - self
    - key
    - type
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 167
    functionName: werkzeug.datastructures.headers.Headers.getlist
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 2
    functionsReached:
    - result.append
    - werkzeug.datastructures.headers.Headers.__iter__
    - <builtin>.iter
    - key.lower
    - k.lower
    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: 334
    functionName: werkzeug.datastructures.headers.Headers.__iter__
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 8
    functionsReached:
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 203
    functionName: werkzeug.datastructures.headers.Headers.get_all
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 0
    functionsReached:
    - result.append
    - werkzeug.datastructures.headers.Headers.__iter__
    - <builtin>.iter
    - werkzeug.datastructures.headers.Headers.getlist
    - key.lower
    - k.lower
    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 0x7f5d942e6b50>
    argNames:
    - self
    - lower
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 211
    functionName: werkzeug.datastructures.headers.Headers.items
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 4
    functionsReached:
    - <builtin>.iter
    - key.lower
    - werkzeug.datastructures.headers.Headers.__iter__
    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 0x7f5d942e6eb0>
    argNames:
    - self
    - lower
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 217
    functionName: werkzeug.datastructures.headers.Headers.keys
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 0
    functionsReached:
    - <builtin>.iter
    - werkzeug.datastructures.headers.Headers.items
    - werkzeug.datastructures.headers.Headers.__iter__
    - key.lower
    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: 221
    functionName: werkzeug.datastructures.headers.Headers.values
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 0
    functionsReached:
    - <builtin>.iter
    - werkzeug.datastructures.headers.Headers.items
    - werkzeug.datastructures.headers.Headers.__iter__
    - key.lower
    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: 2
    functionLinenumber: 257
    functionName: werkzeug.datastructures.headers.Headers.__delitem__
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - new.append
    - werkzeug.datastructures.headers.Headers._del_key
    - key.lower
    - k.lower
    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: 1
    functionLinenumber: 264
    functionName: werkzeug.datastructures.headers.Headers._del_key
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 5
    functionsReached:
    - new.append
    - k.lower
    - 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: new.append
    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:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 274
    functionName: werkzeug.datastructures.headers.Headers.remove
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 3
    functionsReached:
    - werkzeug.datastructures.headers.Headers._del_key
    - new.append
    - k.lower
    - key.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d94053a60>
    - <ast.Name object at 0x7f5d940537c0>
    argNames:
    - self
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 291
    functionName: werkzeug.datastructures.headers.Headers.pop
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.headers.Headers.remove
    - werkzeug.datastructures.headers.Headers._get_key
    - <builtin>.isinstance
    - new.append
    - werkzeug.datastructures.headers.Headers._del_key
    - key.lower
    - k.lower
    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: 321
    functionName: werkzeug.datastructures.headers.Headers.popitem
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 325
    functionName: werkzeug.datastructures.headers.Headers.__contains__
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.headers.Headers._get_key
    - key.lower
    - k.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: 338
    functionName: werkzeug.datastructures.headers.Headers.__len__
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - kwargs
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 341
    functionName: werkzeug.datastructures.headers.Headers.add
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 2
    functionsReached:
    - http.dump_options_header
    - _newline_re.search
    - <builtin>.isinstance
    - k.replace
    - werkzeug.datastructures.headers._str_header_value
    - <builtin>.str
    - werkzeug.datastructures.headers._options_header_vkw
    - kw.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - value
    - kw
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 586
    functionName: werkzeug.datastructures.headers._options_header_vkw
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 7
    functionsReached:
    - kw.items
    - http.dump_options_header
    - k.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 595
    functionName: werkzeug.datastructures.headers._str_header_value
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 7
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.str
    - _newline_re.search
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - kwargs
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 363
    functionName: werkzeug.datastructures.headers.Headers.add_header
    functionSourceFile: werkzeug.datastructures.headers
    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: 371
    functionName: werkzeug.datastructures.headers.Headers.clear
    functionSourceFile: werkzeug.datastructures.headers
    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: <builtin>.enumerate
    functionSourceFile: <builtin>
    functionUses: 36
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: old_key.lower
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - values
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 415
    functionName: werkzeug.datastructures.headers.Headers.setlist
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 1
    functionsReached:
    - <builtin>.next
    - <builtin>.iter
    - k.replace
    - werkzeug.datastructures.headers._options_header_vkw
    - werkzeug.datastructures.headers.Headers._del_key
    - old_key.lower
    - <builtin>.enumerate
    - new.append
    - kw.items
    - werkzeug.datastructures.headers.Headers.remove
    - _newline_re.search
    - <builtin>.str
    - key.lower
    - k.lower
    - http.dump_options_header
    - werkzeug.datastructures.headers.Headers.set
    - <builtin>.isinstance
    - werkzeug.datastructures.headers._str_header_value
    - werkzeug.datastructures.headers.Headers.add
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 432
    functionName: werkzeug.datastructures.headers.Headers.setdefault
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 0
    functionsReached:
    - http.dump_options_header
    - werkzeug.datastructures.headers.Headers._get_key
    - werkzeug.datastructures.headers.Headers.set
    - _newline_re.search
    - old_key.lower
    - <builtin>.enumerate
    - <builtin>.isinstance
    - <builtin>.iter
    - werkzeug.datastructures.headers._str_header_value
    - k.replace
    - <builtin>.str
    - werkzeug.datastructures.headers._options_header_vkw
    - kw.items
    - key.lower
    - k.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 449
    functionName: werkzeug.datastructures.headers.Headers.setlistdefault
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 0
    functionsReached:
    - <builtin>.next
    - werkzeug.datastructures.headers.Headers.__iter__
    - <builtin>.iter
    - k.replace
    - werkzeug.datastructures.headers._options_header_vkw
    - werkzeug.datastructures.headers.Headers._del_key
    - result.append
    - old_key.lower
    - <builtin>.enumerate
    - new.append
    - kw.items
    - werkzeug.datastructures.headers.Headers.getlist
    - werkzeug.datastructures.headers.Headers.remove
    - _newline_re.search
    - <builtin>.str
    - key.lower
    - k.lower
    - http.dump_options_header
    - werkzeug.datastructures.headers.Headers.setlist
    - werkzeug.datastructures.headers.Headers.set
    - <builtin>.isinstance
    - werkzeug.datastructures.headers._str_header_value
    - werkzeug.datastructures.headers.Headers.add
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 476
    functionName: werkzeug.datastructures.headers.Headers.__setitem__
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 0
    functionsReached:
    - http.dump_options_header
    - werkzeug.datastructures.headers.Headers.set
    - _newline_re.search
    - <builtin>.isinstance
    - old_key.lower
    - <builtin>.enumerate
    - <builtin>.iter
    - werkzeug.datastructures.headers._str_header_value
    - k.replace
    - <builtin>.str
    - werkzeug.datastructures.headers._options_header_vkw
    - kw.items
    - key.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 7
    IfCount: 5
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7f5d942fc220>
    argNames:
    - kwargs
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 489
    functionName: werkzeug.datastructures.headers.Headers.update
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 1
    functionsReached:
    - arg.items
    - kwargs.items
    - <builtin>.isinstance
    - arg.getlist
    - arg.keys
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: arg.keys
    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: arg.getlist
    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: arg.items
    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: kwargs.items
    functionSourceFile: <builtin>
    functionUses: 9
    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: 1
    functionLinenumber: 535
    functionName: werkzeug.datastructures.headers.Headers.__or__
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - rv.update
    - werkzeug.datastructures.headers.Headers.copy
    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: 568
    functionName: werkzeug.datastructures.headers.Headers.copy
    functionSourceFile: ''
    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: 548
    functionName: werkzeug.datastructures.headers.Headers.__ior__
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.headers.Headers.update
    - arg.items
    - kwargs.items
    - <builtin>.isinstance
    - arg.getlist
    - arg.keys
    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: 561
    functionName: werkzeug.datastructures.headers.Headers.to_wsgi_list
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 1
    functionsReached:
    - <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: 1
    functionLinenumber: 571
    functionName: werkzeug.datastructures.headers.Headers.__copy__
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.headers.Headers.copy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 574
    functionName: werkzeug.datastructures.headers.Headers.__str__
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - werkzeug.datastructures.headers.Headers.to_wsgi_list
    - strs.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: strs.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: 582
    functionName: werkzeug.datastructures.headers.Headers.__repr__
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - <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: k.replace
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.items
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.dump_options_header
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _newline_re.search
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    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: 1
    functionLinenumber: 619
    functionName: werkzeug.datastructures.headers.EnvironHeaders.__eq__
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    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: 2
    functionLinenumber: 627
    functionName: werkzeug.datastructures.headers.EnvironHeaders.__getitem__
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - werkzeug.datastructures.headers.EnvironHeaders._get_key
    - key.upper
    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: 630
    functionName: werkzeug.datastructures.headers.EnvironHeaders._get_key
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - key.upper
    linkageType: pythonLinkage
    raised:
    - BadRequestKeyError
    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: 641
    functionName: werkzeug.datastructures.headers.EnvironHeaders.__len__
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 0
    functionsReached:
    - <builtin>.sum
    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: 644
    functionName: werkzeug.datastructures.headers.EnvironHeaders.__iter__
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 0
    functionsReached:
    - key.replace
    - key.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: key.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: key.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: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 654
    functionName: werkzeug.datastructures.headers.EnvironHeaders.copy
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - TypeError
    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: 657
    functionName: werkzeug.datastructures.headers.EnvironHeaders.__or__
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 0
    functionsReached: []
    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: werkzeug.datastructures.auth
    functionSourceFile: werkzeug.datastructures.auth
    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
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 67
    functionName: werkzeug.datastructures.auth.Authorization.__getattr__
    functionSourceFile: werkzeug.datastructures.auth
    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
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 70
    functionName: werkzeug.datastructures.auth.Authorization.__getitem__
    functionSourceFile: werkzeug.datastructures.auth
    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 0x7f5d93fa7fd0>
    argNames:
    - self
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 73
    functionName: werkzeug.datastructures.auth.Authorization.get
    functionSourceFile: werkzeug.datastructures.auth
    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: 76
    functionName: werkzeug.datastructures.auth.Authorization.__contains__
    functionSourceFile: werkzeug.datastructures.auth
    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
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 79
    functionName: werkzeug.datastructures.auth.Authorization.__eq__
    functionSourceFile: werkzeug.datastructures.auth
    functionUses: 0
    functionsReached:
    - <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: scheme.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: base64.b64decode
    functionSourceFile: base64
    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: rest.rstrip
    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: base64.b64encode
    functionSourceFile: base64
    functionUses: 17
    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: 4
    functionLinenumber: 136
    functionName: werkzeug.datastructures.auth.Authorization.__str__
    functionSourceFile: werkzeug.datastructures.auth
    functionUses: 0
    functionsReached:
    - werkzeug.http.quote_header_value
    - werkzeug.datastructures.auth.Authorization.to_header
    - items.append
    - <builtin>.isinstance
    - token_chars.issuperset
    - value_str.replace
    - <builtin>.str
    - werkzeug.http.dump_header
    - base64.b64encode
    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: 4
    functionLinenumber: 139
    functionName: werkzeug.datastructures.auth.Authorization.__repr__
    functionSourceFile: werkzeug.datastructures.auth
    functionUses: 0
    functionsReached:
    - werkzeug.http.quote_header_value
    - werkzeug.datastructures.auth.Authorization.to_header
    - items.append
    - <builtin>.isinstance
    - token_chars.issuperset
    - value_str.replace
    - <builtin>.str
    - werkzeug.http.dump_header
    - base64.b64encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: auth_type.lower
    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: 2
    functionLinenumber: -1
    functionName: werkzeug.datastructures.auth.WWWAuthenticate.__init__.<lambda1>
    functionSourceFile: werkzeug.datastructures.auth
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.auth.WWWAuthenticate._trigger_on_update
    - werkzeug.sansio.response.Response.www_authenticate.on_update
    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: 182
    functionName: werkzeug.datastructures.auth.WWWAuthenticate._trigger_on_update
    functionSourceFile: werkzeug.datastructures.auth
    functionUses: 8
    functionsReached:
    - werkzeug.sansio.response.Response.www_authenticate.on_update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d94a1e460>
    - <ast.Constant object at 0x7f5d94a1ee20>
    argNames:
    - self
    - initial
    - on_update
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1043
    functionName: werkzeug.datastructures.structures.CallbackDict.__init__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 4
    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
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 192
    functionName: werkzeug.datastructures.auth.WWWAuthenticate.type
    functionSourceFile: werkzeug.datastructures.auth
    functionUses: 1
    functionsReached:
    - werkzeug.datastructures.auth.WWWAuthenticate._trigger_on_update
    - werkzeug.sansio.response.Response.www_authenticate.on_update
    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: 2
    functionLinenumber: 204
    functionName: werkzeug.datastructures.auth.WWWAuthenticate.parameters
    functionSourceFile: werkzeug.datastructures.auth
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - werkzeug.datastructures.structures.CallbackDict.__init__
    - werkzeug.datastructures.auth.WWWAuthenticate._trigger_on_update
    - werkzeug.sansio.response.Response.www_authenticate.on_update
    linkageType: 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: werkzeug.datastructures.auth.WWWAuthenticate.parameters.<lambda1>
    functionSourceFile: werkzeug.datastructures.auth
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.auth.WWWAuthenticate._trigger_on_update
    - werkzeug.sansio.response.Response.www_authenticate.on_update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 216
    functionName: werkzeug.datastructures.auth.WWWAuthenticate.token
    functionSourceFile: werkzeug.datastructures.auth
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.auth.WWWAuthenticate._trigger_on_update
    - werkzeug.sansio.response.Response.www_authenticate.on_update
    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: 225
    functionName: werkzeug.datastructures.auth.WWWAuthenticate.__getitem__
    functionSourceFile: werkzeug.datastructures.auth
    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: 2
    functionLinenumber: 228
    functionName: werkzeug.datastructures.auth.WWWAuthenticate.__setitem__
    functionSourceFile: werkzeug.datastructures.auth
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.auth.WWWAuthenticate._trigger_on_update
    - werkzeug.sansio.response.Response.www_authenticate.on_update
    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: 2
    functionLinenumber: 237
    functionName: werkzeug.datastructures.auth.WWWAuthenticate.__delitem__
    functionSourceFile: werkzeug.datastructures.auth
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.auth.WWWAuthenticate._trigger_on_update
    - werkzeug.sansio.response.Response.www_authenticate.on_update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 242
    functionName: werkzeug.datastructures.auth.WWWAuthenticate.__getattr__
    functionSourceFile: werkzeug.datastructures.auth
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 245
    functionName: werkzeug.datastructures.auth.WWWAuthenticate.__setattr__
    functionSourceFile: werkzeug.datastructures.auth
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 251
    functionName: werkzeug.datastructures.auth.WWWAuthenticate.__delattr__
    functionSourceFile: werkzeug.datastructures.auth
    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: 254
    functionName: werkzeug.datastructures.auth.WWWAuthenticate.__contains__
    functionSourceFile: werkzeug.datastructures.auth
    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
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 257
    functionName: werkzeug.datastructures.auth.WWWAuthenticate.__eq__
    functionSourceFile: werkzeug.datastructures.auth
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    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 0x7f5d94312a30>
    argNames:
    - self
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 267
    functionName: werkzeug.datastructures.auth.WWWAuthenticate.get
    functionSourceFile: werkzeug.datastructures.auth
    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: 3
    functionLinenumber: 313
    functionName: werkzeug.datastructures.auth.WWWAuthenticate.__str__
    functionSourceFile: werkzeug.datastructures.auth
    functionUses: 0
    functionsReached:
    - werkzeug.http.quote_header_value
    - werkzeug.datastructures.auth.WWWAuthenticate.to_header
    - items.append
    - <builtin>.isinstance
    - token_chars.issuperset
    - value_str.replace
    - <builtin>.str
    - werkzeug.http.dump_header
    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: 3
    functionLinenumber: 316
    functionName: werkzeug.datastructures.auth.WWWAuthenticate.__repr__
    functionSourceFile: werkzeug.datastructures.auth
    functionUses: 0
    functionsReached:
    - werkzeug.http.quote_header_value
    - werkzeug.sansio.response.Response.www_authenticate.on_update
    - werkzeug.datastructures.auth.WWWAuthenticate.to_header
    - items.append
    - <builtin>.isinstance
    - token_chars.issuperset
    - value_str.replace
    - <builtin>.str
    - werkzeug.datastructures.auth.WWWAuthenticate._trigger_on_update
    - werkzeug.datastructures.auth.WWWAuthenticate.type
    - werkzeug.http.dump_header
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: werkzeug.datastructures.csp
    functionSourceFile: werkzeug.datastructures.csp
    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:
    - key
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 9
    functionName: werkzeug.datastructures.csp.csp_property
    functionSourceFile: werkzeug.datastructures.csp
    functionUses: 1
    functionsReached:
    - <builtin>.property
    linkageType: 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: werkzeug.datastructures.csp.csp_property.<lambda1>
    functionSourceFile: werkzeug.datastructures.csp
    functionUses: 0
    functionsReached:
    - x._get_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/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._get_value
    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: werkzeug.datastructures.csp.csp_property.<lambda2>
    functionSourceFile: werkzeug.datastructures.csp
    functionUses: 0
    functionsReached:
    - x._set_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/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._set_value
    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: werkzeug.datastructures.csp.csp_property.<lambda3>
    functionSourceFile: werkzeug.datastructures.csp
    functionUses: 0
    functionsReached:
    - x._del_value
    linkageType: pythonLinkage
    raised: []
    returnType: N/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._del_value
    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: 2
    functionLinenumber: -1
    functionName: werkzeug.datastructures.csp.ContentSecurityPolicy
    functionSourceFile: werkzeug.datastructures.csp
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.csp.csp_property
    - <builtin>.property
    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: 73
    functionName: werkzeug.datastructures.csp.ContentSecurityPolicy._get_value
    functionSourceFile: werkzeug.datastructures.csp
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 77
    functionName: werkzeug.datastructures.csp.ContentSecurityPolicy._set_value
    functionSourceFile: werkzeug.datastructures.csp
    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
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 84
    functionName: werkzeug.datastructures.csp.ContentSecurityPolicy._del_value
    functionSourceFile: werkzeug.datastructures.csp
    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: 2
    functionLinenumber: 89
    functionName: werkzeug.datastructures.csp.ContentSecurityPolicy.to_header
    functionSourceFile: werkzeug.datastructures.csp
    functionUses: 1
    functionsReached:
    - werkzeug.http.dump_csp_header
    - header.items
    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: 3
    functionLinenumber: 95
    functionName: werkzeug.datastructures.csp.ContentSecurityPolicy.__str__
    functionSourceFile: werkzeug.datastructures.csp
    functionUses: 0
    functionsReached:
    - werkzeug.http.dump_csp_header
    - header.items
    - werkzeug.datastructures.csp.ContentSecurityPolicy.to_header
    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: 98
    functionName: werkzeug.datastructures.csp.ContentSecurityPolicy.__repr__
    functionSourceFile: werkzeug.datastructures.csp
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - <builtin>.sorted
    linkageType: 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: werkzeug.datastructures.range
    functionSourceFile: werkzeug.datastructures.range
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    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 0x7f5d94a34be0>
    - <ast.Constant object at 0x7f5d94a34dc0>
    argNames:
    - self
    - etag
    - date
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 21
    functionName: werkzeug.datastructures.range.IfRange.__init__
    functionSourceFile: werkzeug.datastructures.range
    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: 1
    functionLinenumber: 28
    functionName: werkzeug.datastructures.range.IfRange.to_header
    functionSourceFile: werkzeug.datastructures.range
    functionUses: 1
    functionsReached:
    - http.http_date
    - http.quote_etag
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.http_date
    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: http.quote_etag
    functionSourceFile: <builtin>
    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: 2
    functionLinenumber: 36
    functionName: werkzeug.datastructures.range.IfRange.__str__
    functionSourceFile: werkzeug.datastructures.range
    functionUses: 0
    functionsReached:
    - http.quote_etag
    - http.http_date
    - werkzeug.datastructures.range.IfRange.to_header
    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: 39
    functionName: werkzeug.datastructures.range.IfRange.__repr__
    functionSourceFile: werkzeug.datastructures.range
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - units
    - ranges
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 56
    functionName: werkzeug.datastructures.range.Range.__init__
    functionSourceFile: werkzeug.datastructures.range
    functionUses: 0
    functionsReached: []
    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: http.is_byte_range_valid
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - length
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 85
    functionName: werkzeug.datastructures.range.Range.make_content_range
    functionSourceFile: werkzeug.datastructures.range
    functionUses: 0
    functionsReached:
    - http.is_byte_range_valid
    - <builtin>.min
    - werkzeug.datastructures.range.Range.range_for_length
    - werkzeug.datastructures.range.ContentRange.set
    - werkzeug.datastructures.range.ContentRange.__init__
    - <builtin>.len
    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 0x7f5d940ad760>
    - <ast.Constant object at 0x7f5d940ad160>
    argNames:
    - self
    - units
    - start
    - stop
    - length
    - on_update
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 149
    functionName: werkzeug.datastructures.range.ContentRange.__init__
    functionSourceFile: werkzeug.datastructures.range
    functionUses: 1
    functionsReached:
    - http.is_byte_range_valid
    - werkzeug.datastructures.range.ContentRange.set
    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: 94
    functionName: werkzeug.datastructures.range.Range.to_header
    functionSourceFile: werkzeug.datastructures.range
    functionUses: 1
    functionsReached:
    - ranges.append
    - <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: 2
    functionLinenumber: 113
    functionName: werkzeug.datastructures.range.Range.__str__
    functionSourceFile: werkzeug.datastructures.range
    functionUses: 0
    functionsReached:
    - ranges.append
    - <builtin>.str
    - werkzeug.datastructures.range.Range.to_header
    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: werkzeug.datastructures.range.Range.__repr__
    functionSourceFile: werkzeug.datastructures.range
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - owner
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 121
    functionName: werkzeug.datastructures.range._CallbackProperty.__set_name__
    functionSourceFile: werkzeug.datastructures.range
    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: werkzeug.datastructures.range._CallbackProperty
    functionSourceFile: werkzeug.datastructures.range
    functionUses: 0
    functionsReached:
    - typing.overload
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - instance
    - owner
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 128
    functionName: werkzeug.datastructures.range._CallbackProperty.__get__
    functionSourceFile: werkzeug.datastructures.range
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - instance
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 136
    functionName: werkzeug.datastructures.range._CallbackProperty.__set__
    functionSourceFile: werkzeug.datastructures.range
    functionUses: 0
    functionsReached:
    - instance.on_update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: instance.on_update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f5d94053310>
    - <ast.Constant object at 0x7f5d94053790>
    argNames:
    - self
    - start
    - stop
    - length
    - units
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 170
    functionName: werkzeug.datastructures.range.ContentRange.set
    functionSourceFile: werkzeug.datastructures.range
    functionUses: 3
    functionsReached:
    - http.is_byte_range_valid
    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: 186
    functionName: werkzeug.datastructures.range.ContentRange.unset
    functionSourceFile: werkzeug.datastructures.range
    functionUses: 0
    functionsReached:
    - http.is_byte_range_valid
    - werkzeug.datastructures.range.ContentRange.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 192
    functionName: werkzeug.datastructures.range.ContentRange.to_header
    functionSourceFile: werkzeug.datastructures.range
    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: 203
    functionName: werkzeug.datastructures.range.ContentRange.__bool__
    functionSourceFile: werkzeug.datastructures.range
    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: 206
    functionName: werkzeug.datastructures.range.ContentRange.__str__
    functionSourceFile: werkzeug.datastructures.range
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.range.ContentRange.to_header
    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: 209
    functionName: werkzeug.datastructures.range.ContentRange.__repr__
    functionSourceFile: werkzeug.datastructures.range
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - <builtin>.str
    linkageType: 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: werkzeug.datastructures.accept
    functionSourceFile: werkzeug.datastructures.accept
    functionUses: 0
    functionsReached:
    - re.compile
    linkageType: 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: werkzeug.datastructures.accept.Accept.__init__.<lambda1>
    functionSourceFile: werkzeug.datastructures.accept
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.accept.MIMEAccept._specificity
    - _mime_split_re.split
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 213
    functionName: werkzeug.datastructures.accept.MIMEAccept._specificity
    functionSourceFile: werkzeug.datastructures.accept
    functionUses: 3
    functionsReached:
    - _mime_split_re.split
    - <builtin>.tuple
    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: 63
    functionName: werkzeug.datastructures.accept.Accept._specificity
    functionSourceFile: werkzeug.datastructures.accept
    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
    - value
    - item
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 67
    functionName: werkzeug.datastructures.accept.Accept._value_matches
    functionSourceFile: werkzeug.datastructures.accept
    functionUses: 0
    functionsReached:
    - item.lower
    - value.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: item.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: value.lower
    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: 1
    functionLinenumber: -1
    functionName: werkzeug.datastructures.accept.Accept
    functionSourceFile: werkzeug.datastructures.accept
    functionUses: 0
    functionsReached:
    - typing.overload
    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: 4
    functionLinenumber: 77
    functionName: werkzeug.datastructures.accept.Accept.__getitem__
    functionSourceFile: werkzeug.datastructures.accept
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.accept.CharsetAccept._value_matches
    - werkzeug.datastructures.accept._normalize_mime
    - werkzeug.datastructures.accept.CharsetAccept._value_matches._normalize
    - werkzeug.datastructures.accept.Accept.quality
    - name.lower
    - werkzeug.datastructures.accept._normalize_lang
    - <builtin>.isinstance
    - werkzeug.datastructures.accept.LanguageAccept._value_matches
    - list.__getitem__
    - werkzeug.datastructures.accept.MIMEAccept._value_matches
    - <builtin>.sorted
    - value.lower
    - _mime_split_re.split
    - _locale_delim_re.split
    - codecs.lookup
    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: 3
    functionLinenumber: 88
    functionName: werkzeug.datastructures.accept.Accept.quality
    functionSourceFile: werkzeug.datastructures.accept
    functionUses: 1
    functionsReached:
    - werkzeug.datastructures.accept.CharsetAccept._value_matches
    - werkzeug.datastructures.accept._normalize_mime
    - werkzeug.datastructures.accept.CharsetAccept._value_matches._normalize
    - name.lower
    - werkzeug.datastructures.accept._normalize_lang
    - werkzeug.datastructures.accept.LanguageAccept._value_matches
    - <builtin>.sorted
    - werkzeug.datastructures.accept.MIMEAccept._value_matches
    - value.lower
    - _mime_split_re.split
    - _locale_delim_re.split
    - 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: list.__getitem__
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - value
    - item
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 283
    functionName: werkzeug.datastructures.accept.LanguageAccept._value_matches
    functionSourceFile: werkzeug.datastructures.accept
    functionUses: 8
    functionsReached:
    - _locale_delim_re.split
    - value.lower
    - werkzeug.datastructures.accept._normalize_lang
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - value
    - item
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 216
    functionName: werkzeug.datastructures.accept.MIMEAccept._value_matches
    functionSourceFile: werkzeug.datastructures.accept
    functionUses: 8
    functionsReached:
    - <builtin>.sorted
    - werkzeug.datastructures.accept._normalize_mime
    - value.lower
    - _mime_split_re.split
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - value
    - item
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 343
    functionName: werkzeug.datastructures.accept.CharsetAccept._value_matches
    functionSourceFile: werkzeug.datastructures.accept
    functionUses: 8
    functionsReached:
    - name.lower
    - werkzeug.datastructures.accept.CharsetAccept._value_matches._normalize
    - codecs.lookup
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 100
    functionName: werkzeug.datastructures.accept.Accept.__contains__
    functionSourceFile: werkzeug.datastructures.accept
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.accept.CharsetAccept._value_matches
    - werkzeug.datastructures.accept._normalize_mime
    - werkzeug.datastructures.accept.CharsetAccept._value_matches._normalize
    - name.lower
    - werkzeug.datastructures.accept._normalize_lang
    - werkzeug.datastructures.accept.LanguageAccept._value_matches
    - <builtin>.sorted
    - werkzeug.datastructures.accept.MIMEAccept._value_matches
    - value.lower
    - _mime_split_re.split
    - _locale_delim_re.split
    - codecs.lookup
    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: 106
    functionName: werkzeug.datastructures.accept.Accept.__repr__
    functionSourceFile: werkzeug.datastructures.accept
    functionUses: 0
    functionsReached:
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 110
    functionName: werkzeug.datastructures.accept.Accept.index
    functionSourceFile: werkzeug.datastructures.accept
    functionUses: 1
    functionsReached:
    - werkzeug.datastructures.accept.CharsetAccept._value_matches
    - werkzeug.datastructures.accept._normalize_mime
    - werkzeug.datastructures.accept.CharsetAccept._value_matches._normalize
    - name.lower
    - werkzeug.datastructures.accept._normalize_lang
    - <builtin>.isinstance
    - <builtin>.enumerate
    - werkzeug.datastructures.accept.MIMEAccept._value_matches
    - werkzeug.datastructures.accept.LanguageAccept._value_matches
    - <builtin>.sorted
    - value.lower
    - _mime_split_re.split
    - _locale_delim_re.split
    - list.index
    - codecs.lookup
    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: list.index
    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
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 126
    functionName: werkzeug.datastructures.accept.Accept.find
    functionSourceFile: werkzeug.datastructures.accept
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.accept.CharsetAccept._value_matches
    - werkzeug.datastructures.accept.Accept.index
    - werkzeug.datastructures.accept._normalize_mime
    - werkzeug.datastructures.accept.CharsetAccept._value_matches._normalize
    - name.lower
    - werkzeug.datastructures.accept._normalize_lang
    - <builtin>.isinstance
    - <builtin>.enumerate
    - werkzeug.datastructures.accept.MIMEAccept._value_matches
    - werkzeug.datastructures.accept.LanguageAccept._value_matches
    - <builtin>.sorted
    - value.lower
    - _mime_split_re.split
    - _locale_delim_re.split
    - list.index
    - codecs.lookup
    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: 136
    functionName: werkzeug.datastructures.accept.Accept.values
    functionSourceFile: werkzeug.datastructures.accept
    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: 141
    functionName: werkzeug.datastructures.accept.Accept.to_header
    functionSourceFile: werkzeug.datastructures.accept
    functionUses: 1
    functionsReached:
    - result.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: 2
    functionLinenumber: 150
    functionName: werkzeug.datastructures.accept.Accept.__str__
    functionSourceFile: werkzeug.datastructures.accept
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.accept.Accept.to_header
    - result.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - match
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 153
    functionName: werkzeug.datastructures.accept.Accept._best_single_match
    functionSourceFile: werkzeug.datastructures.accept
    functionUses: 2
    functionsReached:
    - werkzeug.datastructures.accept.CharsetAccept._value_matches
    - werkzeug.datastructures.accept._normalize_mime
    - werkzeug.datastructures.accept.CharsetAccept._value_matches._normalize
    - name.lower
    - werkzeug.datastructures.accept._normalize_lang
    - werkzeug.datastructures.accept.LanguageAccept._value_matches
    - <builtin>.sorted
    - werkzeug.datastructures.accept.MIMEAccept._value_matches
    - value.lower
    - _mime_split_re.split
    - _locale_delim_re.split
    - codecs.lookup
    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 0x7f5d94312e50>
    argNames:
    - self
    - matches
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 164
    functionName: werkzeug.datastructures.accept.Accept.best_match
    functionSourceFile: werkzeug.datastructures.accept
    functionUses: 1
    functionsReached:
    - werkzeug.datastructures.accept.CharsetAccept._value_matches
    - werkzeug.datastructures.accept._normalize_mime
    - werkzeug.datastructures.accept.CharsetAccept._value_matches._normalize
    - name.lower
    - werkzeug.datastructures.accept._normalize_lang
    - _locale_delim_re.split
    - werkzeug.datastructures.accept.LanguageAccept._value_matches
    - <builtin>.sorted
    - werkzeug.datastructures.accept.MIMEAccept._value_matches
    - werkzeug.datastructures.accept.MIMEAccept._specificity
    - value.lower
    - _mime_split_re.split
    - werkzeug.datastructures.accept.Accept._best_single_match
    - <builtin>.tuple
    - codecs.lookup
    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: 193
    functionName: werkzeug.datastructures.accept.Accept.best
    functionSourceFile: werkzeug.datastructures.accept
    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:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 204
    functionName: werkzeug.datastructures.accept._normalize_mime
    functionSourceFile: werkzeug.datastructures.accept
    functionUses: 9
    functionsReached:
    - value.lower
    - _mime_split_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: _mime_split_re.split
    functionSourceFile: <builtin>
    functionUses: 12
    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: 257
    functionName: werkzeug.datastructures.accept.MIMEAccept.accept_html
    functionSourceFile: werkzeug.datastructures.accept
    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: 262
    functionName: werkzeug.datastructures.accept.MIMEAccept.accept_xhtml
    functionSourceFile: werkzeug.datastructures.accept
    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: 267
    functionName: werkzeug.datastructures.accept.MIMEAccept.accept_json
    functionSourceFile: werkzeug.datastructures.accept
    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:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 275
    functionName: werkzeug.datastructures.accept._normalize_lang
    functionSourceFile: werkzeug.datastructures.accept
    functionUses: 9
    functionsReached:
    - _locale_delim_re.split
    - value.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: _locale_delim_re.split
    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: 1
    functionLinenumber: -1
    functionName: werkzeug.datastructures.accept.LanguageAccept
    functionSourceFile: werkzeug.datastructures.accept
    functionUses: 0
    functionsReached:
    - typing.overload
    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 0x7f5d93fa73a0>
    argNames:
    - self
    - matches
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 290
    functionName: werkzeug.datastructures.accept.LanguageAccept.best_match
    functionSourceFile: werkzeug.datastructures.accept
    functionUses: 0
    functionsReached:
    - <builtin>.next
    - werkzeug.datastructures.accept.CharsetAccept._value_matches._normalize
    - werkzeug.datastructures.accept.MIMEAccept._value_matches
    - _mime_split_re.split
    - <builtin>.tuple
    - codecs.lookup
    - werkzeug.datastructures.accept.CharsetAccept._value_matches
    - <builtin>.super
    - werkzeug.datastructures.accept.LanguageAccept.best_match
    - name.lower
    - werkzeug.datastructures.accept._normalize_mime
    - werkzeug.datastructures.accept.LanguageAccept._value_matches
    - werkzeug.datastructures.accept.Accept.best_match
    - werkzeug.datastructures.accept.Accept._best_single_match
    - werkzeug.datastructures.accept.Accept.__init__
    - <builtin>.sorted
    - value.lower
    - item.startswith
    - werkzeug.datastructures.accept._normalize_lang
    - <builtin>.isinstance
    - werkzeug.datastructures.accept.MIMEAccept._specificity
    - _locale_delim_re.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 344
    functionName: werkzeug.datastructures.accept.CharsetAccept._value_matches._normalize
    functionSourceFile: werkzeug.datastructures.accept
    functionUses: 9
    functionsReached:
    - name.lower
    - 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: 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: 1
    functionLinenumber: -1
    functionName: werkzeug.datastructures.structures
    functionSourceFile: werkzeug.datastructures.structures
    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: mapping.items
    functionSourceFile: <builtin>
    functionUses: 21
    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: 53
    functionName: werkzeug.datastructures.structures.ImmutableList.__repr__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - list.__repr__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: list.__repr__
    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: werkzeug.datastructures.structures.TypeConversionDict
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - typing.overload
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d94a28d30>
    - <ast.Constant object at 0x7f5d94a28610>
    argNames:
    - self
    - key
    - default
    - type
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 75
    functionName: werkzeug.datastructures.structures.TypeConversionDict.get
    functionSourceFile: werkzeug.datastructures.structures
    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: 126
    functionName: werkzeug.datastructures.structures.ImmutableTypeConversionDict.copy
    functionSourceFile: werkzeug.datastructures.structures
    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: 133
    functionName: werkzeug.datastructures.structures.ImmutableTypeConversionDict.__copy__
    functionSourceFile: werkzeug.datastructures.structures
    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: 1
    functionLinenumber: 367
    functionName: werkzeug.datastructures.structures.MultiDict.lists
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 11
    functionsReached:
    - <builtin>.super
    - <builtin>.list
    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: 926
    functionName: werkzeug.datastructures.structures.CombinedMultiDict.lists
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 8
    functionsReached:
    - rv.items
    - rv.setdefault
    - d.lists
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93f14d30>
    argNames:
    - self
    - multi
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 351
    functionName: werkzeug.datastructures.structures.MultiDict.items
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 11
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d946687c0>
    argNames:
    - self
    - multi
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 910
    functionName: werkzeug.datastructures.structures.CombinedMultiDict.items
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 8
    functionsReached:
    - <builtin>.set
    - d.items
    - found.add
    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: 903
    functionName: werkzeug.datastructures.structures.CombinedMultiDict.__iter__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 7
    functionsReached:
    - werkzeug.datastructures.structures.CombinedMultiDict._keys_impl
    - <builtin>.iter
    - <builtin>.set
    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: 219
    functionName: werkzeug.datastructures.structures.MultiDict.__iter__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 7
    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: tmp.setdefault
    functionSourceFile: <builtin>
    functionUses: 7
    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: 212
    functionName: werkzeug.datastructures.structures.MultiDict.__getstate__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.structures.MultiDict.lists
    - <builtin>.super
    - <builtin>.list
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 215
    functionName: werkzeug.datastructures.structures.MultiDict.__setstate__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 226
    functionName: werkzeug.datastructures.structures.MultiDict.__getitem__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 240
    functionName: werkzeug.datastructures.structures.MultiDict.__setitem__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 248
    functionName: werkzeug.datastructures.structures.MultiDict.add
    functionSourceFile: werkzeug.datastructures.structures
    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: 1
    functionLinenumber: -1
    functionName: werkzeug.datastructures.structures.MultiDict
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - typing.overload
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d945d4670>
    argNames:
    - self
    - key
    - type
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 262
    functionName: werkzeug.datastructures.structures.MultiDict.getlist
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - <builtin>.list
    - result.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - new_list
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 292
    functionName: werkzeug.datastructures.structures.MultiDict.setlist
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - <builtin>.list
    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 0x7f5d93e99880>
    argNames:
    - self
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 314
    functionName: werkzeug.datastructures.structures.MultiDict.setdefault
    functionSourceFile: werkzeug.datastructures.structures
    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.Constant object at 0x7f5d93f14220>
    argNames:
    - self
    - key
    - default_list
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 327
    functionName: werkzeug.datastructures.structures.MultiDict.setlistdefault
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - <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: 1
    functionLinenumber: 375
    functionName: werkzeug.datastructures.structures.MultiDict.values
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - <builtin>.super
    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: 382
    functionName: werkzeug.datastructures.structures.MultiDict.listvalues
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - <builtin>.super
    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: 392
    functionName: werkzeug.datastructures.structures.MultiDict.copy
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 2
    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 0x7f5d93d1fca0>
    argNames:
    - self
    - memo
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 396
    functionName: werkzeug.datastructures.structures.MultiDict.deepcopy
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 1
    functionsReached:
    - werkzeug.datastructures.structures.MultiDict.to_dict
    - werkzeug.datastructures.structures.MultiDict.items
    - <builtin>.list
    - werkzeug.datastructures.structures.MultiDict.lists
    - <builtin>.super
    - werkzeug.datastructures.structures.MultiDict.deepcopy
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - mapping
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 418
    functionName: werkzeug.datastructures.structures.MultiDict.update
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 1
    functionsReached:
    - <builtin>.super
    - werkzeug.datastructures.structures.iter_multi_items
    - <builtin>.isinstance
    - mapping.items
    - werkzeug.datastructures.structures.MultiDict.add
    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: 1
    functionLinenumber: 446
    functionName: werkzeug.datastructures.structures.MultiDict.__or__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - rv.update
    - werkzeug.datastructures.structures.MultiDict.copy
    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: 3
    functionLinenumber: 456
    functionName: werkzeug.datastructures.structures.MultiDict.__ior__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.structures.MultiDict.update
    - <builtin>.super
    - werkzeug.datastructures.structures.iter_multi_items
    - <builtin>.isinstance
    - mapping.items
    - werkzeug.datastructures.structures.MultiDict.add
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Name object at 0x7f5d94c85280>
    argNames:
    - self
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 475
    functionName: werkzeug.datastructures.structures.MultiDict.pop
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - <builtin>.len
    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: 508
    functionName: werkzeug.datastructures.structures.MultiDict.popitem
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - <builtin>.len
    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: 1
    functionLinenumber: 522
    functionName: werkzeug.datastructures.structures.MultiDict.poplist
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - <builtin>.super
    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: 532
    functionName: werkzeug.datastructures.structures.MultiDict.popitemlist
    functionSourceFile: werkzeug.datastructures.structures
    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: 1
    functionLinenumber: 539
    functionName: werkzeug.datastructures.structures.MultiDict.__copy__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.structures.MultiDict.copy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - memo
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 542
    functionName: werkzeug.datastructures.structures.MultiDict.__deepcopy__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.structures.MultiDict.to_dict
    - werkzeug.datastructures.structures.MultiDict.items
    - <builtin>.list
    - werkzeug.datastructures.structures.MultiDict.lists
    - <builtin>.super
    - werkzeug.datastructures.structures.MultiDict.deepcopy
    - <builtin>.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: 2
    functionLinenumber: 545
    functionName: werkzeug.datastructures.structures.MultiDict.__repr__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - werkzeug.datastructures.structures.MultiDict.items
    - <builtin>.super
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - omd
    - key
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 558
    functionName: werkzeug.datastructures.structures._omd_bucket.__init__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - omd
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 570
    functionName: werkzeug.datastructures.structures._omd_bucket.unlink
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d944a2940>
    argNames:
    - self
    - mapping
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 600
    functionName: werkzeug.datastructures.structures._OrderedMultiDict.__init__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 1
    functionsReached:
    - werkzeug.datastructures.structures._OrderedMultiDict.update
    - werkzeug.datastructures.structures._omd_bucket.__init__
    - <builtin>.super
    - werkzeug.datastructures.structures.iter_multi_items
    - dict.setdefault
    - warnings.warn
    - <builtin>.isinstance
    - werkzeug.datastructures.structures._OrderedMultiDict.add
    - mapping.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - mapping
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 744
    functionName: werkzeug.datastructures.structures._OrderedMultiDict.update
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 2
    functionsReached:
    - werkzeug.datastructures.structures._omd_bucket.__init__
    - werkzeug.datastructures.structures.iter_multi_items
    - dict.setdefault
    - <builtin>.isinstance
    - mapping.items
    - werkzeug.datastructures.structures._OrderedMultiDict.add
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 623
    functionName: werkzeug.datastructures.structures._OrderedMultiDict.__eq__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.structures._OrderedMultiDict.items
    - <builtin>.next
    - <builtin>.set
    - werkzeug.datastructures.structures._OrderedMultiDict.lists
    - result.append
    - other.getlist
    - other.items
    - <builtin>.isinstance
    - <builtin>.iter
    - dict.__getitem__
    - werkzeug.datastructures.structures._OrderedMultiDict.getlist
    - returned_keys.add
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93e62430>
    argNames:
    - self
    - multi
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 683
    functionName: werkzeug.datastructures.structures._OrderedMultiDict.items
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 6
    functionsReached:
    - returned_keys.add
    - <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: other.items
    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: 697
    functionName: werkzeug.datastructures.structures._OrderedMultiDict.lists
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 2
    functionsReached:
    - <builtin>.set
    - result.append
    - dict.__getitem__
    - werkzeug.datastructures.structures._OrderedMultiDict.getlist
    - returned_keys.add
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - protocol
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 650
    functionName: werkzeug.datastructures.structures._OrderedMultiDict.__reduce_ex__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.structures._OrderedMultiDict.items
    - <builtin>.list
    - <builtin>.set
    - <builtin>.type
    - returned_keys.add
    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: 653
    functionName: werkzeug.datastructures.structures._OrderedMultiDict.__getstate__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.structures._OrderedMultiDict.items
    - <builtin>.list
    - <builtin>.set
    - returned_keys.add
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - values
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 656
    functionName: werkzeug.datastructures.structures._OrderedMultiDict.__setstate__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - dict.setdefault
    - werkzeug.datastructures.structures._OrderedMultiDict.add
    - werkzeug.datastructures.structures._omd_bucket.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 710
    functionName: werkzeug.datastructures.structures._OrderedMultiDict.add
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 7
    functionsReached:
    - dict.setdefault
    - werkzeug.datastructures.structures._omd_bucket.__init__
    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: 662
    functionName: werkzeug.datastructures.structures._OrderedMultiDict.__getitem__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - dict.__getitem__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dict.__getitem__
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 667
    functionName: werkzeug.datastructures.structures._OrderedMultiDict.__setitem__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.structures._omd_bucket.__init__
    - dict.setdefault
    - dict.pop
    - bucket.unlink
    - werkzeug.datastructures.structures._OrderedMultiDict.add
    - werkzeug.datastructures.structures._OrderedMultiDict.poplist
    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: 1
    functionLinenumber: 755
    functionName: werkzeug.datastructures.structures._OrderedMultiDict.poplist
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 2
    functionsReached:
    - bucket.unlink
    - dict.pop
    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: 2
    functionLinenumber: 671
    functionName: werkzeug.datastructures.structures._OrderedMultiDict.__delitem__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - bucket.unlink
    - werkzeug.datastructures.structures._OrderedMultiDict.pop
    - dict.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Name object at 0x7f5d944a1730>
    argNames:
    - self
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 767
    functionName: werkzeug.datastructures.structures._OrderedMultiDict.pop
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 1
    functionsReached:
    - bucket.unlink
    - dict.pop
    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: 674
    functionName: werkzeug.datastructures.structures._OrderedMultiDict.keys
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 1
    functionsReached:
    - werkzeug.datastructures.structures._OrderedMultiDict.items
    - <builtin>.set
    - returned_keys.add
    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: 3
    functionLinenumber: 677
    functionName: werkzeug.datastructures.structures._OrderedMultiDict.__iter__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.structures._OrderedMultiDict.items
    - <builtin>.set
    - werkzeug.datastructures.structures._OrderedMultiDict.keys
    - <builtin>.iter
    - returned_keys.add
    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: 680
    functionName: werkzeug.datastructures.structures._OrderedMultiDict.values
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.structures._OrderedMultiDict.items
    - <builtin>.set
    - returned_keys.add
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: returned_keys.add
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d94c90d90>
    argNames:
    - self
    - key
    - type
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 717
    functionName: werkzeug.datastructures.structures._OrderedMultiDict.getlist
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 3
    functionsReached:
    - dict.__getitem__
    - result.append
    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: 706
    functionName: werkzeug.datastructures.structures._OrderedMultiDict.listvalues
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - <builtin>.set
    - werkzeug.datastructures.structures._OrderedMultiDict.lists
    - result.append
    - dict.__getitem__
    - werkzeug.datastructures.structures._OrderedMultiDict.getlist
    - returned_keys.add
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dict.setdefault
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: 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: werkzeug.datastructures.structures._OrderedMultiDict
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - typing.overload
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - new_list
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 736
    functionName: werkzeug.datastructures.structures._OrderedMultiDict.setlist
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.structures._omd_bucket.__init__
    - dict.setdefault
    - dict.pop
    - bucket.unlink
    - werkzeug.datastructures.structures._OrderedMultiDict.add
    - werkzeug.datastructures.structures._OrderedMultiDict.poplist
    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 0x7f5d94391fa0>
    argNames:
    - self
    - key
    - default_list
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 741
    functionName: werkzeug.datastructures.structures._OrderedMultiDict.setlistdefault
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached: []
    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: dict.pop
    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: bucket.unlink
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 787
    functionName: werkzeug.datastructures.structures._OrderedMultiDict.popitem
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - dict.popitem
    - bucket.unlink
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dict.popitem
    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: 801
    functionName: werkzeug.datastructures.structures._OrderedMultiDict.popitemlist
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - dict.popitem
    - bucket.unlink
    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: 839
    functionName: werkzeug.datastructures.structures.CombinedMultiDict.__reduce_ex__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - <builtin>.type
    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 0x7f5d9359fa60>
    argNames:
    - cls
    - keys
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 847
    functionName: werkzeug.datastructures.structures.CombinedMultiDict.fromkeys
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - TypeError
    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: 0
    functionLinenumber: 850
    functionName: werkzeug.datastructures.structures.CombinedMultiDict.__getitem__
    functionSourceFile: werkzeug.datastructures.structures
    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: werkzeug.datastructures.structures.CombinedMultiDict
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - typing.overload
    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 0x7f5d93650bb0>
    - <ast.Constant object at 0x7f5d936503a0>
    argNames:
    - self
    - key
    - default
    - type
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 866
    functionName: werkzeug.datastructures.structures.CombinedMultiDict.get
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    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 0x7f5d94319940>
    argNames:
    - self
    - key
    - type
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 886
    functionName: werkzeug.datastructures.structures.CombinedMultiDict.getlist
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - rv.extend
    - d.getlist
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.getlist
    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: rv.extend
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 894
    functionName: werkzeug.datastructures.structures.CombinedMultiDict._keys_impl
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 10
    functionsReached:
    - <builtin>.set
    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: 900
    functionName: werkzeug.datastructures.structures.CombinedMultiDict.keys
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.structures.CombinedMultiDict._keys_impl
    - <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: d.items
    functionSourceFile: <builtin>
    functionUses: 29
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: found.add
    functionSourceFile: <builtin>
    functionUses: 9
    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: 922
    functionName: werkzeug.datastructures.structures.CombinedMultiDict.values
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - <builtin>.set
    - d.items
    - found.add
    - werkzeug.datastructures.structures.CombinedMultiDict.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: d.lists
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rv.setdefault
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rv.items
    functionSourceFile: <builtin>
    functionUses: 9
    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: 933
    functionName: werkzeug.datastructures.structures.CombinedMultiDict.listvalues
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - rv.setdefault
    - rv.items
    - werkzeug.datastructures.structures.CombinedMultiDict.lists
    - d.lists
    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: 4
    functionLinenumber: 936
    functionName: werkzeug.datastructures.structures.CombinedMultiDict.copy
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - rv.items
    - werkzeug.datastructures.structures.MultiDict.lists
    - werkzeug.datastructures.structures.CombinedMultiDict.__iter__
    - <builtin>.iter
    - werkzeug.datastructures.structures.CombinedMultiDict.items
    - d.lists
    - werkzeug.datastructures.structures.CombinedMultiDict._keys_impl
    - werkzeug.datastructures.structures.MultiDict.items
    - <builtin>.set
    - <builtin>.super
    - found.add
    - <builtin>.list
    - werkzeug.datastructures.structures.CombinedMultiDict.lists
    - werkzeug.datastructures.structures.MultiDict.__iter__
    - werkzeug.datastructures.structures.MultiDict.__init__
    - d.items
    - tmp.setdefault
    - <builtin>.isinstance
    - rv.setdefault
    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: 948
    functionName: werkzeug.datastructures.structures.CombinedMultiDict.__len__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.structures.CombinedMultiDict._keys_impl
    - <builtin>.set
    - <builtin>.len
    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: 0
    functionLinenumber: 951
    functionName: werkzeug.datastructures.structures.CombinedMultiDict.__contains__
    functionSourceFile: werkzeug.datastructures.structures
    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: 957
    functionName: werkzeug.datastructures.structures.CombinedMultiDict.__repr__
    functionSourceFile: werkzeug.datastructures.structures
    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: 967
    functionName: werkzeug.datastructures.structures.ImmutableDict.__repr__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - dict.__repr__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dict.__repr__
    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: 970
    functionName: werkzeug.datastructures.structures.ImmutableDict.copy
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 1
    functionsReached:
    - <builtin>.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: 977
    functionName: werkzeug.datastructures.structures.ImmutableDict.__copy__
    functionSourceFile: werkzeug.datastructures.structures
    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: 4
    functionLinenumber: 987
    functionName: werkzeug.datastructures.structures.ImmutableMultiDict.copy
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - rv.items
    - werkzeug.datastructures.structures.MultiDict.lists
    - werkzeug.datastructures.structures.CombinedMultiDict.__iter__
    - <builtin>.iter
    - werkzeug.datastructures.structures.CombinedMultiDict.items
    - d.lists
    - werkzeug.datastructures.structures.CombinedMultiDict._keys_impl
    - werkzeug.datastructures.structures.MultiDict.items
    - <builtin>.set
    - <builtin>.super
    - found.add
    - <builtin>.list
    - werkzeug.datastructures.structures.CombinedMultiDict.lists
    - werkzeug.datastructures.structures.MultiDict.__iter__
    - werkzeug.datastructures.structures.MultiDict.__init__
    - d.items
    - tmp.setdefault
    - <builtin>.isinstance
    - rv.setdefault
    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: 994
    functionName: werkzeug.datastructures.structures.ImmutableMultiDict.__copy__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93e21cd0>
    argNames:
    - self
    - mapping
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1009
    functionName: werkzeug.datastructures.structures._ImmutableOrderedMultiDict.__init__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.structures._omd_bucket.__init__
    - <builtin>.super
    - werkzeug.datastructures.structures.iter_multi_items
    - dict.setdefault
    - <builtin>.isinstance
    - werkzeug.datastructures.structures._OrderedMultiDict.add
    - mapping.items
    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: 1024
    functionName: werkzeug.datastructures.structures._ImmutableOrderedMultiDict._iter_hashitems
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - <builtin>.enumerate
    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: 4
    functionLinenumber: 1027
    functionName: werkzeug.datastructures.structures._ImmutableOrderedMultiDict.copy
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.structures._OrderedMultiDict.update
    - werkzeug.datastructures.structures._omd_bucket.__init__
    - <builtin>.super
    - werkzeug.datastructures.structures.iter_multi_items
    - dict.setdefault
    - warnings.warn
    - <builtin>.isinstance
    - werkzeug.datastructures.structures._OrderedMultiDict.add
    - mapping.items
    - werkzeug.datastructures.structures._OrderedMultiDict.__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: 1034
    functionName: werkzeug.datastructures.structures._ImmutableOrderedMultiDict.__copy__
    functionSourceFile: werkzeug.datastructures.structures
    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: 1055
    functionName: werkzeug.datastructures.structures.CallbackDict.__repr__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - <builtin>.super
    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 0x7f5d93e57f40>
    - <ast.Constant object at 0x7f5d93e57a90>
    argNames:
    - self
    - headers
    - on_update
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1072
    functionName: werkzeug.datastructures.structures.HeaderSet.__init__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - x.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - header
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1081
    functionName: werkzeug.datastructures.structures.HeaderSet.add
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - header.lower
    - werkzeug.datastructures.structures.HeaderSet.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - iterable
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1106
    functionName: werkzeug.datastructures.structures.HeaderSet.update
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 1
    functionsReached:
    - header.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - header
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1085
    functionName: werkzeug.datastructures.structures.HeaderSet.remove
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 1
    functionsReached:
    - <builtin>.enumerate
    - header.lower
    - key.lower
    linkageType: pythonLinkage
    raised:
    - KeyError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - header
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1121
    functionName: werkzeug.datastructures.structures.HeaderSet.discard
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - <builtin>.enumerate
    - header.lower
    - key.lower
    - werkzeug.datastructures.structures.HeaderSet.remove
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - header
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1131
    functionName: werkzeug.datastructures.structures.HeaderSet.find
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 1
    functionsReached:
    - <builtin>.enumerate
    - header.lower
    - item.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - header
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1142
    functionName: werkzeug.datastructures.structures.HeaderSet.index
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - <builtin>.enumerate
    - header.lower
    - item.lower
    - werkzeug.datastructures.structures.HeaderSet.find
    linkageType: pythonLinkage
    raised:
    - IndexError
    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: 0
    functionLinenumber: 1153
    functionName: werkzeug.datastructures.structures.HeaderSet.clear
    functionSourceFile: werkzeug.datastructures.structures
    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 0x7f5d943de5b0>
    argNames:
    - self
    - preserve_casing
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1161
    functionName: werkzeug.datastructures.structures.HeaderSet.as_set
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - <builtin>.set
    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: 1174
    functionName: werkzeug.datastructures.structures.HeaderSet.to_header
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 1
    functionsReached:
    - <builtin>.map
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - idx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1178
    functionName: werkzeug.datastructures.structures.HeaderSet.__getitem__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - idx
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1181
    functionName: werkzeug.datastructures.structures.HeaderSet.__delitem__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - rv.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: rv.lower
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - idx
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1187
    functionName: werkzeug.datastructures.structures.HeaderSet.__setitem__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - value.lower
    - old.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: old.lower
    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
    - header
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1195
    functionName: werkzeug.datastructures.structures.HeaderSet.__contains__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - header.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: 1198
    functionName: werkzeug.datastructures.structures.HeaderSet.__len__
    functionSourceFile: werkzeug.datastructures.structures
    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: 1
    functionLinenumber: 1201
    functionName: werkzeug.datastructures.structures.HeaderSet.__iter__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - <builtin>.iter
    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: 1204
    functionName: werkzeug.datastructures.structures.HeaderSet.__bool__
    functionSourceFile: werkzeug.datastructures.structures
    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: 2
    functionLinenumber: 1207
    functionName: werkzeug.datastructures.structures.HeaderSet.__str__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - <builtin>.map
    - werkzeug.datastructures.structures.HeaderSet.to_header
    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: 1210
    functionName: werkzeug.datastructures.structures.HeaderSet.__repr__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1218
    functionName: werkzeug.datastructures.structures.__getattr__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - warnings.warn
    linkageType: pythonLinkage
    raised:
    - AttributeError
    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: werkzeug.datastructures.mixins
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    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: 19
    functionName: werkzeug.datastructures.mixins._immutable_error
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 39
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - TypeError
    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: 33
    functionName: werkzeug.datastructures.mixins.ImmutableListMixin.__hash__
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - <builtin>.hash
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/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>.hash
    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
    - protocol
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 39
    functionName: werkzeug.datastructures.mixins.ImmutableListMixin.__reduce_ex__
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - <builtin>.list
    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: 1
    functionLinenumber: 42
    functionName: werkzeug.datastructures.mixins.ImmutableListMixin.__delitem__
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.mixins._immutable_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 45
    functionName: werkzeug.datastructures.mixins.ImmutableListMixin.__iadd__
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.mixins._immutable_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 48
    functionName: werkzeug.datastructures.mixins.ImmutableListMixin.__imul__
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.mixins._immutable_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 51
    functionName: werkzeug.datastructures.mixins.ImmutableListMixin.__setitem__
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.mixins._immutable_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 54
    functionName: werkzeug.datastructures.mixins.ImmutableListMixin.append
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.mixins._immutable_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 57
    functionName: werkzeug.datastructures.mixins.ImmutableListMixin.remove
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.mixins._immutable_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - iterable
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 60
    functionName: werkzeug.datastructures.mixins.ImmutableListMixin.extend
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.mixins._immutable_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - pos
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 63
    functionName: werkzeug.datastructures.mixins.ImmutableListMixin.insert
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.mixins._immutable_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.UnaryOp object at 0x7f5d9440ed00>
    argNames:
    - self
    - index
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 66
    functionName: werkzeug.datastructures.mixins.ImmutableListMixin.pop
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.mixins._immutable_error
    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: 69
    functionName: werkzeug.datastructures.mixins.ImmutableListMixin.reverse
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.mixins._immutable_error
    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 0x7f5d9440e730>
    - <ast.Constant object at 0x7f5d9440ea90>
    argNames:
    - self
    - key
    - reverse
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 72
    functionName: werkzeug.datastructures.mixins.ImmutableListMixin.sort
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.mixins._immutable_error
    linkageType: 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: werkzeug.datastructures.mixins.ImmutableDictMixin
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - typing.overload
    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 0x7f5d940dbb80>
    argNames:
    - cls
    - keys
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 98
    functionName: werkzeug.datastructures.mixins.ImmutableDictMixin.fromkeys
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - instance.__init__
    - itertools.repeat
    - <builtin>.zip
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.repeat
    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: <builtin>.zip
    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: instance.__init__
    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: 105
    functionName: werkzeug.datastructures.mixins.ImmutableDictMixin.__reduce_ex__
    functionSourceFile: werkzeug.datastructures.mixins
    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: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 108
    functionName: werkzeug.datastructures.mixins.ImmutableDictMixin._iter_hashitems
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 1
    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: 111
    functionName: werkzeug.datastructures.mixins.ImmutableDictMixin.__hash__
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - <builtin>.hash
    - <builtin>.frozenset
    - werkzeug.datastructures.mixins.ImmutableDictMixin._iter_hashitems
    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 0x7f5d94427be0>
    argNames:
    - self
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 117
    functionName: werkzeug.datastructures.mixins.ImmutableDictMixin.setdefault
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.mixins._immutable_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - kwargs
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 120
    functionName: werkzeug.datastructures.mixins.ImmutableDictMixin.update
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.mixins._immutable_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 123
    functionName: werkzeug.datastructures.mixins.ImmutableDictMixin.__ior__
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.mixins._immutable_error
    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 0x7f5d94427730>
    argNames:
    - self
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 126
    functionName: werkzeug.datastructures.mixins.ImmutableDictMixin.pop
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.mixins._immutable_error
    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: 129
    functionName: werkzeug.datastructures.mixins.ImmutableDictMixin.popitem
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.mixins._immutable_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 132
    functionName: werkzeug.datastructures.mixins.ImmutableDictMixin.__setitem__
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.mixins._immutable_error
    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: 1
    functionLinenumber: 135
    functionName: werkzeug.datastructures.mixins.ImmutableDictMixin.__delitem__
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.mixins._immutable_error
    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: 138
    functionName: werkzeug.datastructures.mixins.ImmutableDictMixin.clear
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.mixins._immutable_error
    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: 150
    functionName: werkzeug.datastructures.mixins.ImmutableMultiDictMixin.__reduce_ex__
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - <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: 153
    functionName: werkzeug.datastructures.mixins.ImmutableMultiDictMixin._iter_hashitems
    functionSourceFile: werkzeug.datastructures.mixins
    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
    - key
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 156
    functionName: werkzeug.datastructures.mixins.ImmutableMultiDictMixin.add
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.mixins._immutable_error
    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: 159
    functionName: werkzeug.datastructures.mixins.ImmutableMultiDictMixin.popitemlist
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.mixins._immutable_error
    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: 1
    functionLinenumber: 162
    functionName: werkzeug.datastructures.mixins.ImmutableMultiDictMixin.poplist
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.mixins._immutable_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - new_list
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 165
    functionName: werkzeug.datastructures.mixins.ImmutableMultiDictMixin.setlist
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.mixins._immutable_error
    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 0x7f5d93ccbcd0>
    argNames:
    - self
    - key
    - default_list
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 168
    functionName: werkzeug.datastructures.mixins.ImmutableMultiDictMixin.setlistdefault
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.mixins._immutable_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 185
    functionName: werkzeug.datastructures.mixins.ImmutableHeadersMixin.__delitem__
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.mixins._immutable_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 188
    functionName: werkzeug.datastructures.mixins.ImmutableHeadersMixin.__setitem__
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.mixins._immutable_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - kwargs
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 191
    functionName: werkzeug.datastructures.mixins.ImmutableHeadersMixin.set
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.mixins._immutable_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - values
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 194
    functionName: werkzeug.datastructures.mixins.ImmutableHeadersMixin.setlist
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.mixins._immutable_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - kwargs
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 197
    functionName: werkzeug.datastructures.mixins.ImmutableHeadersMixin.add
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.mixins._immutable_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - kwargs
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 200
    functionName: werkzeug.datastructures.mixins.ImmutableHeadersMixin.add_header
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.mixins._immutable_error
    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: 1
    functionLinenumber: 203
    functionName: werkzeug.datastructures.mixins.ImmutableHeadersMixin.remove
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.mixins._immutable_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - kwargs
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 206
    functionName: werkzeug.datastructures.mixins.ImmutableHeadersMixin.extend
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.mixins._immutable_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - kwargs
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 209
    functionName: werkzeug.datastructures.mixins.ImmutableHeadersMixin.update
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.mixins._immutable_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 212
    functionName: werkzeug.datastructures.mixins.ImmutableHeadersMixin.__ior__
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.mixins._immutable_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - pos
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 215
    functionName: werkzeug.datastructures.mixins.ImmutableHeadersMixin.insert
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.mixins._immutable_error
    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 0x7f5d942d3340>
    - <ast.Name object at 0x7f5d942d3370>
    argNames:
    - self
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 218
    functionName: werkzeug.datastructures.mixins.ImmutableHeadersMixin.pop
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.mixins._immutable_error
    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: 221
    functionName: werkzeug.datastructures.mixins.ImmutableHeadersMixin.popitem
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.mixins._immutable_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 224
    functionName: werkzeug.datastructures.mixins.ImmutableHeadersMixin.setdefault
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.mixins._immutable_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 227
    functionName: werkzeug.datastructures.mixins.ImmutableHeadersMixin.setlistdefault
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.mixins._immutable_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - f
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 231
    functionName: werkzeug.datastructures.mixins._always_update
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 1
    functionsReached:
    - functools.update_wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 232
    functionName: werkzeug.datastructures.mixins._always_update.wrapper
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.mixins.UpdateDictMixin.update
    - <builtin>.super
    - werkzeug.datastructures.mixins.UpdateDictMixin.__ior__
    - werkzeug.datastructures.mixins.UpdateDictMixin.__delitem__
    - werkzeug.datastructures.mixins.UpdateDictMixin.__setitem__
    - werkzeug.datastructures.mixins.UpdateDictMixin.clear
    - werkzeug.datastructures.mixins.UpdateDictMixin.popitem
    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: 1
    functionLinenumber: 290
    functionName: werkzeug.datastructures.mixins.UpdateDictMixin.__delitem__
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 1
    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
    - key
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 286
    functionName: werkzeug.datastructures.mixins.UpdateDictMixin.__setitem__
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 1
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93f4e040>
    argNames:
    - kwargs
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 302
    functionName: werkzeug.datastructures.mixins.UpdateDictMixin.update
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 1
    functionsReached:
    - <builtin>.super
    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: 294
    functionName: werkzeug.datastructures.mixins.UpdateDictMixin.clear
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 1
    functionsReached:
    - <builtin>.super
    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: 314
    functionName: werkzeug.datastructures.mixins.UpdateDictMixin.__ior__
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 1
    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: 1
    functionLinenumber: 298
    functionName: werkzeug.datastructures.mixins.UpdateDictMixin.popitem
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 1
    functionsReached:
    - <builtin>.super
    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 0x7f5d943de3d0>
    argNames:
    - self
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 258
    functionName: werkzeug.datastructures.mixins.UpdateDictMixin.setdefault
    functionSourceFile: werkzeug.datastructures.mixins
    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: 2
    functionLinenumber: -1
    functionName: werkzeug.datastructures.mixins.UpdateDictMixin
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - functools.update_wrapper
    - typing.overload
    - werkzeug.datastructures.mixins._always_update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Name object at 0x7f5d93692100>
    argNames:
    - self
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 271
    functionName: werkzeug.datastructures.mixins.UpdateDictMixin.pop
    functionSourceFile: werkzeug.datastructures.mixins
    functionUses: 0
    functionsReached:
    - <builtin>.super
    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: connexion
    functionSourceFile: connexion
    functionUses: 0
    functionsReached:
    - connexion.utils.not_installed_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - exc
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 279
    functionName: connexion.utils.not_installed_error
    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: connexion.middleware
    functionSourceFile: connexion.middleware
    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: connexion.context
    functionSourceFile: connexion.context
    functionUses: 0
    functionsReached:
    - object.__setattr__
    - operator.attrgetter
    - contextvars.ContextVar
    - werkzeug.local.LocalProxy.__init__
    - <builtin>.isinstance
    - <builtin>.callable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: contextvars.ContextVar
    functionSourceFile: contextvars
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 2
    IfCount: 7
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93dd41f0>
    argNames:
    - self
    - local
    - name
    - unbound_message
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 478
    functionName: werkzeug.local.LocalProxy.__init__
    functionSourceFile: werkzeug.local
    functionUses: 4
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.callable
    - object.__setattr__
    - operator.attrgetter
    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: 2
    functionLinenumber: -1
    functionName: connexion.context.<lambda1>
    functionSourceFile: connexion.context
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - connexion.lifecycle.ConnexionRequest.__init__
    - starlette.requests.Request
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - args
    - uri_parser
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 145
    functionName: connexion.lifecycle.ConnexionRequest.__init__
    functionSourceFile: connexion.lifecycle
    functionUses: 5
    functionsReached:
    - <builtin>.hasattr
    - starlette.requests.Request
    linkageType: 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: werkzeug.local
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - local
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 23
    functionName: werkzeug.local.release_local
    functionSourceFile: werkzeug.local
    functionUses: 2
    functionsReached:
    - local.__release_local__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: local.__release_local__
    functionSourceFile: <builtin>
    functionUses: 3
    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 0x7f5d93670d90>
    argNames:
    - self
    - context_var
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 54
    functionName: werkzeug.local.Local.__init__
    functionSourceFile: werkzeug.local
    functionUses: 1
    functionsReached:
    - <builtin>.id
    - object.__setattr__
    - contextvars.ContextVar
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: object.__setattr__
    functionSourceFile: <builtin>
    functionUses: 7
    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: 64
    functionName: werkzeug.local.Local.__iter__
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached:
    - <builtin>.iter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - unbound_message
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 67
    functionName: werkzeug.local.Local.__call__
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached:
    - object.__setattr__
    - operator.attrgetter
    - werkzeug.local.LocalProxy.__init__
    - <builtin>.isinstance
    - <builtin>.callable
    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: 79
    functionName: werkzeug.local.Local.__release_local__
    functionSourceFile: werkzeug.local
    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
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 82
    functionName: werkzeug.local.Local.__getattr__
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - AttributeError
    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: 90
    functionName: werkzeug.local.Local.__setattr__
    functionSourceFile: werkzeug.local
    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
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 95
    functionName: werkzeug.local.Local.__delattr__
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached:
    - values.copy
    linkageType: pythonLinkage
    raised:
    - AttributeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: values.copy
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d94492dc0>
    argNames:
    - self
    - context_var
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 127
    functionName: werkzeug.local.LocalStack.__init__
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached:
    - <builtin>.id
    - contextvars.ContextVar
    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: 137
    functionName: werkzeug.local.LocalStack.__release_local__
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 140
    functionName: werkzeug.local.LocalStack.push
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached:
    - stack.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: stack.append
    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: 1
    functionLinenumber: 147
    functionName: werkzeug.local.LocalStack.pop
    functionSourceFile: werkzeug.local
    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: 161
    functionName: werkzeug.local.LocalStack.top
    functionSourceFile: werkzeug.local
    functionUses: 0
    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 0x7f5d95247a60>
    argNames:
    - self
    - name
    - unbound_message
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 172
    functionName: werkzeug.local.LocalStack.__call__
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached:
    - object.__setattr__
    - operator.attrgetter
    - werkzeug.local.LocalProxy.__init__
    - <builtin>.isinstance
    - <builtin>.callable
    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 0x7f5d945d4cd0>
    argNames:
    - self
    - locals
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 208
    functionName: werkzeug.local.LocalManager.__init__
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - app
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 227
    functionName: werkzeug.local.LocalManager.make_middleware
    functionSourceFile: werkzeug.local
    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:
    - environ
    - start_response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 232
    functionName: werkzeug.local.LocalManager.make_middleware.application
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - functools.partial
    - <builtin>.getattr
    - <builtin>.callable
    - <builtin>.iter
    - werkzeug.wsgi.ClosingIterator.__init__
    - typing.cast
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - func
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 239
    functionName: werkzeug.local.LocalManager.middleware
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached:
    - functools.update_wrapper
    - werkzeug.local.LocalManager.make_middleware
    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: werkzeug.local.LocalManager.__repr__
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93f14e20>
    - <ast.Constant object at 0x7f5d93f14040>
    - <ast.Constant object at 0x7f5d93f14760>
    - <ast.Constant object at 0x7f5d93f14670>
    argNames:
    - self
    - f
    - fallback
    - class_value
    - is_attr
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 273
    functionName: werkzeug.local._ProxyLookup.__init__
    functionSourceFile: werkzeug.local
    functionUses: 2
    functionsReached:
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - instance
    - obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 293
    functionName: werkzeug.local._ProxyLookup.__init__.bind_f
    functionSourceFile: werkzeug.local
    functionUses: 2
    functionsReached:
    - operator.pos.__get__
    - functools.partial
    - operator.xor.__get__
    - operator.mul.__get__
    - operator.getitem.__get__
    - operator.delitem.__get__
    - operator.lt.__get__
    - operator.mod.__get__
    - operator.length_hint.__get__
    - operator.contains.__get__
    - operator.matmul.__get__
    - operator.setitem.__get__
    - operator.add.__get__
    - operator.and_.__get__
    - operator.le.__get__
    - operator.truediv.__get__
    - copy.deepcopy.__get__
    - operator.or_.__get__
    - operator.floordiv.__get__
    - math.ceil.__get__
    - operator.rshift.__get__
    - <builtin>.type
    - operator.eq.__get__
    - operator.neg.__get__
    - operator.lshift.__get__
    - operator.sub.__get__
    - math.floor.__get__
    - operator.invert.__get__
    - operator.index.__get__
    - math.trunc.__get__
    - operator.ne.__get__
    - operator.ge.__get__
    - operator.gt.__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: operator.pos.__get__
    functionSourceFile: operator
    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: operator.xor.__get__
    functionSourceFile: operator
    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: operator.mul.__get__
    functionSourceFile: operator
    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: operator.getitem.__get__
    functionSourceFile: operator
    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: operator.delitem.__get__
    functionSourceFile: operator
    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: operator.lt.__get__
    functionSourceFile: operator
    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: operator.mod.__get__
    functionSourceFile: operator
    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: operator.length_hint.__get__
    functionSourceFile: operator
    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: operator.contains.__get__
    functionSourceFile: operator
    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: operator.matmul.__get__
    functionSourceFile: operator
    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: operator.setitem.__get__
    functionSourceFile: operator
    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: operator.add.__get__
    functionSourceFile: operator
    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: operator.and_.__get__
    functionSourceFile: operator
    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: operator.le.__get__
    functionSourceFile: operator
    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: operator.truediv.__get__
    functionSourceFile: operator
    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: copy.deepcopy.__get__
    functionSourceFile: copy
    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: operator.or_.__get__
    functionSourceFile: operator
    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: operator.floordiv.__get__
    functionSourceFile: operator
    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: math.ceil.__get__
    functionSourceFile: math
    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: operator.rshift.__get__
    functionSourceFile: operator
    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: operator.eq.__get__
    functionSourceFile: operator
    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: operator.neg.__get__
    functionSourceFile: operator
    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: operator.lshift.__get__
    functionSourceFile: operator
    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: operator.sub.__get__
    functionSourceFile: operator
    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: math.floor.__get__
    functionSourceFile: math
    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: operator.invert.__get__
    functionSourceFile: operator
    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: operator.index.__get__
    functionSourceFile: operator
    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: math.trunc.__get__
    functionSourceFile: math
    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: operator.ne.__get__
    functionSourceFile: operator
    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: operator.ge.__get__
    functionSourceFile: operator
    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: operator.gt.__get__
    functionSourceFile: operator
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - owner
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 307
    functionName: werkzeug.local._ProxyLookup.__set_name__
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93d1fb20>
    argNames:
    - self
    - instance
    - owner
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 310
    functionName: werkzeug.local._ProxyLookup.__get__
    functionSourceFile: werkzeug.local
    functionUses: 1
    functionsReached:
    - operator.pos.__get__
    - functools.partial
    - operator.xor.__get__
    - operator.mul.__get__
    - <builtin>.getattr
    - operator.getitem.__get__
    - operator.delitem.__get__
    - operator.lt.__get__
    - operator.mod.__get__
    - operator.length_hint.__get__
    - operator.contains.__get__
    - operator.matmul.__get__
    - operator.setitem.__get__
    - operator.add.__get__
    - operator.and_.__get__
    - operator.le.__get__
    - operator.truediv.__get__
    - copy.deepcopy.__get__
    - operator.or_.__get__
    - werkzeug.local._ProxyLookup.__init__.bind_f
    - operator.floordiv.__get__
    - math.ceil.__get__
    - operator.rshift.__get__
    - <builtin>.type
    - operator.eq.__get__
    - werkzeug.local._ProxyIOp.__init__.bind_f
    - operator.neg.__get__
    - operator.lshift.__get__
    - operator.sub.__get__
    - math.floor.__get__
    - operator.invert.__get__
    - instance._get_current_object
    - operator.index.__get__
    - math.trunc.__get__
    - operator.ne.__get__
    - operator.ge.__get__
    - operator.gt.__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: instance._get_current_object
    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:
    - instance
    - obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 365
    functionName: werkzeug.local._ProxyIOp.__init__.bind_f
    functionSourceFile: werkzeug.local
    functionUses: 2
    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: 337
    functionName: werkzeug.local._ProxyLookup.__repr__
    functionSourceFile: werkzeug.local
    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
    - instance
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 340
    functionName: werkzeug.local._ProxyLookup.__call__
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - functools.partial
    - operator.pos.__get__
    - operator.xor.__get__
    - operator.mul.__get__
    - <builtin>.getattr
    - operator.getitem.__get__
    - operator.delitem.__get__
    - operator.lt.__get__
    - operator.mod.__get__
    - operator.length_hint.__get__
    - operator.contains.__get__
    - werkzeug.local._ProxyLookup.__init__
    - operator.matmul.__get__
    - operator.setitem.__get__
    - werkzeug.local._ProxyLookup.__get__
    - operator.add.__get__
    - operator.and_.__get__
    - operator.le.__get__
    - operator.truediv.__get__
    - copy.deepcopy.__get__
    - operator.or_.__get__
    - werkzeug.local._ProxyLookup.__init__.bind_f
    - operator.floordiv.__get__
    - math.ceil.__get__
    - operator.rshift.__get__
    - <builtin>.type
    - operator.eq.__get__
    - werkzeug.local._ProxyIOp.__init__.bind_f
    - operator.neg.__get__
    - operator.lshift.__get__
    - operator.sub.__get__
    - math.floor.__get__
    - operator.invert.__get__
    - instance._get_current_object
    - operator.index.__get__
    - math.trunc.__get__
    - operator.ne.__get__
    - operator.ge.__get__
    - operator.gt.__get__
    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 0x7f5d9405abb0>
    - <ast.Constant object at 0x7f5d9405aa90>
    argNames:
    - self
    - f
    - fallback
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 358
    functionName: werkzeug.local._ProxyIOp.__init__
    functionSourceFile: werkzeug.local
    functionUses: 1
    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
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 366
    functionName: werkzeug.local._ProxyIOp.__init__.bind_f.i_op
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached:
    - operator.imul
    - operator.imod
    - operator.imatmul
    - operator.ixor
    - operator.itruediv
    - operator.ilshift
    - operator.iadd
    - operator.ifloordiv
    - operator.isub
    - operator.ior
    - operator.ipow
    - operator.iand
    - operator.irshift
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operator.imul
    functionSourceFile: operator
    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: operator.imod
    functionSourceFile: operator
    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: operator.imatmul
    functionSourceFile: operator
    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: operator.ixor
    functionSourceFile: operator
    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: operator.itruediv
    functionSourceFile: operator
    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: operator.ilshift
    functionSourceFile: operator
    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: operator.iadd
    functionSourceFile: operator
    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: operator.ifloordiv
    functionSourceFile: operator
    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: operator.isub
    functionSourceFile: operator
    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: operator.ipow
    functionSourceFile: operator
    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: operator.ior
    functionSourceFile: operator
    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: operator.iand
    functionSourceFile: operator
    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: operator.irshift
    functionSourceFile: operator
    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:
    - op
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 375
    functionName: werkzeug.local._l_to_r_op
    functionSourceFile: werkzeug.local
    functionUses: 1
    functionsReached:
    - typing.cast
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - obj
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 378
    functionName: werkzeug.local._l_to_r_op.r_op
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached:
    - operator.xor
    - operator.and_
    - operator.floordiv
    - operator.rshift
    - operator.matmul
    - operator.lshift
    - operator.sub
    - operator.mod
    - operator.or_
    - operator.add
    - operator.truediv
    - operator.mul
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operator.xor
    functionSourceFile: operator
    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: operator.and_
    functionSourceFile: operator
    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: operator.floordiv
    functionSourceFile: operator
    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: operator.rshift
    functionSourceFile: operator
    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: operator.matmul
    functionSourceFile: operator
    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: operator.lshift
    functionSourceFile: operator
    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: operator.sub
    functionSourceFile: operator
    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: operator.mod
    functionSourceFile: operator
    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: operator.or_
    functionSourceFile: operator
    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: operator.add
    functionSourceFile: operator
    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: operator.truediv
    functionSourceFile: operator
    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: operator.mul
    functionSourceFile: operator
    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:
    - o
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 384
    functionName: werkzeug.local._identity
    functionSourceFile: werkzeug.local
    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: operator.attrgetter
    functionSourceFile: operator
    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: 2
    functionLinenumber: 525
    functionName: werkzeug.local.LocalProxy.__init__._get_current_object
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached:
    - <builtin>.id
    - werkzeug.local._identity
    - werkzeug.local.Local.__init__
    - object.__setattr__
    - local.get
    - operator.attrgetter
    - contextvars.ContextVar
    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: local.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: 1
    functionLinenumber: -1
    functionName: werkzeug.local.LocalProxy.<lambda1>
    functionSourceFile: werkzeug.local
    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: 2
    functionLinenumber: -1
    functionName: werkzeug.local.LocalProxy
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached:
    - werkzeug.local._l_to_r_op
    - <builtin>.hasattr
    - werkzeug.local._ProxyLookup.__init__
    - <builtin>.super
    - werkzeug.local._ProxyIOp.__init__
    - 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: werkzeug.local.LocalProxy.<lambda2>
    functionSourceFile: werkzeug.local
    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: werkzeug.local.LocalProxy.<lambda3>
    functionSourceFile: werkzeug.local
    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: werkzeug.local.LocalProxy.<lambda4>
    functionSourceFile: werkzeug.local
    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: werkzeug.local.LocalProxy.<lambda5>
    functionSourceFile: werkzeug.local
    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: werkzeug.local.LocalProxy.<lambda6>
    functionSourceFile: werkzeug.local
    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: werkzeug.local.LocalProxy.<lambda7>
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached:
    - <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: 1
    functionLinenumber: -1
    functionName: werkzeug.local.LocalProxy.<lambda8>
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached:
    - <builtin>.issubclass
    linkageType: 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: werkzeug.local.LocalProxy.<lambda9>
    functionSourceFile: werkzeug.local
    functionUses: 0
    functionsReached:
    - object.__setattr__
    - operator.attrgetter
    - werkzeug.local.LocalProxy.__init__
    - <builtin>.isinstance
    - <builtin>.callable
    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: connexion.operations
    functionSourceFile: connexion.operations
    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: connexion.operations.swagger2
    functionSourceFile: connexion.operations.swagger2
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 13
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93da6d00>
    - <ast.Constant object at 0x7f5d93da60a0>
    - <ast.Constant object at 0x7f5d93da6f70>
    - <ast.Constant object at 0x7f5d93da6d60>
    - <ast.Constant object at 0x7f5d93da68b0>
    - <ast.Constant object at 0x7f5d93da6ac0>
    argNames:
    - self
    - method
    - path
    - operation
    - resolver
    - app_produces
    - app_consumes
    - path_parameters
    - app_security
    - security_schemes
    - definitions
    - randomize_endpoint
    - uri_parser_class
    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: 1
    functionLinenumber: 38
    functionName: connexion.operations.swagger2.Swagger2Operation.__init__
    functionSourceFile: connexion.operations.swagger2
    functionUses: 1
    functionsReached:
    - operation.get
    - <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: operation.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: 7
    argDefaultValues: []
    argNames:
    - cls
    - spec
    - args
    - path
    - method
    - resolver
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 108
    functionName: connexion.operations.swagger2.Swagger2Operation.from_spec
    functionSourceFile: connexion.operations.swagger2
    functionUses: 0
    functionsReached:
    - operation.get
    - <builtin>.super
    - spec.get_path_params
    - connexion.operations.swagger2.Swagger2Operation.__init__
    - spec.get_operation
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: spec.get_operation
    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: spec.get_path_params
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 2
    IfCount: 7
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 125
    functionName: connexion.operations.swagger2.Swagger2Operation.request_body
    functionSourceFile: connexion.operations.swagger2
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - body_parameter.get
    - connexion.operations.swagger2.Swagger2Operation._transform_form
    - param.get
    - form_params.append
    - prop.update
    - required.append
    - body_params.append
    - <builtin>.len
    - connexion.operations.swagger2.Swagger2Operation._transform_json
    linkageType: pythonLinkage
    raised:
    - InvalidSpecification
    returnType: N/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_params.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: form_params.append
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - body_parameter
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 242
    functionName: connexion.operations.swagger2.Swagger2Operation._transform_json
    functionSourceFile: connexion.operations.swagger2
    functionUses: 1
    functionsReached:
    - body_parameter.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 3
    IfCount: 8
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - form_parameters
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 249
    functionName: connexion.operations.swagger2.Swagger2Operation._transform_form
    functionSourceFile: connexion.operations.swagger2
    functionUses: 1
    functionsReached:
    - prop.update
    - param.get
    - required.append
    linkageType: pythonLinkage
    raised:
    - InvalidSpecification
    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: 155
    functionName: connexion.operations.swagger2.Swagger2Operation.parameters
    functionSourceFile: connexion.operations.swagger2
    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: 159
    functionName: connexion.operations.swagger2.Swagger2Operation.consumes
    functionSourceFile: connexion.operations.swagger2
    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: 163
    functionName: connexion.operations.swagger2.Swagger2Operation.produces
    functionSourceFile: connexion.operations.swagger2
    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: 166
    functionName: connexion.operations.swagger2.Swagger2Operation.get_path_parameter_types
    functionSourceFile: connexion.operations.swagger2
    functionUses: 0
    functionsReached:
    - path_defn.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: path_defn.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - schema
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 178
    functionName: connexion.operations.swagger2.Swagger2Operation.with_definitions
    functionSourceFile: connexion.operations.swagger2
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93576b50>
    - <ast.Constant object at 0x7f5d93576a00>
    argNames:
    - self
    - status_code
    - content_type
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 183
    functionName: connexion.operations.swagger2.Swagger2Operation.response_schema
    functionSourceFile: connexion.operations.swagger2
    functionUses: 0
    functionsReached:
    - response_definition.get
    - connexion.operations.abstract.AbstractOperation.response_definition
    - <builtin>.str
    - connexion.operations.swagger2.Swagger2Operation.with_definitions
    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 0x7f5d94340b50>
    - <ast.Constant object at 0x7f5d943407c0>
    argNames:
    - self
    - status_code
    - content_type
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 184
    functionName: connexion.operations.abstract.AbstractOperation.response_definition
    functionSourceFile: connexion.operations.abstract
    functionUses: 2
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_definition.get
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93576490>
    argNames:
    - self
    - status_code
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 187
    functionName: connexion.operations.swagger2.Swagger2Operation.example_response
    functionSourceFile: connexion.operations.swagger2
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - copy.deepcopy.values
    - <builtin>.int
    - <builtin>.range
    - <builtin>.isinstance
    - <builtin>.sorted
    - copy.deepcopy.items.get
    - <builtin>.str
    - connexion.utils.deep_get
    - jsf.JSF
    - copy.deepcopy.get
    - connexion.utils.build_example_from_schema
    - jsf.JSF.generate
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - obj
    - keys
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 95
    functionName: connexion.utils.deep_get
    functionSourceFile: connexion.utils
    functionUses: 13
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.int
    - connexion.utils.deep_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: copy.deepcopy.values
    functionSourceFile: copy
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - schema
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 517
    functionName: connexion.utils.build_example_from_schema
    functionSourceFile: connexion.utils
    functionUses: 2
    functionsReached:
    - <builtin>.range
    - copy.deepcopy.items.get
    - jsf.JSF
    - copy.deepcopy.get
    - connexion.utils.build_example_from_schema
    - jsf.JSF.generate
    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 0x7f5d9463e820>
    argNames:
    - self
    - content_type
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 224
    functionName: connexion.operations.swagger2.Swagger2Operation.body_name
    functionSourceFile: connexion.operations.swagger2
    functionUses: 0
    functionsReached:
    - connexion.operations.swagger2.Swagger2Operation.body_definition
    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 0x7f5d93ccb6d0>
    argNames:
    - self
    - content_type
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 234
    functionName: connexion.operations.swagger2.Swagger2Operation.body_definition
    functionSourceFile: ''
    functionUses: 2
    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 0x7f5d9463e580>
    argNames:
    - self
    - content_type
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 227
    functionName: connexion.operations.swagger2.Swagger2Operation.body_schema
    functionSourceFile: connexion.operations.swagger2
    functionUses: 0
    functionsReached:
    - connexion.operations.swagger2.Swagger2Operation.body_definition
    - connexion.operations.swagger2.Swagger2Operation.with_definitions
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_parameter.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: prop.update
    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: param.get
    functionSourceFile: <builtin>
    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: required.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: connexion.uri_parsing
    functionSourceFile: connexion.uri_parsing
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - param_defns
    - body_defn
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 27
    functionName: connexion.uri_parsing.AbstractURIParser.__init__
    functionSourceFile: connexion.uri_parsing
    functionUses: 0
    functionsReached:
    - body_defn.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: body_defn.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: 1
    functionLinenumber: -1
    functionName: connexion.uri_parsing.AbstractURIParser
    functionSourceFile: connexion.uri_parsing
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: abc.abstractmethod
    functionSourceFile: ''
    functionUses: 11
    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: 46
    functionName: connexion.uri_parsing.AbstractURIParser.param_defns
    functionSourceFile: connexion.uri_parsing
    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: 53
    functionName: connexion.uri_parsing.AbstractURIParser.param_schemas
    functionSourceFile: connexion.uri_parsing
    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: 58
    functionName: connexion.uri_parsing.AbstractURIParser.__repr__
    functionSourceFile: connexion.uri_parsing
    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
    - form_data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 67
    functionName: connexion.uri_parsing.AbstractURIParser.resolve_form
    functionSourceFile: connexion.uri_parsing
    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
    - query_data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 71
    functionName: connexion.uri_parsing.AbstractURIParser.resolve_query
    functionSourceFile: connexion.uri_parsing
    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
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 75
    functionName: connexion.uri_parsing.AbstractURIParser.resolve_path
    functionSourceFile: connexion.uri_parsing
    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
    - values
    - param_defn
    - _in
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 79
    functionName: connexion.uri_parsing.AbstractURIParser._resolve_param_duplicates
    functionSourceFile: connexion.uri_parsing
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - value
    - param_defn
    - _in
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 87
    functionName: connexion.uri_parsing.AbstractURIParser._split
    functionSourceFile: connexion.uri_parsing
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - params
    - _in
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 94
    functionName: connexion.uri_parsing.AbstractURIParser.resolve_params
    functionSourceFile: connexion.uri_parsing
    functionUses: 5
    functionsReached:
    - params.items
    - <builtin>.hasattr
    - param.get
    - connexion.uri_parsing.AbstractURIParser._split
    - TYPE_MAP.get
    - converted_params.append
    - connexion.utils.is_null
    - connexion.uri_parsing.AbstractURIParser._resolve_param_duplicates
    - connexion.utils.coerce_type.cast_leaves
    - param_def.get
    - <builtin>.type
    - connexion.utils.coerce_type.make_type
    - connexion.utils.is_nullable
    - d.items
    - connexion.utils.coerce_type
    - value.split
    - value.strip
    - param_schema.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: params.items
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d943de760>
    argNames:
    - param
    - value
    - parameter_type
    - parameter_name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 344
    functionName: connexion.utils.coerce_type
    functionSourceFile: connexion.utils
    functionUses: 7
    functionsReached:
    - <builtin>.hasattr
    - param_schema.get
    - param.get
    - converted_params.append
    - connexion.utils.is_null
    - connexion.utils.coerce_type.cast_leaves
    - param_def.get
    - <builtin>.type
    - connexion.utils.coerce_type.make_type
    - connexion.utils.is_nullable
    - d.items
    - value.split
    - value.strip
    - TYPE_MAP.get
    linkageType: pythonLinkage
    raised:
    - TypeValidationError
    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: 142
    functionName: connexion.uri_parsing.OpenAPIURIParser.param_defns
    functionSourceFile: connexion.uri_parsing
    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: 146
    functionName: connexion.uri_parsing.OpenAPIURIParser.form_defns
    functionSourceFile: connexion.uri_parsing
    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: 150
    functionName: connexion.uri_parsing.OpenAPIURIParser.param_schemas
    functionSourceFile: connexion.uri_parsing
    functionUses: 0
    functionsReached:
    - v.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: v.get
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - form_data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 153
    functionName: connexion.uri_parsing.OpenAPIURIParser.resolve_form
    functionSourceFile: connexion.uri_parsing
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - param.get
    - converted_params.append
    - connexion.utils.coerce_type.cast_leaves
    - param_def.get
    - connexion.utils.is_json_mimetype
    - value.strip
    - QUERY_STRING_DELIMITERS.get
    - <builtin>.all
    - subtype.split
    - encoding.get
    - connexion.utils.coerce_type.make_type
    - value.split
    - connexion.utils.all_json
    - connexion.uri_parsing.OpenAPIURIParser._resolve_param_duplicates
    - delimiter.join
    - connexion.uri_parsing.OpenAPIURIParser._split
    - <builtin>.type
    - d.items
    - param_schema.get
    - TYPE_MAP.get
    - connexion.utils.is_null
    - subtype.endswith
    - param_defn.get
    - connexion.utils.is_nullable
    - connexion.utils.coerce_type
    - json.loads
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - values
    - param_defn
    - _in
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 226
    functionName: connexion.uri_parsing.OpenAPIURIParser._resolve_param_duplicates
    functionSourceFile: connexion.uri_parsing
    functionUses: 1
    functionsReached:
    - QUERY_STRING_DELIMITERS.get
    - delimiter.join
    - param_defn.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: encoding.get
    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:
    - mimetypes
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 169
    functionName: connexion.utils.all_json
    functionSourceFile: connexion.utils
    functionUses: 3
    functionsReached:
    - subtype.endswith
    - connexion.utils.is_json_mimetype
    - subtype.split
    - <builtin>.all
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - value
    - param_defn
    - _in
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 246
    functionName: connexion.uri_parsing.OpenAPIURIParser._split
    functionSourceFile: connexion.uri_parsing
    functionUses: 1
    functionsReached:
    - param_defn.get
    - QUERY_STRING_DELIMITERS.get
    - value.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - k
    - v
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 170
    functionName: connexion.uri_parsing.OpenAPIURIParser._make_deep_object
    functionSourceFile: connexion.uri_parsing
    functionUses: 2
    functionsReached:
    - key.replace
    - re.findall
    - connexion.uri_parsing.OpenAPIURIParser._is_deep_object_style_param
    - k.startswith
    - k.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: k.startswith
    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: k.split
    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
    - param_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 199
    functionName: connexion.uri_parsing.OpenAPIURIParser._is_deep_object_style_param
    functionSourceFile: ''
    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: re.findall
    functionSourceFile: re
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - query_data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 204
    functionName: connexion.uri_parsing.OpenAPIURIParser._preprocess_deep_objects
    functionSourceFile: connexion.uri_parsing
    functionUses: 1
    functionsReached:
    - key.replace
    - query_data.items
    - dict.fromkeys
    - connexion.uri_parsing.OpenAPIURIParser._make_deep_object
    - re.findall
    - connexion.uri_parsing.OpenAPIURIParser._is_deep_object_style_param
    - k.startswith
    - k.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: query_data.items
    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: dict.fromkeys
    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
    - query_data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 218
    functionName: connexion.uri_parsing.OpenAPIURIParser.resolve_query
    functionSourceFile: connexion.uri_parsing
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - param.get
    - connexion.uri_parsing.OpenAPIURIParser._preprocess_deep_objects
    - converted_params.append
    - param_def.get
    - connexion.utils.coerce_type.cast_leaves
    - connexion.uri_parsing.OpenAPIURIParser._make_deep_object
    - value.strip
    - key.replace
    - connexion.utils.coerce_type.make_type
    - connexion.uri_parsing.OpenAPIURIParser._is_deep_object_style_param
    - value.split
    - connexion.uri_parsing.AbstractURIParser._split
    - <builtin>.type
    - re.findall
    - d.items
    - k.startswith
    - TYPE_MAP.get
    - connexion.utils.is_null
    - params.items
    - param_schema.get
    - connexion.uri_parsing.AbstractURIParser._resolve_param_duplicates
    - query_data.items
    - dict.fromkeys
    - connexion.utils.is_nullable
    - connexion.utils.coerce_type
    - connexion.uri_parsing.AbstractURIParser.resolve_params
    - k.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path_data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 222
    functionName: connexion.uri_parsing.OpenAPIURIParser.resolve_path
    functionSourceFile: connexion.uri_parsing
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - param.get
    - converted_params.append
    - connexion.utils.coerce_type.cast_leaves
    - param_def.get
    - value.strip
    - connexion.utils.coerce_type.make_type
    - value.split
    - connexion.uri_parsing.AbstractURIParser._split
    - <builtin>.type
    - d.items
    - TYPE_MAP.get
    - connexion.utils.is_null
    - params.items
    - param_schema.get
    - connexion.uri_parsing.AbstractURIParser._resolve_param_duplicates
    - connexion.utils.is_nullable
    - connexion.utils.coerce_type
    - connexion.uri_parsing.AbstractURIParser.resolve_params
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: param_defn.get
    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: QUERY_STRING_DELIMITERS.get
    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: delimiter.join
    functionSourceFile: <builtin>
    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: 0
    functionLinenumber: 262
    functionName: connexion.uri_parsing.Swagger2URIParser.param_defns
    functionSourceFile: connexion.uri_parsing
    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: 266
    functionName: connexion.uri_parsing.Swagger2URIParser.param_schemas
    functionSourceFile: connexion.uri_parsing
    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
    - form_data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 269
    functionName: connexion.uri_parsing.Swagger2URIParser.resolve_form
    functionSourceFile: connexion.uri_parsing
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - param.get
    - converted_params.append
    - connexion.utils.coerce_type.cast_leaves
    - param_def.get
    - value.strip
    - connexion.utils.coerce_type.make_type
    - value.split
    - connexion.uri_parsing.AbstractURIParser._split
    - <builtin>.type
    - d.items
    - TYPE_MAP.get
    - connexion.utils.is_null
    - params.items
    - param_schema.get
    - connexion.uri_parsing.AbstractURIParser._resolve_param_duplicates
    - connexion.utils.is_nullable
    - connexion.utils.coerce_type
    - connexion.uri_parsing.AbstractURIParser.resolve_params
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - query_data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 272
    functionName: connexion.uri_parsing.Swagger2URIParser.resolve_query
    functionSourceFile: connexion.uri_parsing
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - param.get
    - converted_params.append
    - connexion.utils.coerce_type.cast_leaves
    - param_def.get
    - value.strip
    - connexion.utils.coerce_type.make_type
    - value.split
    - connexion.uri_parsing.AbstractURIParser._split
    - <builtin>.type
    - d.items
    - TYPE_MAP.get
    - connexion.utils.is_null
    - params.items
    - param_schema.get
    - connexion.uri_parsing.AbstractURIParser._resolve_param_duplicates
    - connexion.utils.is_nullable
    - connexion.utils.coerce_type
    - connexion.uri_parsing.AbstractURIParser.resolve_params
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path_data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 275
    functionName: connexion.uri_parsing.Swagger2URIParser.resolve_path
    functionSourceFile: connexion.uri_parsing
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - param.get
    - converted_params.append
    - connexion.utils.coerce_type.cast_leaves
    - param_def.get
    - value.strip
    - connexion.utils.coerce_type.make_type
    - value.split
    - connexion.uri_parsing.AbstractURIParser._split
    - <builtin>.type
    - d.items
    - TYPE_MAP.get
    - connexion.utils.is_null
    - params.items
    - param_schema.get
    - connexion.uri_parsing.AbstractURIParser._resolve_param_duplicates
    - connexion.utils.is_nullable
    - connexion.utils.coerce_type
    - connexion.uri_parsing.AbstractURIParser.resolve_params
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - values
    - param_defn
    - _in
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 279
    functionName: connexion.uri_parsing.Swagger2URIParser._resolve_param_duplicates
    functionSourceFile: connexion.uri_parsing
    functionUses: 0
    functionsReached:
    - param_defn.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - value
    - param_defn
    - _in
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 293
    functionName: connexion.uri_parsing.Swagger2URIParser._split
    functionSourceFile: connexion.uri_parsing
    functionUses: 0
    functionsReached:
    - param_defn.get
    - value.split
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - values
    - param_defn
    - _in
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 306
    functionName: connexion.uri_parsing.FirstValueURIParser._resolve_param_duplicates
    functionSourceFile: connexion.uri_parsing
    functionUses: 0
    functionsReached:
    - param_defn.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - values
    - param_defn
    - _in
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 327
    functionName: connexion.uri_parsing.AlwaysMultiURIParser._resolve_param_duplicates
    functionSourceFile: connexion.uri_parsing
    functionUses: 0
    functionsReached:
    - param_defn.get
    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: connexion.exceptions
    functionSourceFile: connexion.exceptions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 8
    argDefaultValues: []
    argNames:
    - self
    - status
    - title
    - detail
    - type
    - instance
    - headers
    - ext
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 40
    functionName: connexion.exceptions.ProblemException.__init__
    functionSourceFile: connexion.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: 2
    functionLinenumber: 59
    functionName: connexion.exceptions.ProblemException.to_problem
    functionSourceFile: connexion.exceptions
    functionUses: 3
    functionsReached:
    - connexion.lifecycle.ConnexionResponse.__init__
    - json.dumps
    - problem_response.update
    - connexion.problem.problem
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f5d9463ef10>
    - <ast.Constant object at 0x7f5d9463ee80>
    - <ast.Constant object at 0x7f5d9463e340>
    - <ast.Constant object at 0x7f5d9463e6d0>
    argNames:
    - status
    - title
    - detail
    - type
    - instance
    - headers
    - ext
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 10
    functionName: connexion.problem.problem
    functionSourceFile: connexion.problem
    functionUses: 5
    functionsReached:
    - connexion.lifecycle.ConnexionResponse.__init__
    - json.dumps
    - problem_response.update
    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 0x7f5d944a1dc0>
    - <ast.Constant object at 0x7f5d944a1c10>
    argNames:
    - self
    - status
    - title
    - detail
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 78
    functionName: connexion.exceptions.ClientProblem.__init__
    functionSourceFile: connexion.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:
    - <ast.Constant object at 0x7f5d93576310>
    argNames:
    - self
    - detail
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 91
    functionName: connexion.exceptions.BadRequestProblem.__init__
    functionSourceFile: connexion.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
    - param_type
    - extra_params
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 99
    functionName: connexion.exceptions.ExtraParameterProblem.__init__
    functionSourceFile: connexion.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: 4
    argDefaultValues: []
    argNames:
    - self
    - schema_type
    - parameter_type
    - parameter_name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 108
    functionName: connexion.exceptions.TypeValidationError.__init__
    functionSourceFile: connexion.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:
    - <ast.Name object at 0x7f5d9463ef70>
    argNames:
    - self
    - detail
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 123
    functionName: connexion.exceptions.Unauthorized.__init__
    functionSourceFile: connexion.exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.super
    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 0x7f5d9463e970>
    argNames:
    - self
    - detail
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 144
    functionName: connexion.exceptions.Forbidden.__init__
    functionSourceFile: connexion.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
    - token_scopes
    - required_scopes
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 157
    functionName: connexion.exceptions.OAuthScopeProblem.__init__
    functionSourceFile: connexion.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:
    - <ast.Constant object at 0x7f5d93ec2d30>
    argNames:
    - self
    - detail
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 171
    functionName: connexion.exceptions.UnsupportedMediaTypeProblem.__init__
    functionSourceFile: connexion.exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93ec2a90>
    - <ast.Constant object at 0x7f5d93ec2fa0>
    argNames:
    - self
    - status
    - title
    - detail
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 182
    functionName: connexion.exceptions.ServerError.__init__
    functionSourceFile: connexion.exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.super
    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 0x7f5d94b4e040>
    argNames:
    - self
    - detail
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 198
    functionName: connexion.exceptions.InternalServerError.__init__
    functionSourceFile: connexion.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: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d94b4ed60>
    argNames:
    - self
    - detail
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 211
    functionName: connexion.exceptions.NonConformingResponse.__init__
    functionSourceFile: connexion.exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.super
    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 0x7f5d94b4e520>
    argNames:
    - self
    - detail
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 219
    functionName: connexion.exceptions.NonConformingResponseBody.__init__
    functionSourceFile: connexion.exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.super
    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 0x7f5d93dd45b0>
    argNames:
    - self
    - detail
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 230
    functionName: connexion.exceptions.NonConformingResponseHeaders.__init__
    functionSourceFile: connexion.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:
    - <ast.Constant object at 0x7f5d93dd43a0>
    argNames:
    - self
    - status
    - detail
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 241
    functionName: connexion.exceptions.ResolverProblem.__init__
    functionSourceFile: connexion.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: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: connexion.problem
    functionSourceFile: connexion.problem
    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: problem_response.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: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: json.dumps
    functionSourceFile: json
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f5d944be1f0>
    - <ast.Constant object at 0x7f5d944be610>
    - <ast.Constant object at 0x7f5d944beaf0>
    - <ast.Constant object at 0x7f5d944be250>
    - <ast.Constant object at 0x7f5d944bea90>
    - <ast.Constant object at 0x7f5d944be5e0>
    argNames:
    - self
    - status_code
    - mimetype
    - content_type
    - body
    - headers
    - is_streamed
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 249
    functionName: connexion.lifecycle.ConnexionResponse.__init__
    functionSourceFile: ''
    functionUses: 6
    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: connexion.utils
    functionSourceFile: connexion.utils
    functionUses: 0
    functionsReached:
    - typing.overload
    - typing.TypeVar
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 23
    functionName: connexion.utils.boolean
    functionSourceFile: connexion.utils
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - s.lower
    - <builtin>.hasattr
    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: s.lower
    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: connexion.utils.<dict1>.<lambda1>
    functionSourceFile: connexion.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - value
    - type_
    - format_
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 57
    functionName: connexion.utils.make_type
    functionSourceFile: connexion.utils
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - a
    - b
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 67
    functionName: connexion.utils.deep_merge
    functionSourceFile: connexion.utils
    functionUses: 5
    functionsReached:
    - <builtin>.isinstance
    - connexion.utils.deep_merge
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - obj
    - attr
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 85
    functionName: connexion.utils.deep_getattr
    functionSourceFile: connexion.utils
    functionUses: 18
    functionsReached:
    - attr.split
    - functools.reduce
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: attr.split
    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: functools.reduce
    functionSourceFile: functools
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - function_name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 115
    functionName: connexion.utils.get_function_from_name
    functionSourceFile: connexion.utils
    functionUses: 17
    functionsReached:
    - module_name.rsplit
    - attr.split
    - functools.reduce
    - importlib.import_module
    - function_name.rsplit
    - connexion.utils.deep_getattr
    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: function_name.rsplit
    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: importlib.import_module
    functionSourceFile: importlib
    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: module_name.rsplit
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - mimetype
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 153
    functionName: connexion.utils.is_json_mimetype
    functionSourceFile: connexion.utils
    functionUses: 10
    functionsReached:
    - subtype.endswith
    - subtype.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: subtype.split
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: subtype.endswith
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.all
    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:
    - param_def
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 194
    functionName: connexion.utils.is_nullable
    functionSourceFile: connexion.utils
    functionUses: 27
    functionsReached:
    - param_def.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: param_def.get
    functionSourceFile: <builtin>
    functionUses: 28
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 200
    functionName: connexion.utils.is_null
    functionSourceFile: connexion.utils
    functionUses: 25
    functionsReached:
    - <builtin>.hasattr
    - value.strip
    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 0x7f5d942d33d0>
    argNames:
    - function
    - api
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 210
    functionName: connexion.utils.has_coroutine
    functionSourceFile: connexion.utils
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - <builtin>.any
    - asyncio.iscoroutinefunction
    - connexion.utils.has_coroutine.iscorofunc
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - func
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 217
    functionName: connexion.utils.has_coroutine.iscorofunc
    functionSourceFile: connexion.utils
    functionUses: 1
    functionsReached:
    - <builtin>.hasattr
    - asyncio.iscoroutinefunction
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: asyncio.iscoroutinefunction
    functionSourceFile: asyncio
    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:
    - openapi
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 231
    functionName: connexion.utils.yamldumper
    functionSourceFile: connexion.utils
    functionUses: 1
    functionsReached:
    - yaml.dump
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 238
    functionName: connexion.utils.yamldumper.should_use_block
    functionSourceFile: connexion.utils
    functionUses: 1
    functionsReached: []
    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 0x7f5d94178490>
    argNames:
    - self
    - tag
    - value
    - style
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 254
    functionName: connexion.utils.yamldumper.my_represent_scalar
    functionSourceFile: connexion.utils
    functionUses: 0
    functionsReached:
    - yaml.representer.ScalarNode
    - connexion.utils.yamldumper.should_use_block
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: yaml.representer.ScalarNode
    functionSourceFile: yaml
    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
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 270
    functionName: connexion.utils.yamldumper.NoAnchorDumper.ignore_aliases
    functionSourceFile: connexion.utils
    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: yaml.dump
    functionSourceFile: yaml
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 282
    functionName: connexion.utils.not_installed_error._delayed_error
    functionSourceFile: connexion.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - headers
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 290
    functionName: connexion.utils.extract_content_type
    functionSourceFile: connexion.utils
    functionUses: 8
    functionsReached:
    - decoded_key.lower
    - value.decode
    - key.decode
    - <builtin>.isinstance
    - headers.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: headers.items
    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: key.decode
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: decoded_key.lower
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: value.decode
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - content_type
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 321
    functionName: connexion.utils.split_content_type
    functionSourceFile: connexion.utils
    functionUses: 8
    functionsReached:
    - content_type.split
    - parameter.startswith
    - parameters.split
    - <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: content_type.split
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parameters.split
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parameter.startswith
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - value
    - type_literal
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 348
    functionName: connexion.utils.coerce_type.make_type
    functionSourceFile: connexion.utils
    functionUses: 9
    functionsReached:
    - TYPE_MAP.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: TYPE_MAP.get
    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: param_schema.get
    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: converted_params.append
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - d
    - schema
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 372
    functionName: connexion.utils.coerce_type.cast_leaves
    functionSourceFile: connexion.utils
    functionUses: 8
    functionsReached:
    - connexion.utils.coerce_type.cast_leaves
    - <builtin>.type
    - connexion.utils.coerce_type.make_type
    - d.items
    - TYPE_MAP.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - import_name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 394
    functionName: connexion.utils.get_root_path
    functionSourceFile: connexion.utils
    functionUses: 3
    functionsReached:
    - <builtin>.hasattr
    - pkgutil.get_loader
    - os.getcwd
    - <builtin>.__import__
    - <builtin>.getattr
    - loader.get_filename
    - sys.modules.get
    - os.path.abspath
    - os.path.dirname
    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: sys.modules.get
    functionSourceFile: sys
    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: os.path.dirname
    functionSourceFile: os
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pkgutil.get_loader
    functionSourceFile: pkgutil
    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: os.getcwd
    functionSourceFile: os
    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: loader.get_filename
    functionSourceFile: <builtin>
    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:
    - function
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 442
    functionName: connexion.utils.inspect_function_arguments
    functionSourceFile: connexion.utils
    functionUses: 11
    functionsReached:
    - inspect.signature
    - <builtin>.list
    - parameters.items
    - parameters.values
    - <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: inspect.signature
    functionSourceFile: inspect
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parameters.items
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parameters.values
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - routes
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 470
    functionName: connexion.utils.sort_routes
    functionSourceFile: connexion.utils
    functionUses: 3
    functionsReached:
    - <builtin>.sorted
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 495
    functionName: connexion.utils.sort_routes.SortableRoute.__init__
    functionSourceFile: connexion.utils
    functionUses: 1
    functionsReached:
    - path.rstrip
    - starlette.routing.compile_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.rstrip
    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: starlette.routing.compile_path
    functionSourceFile: starlette
    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
    - other
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 501
    functionName: connexion.utils.sort_routes.SortableRoute.__lt__
    functionSourceFile: connexion.utils
    functionUses: 0
    functionsReached:
    - other.path_regex.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: other.path_regex.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: 2
    functionLinenumber: -1
    functionName: connexion.utils.sort_routes.<lambda1>
    functionSourceFile: connexion.utils
    functionUses: 0
    functionsReached:
    - path.rstrip
    - connexion.utils.sort_routes.SortableRoute.__init__
    - connexion.utils.sort_apis_by_basepath.<lambda1>
    - starlette.routing.compile_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: connexion.utils.sort_apis_by_basepath.<lambda1>
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - apis
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 507
    functionName: connexion.utils.sort_apis_by_basepath
    functionSourceFile: connexion.utils
    functionUses: 2
    functionsReached:
    - <builtin>.sorted
    - connexion.utils.sort_routes
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: copy.deepcopy.get
    functionSourceFile: copy
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: copy.deepcopy.items.get
    functionSourceFile: copy
    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: jsf.JSF
    functionSourceFile: jsf
    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: jsf.JSF.generate
    functionSourceFile: jsf
    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: 1
    functionLinenumber: -1
    functionName: connexion.middleware.main
    functionSourceFile: connexion.middleware.main
    functionUses: 0
    functionsReached:
    - 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: dataclasses.field
    functionSourceFile: dataclasses
    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: 1
    functionLinenumber: -1
    functionName: connexion.middleware.main._Options
    functionSourceFile: connexion.middleware.main
    functionUses: 0
    functionsReached:
    - dataclasses.field
    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: 65
    functionName: connexion.middleware.main._Options.__post_init__
    functionSourceFile: connexion.middleware.main
    functionUses: 0
    functionsReached:
    - <builtin>.callable
    - connexion.middleware.main._Options._resolver_error_handler_factory
    - connexion.resolver.Resolver.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Attribute object at 0x7f5d944540a0>
    argNames:
    - self
    - function_resolver
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 31
    functionName: connexion.resolver.Resolver.__init__
    functionSourceFile: ''
    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: 0
    functionLinenumber: 71
    functionName: connexion.middleware.main._Options._resolver_error_handler_factory
    functionSourceFile: ''
    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:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 77
    functionName: connexion.middleware.main._Options._resolver_error_handler_factory.resolver_error_handler
    functionSourceFile: connexion.middleware.main
    functionUses: 0
    functionsReached:
    - connexion.handlers.ResolverErrorHandler.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - status_code
    - exception
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 19
    functionName: connexion.handlers.ResolverErrorHandler.__init__
    functionSourceFile: ''
    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
    - changes
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 83
    functionName: connexion.middleware.main._Options.replace
    functionSourceFile: connexion.middleware.main
    functionUses: 2
    functionsReached:
    - changes.items
    - dataclasses.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: changes.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: dataclasses.replace
    functionSourceFile: dataclasses
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - specification
    - base_path
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 173
    functionName: connexion.middleware.main.API.__init__
    functionSourceFile: connexion.middleware.main
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 18
    argDefaultValues: []
    argNames:
    - self
    - app
    - import_name
    - lifespan
    - middlewares
    - specification_dir
    - arguments
    - auth_all_paths
    - jsonifier
    - pythonic_params
    - resolver
    - resolver_error
    - strict_validation
    - swagger_ui_options
    - uri_parser_class
    - validate_responses
    - validator_map
    - security_map
    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: 2
    functionLinenumber: 195
    functionName: connexion.middleware.main.ConnexionMiddleware.__init__
    functionSourceFile: connexion.middleware.main
    functionUses: 2
    functionsReached:
    - pathlib.Path.cwd
    - <builtin>.hasattr
    - pkgutil.get_loader
    - copy.copy
    - connexion.utils.get_root_path
    - os.getcwd
    - <builtin>.__import__
    - <builtin>.getattr
    - os.path.abspath
    - sys.modules.get
    - loader.get_filename
    - <builtin>.str
    - spec_dir.is_absolute
    - os.path.dirname
    - pathlib.Path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pathlib.Path.cwd
    functionSourceFile: pathlib
    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: pathlib.Path
    functionSourceFile: pathlib
    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: spec_dir.is_absolute
    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: copy.copy
    functionSourceFile: copy
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - middleware_class
    - position
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 284
    functionName: connexion.middleware.main.ConnexionMiddleware.add_middleware
    functionSourceFile: connexion.middleware.main
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.enumerate
    - functools.partial
    - typing.cast
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    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: 3
    functionLinenumber: 315
    functionName: connexion.middleware.main.ConnexionMiddleware._build_middleware_stack
    functionSourceFile: connexion.middleware.main
    functionUses: 1
    functionsReached:
    - connexion.apps.flask.FlaskASGIApp.add_api
    - connexion.apps.flask.FlaskApi.__init__
    - inspect.signature
    - <builtin>.list
    - <builtin>.reversed
    - connexion.jsonifier.Jsonifier.__init__
    - parameters.items
    - <builtin>.super
    - abc.ABC.add_exception_handler
    - <builtin>.isinstance
    - <builtin>.sorted
    - connexion.utils.inspect_function_arguments
    - parameters.values
    - <builtin>.any
    - connexion.utils.sort_apis_by_basepath
    - apps.append
    - connexion.utils.sort_routes
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: apps.append
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - specification
    - name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 143
    functionName: connexion.apps.flask.FlaskASGIApp.add_api
    functionSourceFile: connexion.apps.flask
    functionUses: 2
    functionsReached:
    - connexion.apps.flask.FlaskApi.__init__
    - <builtin>.super
    - connexion.jsonifier.Jsonifier.__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: abc.ABC.add_exception_handler
    functionSourceFile: abc
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 3
    IfCount: 4
    argCount: 17
    argDefaultValues: []
    argNames:
    - self
    - specification
    - base_path
    - name
    - arguments
    - auth_all_paths
    - jsonifier
    - pythonic_params
    - resolver
    - resolver_error
    - strict_validation
    - swagger_ui_options
    - uri_parser_class
    - validate_responses
    - validator_map
    - security_map
    - kwargs
    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
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 350
    functionName: connexion.middleware.main.ConnexionMiddleware.add_api
    functionSourceFile: connexion.middleware.main
    functionUses: 1
    functionsReached:
    - contents.decode
    - copy.deepcopy.items
    - copy.deepcopy.pop
    - jsonschema.RefResolver
    - connexion.utils.deep_get
    - connexion.spec.Specification.from_file
    - jsonschema.RefResolver.resolving
    - openapi_yaml.read
    - yaml.safe_load
    - dataclasses.replace
    - <builtin>.tuple
    - connexion.spec.Specification.from_dict
    - validator.validate
    - specification.open
    - changes.items
    - connexion.json_schema.resolve_refs
    - version_string.split
    - connexion.spec.Specification._load_spec_from_file
    - connexion.spec.Specification.__init__
    - collections.abc.Mapping.startswith
    - collections.abc.Mapping.items
    - <builtin>.enumerate
    - connexion.spec.OpenAPISpecification._set_defaults
    - connexion.spec.Specification.from_url
    - collections.abc.Mapping.relative_to
    - connexion.spec.Swagger2Specification._set_defaults
    - connexion.spec.create_spec_validator
    - <builtin>.int
    - connexion.json_schema.resolve_refs._do_resolve
    - jsonschema.validators.extend
    - <builtin>.str
    - connexion.spec.Specification.load
    - jinja2.Template
    - pathlib.Path
    - connexion.middleware.main._Options.replace
    - pathlib.Path.cwd
    - connexion.spec.Specification._get_spec_version
    - connexion.middleware.main.API.__init__
    - connexion.spec.Specification.from_dict.enforce_string_keys
    - collections.abc.Mapping.get
    - err.format
    - spec.setdefault
    - <builtin>.map
    - <builtin>.isinstance
    - copy.deepcopy
    - connexion.spec.Specification._validate_spec
    - typing.cast
    - copy.deepcopy.update
    - copy.deepcopy.get
    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: collections.abc.Mapping.startswith
    functionSourceFile: collections
    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: collections.abc.Mapping.relative_to
    functionSourceFile: collections
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - cls
    - spec
    - arguments
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 210
    functionName: connexion.spec.Specification.load
    functionSourceFile: connexion.spec
    functionUses: 2
    functionsReached:
    - contents.decode
    - copy.deepcopy.items
    - copy.deepcopy.pop
    - jsonschema.RefResolver
    - connexion.utils.deep_get
    - jsonschema.RefResolver.resolving
    - connexion.spec.Specification.from_file
    - openapi_yaml.read
    - yaml.safe_load
    - <builtin>.tuple
    - connexion.spec.Specification.from_dict
    - validator.validate
    - specification.open
    - connexion.json_schema.resolve_refs
    - version_string.split
    - connexion.spec.Specification._load_spec_from_file
    - connexion.spec.Specification.__init__
    - collections.abc.Mapping.startswith
    - collections.abc.Mapping.items
    - <builtin>.enumerate
    - connexion.spec.OpenAPISpecification._set_defaults
    - connexion.spec.Specification.from_url
    - connexion.spec.Swagger2Specification._set_defaults
    - connexion.spec.create_spec_validator
    - <builtin>.int
    - connexion.json_schema.resolve_refs._do_resolve
    - jsonschema.validators.extend
    - <builtin>.str
    - jinja2.Template
    - pathlib.Path
    - connexion.spec.Specification._get_spec_version
    - connexion.spec.Specification.from_dict.enforce_string_keys
    - collections.abc.Mapping.get
    - err.format
    - spec.setdefault
    - <builtin>.map
    - <builtin>.isinstance
    - copy.deepcopy
    - connexion.spec.Specification._validate_spec
    - copy.deepcopy.update
    - copy.deepcopy.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - code_or_exception
    - function
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 443
    functionName: connexion.middleware.main.ConnexionMiddleware.add_error_handler
    functionSourceFile: connexion.middleware.main
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d936dd880>
    argNames:
    - self
    - import_string
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 465
    functionName: connexion.middleware.main.ConnexionMiddleware.run
    functionSourceFile: connexion.middleware.main
    functionUses: 1
    functionsReached:
    - uvicorn.run
    - logger.warning
    - kwargs.get
    - kwargs.setdefault
    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: logger.warning
    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: kwargs.setdefault
    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: kwargs.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: uvicorn.run
    functionSourceFile: uvicorn
    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
    - scope
    - receive
    - send
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 497
    functionName: connexion.middleware.main.ConnexionMiddleware.__call__
    functionSourceFile: connexion.middleware.main
    functionUses: 0
    functionsReached:
    - connexion.apps.flask.FlaskASGIApp.add_api
    - connexion.apps.flask.FlaskApi.__init__
    - parameters.items
    - connexion.apps.flask.FlaskASGIApp.__init__
    - <builtin>.any
    - connexion.utils.sort_apis_by_basepath
    - apps.append
    - inspect.signature
    - connexion.jsonifier.Jsonifier.__init__
    - <builtin>.super
    - <builtin>.list
    - <builtin>.reversed
    - a2wsgi.WSGIMiddleware
    - flask.FlaskJSONProvider
    - flask.Flask
    - <builtin>.sorted
    - connexion.utils.inspect_function_arguments
    - abc.ABC.add_exception_handler
    - connexion.middleware.main.ConnexionMiddleware._build_middleware_stack
    - <builtin>.isinstance
    - parameters.values
    - connexion.utils.sort_routes
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - import_name
    - server_args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 130
    functionName: connexion.apps.flask.FlaskASGIApp.__init__
    functionSourceFile: connexion.apps.flask
    functionUses: 2
    functionsReached:
    - flask.FlaskJSONProvider
    - flask.Flask
    - a2wsgi.WSGIMiddleware
    linkageType: 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: connexion.middleware.server_error
    functionSourceFile: connexion.middleware.server_error
    functionUses: 0
    functionsReached:
    - logging.getLogger
    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 0x7f5d94b4e100>
    argNames:
    - self
    - next_app
    - handler
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 21
    functionName: connexion.middleware.server_error.ServerErrorMiddleware.__init__
    functionSourceFile: connexion.middleware.server_error
    functionUses: 0
    functionsReached:
    - functools.wraps
    - <builtin>.super
    - connexion.middleware.exceptions.connexion_wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - handler
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 23
    functionName: connexion.middleware.exceptions.connexion_wrapper
    functionSourceFile: connexion.middleware.exceptions
    functionUses: 5
    functionsReached:
    - functools.wraps
    linkageType: 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: connexion.middleware.server_error.ServerErrorMiddleware
    functionSourceFile: connexion.middleware.server_error
    functionUses: 0
    functionsReached:
    - functools.wraps
    - connexion.middleware.exceptions.connexion_wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - _request
    - exc
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 33
    functionName: connexion.middleware.server_error.ServerErrorMiddleware.error_response
    functionSourceFile: connexion.middleware.server_error
    functionUses: 1
    functionsReached:
    - logger.error
    - <builtin>.super
    - json.dumps
    - connexion.exceptions.ProblemException.to_problem
    - connexion.exceptions.InternalServerError.__init__
    - problem_response.update
    - connexion.lifecycle.ConnexionResponse.__init__
    - connexion.problem.problem
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: logger.error
    functionSourceFile: <builtin>
    functionUses: 18
    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: connexion.lifecycle
    functionSourceFile: connexion.lifecycle
    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: 19
    functionName: connexion.lifecycle._RequestInterface.context
    functionSourceFile: connexion.lifecycle
    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: 24
    functionName: connexion.lifecycle._RequestInterface.content_type
    functionSourceFile: connexion.lifecycle
    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: 29
    functionName: connexion.lifecycle._RequestInterface.mimetype
    functionSourceFile: connexion.lifecycle
    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: 35
    functionName: connexion.lifecycle._RequestInterface.path_params
    functionSourceFile: connexion.lifecycle
    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: 40
    functionName: connexion.lifecycle._RequestInterface.query_params
    functionSourceFile: connexion.lifecycle
    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: 44
    functionName: connexion.lifecycle._RequestInterface.form
    functionSourceFile: connexion.lifecycle
    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: 48
    functionName: connexion.lifecycle._RequestInterface.files
    functionSourceFile: connexion.lifecycle
    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: 52
    functionName: connexion.lifecycle._RequestInterface.json
    functionSourceFile: connexion.lifecycle
    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: 56
    functionName: connexion.lifecycle._RequestInterface.get_body
    functionSourceFile: connexion.lifecycle
    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 0x7f5d944928e0>
    - <ast.Constant object at 0x7f5d94492b20>
    argNames:
    - self
    - werkzeug_request
    - uri_parser
    - view_args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 64
    functionName: connexion.lifecycle.WSGIRequest.__init__
    functionSourceFile: connexion.lifecycle
    functionUses: 2
    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: 78
    functionName: connexion.lifecycle.WSGIRequest.context
    functionSourceFile: connexion.lifecycle
    functionUses: 0
    functionsReached:
    - scope.setdefault
    - extensions.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: scope.setdefault
    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: extensions.setdefault
    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: 0
    functionLinenumber: 86
    functionName: connexion.lifecycle.WSGIRequest.content_type
    functionSourceFile: connexion.lifecycle
    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: 90
    functionName: connexion.lifecycle.WSGIRequest.mimetype
    functionSourceFile: connexion.lifecycle
    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: 0
    functionLinenumber: 94
    functionName: connexion.lifecycle.WSGIRequest.path_params
    functionSourceFile: connexion.lifecycle
    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: 0
    functionLinenumber: 100
    functionName: connexion.lifecycle.WSGIRequest.query_params
    functionSourceFile: connexion.lifecycle
    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: 106
    functionName: connexion.lifecycle.WSGIRequest.form
    functionSourceFile: connexion.lifecycle
    functionUses: 1
    functionsReached:
    - flask.request.form.to_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: flask.request.form.to_dict
    functionSourceFile: flask
    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: 112
    functionName: connexion.lifecycle.WSGIRequest.files
    functionSourceFile: connexion.lifecycle
    functionUses: 0
    functionsReached:
    - flask.request.files.to_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: flask.request.files.to_dict
    functionSourceFile: flask
    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: 115
    functionName: connexion.lifecycle.WSGIRequest.json
    functionSourceFile: connexion.lifecycle
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 118
    functionName: connexion.lifecycle.WSGIRequest.get_body
    functionSourceFile: connexion.lifecycle
    functionUses: 0
    functionsReached:
    - connexion.lifecycle.WSGIRequest.form
    - subtype.split
    - subtype.endswith
    - connexion.utils.is_json_mimetype
    - flask.request.form.to_dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 129
    functionName: connexion.lifecycle.WSGIRequest.__getattr__
    functionSourceFile: connexion.lifecycle
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: starlette.requests.Request
    functionSourceFile: starlette
    functionUses: 6
    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 0x7f5d93f149a0>
    argNames:
    - cls
    - request
    - uri_parser
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 159
    functionName: connexion.lifecycle.ConnexionRequest.from_starlette_request
    functionSourceFile: connexion.lifecycle
    functionUses: 1
    functionsReached:
    - cls.__new__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cls.__new__
    functionSourceFile: <builtin>
    functionUses: 2
    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: 169
    functionName: connexion.lifecycle.ConnexionRequest.context
    functionSourceFile: connexion.lifecycle
    functionUses: 0
    functionsReached:
    - extensions.setdefault
    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: 176
    functionName: connexion.lifecycle.ConnexionRequest.content_type
    functionSourceFile: connexion.lifecycle
    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: 180
    functionName: connexion.lifecycle.ConnexionRequest.mimetype
    functionSourceFile: connexion.lifecycle
    functionUses: 0
    functionsReached:
    - python_multipart.multipart.parse_options_header
    - mimetype.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: python_multipart.multipart.parse_options_header
    functionSourceFile: python_multipart
    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: mimetype.decode
    functionSourceFile: <builtin>
    functionUses: 1
    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: 0
    functionLinenumber: 187
    functionName: connexion.lifecycle.ConnexionRequest.path_params
    functionSourceFile: connexion.lifecycle
    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: 195
    functionName: connexion.lifecycle.ConnexionRequest.query_params
    functionSourceFile: connexion.lifecycle
    functionUses: 0
    functionsReached:
    - starlette.requests.Request.query_params.getlist
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: starlette.requests.Request.query_params.getlist
    functionSourceFile: starlette
    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: 2
    functionLinenumber: 202
    functionName: connexion.lifecycle.ConnexionRequest.form
    functionSourceFile: connexion.lifecycle
    functionUses: 1
    functionsReached:
    - form_data.multi_items
    - collections.defaultdict
    - <builtin>.isinstance
    - connexion.lifecycle.ConnexionRequest._split_form_files
    - starlette.requests.Request.form
    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: 212
    functionName: connexion.lifecycle.ConnexionRequest._split_form_files
    functionSourceFile: connexion.lifecycle
    functionUses: 3
    functionsReached:
    - collections.defaultdict
    - <builtin>.isinstance
    - starlette.requests.Request.form
    - form_data.multi_items
    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: 2
    functionLinenumber: 207
    functionName: connexion.lifecycle.ConnexionRequest.files
    functionSourceFile: connexion.lifecycle
    functionUses: 0
    functionsReached:
    - form_data.multi_items
    - collections.defaultdict
    - <builtin>.isinstance
    - connexion.lifecycle.ConnexionRequest._split_form_files
    - starlette.requests.Request.form
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: starlette.requests.Request.form
    functionSourceFile: starlette
    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: form_data.multi_items
    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: 1
    functionLinenumber: 226
    functionName: connexion.lifecycle.ConnexionRequest.json
    functionSourceFile: connexion.lifecycle
    functionUses: 1
    functionsReached:
    - starlette.requests.Request.json
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: starlette.requests.Request.json
    functionSourceFile: starlette
    functionUses: 2
    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: 3
    functionLinenumber: 232
    functionName: connexion.lifecycle.ConnexionRequest.get_body
    functionSourceFile: connexion.lifecycle
    functionUses: 0
    functionsReached:
    - subtype.split
    - subtype.endswith
    - connexion.utils.is_json_mimetype
    - connexion.lifecycle.ConnexionRequest.form
    - collections.defaultdict
    - <builtin>.isinstance
    - form_data.multi_items
    - starlette.requests.Request.json
    - connexion.lifecycle.ConnexionRequest._split_form_files
    - connexion.lifecycle.ConnexionRequest.json
    - starlette.requests.Request.form
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 241
    functionName: connexion.lifecycle.ConnexionRequest.__getattr__
    functionSourceFile: connexion.lifecycle
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: werkzeug
    functionSourceFile: werkzeug
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: werkzeug.serving
    functionSourceFile: werkzeug.serving
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - <builtin>.__import__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 49
    functionName: werkzeug.serving._SslDummy.__getattr__
    functionSourceFile: werkzeug.serving
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - rfile
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 99
    functionName: werkzeug.serving.DechunkedInput.__init__
    functionSourceFile: werkzeug.serving
    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: 0
    functionLinenumber: 104
    functionName: werkzeug.serving.DechunkedInput.readable
    functionSourceFile: werkzeug.serving
    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: 107
    functionName: werkzeug.serving.DechunkedInput.read_chunk_len
    functionSourceFile: werkzeug.serving
    functionUses: 1
    functionsReached:
    - <builtin>.int
    - io.RawIOBase.readline
    - line.strip
    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: io.RawIOBase.readline
    functionSourceFile: io
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 0
    IfCount: 6
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - buf
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 117
    functionName: werkzeug.serving.DechunkedInput.readinto
    functionSourceFile: werkzeug.serving
    functionUses: 0
    functionsReached:
    - io.RawIOBase.read
    - <builtin>.min
    - <builtin>.int
    - io.RawIOBase.readline
    - werkzeug.serving.DechunkedInput.read_chunk_len
    - line.strip
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - OSError
    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: 164
    functionName: werkzeug.serving.WSGIRequestHandler.server_version
    functionSourceFile: werkzeug.serving
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 1
    IfCount: 9
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 167
    functionName: werkzeug.serving.WSGIRequestHandler.make_environ
    functionSourceFile: werkzeug.serving
    functionUses: 1
    functionsReached:
    - value.replace
    - <builtin>.getattr
    - urllib.parse.unquote.encode
    - urllib.parse.urlsplit.path.encode
    - werkzeug._internal._wsgi_encoding_dance
    - werkzeug.serving.DechunkedInput.__init__
    - werkzeug.serving.WSGIRequestHandler.address_string
    - http.server.BaseHTTPRequestHandler.headers.items
    - http.server.BaseHTTPRequestHandler.connection.getpeercert
    - environ.get
    - key.upper
    - ssl.DER_cert_to_PEM_cert
    - urllib.parse.urlsplit
    - <builtin>.str
    - werkzeug.serving.WSGIRequestHandler.port_integer
    - http.server.BaseHTTPRequestHandler.server.log
    - http.server.BaseHTTPRequestHandler.path.encode
    - urllib.parse.urlsplit.query.encode
    - <builtin>.isinstance
    - urllib.parse.unquote
    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: 422
    functionName: werkzeug.serving.WSGIRequestHandler.address_string
    functionSourceFile: werkzeug.serving
    functionUses: 7
    functionsReached:
    - <builtin>.getattr
    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: 431
    functionName: werkzeug.serving.WSGIRequestHandler.port_integer
    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: http.server.BaseHTTPRequestHandler.headers.items
    functionSourceFile: http
    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: http.server.BaseHTTPRequestHandler.connection.getpeercert
    functionSourceFile: http
    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: ssl.DER_cert_to_PEM_cert
    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: http.server.BaseHTTPRequestHandler.server.log
    functionSourceFile: http
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 5
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 248
    functionName: werkzeug.serving.WSGIRequestHandler.run_wsgi
    functionSourceFile: werkzeug.serving
    functionUses: 0
    functionsReached:
    - selector.register
    - <builtin>.hasattr
    - http.server.BaseHTTPRequestHandler.headers.get
    - value.replace
    - <builtin>.getattr
    - urllib.parse.unquote.encode
    - werkzeug.debug.tbtools.DebugTraceback.__init__
    - urllib.parse.urlsplit.path.encode
    - werkzeug._internal._wsgi_encoding_dance
    - werkzeug.serving.WSGIRequestHandler.connection_dropped
    - werkzeug.debug.tbtools.DebugTraceback.render_traceback_text
    - werkzeug.serving.DechunkedInput.__init__
    - <builtin>.set
    - <builtin>.hex
    - werkzeug.serving.WSGIRequestHandler.run_wsgi.write
    - http.server.BaseHTTPRequestHandler.server.app
    - selector.select
    - <builtin>.super
    - application_iter.close
    - traceback.TracebackException.from_exception
    - itertools.islice
    - werkzeug.debug.tbtools.DebugFrameSummary.__init__
    - traceback.walk_tb
    - werkzeug.serving.WSGIRequestHandler.address_string
    - werkzeug.serving.WSGIRequestHandler.make_environ
    - new_stack.append
    - http.server.BaseHTTPRequestHandler.headers.items
    - selector.close
    - werkzeug.exceptions.InternalServerError.__init__
    - <builtin>.len
    - werkzeug.serving.WSGIRequestHandler.run_wsgi.execute
    - http.server.BaseHTTPRequestHandler.rfile.read
    - werkzeug.debug.tbtools._process_traceback
    - environ.get
    - <builtin>.int
    - http.server.BaseHTTPRequestHandler.connection.getpeercert
    - http.server.BaseHTTPRequestHandler.wfile.flush
    - http.server.BaseHTTPRequestHandler.send_response
    - key.upper
    - http.server.BaseHTTPRequestHandler.wfile.write
    - ssl.DER_cert_to_PEM_cert
    - urllib.parse.urlsplit
    - <builtin>.str
    - f.f_locals.get
    - werkzeug.serving.WSGIRequestHandler.port_integer
    - header_keys.add
    - key.lower
    - http.server.BaseHTTPRequestHandler.server.log
    - http.server.BaseHTTPRequestHandler.path.encode
    - urllib.parse.urlsplit.query.encode
    - selectors.DefaultSelector
    - http.server.BaseHTTPRequestHandler.send_header
    - http.server.BaseHTTPRequestHandler.end_headers
    - <builtin>.zip
    - <builtin>.isinstance
    - status_sent.split
    - typing.cast
    - urllib.parse.unquote
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.server.BaseHTTPRequestHandler.headers.get
    functionSourceFile: http
    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.server.BaseHTTPRequestHandler.wfile.write
    functionSourceFile: http
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 11
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 259
    functionName: werkzeug.serving.WSGIRequestHandler.run_wsgi.write
    functionSourceFile: werkzeug.serving
    functionUses: 2
    functionsReached:
    - <builtin>.set
    - <builtin>.hex
    - http.server.BaseHTTPRequestHandler.send_header
    - <builtin>.int
    - http.server.BaseHTTPRequestHandler.wfile.flush
    - http.server.BaseHTTPRequestHandler.send_response
    - http.server.BaseHTTPRequestHandler.end_headers
    - http.server.BaseHTTPRequestHandler.wfile.write
    - <builtin>.isinstance
    - status_sent.split
    - key.lower
    - <builtin>.len
    - header_keys.add
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: status_sent.split
    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: http.server.BaseHTTPRequestHandler.send_response
    functionSourceFile: http
    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: http.server.BaseHTTPRequestHandler.send_header
    functionSourceFile: http
    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: header_keys.add
    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: http.server.BaseHTTPRequestHandler.end_headers
    functionSourceFile: http
    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>.hex
    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: http.server.BaseHTTPRequestHandler.wfile.flush
    functionSourceFile: http
    functionUses: 3
    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 0x7f5d94623bb0>
    argNames:
    - status
    - headers
    - exc_info
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 316
    functionName: werkzeug.serving.WSGIRequestHandler.run_wsgi.start_response
    functionSourceFile: werkzeug.serving
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - AssertionError
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 6
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - app
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 330
    functionName: werkzeug.serving.WSGIRequestHandler.run_wsgi.execute
    functionSourceFile: werkzeug.serving
    functionUses: 1
    functionsReached:
    - selector.register
    - <builtin>.hasattr
    - <builtin>.set
    - <builtin>.hex
    - werkzeug.serving.WSGIRequestHandler.run_wsgi.write
    - http.server.BaseHTTPRequestHandler.server.app
    - selector.select
    - <builtin>.super
    - application_iter.close
    - selector.close
    - werkzeug.exceptions.InternalServerError.__init__
    - <builtin>.len
    - http.server.BaseHTTPRequestHandler.rfile.read
    - <builtin>.int
    - http.server.BaseHTTPRequestHandler.wfile.flush
    - http.server.BaseHTTPRequestHandler.send_response
    - http.server.BaseHTTPRequestHandler.wfile.write
    - key.lower
    - header_keys.add
    - selectors.DefaultSelector
    - http.server.BaseHTTPRequestHandler.send_header
    - http.server.BaseHTTPRequestHandler.end_headers
    - <builtin>.isinstance
    - status_sent.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: http.server.BaseHTTPRequestHandler.server.app
    functionSourceFile: http
    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: selectors.DefaultSelector
    functionSourceFile: selectors
    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: selector.register
    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: selector.select
    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: http.server.BaseHTTPRequestHandler.rfile.read
    functionSourceFile: http
    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: selector.close
    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: application_iter.close
    functionSourceFile: <builtin>
    functionUses: 2
    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 0x7f5d943055e0>
    argNames:
    - self
    - error
    - environ
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 407
    functionName: werkzeug.serving.WSGIRequestHandler.connection_dropped
    functionSourceFile: ''
    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 0x7f5d93f80d30>
    argNames:
    - self
    - exc
    - te
    - skip
    - hide
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 223
    functionName: werkzeug.debug.tbtools.DebugTraceback.__init__
    functionSourceFile: werkzeug.debug.tbtools
    functionUses: 6
    functionsReached:
    - werkzeug.debug.tbtools._process_traceback
    - <builtin>.super
    - traceback.TracebackException.from_exception
    - itertools.islice
    - werkzeug.debug.tbtools.DebugFrameSummary.__init__
    - traceback.walk_tb
    - <builtin>.getattr
    - <builtin>.zip
    - new_stack.append
    - typing.cast
    - f.f_locals.get
    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: 273
    functionName: werkzeug.debug.tbtools.DebugTraceback.render_traceback_text
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    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: 5
    functionLinenumber: 395
    functionName: werkzeug.serving.WSGIRequestHandler.handle
    functionSourceFile: werkzeug.serving
    functionUses: 0
    functionsReached:
    - werkzeug.serving.WSGIRequestHandler.log
    - sys.exc_info
    - _logger.setLevel
    - <builtin>.getattr
    - werkzeug._internal._ColorStreamHandler.__init__
    - <builtin>.any
    - werkzeug._internal._log
    - _logger.addHandler
    - werkzeug.serving.WSGIRequestHandler.log_error
    - werkzeug.serving.WSGIRequestHandler.connection_dropped
    - logger.getEffectiveLevel
    - <builtin>.super
    - werkzeug.serving.WSGIRequestHandler.address_string
    - werkzeug._internal._has_level_handler
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - logging.getLogger
    - colorama.AnsiToWin32
    - <builtin>.isinstance
    - werkzeug.serving.is_ssl_error
    - typing.cast
    - http.server.BaseHTTPRequestHandler.log_date_time_string
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93f502e0>
    argNames:
    - error
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 648
    functionName: werkzeug.serving.is_ssl_error
    functionSourceFile: werkzeug.serving
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - sys.exc_info
    - typing.cast
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - format
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 469
    functionName: werkzeug.serving.WSGIRequestHandler.log_error
    functionSourceFile: werkzeug.serving
    functionUses: 1
    functionsReached:
    - logger.getEffectiveLevel
    - werkzeug.serving.WSGIRequestHandler.log
    - colorama.AnsiToWin32
    - <builtin>.super
    - _logger.setLevel
    - <builtin>.getattr
    - werkzeug._internal._ColorStreamHandler.__init__
    - <builtin>.any
    - werkzeug.serving.WSGIRequestHandler.address_string
    - werkzeug._internal._has_level_handler
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - werkzeug._internal._log
    - _logger.addHandler
    - logging.getLogger
    - http.server.BaseHTTPRequestHandler.log_date_time_string
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 414
    functionName: werkzeug.serving.WSGIRequestHandler.__getattr__
    functionSourceFile: werkzeug.serving
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - <builtin>.super
    - name.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: name.startswith
    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: str.maketrans
    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: werkzeug.serving.WSGIRequestHandler
    functionSourceFile: werkzeug.serving
    functionUses: 0
    functionsReached:
    - str.maketrans
    - <builtin>.ord
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d9420c160>
    - <ast.Constant object at 0x7f5d9420c070>
    argNames:
    - self
    - code
    - size
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 440
    functionName: werkzeug.serving.WSGIRequestHandler.log_request
    functionSourceFile: werkzeug.serving
    functionUses: 0
    functionsReached:
    - <builtin>.next
    - werkzeug.serving.WSGIRequestHandler.log
    - urllib.parse.urlsplit.hostname.encode
    - _logger.setLevel
    - http.server.BaseHTTPRequestHandler.requestline.translate
    - <builtin>.getattr
    - werkzeug._internal._ColorStreamHandler.__init__
    - <builtin>.any
    - <builtin>.iter
    - werkzeug._internal._log
    - _logger.addHandler
    - parts.append
    - pattern.split
    - logger.getEffectiveLevel
    - <builtin>.super
    - werkzeug.serving._ansi_style
    - data.split
    - werkzeug.serving.WSGIRequestHandler.address_string
    - werkzeug._internal._has_level_handler
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - urllib.parse.urlunsplit
    - data.decode
    - out.append
    - urllib.parse.urlsplit
    - part.decode
    - <builtin>.str
    - werkzeug.urls._decode_idna
    - logging.getLogger
    - werkzeug.urls.uri_to_iri
    - colorama.AnsiToWin32
    - werkzeug.urls._make_unquote_part._unquote_partial
    - urllib.parse.unquote
    - http.server.BaseHTTPRequestHandler.log_date_time_string
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.server.BaseHTTPRequestHandler.requestline.translate
    functionSourceFile: http
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - value
    - styles
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 485
    functionName: werkzeug.serving._ansi_style
    functionSourceFile: ''
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - type
    - message
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 475
    functionName: werkzeug.serving.WSGIRequestHandler.log
    functionSourceFile: werkzeug.serving
    functionUses: 4
    functionsReached:
    - logger.getEffectiveLevel
    - colorama.AnsiToWin32
    - <builtin>.super
    - _logger.setLevel
    - <builtin>.getattr
    - werkzeug._internal._ColorStreamHandler.__init__
    - <builtin>.any
    - werkzeug.serving.WSGIRequestHandler.address_string
    - werkzeug._internal._has_level_handler
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - werkzeug._internal._log
    - _logger.addHandler
    - logging.getLogger
    - http.server.BaseHTTPRequestHandler.log_date_time_string
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - format
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 472
    functionName: werkzeug.serving.WSGIRequestHandler.log_message
    functionSourceFile: werkzeug.serving
    functionUses: 0
    functionsReached:
    - logger.getEffectiveLevel
    - werkzeug.serving.WSGIRequestHandler.log
    - colorama.AnsiToWin32
    - <builtin>.super
    - _logger.setLevel
    - <builtin>.getattr
    - werkzeug._internal._ColorStreamHandler.__init__
    - <builtin>.any
    - werkzeug.serving.WSGIRequestHandler.address_string
    - werkzeug._internal._has_level_handler
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - werkzeug._internal._log
    - _logger.addHandler
    - logging.getLogger
    - http.server.BaseHTTPRequestHandler.log_date_time_string
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.server.BaseHTTPRequestHandler.log_date_time_string
    functionSourceFile: http
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7f5d94337fa0>
    argNames:
    - cn
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 504
    functionName: werkzeug.serving.generate_adhoc_ssl_pair
    functionSourceFile: werkzeug.serving
    functionUses: 6
    functionsReached:
    - cryptography.x509.NameAttribute
    - datetime.timedelta
    - cryptography.hazmat.primitives.hashes.SHA256
    - datetime.datetime.now
    - cryptography.hazmat.backends.default_backend
    - cryptography.hazmat.primitives.asymmetric.rsa.generate_private_key
    - pkey.public_key
    - cryptography.x509.ExtendedKeyUsage
    - cryptography.x509.Name
    - cryptography.x509.SubjectAlternativeName
    - cryptography.x509.CertificateBuilder
    - cryptography.x509.random_serial_number
    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: cryptography.hazmat.backends.default_backend
    functionSourceFile: cryptography
    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: cryptography.hazmat.primitives.asymmetric.rsa.generate_private_key
    functionSourceFile: cryptography
    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: cryptography.x509.NameAttribute
    functionSourceFile: cryptography
    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: cryptography.x509.Name
    functionSourceFile: cryptography
    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: cryptography.hazmat.primitives.hashes.SHA256
    functionSourceFile: cryptography
    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: cryptography.x509.SubjectAlternativeName
    functionSourceFile: cryptography
    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: cryptography.x509.ExtendedKeyUsage
    functionSourceFile: cryptography
    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: cryptography.x509.random_serial_number
    functionSourceFile: cryptography
    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: pkey.public_key
    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: cryptography.x509.CertificateBuilder
    functionSourceFile: cryptography
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d94265f10>
    - <ast.Constant object at 0x7f5d942650d0>
    argNames:
    - base_path
    - host
    - cn
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 553
    functionName: werkzeug.serving.make_ssl_devcert
    functionSourceFile: werkzeug.serving
    functionUses: 0
    functionsReached:
    - cryptography.x509.NameAttribute
    - datetime.timedelta
    - cryptography.hazmat.primitives.hashes.SHA256
    - pkey.private_bytes
    - datetime.datetime.now
    - cert.public_bytes
    - cryptography.hazmat.backends.default_backend
    - <builtin>.open
    - cryptography.hazmat.primitives.asymmetric.rsa.generate_private_key
    - pkey.public_key
    - cryptography.x509.ExtendedKeyUsage
    - f.write
    - cryptography.hazmat.primitives.serialization.NoEncryption
    - cryptography.x509.Name
    - werkzeug.serving.generate_adhoc_ssl_pair
    - cryptography.x509.SubjectAlternativeName
    - cryptography.x509.CertificateBuilder
    - cryptography.x509.random_serial_number
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.public_bytes
    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: f.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: cryptography.hazmat.primitives.serialization.NoEncryption
    functionSourceFile: cryptography
    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: pkey.private_bytes
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 7
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 597
    functionName: werkzeug.serving.generate_adhoc_ssl_context
    functionSourceFile: werkzeug.serving
    functionUses: 4
    functionsReached:
    - pkey.private_bytes
    - werkzeug.serving.load_ssl_context
    - os.write
    - werkzeug.serving.generate_adhoc_ssl_pair
    - cryptography.x509.SubjectAlternativeName
    - cryptography.hazmat.primitives.hashes.SHA256
    - cryptography.hazmat.primitives.asymmetric.rsa.generate_private_key
    - cryptography.hazmat.primitives.serialization.NoEncryption
    - cryptography.x509.Name
    - cryptography.x509.random_serial_number
    - atexit.register
    - cryptography.x509.NameAttribute
    - tempfile.mkstemp
    - ctx.load_cert_chain
    - os.close
    - pkey.public_key
    - ssl.SSLContext
    - cryptography.x509.CertificateBuilder
    - datetime.timedelta
    - datetime.datetime.now
    - cert.public_bytes
    - cryptography.hazmat.backends.default_backend
    - cryptography.x509.ExtendedKeyUsage
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: tempfile.mkstemp
    functionSourceFile: tempfile
    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: atexit.register
    functionSourceFile: atexit
    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.write
    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.close
    functionSourceFile: os
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d942fc3d0>
    - <ast.Constant object at 0x7f5d942fcd60>
    argNames:
    - cert_file
    - pkey_file
    - protocol
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 627
    functionName: werkzeug.serving.load_ssl_context
    functionSourceFile: werkzeug.serving
    functionUses: 5
    functionsReached:
    - ssl.SSLContext
    - ctx.load_cert_chain
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: ctx.load_cert_chain
    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: sys.exc_info
    functionSourceFile: sys
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - host
    - port
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 655
    functionName: werkzeug.serving.select_address_family
    functionSourceFile: werkzeug.serving
    functionUses: 4
    functionsReached:
    - host.startswith
    - <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: host.startswith
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - host
    - port
    - family
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 665
    functionName: werkzeug.serving.get_sockaddr
    functionSourceFile: werkzeug.serving
    functionUses: 4
    functionsReached:
    - socket.getaddrinfo
    - host.partition
    - os.path.abspath
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.partition
    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: socket.getaddrinfo
    functionSourceFile: socket
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - family
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 682
    functionName: werkzeug.serving.get_interface_ip
    functionSourceFile: werkzeug.serving
    functionUses: 3
    functionsReached:
    - s.getsockname
    - socket.socket
    - s.connect
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s.connect
    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: s.getsockname
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 11
    IfCount: 11
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f5d94426ca0>
    - <ast.Constant object at 0x7f5d94426fa0>
    - <ast.Constant object at 0x7f5d944261c0>
    - <ast.Constant object at 0x7f5d94426880>
    argNames:
    - self
    - host
    - port
    - app
    - handler
    - passthrough_errors
    - ssl_context
    - fd
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 711
    functionName: werkzeug.serving.BaseWSGIServer.__init__
    functionSourceFile: werkzeug.serving
    functionUses: 3
    functionsReached:
    - host.startswith
    - <builtin>.hasattr
    - pkey.private_bytes
    - ssl_context.wrap_socket
    - <builtin>.vars
    - os.path.abspath
    - sys.exit
    - werkzeug.serving.load_ssl_context
    - os.write
    - werkzeug.serving.select_address_family
    - werkzeug.serving.generate_adhoc_ssl_pair
    - cryptography.x509.SubjectAlternativeName
    - os.unlink
    - cryptography.hazmat.primitives.hashes.SHA256
    - <builtin>.super
    - cryptography.hazmat.primitives.asymmetric.rsa.generate_private_key
    - os.path.exists
    - cryptography.hazmat.primitives.serialization.NoEncryption
    - cryptography.x509.Name
    - http.server.HTTPServer.server_bind
    - cryptography.x509.random_serial_number
    - atexit.register
    - cryptography.x509.NameAttribute
    - tempfile.mkstemp
    - ctx.load_cert_chain
    - <builtin>.int
    - <builtin>.print
    - os.close
    - werkzeug.serving.generate_adhoc_ssl_context
    - http.server.HTTPServer.server_close
    - socket.fromfd
    - pkey.public_key
    - importlib.metadata.version
    - socket.getaddrinfo
    - ssl.SSLContext
    - cryptography.x509.CertificateBuilder
    - datetime.timedelta
    - datetime.datetime.now
    - host.partition
    - cert.public_bytes
    - werkzeug.serving.get_sockaddr
    - cryptography.hazmat.backends.default_backend
    - http.server.HTTPServer.server_activate
    - cryptography.x509.ExtendedKeyUsage
    - <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: <builtin>.vars
    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: os.path.exists
    functionSourceFile: os
    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: os.unlink
    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: http.server.HTTPServer.server_bind
    functionSourceFile: http
    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: http.server.HTTPServer.server_activate
    functionSourceFile: http
    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: http.server.HTTPServer.server_close
    functionSourceFile: http
    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: <builtin>.print
    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: sys.exit
    functionSourceFile: sys
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: socket.fromfd
    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: ssl_context.wrap_socket
    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: importlib.metadata.version
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - type
    - message
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 814
    functionName: werkzeug.serving.BaseWSGIServer.log
    functionSourceFile: werkzeug.serving
    functionUses: 0
    functionsReached:
    - logger.getEffectiveLevel
    - colorama.AnsiToWin32
    - <builtin>.super
    - _logger.setLevel
    - <builtin>.getattr
    - werkzeug._internal._ColorStreamHandler.__init__
    - <builtin>.any
    - werkzeug._internal._has_level_handler
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - werkzeug._internal._log
    - _logger.addHandler
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93d3fb50>
    argNames:
    - self
    - poll_interval
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 817
    functionName: werkzeug.serving.BaseWSGIServer.serve_forever
    functionSourceFile: werkzeug.serving
    functionUses: 2
    functionsReached:
    - http.server.HTTPServer.server_close
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - request
    - client_address
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 825
    functionName: werkzeug.serving.BaseWSGIServer.handle_error
    functionSourceFile: werkzeug.serving
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 6
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 833
    functionName: werkzeug.serving.BaseWSGIServer.log_startup
    functionSourceFile: werkzeug.serving
    functionUses: 2
    functionsReached:
    - werkzeug.serving.get_interface_ip
    - logger.getEffectiveLevel
    - s.connect
    - colorama.AnsiToWin32
    - <builtin>.super
    - _logger.setLevel
    - _logger.addHandler
    - werkzeug.serving._ansi_style
    - s.getsockname
    - <builtin>.getattr
    - werkzeug._internal._ColorStreamHandler.__init__
    - <builtin>.any
    - werkzeug._internal._has_level_handler
    - socket.socket
    - werkzeug._internal._log
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - messages.append
    - 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: messages.append
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 9
    argDefaultValues:
    - <ast.Constant object at 0x7f5d9425af10>
    - <ast.Constant object at 0x7f5d9425a9d0>
    - <ast.Constant object at 0x7f5d9425a5e0>
    - <ast.Constant object at 0x7f5d9425af70>
    - <ast.Constant object at 0x7f5d9425aeb0>
    argNames:
    - self
    - host
    - port
    - app
    - processes
    - handler
    - passthrough_errors
    - ssl_context
    - fd
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 888
    functionName: werkzeug.serving.ForkingWSGIServer.__init__
    functionSourceFile: werkzeug.serving
    functionUses: 3
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 9
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93f802e0>
    - <ast.Constant object at 0x7f5d93f80190>
    - <ast.Constant object at 0x7f5d93f800a0>
    - <ast.Constant object at 0x7f5d93f80d60>
    - <ast.Constant object at 0x7f5d93f801c0>
    - <ast.Constant object at 0x7f5d93f80100>
    argNames:
    - host
    - port
    - app
    - threaded
    - processes
    - request_handler
    - passthrough_errors
    - ssl_context
    - fd
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 906
    functionName: werkzeug.serving.make_server
    functionSourceFile: werkzeug.serving
    functionUses: 2
    functionsReached:
    - host.startswith
    - <builtin>.hasattr
    - pkey.private_bytes
    - ssl_context.wrap_socket
    - <builtin>.vars
    - os.path.abspath
    - sys.exit
    - werkzeug.serving.load_ssl_context
    - os.write
    - werkzeug.serving.select_address_family
    - werkzeug.serving.generate_adhoc_ssl_pair
    - cryptography.x509.SubjectAlternativeName
    - os.unlink
    - cryptography.hazmat.primitives.hashes.SHA256
    - werkzeug.serving.ForkingWSGIServer.__init__
    - <builtin>.super
    - typing.cast
    - cryptography.hazmat.primitives.asymmetric.rsa.generate_private_key
    - os.path.exists
    - cryptography.hazmat.primitives.serialization.NoEncryption
    - cryptography.x509.Name
    - http.server.HTTPServer.server_bind
    - cryptography.x509.random_serial_number
    - atexit.register
    - cryptography.x509.NameAttribute
    - tempfile.mkstemp
    - ctx.load_cert_chain
    - <builtin>.int
    - <builtin>.print
    - os.close
    - pkey.public_key
    - http.server.HTTPServer.server_close
    - socket.fromfd
    - importlib.metadata.version
    - socket.getaddrinfo
    - ssl.SSLContext
    - cryptography.x509.CertificateBuilder
    - werkzeug.serving.BaseWSGIServer.__init__
    - datetime.timedelta
    - datetime.datetime.now
    - host.partition
    - cert.public_bytes
    - werkzeug.serving.get_sockaddr
    - cryptography.hazmat.backends.default_backend
    - http.server.HTTPServer.server_activate
    - cryptography.x509.ExtendedKeyUsage
    - <builtin>.isinstance
    - werkzeug.serving.generate_adhoc_ssl_context
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 951
    functionName: werkzeug.serving.is_running_from_reloader
    functionSourceFile: werkzeug.serving
    functionUses: 2
    functionsReached:
    - os.environ.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: os.environ.get
    functionSourceFile: os
    functionUses: 25
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 8
    IfCount: 6
    argCount: 16
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93eda2b0>
    - <ast.Constant object at 0x7f5d93eda8b0>
    - <ast.Constant object at 0x7f5d93edad00>
    - <ast.Constant object at 0x7f5d93eda430>
    - <ast.Constant object at 0x7f5d93eda190>
    - <ast.Constant object at 0x7f5d93eda400>
    - <ast.Constant object at 0x7f5d93eda5e0>
    - <ast.Constant object at 0x7f5d93eda4f0>
    - <ast.Constant object at 0x7f5d93edac10>
    - <ast.Constant object at 0x7f5d93eda9a0>
    - <ast.Constant object at 0x7f5d93eda310>
    - <ast.Constant object at 0x7f5d93eda070>
    - <ast.Constant object at 0x7f5d93eda340>
    argNames:
    - hostname
    - port
    - application
    - use_reloader
    - use_debugger
    - use_evalex
    - extra_files
    - exclude_patterns
    - reloader_interval
    - reloader_type
    - threaded
    - processes
    - request_handler
    - static_files
    - passthrough_errors
    - ssl_context
    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: 5
    functionLinenumber: 960
    functionName: werkzeug.serving.run_simple
    functionSourceFile: werkzeug.serving
    functionUses: 1
    functionsReached:
    - ssl_context.wrap_socket
    - <builtin>.vars
    - os.environ.get
    - werkzeug.serving.generate_adhoc_ssl_pair
    - reloader.restart_with_reloader
    - application.trusted_hosts.append
    - http.server.HTTPServer.server_bind
    - atexit.register
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_directory_loader
    - cryptography.x509.CertificateBuilder
    - http.server.HTTPServer.server_activate
    - werkzeug.security.gen_salt
    - s.connect
    - <builtin>.hasattr
    - <builtin>.any
    - reloader.run
    - _logger.addHandler
    - multiprocessing.Value
    - os.unlink
    - <builtin>.super
    - cryptography.hazmat.primitives.asymmetric.rsa.generate_private_key
    - werkzeug.serving._ansi_style
    - importlib.metadata.version
    - socket.getaddrinfo
    - ssl.SSLContext
    - werkzeug.serving.get_interface_ip
    - host.partition
    - spec.loader.get_resource_reader
    - cryptography.x509.ExtendedKeyUsage
    - s.getsockname
    - typing.cast
    - host.startswith
    - pkey.private_bytes
    - _logger.setLevel
    - os.write
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_package_loader
    - logger.getEffectiveLevel
    - secrets.choice
    - <builtin>.range
    - werkzeug._reloader.ensure_echo_on
    - cryptography.x509.Name
    - werkzeug._internal._has_level_handler
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - werkzeug.serving.make_server
    - <builtin>.int
    - os.close
    - pkey.public_key
    - http.server.HTTPServer.server_close
    - socket.fromfd
    - werkzeug.serving.BaseWSGIServer.serve_forever
    - termios.tcsetattr
    - logging.getLogger
    - srv.socket.set_inheritable
    - werkzeug.serving.get_sockaddr
    - cryptography.hazmat.backends.default_backend
    - signal.signal
    - werkzeug.serving.is_running_from_reloader
    - termios.tcgetattr
    - werkzeug.serving.generate_adhoc_ssl_context
    - os.path.abspath
    - t.start
    - <builtin>.getattr
    - werkzeug._internal._ColorStreamHandler.__init__
    - os.path.isfile
    - sys.exit
    - werkzeug.serving.load_ssl_context
    - werkzeug._reloader.run_with_reloader
    - werkzeug._internal._log
    - werkzeug.serving.select_address_family
    - cryptography.x509.SubjectAlternativeName
    - werkzeug.debug.DebuggedApplication.__init__
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_file_loader
    - cryptography.hazmat.primitives.hashes.SHA256
    - werkzeug.serving.ForkingWSGIServer.__init__
    - http.server.HTTPServer.fileno
    - werkzeug.serving.BaseWSGIServer.log_startup
    - sys.stdin.isatty
    - os.path.exists
    - cryptography.hazmat.primitives.serialization.NoEncryption
    - threading.Thread
    - importlib.util.find_spec
    - cryptography.x509.random_serial_number
    - cryptography.x509.NameAttribute
    - tempfile.mkstemp
    - ctx.load_cert_chain
    - <builtin>.print
    - exports.items
    - werkzeug.middleware.shared_data.SharedDataMiddleware.__init__
    - <builtin>.str
    - messages.append
    - werkzeug.serving.BaseWSGIServer.__init__
    - datetime.timedelta
    - datetime.datetime.now
    - cert.public_bytes
    - colorama.AnsiToWin32
    - <builtin>.isinstance
    - socket.socket
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93dfd220>
    - <ast.Constant object at 0x7f5d93dfdaf0>
    - <ast.BinOp object at 0x7f5d93dfd460>
    - <ast.Constant object at 0x7f5d93d93160>
    argNames:
    - self
    - app
    - exports
    - disallow
    - cache
    - cache_timeout
    - fallback_mimetype
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 103
    functionName: werkzeug.middleware.shared_data.SharedDataMiddleware.__init__
    functionSourceFile: werkzeug.middleware.shared_data
    functionUses: 5
    functionsReached:
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_file_loader
    - datetime.datetime.now
    - spec.loader.get_resource_reader
    - exports.items
    - <builtin>.isinstance
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_directory_loader
    - os.path.isfile
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_package_loader
    - importlib.util.find_spec
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 9
    argDefaultValues:
    - <ast.Constant object at 0x7f5d94623430>
    - <ast.Constant object at 0x7f5d94623dc0>
    - <ast.Constant object at 0x7f5d946234f0>
    - <ast.Constant object at 0x7f5d94623940>
    - <ast.Constant object at 0x7f5d94623970>
    - <ast.Constant object at 0x7f5d94623520>
    - <ast.Constant object at 0x7f5d94623a00>
    argNames:
    - self
    - app
    - evalex
    - request_key
    - console_path
    - console_init_func
    - show_hidden_frames
    - pin_security
    - pin_logging
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 269
    functionName: werkzeug.debug.DebuggedApplication.__init__
    functionSourceFile: werkzeug.debug
    functionUses: 5
    functionsReached:
    - multiprocessing.Value
    - logger.getEffectiveLevel
    - secrets.choice
    - colorama.AnsiToWin32
    - <builtin>.super
    - _logger.setLevel
    - <builtin>.range
    - os.environ.get
    - <builtin>.getattr
    - werkzeug._internal._ColorStreamHandler.__init__
    - werkzeug.security.gen_salt
    - <builtin>.any
    - werkzeug._internal._has_level_handler
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - werkzeug._internal._log
    - _logger.addHandler
    - 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: application.trusted_hosts.append
    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: srv.socket.set_inheritable
    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: http.server.HTTPServer.fileno
    functionSourceFile: http
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 6
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f5d94044d60>
    - <ast.Constant object at 0x7f5d940448e0>
    - <ast.Constant object at 0x7f5d94044eb0>
    - <ast.Constant object at 0x7f5d94044be0>
    argNames:
    - main_func
    - extra_files
    - exclude_patterns
    - interval
    - reloader_type
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 442
    functionName: werkzeug._reloader.run_with_reloader
    functionSourceFile: werkzeug._reloader
    functionUses: 2
    functionsReached:
    - signal.signal
    - reloader.restart_with_reloader
    - sys.stdin.isatty
    - os.environ.get
    - termios.tcgetattr
    - werkzeug._reloader.ensure_echo_on
    - sys.exit
    - reloader.run
    - threading.Thread
    - termios.tcsetattr
    - t.start
    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: werkzeug._reloader
    functionSourceFile: werkzeug._reloader
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - prefix.add
    - <builtin>.tuple
    - <builtin>.__import__
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.add
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 40
    functionName: werkzeug._reloader._iter_module_paths
    functionSourceFile: werkzeug._reloader
    functionUses: 5
    functionsReached:
    - <builtin>.list
    - name.startswith
    - sys.modules.values
    - <builtin>.getattr
    - os.path.isfile
    - os.path.dirname
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.modules.values
    functionSourceFile: sys
    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:
    - paths
    - exclude_patterns
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 60
    functionName: werkzeug._reloader._remove_by_pattern
    functionSourceFile: werkzeug._reloader
    functionUses: 5
    functionsReached:
    - paths.difference_update
    - fnmatch.filter
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fnmatch.filter
    functionSourceFile: fnmatch
    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: paths.difference_update
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 7
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - extra_files
    - exclude_patterns
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 65
    functionName: werkzeug._reloader._find_stat_paths
    functionSourceFile: werkzeug._reloader
    functionUses: 1
    functionsReached:
    - os.walk
    - paths.difference_update
    - name.startswith
    - werkzeug._reloader._remove_by_pattern
    - name.endswith
    - paths.add
    - <builtin>.getattr
    - os.path.isfile
    - dirs.clear
    - os.path.basename
    - os.path.join
    - <builtin>.set
    - fnmatch.filter
    - sys.modules.values
    - root.startswith
    - os.path.dirname
    - <builtin>.list
    - werkzeug._reloader._iter_module_paths
    - itertools.chain
    - paths.update
    - os.path.abspath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: paths.add
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.walk
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: root.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: dirs.clear
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: name.endswith
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: paths.update
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - extra_files
    - exclude_patterns
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 119
    functionName: werkzeug._reloader._find_watchdog_paths
    functionSourceFile: werkzeug._reloader
    functionUses: 2
    functionsReached:
    - paths.difference_update
    - name.startswith
    - node.items
    - werkzeug._reloader._remove_by_pattern
    - <builtin>.getattr
    - pathlib.PurePath
    - os.path.isfile
    - os.path.join
    - <builtin>.set
    - fnmatch.filter
    - sys.modules.values
    - werkzeug._reloader._find_common_roots
    - os.path.dirname
    - <builtin>.list
    - rv.add
    - dirs.add
    - <builtin>.sorted
    - itertools.chain
    - werkzeug._reloader._iter_module_paths
    - werkzeug._reloader._find_common_roots._walk
    - os.path.abspath
    - node.clear
    - node.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: dirs.add
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - paths
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 143
    functionName: werkzeug._reloader._find_common_roots
    functionSourceFile: werkzeug._reloader
    functionUses: 3
    functionsReached:
    - os.path.join
    - werkzeug._reloader._find_common_roots._walk
    - <builtin>.set
    - rv.add
    - node.items
    - <builtin>.sorted
    - pathlib.PurePath
    - node.clear
    - node.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pathlib.PurePath
    functionSourceFile: pathlib
    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: node.setdefault
    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: node.clear
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - node
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 156
    functionName: werkzeug._reloader._find_common_roots._walk
    functionSourceFile: werkzeug._reloader
    functionUses: 4
    functionsReached:
    - node.items
    - os.path.join
    - rv.add
    - werkzeug._reloader._find_common_roots._walk
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: node.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: rv.add
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 5
    IfCount: 7
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 169
    functionName: werkzeug._reloader._get_args_for_reloading
    functionSourceFile: werkzeug._reloader
    functionUses: 1
    functionsReached:
    - rv.extend
    - os.path.exists
    - os.path.splitext
    - <builtin>.getattr
    - os.path.abspath
    - os.path.isfile
    - rv.pop
    - rv.append
    - typing.cast
    - py_module.lstrip
    - os.path.basename
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.splitext
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rv.pop
    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: rv.append
    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: py_module.lstrip
    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 0x7f5d940b29d0>
    - <ast.Constant object at 0x7f5d940b2b20>
    - <ast.Constant object at 0x7f5d940b2b50>
    argNames:
    - self
    - extra_files
    - exclude_patterns
    - interval
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 231
    functionName: werkzeug._reloader.ReloaderLoop.__init__
    functionSourceFile: werkzeug._reloader
    functionUses: 0
    functionsReached:
    - <builtin>.set
    - os.path.abspath
    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: 241
    functionName: werkzeug._reloader.ReloaderLoop.__enter__
    functionSourceFile: werkzeug._reloader
    functionUses: 0
    functionsReached:
    - werkzeug._reloader.ReloaderLoop.run_step
    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: 260
    functionName: werkzeug._reloader.ReloaderLoop.run_step
    functionSourceFile: ''
    functionUses: 2
    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: 248
    functionName: werkzeug._reloader.ReloaderLoop.__exit__
    functionSourceFile: werkzeug._reloader
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 252
    functionName: werkzeug._reloader.ReloaderLoop.run
    functionSourceFile: werkzeug._reloader
    functionUses: 0
    functionsReached:
    - time.sleep
    - werkzeug._reloader.ReloaderLoop.run_step
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 5
    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: 3
    functionLinenumber: 266
    functionName: werkzeug._reloader.ReloaderLoop.restart_with_reloader
    functionSourceFile: werkzeug._reloader
    functionUses: 0
    functionsReached:
    - rv.extend
    - _logger.setLevel
    - os.path.abspath
    - <builtin>.getattr
    - werkzeug._internal._ColorStreamHandler.__init__
    - <builtin>.any
    - os.path.isfile
    - werkzeug._internal._log
    - _logger.addHandler
    - os.path.basename
    - logger.getEffectiveLevel
    - <builtin>.super
    - os.path.exists
    - subprocess.call
    - werkzeug._internal._has_level_handler
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - py_module.lstrip
    - os.path.splitext
    - rv.pop
    - rv.append
    - logging.getLogger
    - colorama.AnsiToWin32
    - os.environ.copy
    - typing.cast
    - werkzeug._reloader._get_args_for_reloading
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.copy
    functionSourceFile: os
    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: subprocess.call
    functionSourceFile: subprocess
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - filename
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 280
    functionName: werkzeug._reloader.ReloaderLoop.trigger_reload
    functionSourceFile: werkzeug._reloader
    functionUses: 1
    functionsReached:
    - logger.getEffectiveLevel
    - colorama.AnsiToWin32
    - <builtin>.super
    - _logger.setLevel
    - werkzeug._reloader.ReloaderLoop.log_reload
    - os.path.abspath
    - <builtin>.getattr
    - werkzeug._internal._ColorStreamHandler.__init__
    - <builtin>.any
    - sys.exit
    - werkzeug._internal._has_level_handler
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - werkzeug._internal._log
    - _logger.addHandler
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - filename
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 284
    functionName: werkzeug._reloader.ReloaderLoop.log_reload
    functionSourceFile: werkzeug._reloader
    functionUses: 4
    functionsReached:
    - logger.getEffectiveLevel
    - colorama.AnsiToWin32
    - <builtin>.super
    - _logger.setLevel
    - os.path.abspath
    - <builtin>.getattr
    - werkzeug._internal._ColorStreamHandler.__init__
    - <builtin>.any
    - werkzeug._internal._has_level_handler
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - werkzeug._internal._log
    - _logger.addHandler
    - logging.getLogger
    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: werkzeug._reloader.StatReloaderLoop.__enter__
    functionSourceFile: werkzeug._reloader
    functionUses: 0
    functionsReached:
    - <builtin>.super
    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: 5
    functionLinenumber: 296
    functionName: werkzeug._reloader.StatReloaderLoop.run_step
    functionSourceFile: werkzeug._reloader
    functionUses: 0
    functionsReached:
    - os.walk
    - paths.difference_update
    - name.startswith
    - werkzeug._reloader._remove_by_pattern
    - _logger.setLevel
    - name.endswith
    - paths.add
    - <builtin>.getattr
    - werkzeug._internal._ColorStreamHandler.__init__
    - <builtin>.any
    - sys.exit
    - os.path.isfile
    - dirs.clear
    - _logger.addHandler
    - werkzeug._internal._log
    - os.stat
    - os.path.basename
    - os.path.join
    - logger.getEffectiveLevel
    - <builtin>.set
    - fnmatch.filter
    - sys.modules.values
    - <builtin>.super
    - root.startswith
    - werkzeug._internal._has_level_handler
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - os.path.dirname
    - <builtin>.list
    - werkzeug._reloader.ReloaderLoop.log_reload
    - werkzeug._reloader.ReloaderLoop.trigger_reload
    - werkzeug._reloader._find_stat_paths
    - logging.getLogger
    - itertools.chain
    - werkzeug._reloader._iter_module_paths
    - colorama.AnsiToWin32
    - paths.update
    - os.path.abspath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 314
    functionName: werkzeug._reloader.WatchdogReloaderLoop.__init__
    functionSourceFile: werkzeug._reloader
    functionUses: 0
    functionsReached:
    - os.path.isdir
    - <builtin>.super
    - watchdog.events.PatternMatchingEventHandler.__init__
    - watchdog.observers.Observer.__name__.lower
    - reloader_name.endswith
    - watchdog.observers.Observer
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - event
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 328
    functionName: werkzeug._reloader.WatchdogReloaderLoop.__init__.EventHandler.on_any_event
    functionSourceFile: werkzeug._reloader
    functionUses: 0
    functionsReached:
    - logger.getEffectiveLevel
    - colorama.AnsiToWin32
    - <builtin>.super
    - _logger.setLevel
    - werkzeug._reloader.ReloaderLoop.log_reload
    - os.path.abspath
    - werkzeug._reloader.WatchdogReloaderLoop.trigger_reload
    - <builtin>.getattr
    - werkzeug._internal._ColorStreamHandler.__init__
    - <builtin>.any
    - werkzeug._internal._has_level_handler
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - werkzeug._internal._log
    - _logger.addHandler
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - filename
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 363
    functionName: werkzeug._reloader.WatchdogReloaderLoop.trigger_reload
    functionSourceFile: werkzeug._reloader
    functionUses: 1
    functionsReached:
    - logger.getEffectiveLevel
    - colorama.AnsiToWin32
    - <builtin>.super
    - _logger.setLevel
    - werkzeug._reloader.ReloaderLoop.log_reload
    - os.path.abspath
    - <builtin>.getattr
    - werkzeug._internal._ColorStreamHandler.__init__
    - <builtin>.any
    - werkzeug._internal._has_level_handler
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - werkzeug._internal._log
    - _logger.addHandler
    - 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: watchdog.observers.Observer.__name__.lower
    functionSourceFile: watchdog
    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: reloader_name.endswith
    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: watchdog.observers.Observer
    functionSourceFile: watchdog
    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: os.path.isdir
    functionSourceFile: os
    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: watchdog.events.PatternMatchingEventHandler.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 370
    functionName: werkzeug._reloader.WatchdogReloaderLoop.__enter__
    functionSourceFile: werkzeug._reloader
    functionUses: 0
    functionsReached:
    - watchdog.observers.Observer.start
    - <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: watchdog.observers.Observer.start
    functionSourceFile: watchdog
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exc_type
    - exc_val
    - exc_tb
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 375
    functionName: werkzeug._reloader.WatchdogReloaderLoop.__exit__
    functionSourceFile: werkzeug._reloader
    functionUses: 0
    functionsReached:
    - watchdog.observers.Observer.join
    - watchdog.observers.Observer.stop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: watchdog.observers.Observer.stop
    functionSourceFile: watchdog
    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: watchdog.observers.Observer.join
    functionSourceFile: watchdog
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 379
    functionName: werkzeug._reloader.WatchdogReloaderLoop.run
    functionSourceFile: werkzeug._reloader
    functionUses: 0
    functionsReached:
    - paths.difference_update
    - name.startswith
    - node.items
    - werkzeug._reloader._remove_by_pattern
    - <builtin>.getattr
    - pathlib.PurePath
    - sys.exit
    - os.path.isfile
    - os.path.join
    - <builtin>.set
    - fnmatch.filter
    - sys.modules.values
    - werkzeug._reloader._find_common_roots
    - to_delete.discard
    - werkzeug._reloader.WatchdogReloaderLoop.run_step
    - os.path.dirname
    - <builtin>.list
    - rv.add
    - dirs.add
    - <builtin>.sorted
    - time.sleep
    - watchdog.observers.Observer.unschedule
    - itertools.chain
    - werkzeug._reloader._iter_module_paths
    - werkzeug._reloader._find_common_roots._walk
    - watchdog.observers.Observer.schedule
    - node.setdefault
    - os.path.abspath
    - node.clear
    - werkzeug._reloader._find_watchdog_paths
    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: 4
    functionLinenumber: 386
    functionName: werkzeug._reloader.WatchdogReloaderLoop.run_step
    functionSourceFile: werkzeug._reloader
    functionUses: 1
    functionsReached:
    - paths.difference_update
    - name.startswith
    - node.items
    - werkzeug._reloader._remove_by_pattern
    - <builtin>.getattr
    - pathlib.PurePath
    - os.path.isfile
    - os.path.join
    - <builtin>.set
    - fnmatch.filter
    - sys.modules.values
    - werkzeug._reloader._find_common_roots
    - to_delete.discard
    - os.path.dirname
    - <builtin>.list
    - rv.add
    - dirs.add
    - <builtin>.sorted
    - watchdog.observers.Observer.unschedule
    - itertools.chain
    - werkzeug._reloader._iter_module_paths
    - werkzeug._reloader._find_common_roots._walk
    - watchdog.observers.Observer.schedule
    - node.setdefault
    - os.path.abspath
    - node.clear
    - werkzeug._reloader._find_watchdog_paths
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: watchdog.observers.Observer.schedule
    functionSourceFile: watchdog
    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: to_delete.discard
    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: watchdog.observers.Observer.unschedule
    functionSourceFile: watchdog
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 423
    functionName: werkzeug._reloader.ensure_echo_on
    functionSourceFile: werkzeug._reloader
    functionUses: 3
    functionsReached:
    - termios.tcsetattr
    - termios.tcgetattr
    - sys.stdin.isatty
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.stdin.isatty
    functionSourceFile: sys
    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: termios.tcgetattr
    functionSourceFile: termios
    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: termios.tcsetattr
    functionSourceFile: termios
    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: werkzeug._reloader.run_with_reloader.<lambda1>
    functionSourceFile: werkzeug._reloader
    functionUses: 0
    functionsReached:
    - sys.exit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: signal.signal
    functionSourceFile: signal
    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: threading.Thread
    functionSourceFile: threading
    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: t.start
    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: reloader.run
    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: reloader.restart_with_reloader
    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: werkzeug.debug.tbtools
    functionSourceFile: werkzeug.debug.tbtools
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 25
    ICount: 1
    IfCount: 17
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93fff430>
    argNames:
    - exc
    - te
    - skip
    - hide
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 126
    functionName: werkzeug.debug.tbtools._process_traceback
    functionSourceFile: werkzeug.debug.tbtools
    functionUses: 7
    functionsReached:
    - werkzeug.debug.tbtools._process_traceback
    - <builtin>.super
    - traceback.TracebackException.from_exception
    - itertools.islice
    - werkzeug.debug.tbtools.DebugFrameSummary.__init__
    - traceback.walk_tb
    - <builtin>.getattr
    - <builtin>.zip
    - new_stack.append
    - typing.cast
    - f.f_locals.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: traceback.TracebackException.from_exception
    functionSourceFile: traceback
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traceback.walk_tb
    functionSourceFile: traceback
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.islice
    functionSourceFile: itertools
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: f.f_locals.get
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - locals
    - globals
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 366
    functionName: werkzeug.debug.tbtools.DebugFrameSummary.__init__
    functionSourceFile: werkzeug.debug.tbtools
    functionUses: 8
    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: new_stack.append
    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: 233
    functionName: werkzeug.debug.tbtools.DebugTraceback.__str__
    functionSourceFile: werkzeug.debug.tbtools
    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: werkzeug.debug.tbtools.DebugTraceback
    functionSourceFile: werkzeug.debug.tbtools
    functionUses: 0
    functionsReached:
    - werkzeug.utils.cached_property
    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: 237
    functionName: werkzeug.debug.tbtools.DebugTraceback.all_tracebacks
    functionSourceFile: werkzeug.debug.tbtools
    functionUses: 0
    functionsReached:
    - out.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: 266
    functionName: werkzeug.debug.tbtools.DebugTraceback.all_frames
    functionSourceFile: werkzeug.debug.tbtools
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 3
    IfCount: 6
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93d3fa90>
    argNames:
    - self
    - include_title
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 276
    functionName: werkzeug.debug.tbtools.DebugTraceback.render_traceback_html
    functionSourceFile: werkzeug.debug.tbtools
    functionUses: 6
    functionsReached:
    - frame.render_html
    - <builtin>.reversed
    - rows.append
    - typing.cast
    - row_parts.append
    - <builtin>.sum
    - <builtin>.len
    - markupsafe.escape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: row_parts.append
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: frame.render_html
    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: rows.append
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - evalex
    - secret
    - evalex_trusted
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 328
    functionName: werkzeug.debug.tbtools.DebugTraceback.render_debugger_html
    functionSourceFile: werkzeug.debug.tbtools
    functionUses: 2
    functionsReached:
    - re.sub
    - <builtin>.list
    - frame.render_html
    - <builtin>.reversed
    - werkzeug.debug.tbtools.DebugTraceback.render_traceback_html
    - rows.append
    - typing.cast
    - row_parts.append
    - <builtin>.sum
    - <builtin>.len
    - markupsafe.escape
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.sub
    functionSourceFile: re
    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: 1
    functionLinenumber: -1
    functionName: werkzeug.debug.tbtools.DebugFrameSummary
    functionSourceFile: werkzeug.debug.tbtools
    functionUses: 0
    functionsReached:
    - werkzeug.utils.cached_property
    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: 378
    functionName: werkzeug.debug.tbtools.DebugFrameSummary.info
    functionSourceFile: werkzeug.debug.tbtools
    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: 382
    functionName: werkzeug.debug.tbtools.DebugFrameSummary.is_library
    functionSourceFile: werkzeug.debug.tbtools
    functionUses: 0
    functionsReached:
    - os.path.realpath
    - <builtin>.any
    - sysconfig.get_paths
    - traceback.FrameSummary.filename.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: os.path.realpath
    functionSourceFile: os
    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: traceback.FrameSummary.filename.startswith
    functionSourceFile: traceback
    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: sysconfig.get_paths
    functionSourceFile: sysconfig
    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: 3
    functionLinenumber: 389
    functionName: werkzeug.debug.tbtools.DebugFrameSummary.console
    functionSourceFile: werkzeug.debug.tbtools
    functionUses: 0
    functionsReached:
    - werkzeug.debug.console._ConsoleLoader.__init__
    - <builtin>.super
    - werkzeug.debug.console.Console.__init__
    - werkzeug.debug.console._InteractiveConsole.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d94c6f220>
    - <ast.Constant object at 0x7f5d94c6ffd0>
    argNames:
    - self
    - globals
    - locals
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 202
    functionName: werkzeug.debug.console.Console.__init__
    functionSourceFile: werkzeug.debug.console
    functionUses: 4
    functionsReached:
    - werkzeug.debug.console._ConsoleLoader.__init__
    - <builtin>.super
    - werkzeug.debug.console._InteractiveConsole.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - code
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 392
    functionName: werkzeug.debug.tbtools.DebugFrameSummary.eval
    functionSourceFile: werkzeug.debug.tbtools
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - mark_library
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 395
    functionName: werkzeug.debug.tbtools.DebugFrameSummary.render_html
    functionSourceFile: werkzeug.debug.tbtools
    functionUses: 0
    functionsReached:
    - linecache.getlines
    - <builtin>.min
    - <builtin>.max
    - <builtin>.getattr
    - werkzeug.debug.tbtools.DebugFrameSummary.render_html.render_line
    - rendered_lines.append
    - line.strip
    - markupsafe.escape
    - <builtin>.len
    - line.expandtabs
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: linecache.getlines
    functionSourceFile: linecache
    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:
    - line
    - cls
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 403
    functionName: werkzeug.debug.tbtools.DebugFrameSummary.render_html.render_line
    functionSourceFile: werkzeug.debug.tbtools
    functionUses: 1
    functionsReached:
    - line.expandtabs
    - <builtin>.getattr
    - rendered_lines.append
    - line.strip
    - <builtin>.len
    - markupsafe.escape
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.expandtabs
    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: rendered_lines.append
    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:
    - secret
    - evalex_trusted
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 443
    functionName: werkzeug.debug.tbtools.render_console_html
    functionSourceFile: werkzeug.debug.tbtools
    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: 1
    functionLinenumber: -1
    functionName: werkzeug.debug.console
    functionSourceFile: werkzeug.debug.console
    functionUses: 0
    functionsReached:
    - contextvars.ContextVar
    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: 22
    functionName: werkzeug.debug.console.HTMLStringO.__init__
    functionSourceFile: werkzeug.debug.console
    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: 0
    functionLinenumber: 25
    functionName: werkzeug.debug.console.HTMLStringO.isatty
    functionSourceFile: werkzeug.debug.console
    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: 28
    functionName: werkzeug.debug.console.HTMLStringO.close
    functionSourceFile: werkzeug.debug.console
    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: 31
    functionName: werkzeug.debug.console.HTMLStringO.flush
    functionSourceFile: werkzeug.debug.console
    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 0x7f5d93d56e50>
    argNames:
    - self
    - n
    - mode
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 34
    functionName: werkzeug.debug.console.HTMLStringO.seek
    functionSourceFile: werkzeug.debug.console
    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: 37
    functionName: werkzeug.debug.console.HTMLStringO.readline
    functionSourceFile: werkzeug.debug.console
    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: 44
    functionName: werkzeug.debug.console.HTMLStringO.reset
    functionSourceFile: werkzeug.debug.console
    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
    - x
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 49
    functionName: werkzeug.debug.console.HTMLStringO._write
    functionSourceFile: werkzeug.debug.console
    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
    - x
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 52
    functionName: werkzeug.debug.console.HTMLStringO.write
    functionSourceFile: werkzeug.debug.console
    functionUses: 0
    functionsReached:
    - werkzeug.debug.console.HTMLStringO._write
    - markupsafe.escape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - x
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 55
    functionName: werkzeug.debug.console.HTMLStringO.writelines
    functionSourceFile: werkzeug.debug.console
    functionUses: 0
    functionsReached:
    - werkzeug.debug.console.HTMLStringO._write
    - markupsafe.escape
    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: 63
    functionName: werkzeug.debug.console.ThreadedStream.push
    functionSourceFile: werkzeug.debug.console
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    - _stream.set
    - werkzeug.debug.console.HTMLStringO.__init__
    - 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: _stream.set
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 70
    functionName: werkzeug.debug.console.ThreadedStream.fetch
    functionSourceFile: werkzeug.debug.console
    functionUses: 3
    functionsReached:
    - _stream.get
    - stream.reset
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _stream.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: stream.reset
    functionSourceFile: <builtin>
    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:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 79
    functionName: werkzeug.debug.console.ThreadedStream.displayhook
    functionSourceFile: werkzeug.debug.console
    functionUses: 0
    functionsReached:
    - werkzeug.debug.repr.debug_repr
    - sys.exc_info
    - werkzeug.debug.repr.DebugReprGenerator.string_repr
    - sys.displayhook
    - stream._write
    - buf.append
    - info.strip
    - werkzeug.debug.repr.DebugReprGenerator.fallback_repr
    - codecs.decode
    - <builtin>.enumerate
    - traceback.format_exception_only
    - werkzeug.debug.repr.DebugReprGenerator.repr
    - _ipy.get
    - <builtin>.len
    - buf.extend
    - werkzeug.debug.repr.DebugReprGenerator.object_repr
    - werkzeug.debug.repr.DebugReprGenerator.dispatch_repr
    - werkzeug.debug.repr._sequence_repr_maker.proxy
    - werkzeug.debug.repr._add_subclass_info
    - <builtin>.type
    - d.items
    - markupsafe.escape
    - <builtin>.isinstance
    - werkzeug.debug.repr.DebugReprGenerator.dict_repr
    - _stream.get
    - werkzeug.debug.repr.DebugReprGenerator.__init__
    - werkzeug.debug.repr.DebugReprGenerator.regex_repr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.displayhook
    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: _ipy.get
    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:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 38
    functionName: werkzeug.debug.repr.debug_repr
    functionSourceFile: werkzeug.debug.repr
    functionUses: 1
    functionsReached:
    - sys.exc_info
    - werkzeug.debug.repr.DebugReprGenerator.string_repr
    - buf.append
    - info.strip
    - werkzeug.debug.repr.DebugReprGenerator.fallback_repr
    - codecs.decode
    - <builtin>.enumerate
    - traceback.format_exception_only
    - werkzeug.debug.repr.DebugReprGenerator.repr
    - <builtin>.len
    - buf.extend
    - werkzeug.debug.repr.DebugReprGenerator.object_repr
    - werkzeug.debug.repr.DebugReprGenerator.dispatch_repr
    - werkzeug.debug.repr._sequence_repr_maker.proxy
    - werkzeug.debug.repr._add_subclass_info
    - <builtin>.type
    - d.items
    - markupsafe.escape
    - <builtin>.isinstance
    - werkzeug.debug.repr.DebugReprGenerator.dict_repr
    - werkzeug.debug.repr.DebugReprGenerator.__init__
    - werkzeug.debug.repr.DebugReprGenerator.regex_repr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: stream._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: 3
    argDefaultValues: []
    argNames:
    - self
    - name
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 91
    functionName: werkzeug.debug.console.ThreadedStream.__setattr__
    functionSourceFile: werkzeug.debug.console
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - AttributeError
    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: werkzeug.debug.console.ThreadedStream.__dir__
    functionSourceFile: werkzeug.debug.console
    functionUses: 0
    functionsReached:
    - <builtin>.dir
    linkageType: pythonLinkage
    raised: []
    returnType: N/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>.dir
    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
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 97
    functionName: werkzeug.debug.console.ThreadedStream.__getattribute__
    functionSourceFile: werkzeug.debug.console
    functionUses: 0
    functionsReached:
    - _stream.get
    - <builtin>.getattr
    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: 105
    functionName: werkzeug.debug.console.ThreadedStream.__repr__
    functionSourceFile: werkzeug.debug.console
    functionUses: 0
    functionsReached:
    - <builtin>.repr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.repr
    functionSourceFile: <builtin>
    functionUses: 7
    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: 115
    functionName: werkzeug.debug.console._ConsoleLoader.__init__
    functionSourceFile: werkzeug.debug.console
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - code
    - source
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 118
    functionName: werkzeug.debug.console._ConsoleLoader.register
    functionSourceFile: werkzeug.debug.console
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.id
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - code
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 125
    functionName: werkzeug.debug.console._ConsoleLoader.get_source_by_code
    functionSourceFile: werkzeug.debug.console
    functionUses: 0
    functionsReached:
    - <builtin>.id
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - globals
    - locals
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 135
    functionName: werkzeug.debug.console._InteractiveConsole.__init__
    functionSourceFile: werkzeug.debug.console
    functionUses: 5
    functionsReached:
    - werkzeug.debug.console._ConsoleLoader.__init__
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - source
    - filename
    - symbol
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 147
    functionName: werkzeug.debug.console._InteractiveConsole.__init__.compile
    functionSourceFile: werkzeug.debug.console
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.id
    - werkzeug.debug.console._InteractiveConsole.__init__.compile
    - werkzeug.debug.console._ConsoleLoader.register
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - source
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 159
    functionName: werkzeug.debug.console._InteractiveConsole.runsource
    functionSourceFile: werkzeug.debug.console
    functionUses: 2
    functionsReached:
    - stream.reset
    - <builtin>.super
    - werkzeug.debug.console.ThreadedStream.fetch
    - code.InteractiveInterpreter.buffer.append
    - source.rstrip
    - <builtin>.isinstance
    - typing.cast
    - _stream.get
    - _stream.set
    - werkzeug.debug.console.ThreadedStream.push
    - werkzeug.debug.console.HTMLStringO.__init__
    - markupsafe.escape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: source.rstrip
    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: code.InteractiveInterpreter.buffer.append
    functionSourceFile: code
    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:
    - self
    - code
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 175
    functionName: werkzeug.debug.console._InteractiveConsole.runcode
    functionSourceFile: werkzeug.debug.console
    functionUses: 0
    functionsReached:
    - frame.render_html
    - sys.exc_info
    - <builtin>.getattr
    - werkzeug.debug.tbtools.DebugTraceback.__init__
    - sys.stdout._write
    - <builtin>.super
    - traceback.TracebackException.from_exception
    - itertools.islice
    - werkzeug.debug.tbtools.DebugFrameSummary.__init__
    - traceback.walk_tb
    - new_stack.append
    - row_parts.append
    - <builtin>.sum
    - <builtin>.len
    - werkzeug.debug.console._InteractiveConsole.showtraceback
    - werkzeug.debug.tbtools._process_traceback
    - <builtin>.reversed
    - <builtin>.exec
    - f.f_locals.get
    - markupsafe.escape
    - werkzeug.debug.tbtools.DebugTraceback.render_traceback_html
    - <builtin>.zip
    - rows.append
    - 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: <builtin>.exec
    functionSourceFile: <builtin>
    functionUses: 6
    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: 4
    functionLinenumber: 181
    functionName: werkzeug.debug.console._InteractiveConsole.showtraceback
    functionSourceFile: werkzeug.debug.console
    functionUses: 1
    functionsReached:
    - frame.render_html
    - sys.exc_info
    - <builtin>.getattr
    - werkzeug.debug.tbtools.DebugTraceback.__init__
    - sys.stdout._write
    - <builtin>.super
    - traceback.TracebackException.from_exception
    - itertools.islice
    - werkzeug.debug.tbtools.DebugFrameSummary.__init__
    - traceback.walk_tb
    - new_stack.append
    - row_parts.append
    - <builtin>.sum
    - <builtin>.len
    - werkzeug.debug.tbtools._process_traceback
    - <builtin>.reversed
    - f.f_locals.get
    - markupsafe.escape
    - werkzeug.debug.tbtools.DebugTraceback.render_traceback_html
    - <builtin>.zip
    - rows.append
    - 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: sys.stdout._write
    functionSourceFile: sys
    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 0x7f5d940dba00>
    argNames:
    - self
    - filename
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 188
    functionName: werkzeug.debug.console._InteractiveConsole.showsyntaxerror
    functionSourceFile: werkzeug.debug.console
    functionUses: 0
    functionsReached:
    - frame.render_html
    - sys.exc_info
    - <builtin>.getattr
    - werkzeug.debug.tbtools.DebugTraceback.__init__
    - sys.stdout._write
    - <builtin>.super
    - traceback.TracebackException.from_exception
    - itertools.islice
    - werkzeug.debug.tbtools.DebugFrameSummary.__init__
    - traceback.walk_tb
    - new_stack.append
    - row_parts.append
    - <builtin>.sum
    - <builtin>.len
    - werkzeug.debug.tbtools._process_traceback
    - <builtin>.reversed
    - f.f_locals.get
    - markupsafe.escape
    - werkzeug.debug.tbtools.DebugTraceback.render_traceback_html
    - <builtin>.zip
    - rows.append
    - typing.cast
    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: 195
    functionName: werkzeug.debug.console._InteractiveConsole.write
    functionSourceFile: werkzeug.debug.console
    functionUses: 0
    functionsReached:
    - sys.stdout.write
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys.stdout.write
    functionSourceFile: sys
    functionUses: 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
    - code
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 213
    functionName: werkzeug.debug.console.Console.eval
    functionSourceFile: werkzeug.debug.console
    functionUses: 1
    functionsReached:
    - stream.reset
    - code.InteractiveInterpreter.buffer.append
    - werkzeug.debug.console.ThreadedStream.fetch
    - werkzeug.debug.console._InteractiveConsole.runsource
    - <builtin>.super
    - source.rstrip
    - code.InteractiveInterpreter.set
    - <builtin>.isinstance
    - typing.cast
    - _stream.get
    - _stream.set
    - werkzeug.debug.console.ThreadedStream.push
    - werkzeug.debug.console.HTMLStringO.__init__
    - markupsafe.escape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: code.InteractiveInterpreter.set
    functionSourceFile: code
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: werkzeug.debug.repr
    functionSourceFile: werkzeug.debug.repr
    functionUses: 0
    functionsReached:
    - <builtin>.object
    - re.compile
    - <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: <builtin>.object
    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: 0
    functionLinenumber: 121
    functionName: werkzeug.debug.repr.DebugReprGenerator.__init__
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 227
    functionName: werkzeug.debug.repr.DebugReprGenerator.repr
    functionSourceFile: werkzeug.debug.repr
    functionUses: 10
    functionsReached:
    - sys.exc_info
    - werkzeug.debug.repr.DebugReprGenerator.string_repr
    - buf.append
    - info.strip
    - werkzeug.debug.repr.DebugReprGenerator.fallback_repr
    - codecs.decode
    - <builtin>.enumerate
    - traceback.format_exception_only
    - werkzeug.debug.repr.DebugReprGenerator.repr
    - <builtin>.len
    - buf.extend
    - werkzeug.debug.repr.DebugReprGenerator.object_repr
    - werkzeug.debug.repr.DebugReprGenerator.dispatch_repr
    - werkzeug.debug.repr._sequence_repr_maker.proxy
    - werkzeug.debug.repr._add_subclass_info
    - <builtin>.type
    - d.items
    - markupsafe.escape
    - <builtin>.isinstance
    - werkzeug.debug.repr.DebugReprGenerator.dict_repr
    - werkzeug.debug.repr.DebugReprGenerator.regex_repr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues:
    - <ast.Name object at 0x7f5d93fa7760>
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 43
    functionName: werkzeug.debug.repr.dump
    functionSourceFile: werkzeug.debug.repr
    functionUses: 0
    functionsReached:
    - sys._getframe
    - sys.exc_info
    - <builtin>.getattr
    - sys.stdout._write
    - werkzeug.debug.repr.DebugReprGenerator.string_repr
    - buf.append
    - info.strip
    - werkzeug.debug.repr.DebugReprGenerator.fallback_repr
    - items.append
    - object.__repr__
    - werkzeug.debug.repr.DebugReprGenerator.render_object_dump
    - html_items.append
    - codecs.decode
    - <builtin>.enumerate
    - werkzeug.debug.repr.DebugReprGenerator.dump_locals
    - werkzeug.debug.repr.DebugReprGenerator.dump_object
    - traceback.format_exception_only
    - werkzeug.debug.repr.DebugReprGenerator.repr
    - obj.items
    - <builtin>.len
    - buf.extend
    - werkzeug.debug.repr.DebugReprGenerator.object_repr
    - werkzeug.debug.repr.DebugReprGenerator.dispatch_repr
    - werkzeug.debug.repr._sequence_repr_maker.proxy
    - werkzeug.debug.repr._add_subclass_info
    - <builtin>.type
    - d.items
    - markupsafe.escape
    - <builtin>.dir
    - <builtin>.isinstance
    - werkzeug.debug.repr.DebugReprGenerator.dict_repr
    - werkzeug.debug.repr.DebugReprGenerator.__init__
    - werkzeug.debug.repr.DebugReprGenerator.regex_repr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: sys._getframe
    functionSourceFile: sys
    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
    - d
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 266
    functionName: werkzeug.debug.repr.DebugReprGenerator.dump_locals
    functionSourceFile: werkzeug.debug.repr
    functionUses: 1
    functionsReached:
    - sys.exc_info
    - werkzeug.debug.repr.DebugReprGenerator.string_repr
    - buf.append
    - info.strip
    - werkzeug.debug.repr.DebugReprGenerator.fallback_repr
    - html_items.append
    - codecs.decode
    - werkzeug.debug.repr.DebugReprGenerator.render_object_dump
    - <builtin>.enumerate
    - traceback.format_exception_only
    - werkzeug.debug.repr.DebugReprGenerator.repr
    - <builtin>.len
    - buf.extend
    - werkzeug.debug.repr.DebugReprGenerator.object_repr
    - werkzeug.debug.repr.DebugReprGenerator.dispatch_repr
    - werkzeug.debug.repr._sequence_repr_maker.proxy
    - werkzeug.debug.repr._add_subclass_info
    - <builtin>.type
    - d.items
    - markupsafe.escape
    - <builtin>.isinstance
    - werkzeug.debug.repr.DebugReprGenerator.dict_repr
    - werkzeug.debug.repr.DebugReprGenerator.regex_repr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - obj
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 242
    functionName: werkzeug.debug.repr.DebugReprGenerator.dump_object
    functionSourceFile: werkzeug.debug.repr
    functionUses: 1
    functionsReached:
    - sys.exc_info
    - <builtin>.getattr
    - werkzeug.debug.repr.DebugReprGenerator.string_repr
    - buf.append
    - info.strip
    - werkzeug.debug.repr.DebugReprGenerator.fallback_repr
    - items.append
    - object.__repr__
    - werkzeug.debug.repr.DebugReprGenerator.render_object_dump
    - html_items.append
    - codecs.decode
    - <builtin>.enumerate
    - traceback.format_exception_only
    - werkzeug.debug.repr.DebugReprGenerator.repr
    - obj.items
    - <builtin>.len
    - buf.extend
    - werkzeug.debug.repr.DebugReprGenerator.object_repr
    - werkzeug.debug.repr.DebugReprGenerator.dispatch_repr
    - werkzeug.debug.repr._sequence_repr_maker.proxy
    - werkzeug.debug.repr._add_subclass_info
    - <builtin>.type
    - d.items
    - markupsafe.escape
    - <builtin>.dir
    - <builtin>.isinstance
    - werkzeug.debug.repr.DebugReprGenerator.dict_repr
    - werkzeug.debug.repr.DebugReprGenerator.regex_repr
    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: 60
    functionName: werkzeug.debug.repr._Helper.__repr__
    functionSourceFile: werkzeug.debug.repr
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93e213d0>
    argNames:
    - self
    - topic
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 63
    functionName: werkzeug.debug.repr._Helper.__call__
    functionSourceFile: werkzeug.debug.repr
    functionUses: 0
    functionsReached:
    - sys.stdout.reset
    - sys.stdout._write
    - _paragraph_re.split
    - pydoc.help
    - <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: pydoc.help
    functionSourceFile: pydoc
    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: sys.stdout.reset
    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: _paragraph_re.split
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - inner
    - obj
    - base
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 84
    functionName: werkzeug.debug.repr._add_subclass_info
    functionSourceFile: werkzeug.debug.repr
    functionUses: 12
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.type
    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 0x7f5d9425aa30>
    argNames:
    - left
    - right
    - base
    - limit
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 97
    functionName: werkzeug.debug.repr._sequence_repr_maker
    functionSourceFile: werkzeug.debug.repr
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 5
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - obj
    - recursive
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 100
    functionName: werkzeug.debug.repr._sequence_repr_maker.proxy
    functionSourceFile: werkzeug.debug.repr
    functionUses: 11
    functionsReached:
    - buf.append
    - werkzeug.debug.repr._add_subclass_info
    - <builtin>.enumerate
    - <builtin>.isinstance
    - <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: werkzeug.debug.repr.DebugReprGenerator
    functionSourceFile: werkzeug.debug.repr
    functionUses: 0
    functionsReached:
    - werkzeug.debug.repr._sequence_repr_maker
    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: 5
    functionLinenumber: 132
    functionName: werkzeug.debug.repr.DebugReprGenerator.regex_repr
    functionSourceFile: werkzeug.debug.repr
    functionUses: 10
    functionsReached:
    - sys.exc_info
    - werkzeug.debug.repr.DebugReprGenerator.string_repr
    - buf.append
    - info.strip
    - werkzeug.debug.repr.DebugReprGenerator.fallback_repr
    - codecs.decode
    - <builtin>.enumerate
    - traceback.format_exception_only
    - werkzeug.debug.repr.DebugReprGenerator.repr
    - <builtin>.len
    - buf.extend
    - werkzeug.debug.repr.DebugReprGenerator.object_repr
    - werkzeug.debug.repr.DebugReprGenerator.dispatch_repr
    - werkzeug.debug.repr._sequence_repr_maker.proxy
    - werkzeug.debug.repr._add_subclass_info
    - <builtin>.type
    - d.items
    - markupsafe.escape
    - <builtin>.isinstance
    - werkzeug.debug.repr.DebugReprGenerator.dict_repr
    - werkzeug.debug.repr.DebugReprGenerator.regex_repr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: codecs.decode
    functionSourceFile: codecs
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93d3f100>
    argNames:
    - self
    - obj
    - limit
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 138
    functionName: werkzeug.debug.repr.DebugReprGenerator.string_repr
    functionSourceFile: werkzeug.debug.repr
    functionUses: 10
    functionsReached:
    - sys.exc_info
    - werkzeug.debug.repr.DebugReprGenerator.string_repr
    - buf.append
    - info.strip
    - werkzeug.debug.repr.DebugReprGenerator.fallback_repr
    - codecs.decode
    - <builtin>.enumerate
    - traceback.format_exception_only
    - werkzeug.debug.repr.DebugReprGenerator.repr
    - <builtin>.len
    - buf.extend
    - werkzeug.debug.repr.DebugReprGenerator.object_repr
    - werkzeug.debug.repr.DebugReprGenerator.dispatch_repr
    - werkzeug.debug.repr._sequence_repr_maker.proxy
    - werkzeug.debug.repr._add_subclass_info
    - <builtin>.type
    - d.items
    - markupsafe.escape
    - <builtin>.isinstance
    - werkzeug.debug.repr.DebugReprGenerator.dict_repr
    - werkzeug.debug.repr.DebugReprGenerator.regex_repr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: buf.extend
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 5
    IfCount: 4
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d94260bb0>
    argNames:
    - self
    - d
    - recursive
    - limit
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 165
    functionName: werkzeug.debug.repr.DebugReprGenerator.dict_repr
    functionSourceFile: werkzeug.debug.repr
    functionUses: 10
    functionsReached:
    - sys.exc_info
    - werkzeug.debug.repr.DebugReprGenerator.string_repr
    - buf.append
    - info.strip
    - werkzeug.debug.repr.DebugReprGenerator.fallback_repr
    - codecs.decode
    - <builtin>.enumerate
    - traceback.format_exception_only
    - werkzeug.debug.repr.DebugReprGenerator.repr
    - <builtin>.len
    - buf.extend
    - werkzeug.debug.repr.DebugReprGenerator.object_repr
    - werkzeug.debug.repr.DebugReprGenerator.dispatch_repr
    - werkzeug.debug.repr._sequence_repr_maker.proxy
    - werkzeug.debug.repr._add_subclass_info
    - <builtin>.type
    - d.items
    - markupsafe.escape
    - <builtin>.isinstance
    - werkzeug.debug.repr.DebugReprGenerator.dict_repr
    - werkzeug.debug.repr.DebugReprGenerator.regex_repr
    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: 5
    functionLinenumber: 190
    functionName: werkzeug.debug.repr.DebugReprGenerator.object_repr
    functionSourceFile: werkzeug.debug.repr
    functionUses: 10
    functionsReached:
    - sys.exc_info
    - werkzeug.debug.repr.DebugReprGenerator.string_repr
    - buf.append
    - info.strip
    - werkzeug.debug.repr.DebugReprGenerator.fallback_repr
    - codecs.decode
    - <builtin>.enumerate
    - traceback.format_exception_only
    - werkzeug.debug.repr.DebugReprGenerator.repr
    - <builtin>.len
    - buf.extend
    - werkzeug.debug.repr.DebugReprGenerator.object_repr
    - werkzeug.debug.repr.DebugReprGenerator.dispatch_repr
    - werkzeug.debug.repr._sequence_repr_maker.proxy
    - werkzeug.debug.repr._add_subclass_info
    - <builtin>.type
    - d.items
    - markupsafe.escape
    - <builtin>.isinstance
    - werkzeug.debug.repr.DebugReprGenerator.dict_repr
    - werkzeug.debug.repr.DebugReprGenerator.regex_repr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 0
    IfCount: 10
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - obj
    - recursive
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 194
    functionName: werkzeug.debug.repr.DebugReprGenerator.dispatch_repr
    functionSourceFile: werkzeug.debug.repr
    functionUses: 10
    functionsReached:
    - sys.exc_info
    - werkzeug.debug.repr.DebugReprGenerator.string_repr
    - buf.append
    - info.strip
    - werkzeug.debug.repr.DebugReprGenerator.fallback_repr
    - codecs.decode
    - <builtin>.enumerate
    - traceback.format_exception_only
    - werkzeug.debug.repr.DebugReprGenerator.repr
    - <builtin>.len
    - buf.extend
    - werkzeug.debug.repr.DebugReprGenerator.object_repr
    - werkzeug.debug.repr.DebugReprGenerator.dispatch_repr
    - werkzeug.debug.repr._sequence_repr_maker.proxy
    - werkzeug.debug.repr._add_subclass_info
    - <builtin>.type
    - d.items
    - markupsafe.escape
    - <builtin>.isinstance
    - werkzeug.debug.repr.DebugReprGenerator.dict_repr
    - werkzeug.debug.repr.DebugReprGenerator.regex_repr
    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: 217
    functionName: werkzeug.debug.repr.DebugReprGenerator.fallback_repr
    functionSourceFile: werkzeug.debug.repr
    functionUses: 11
    functionsReached:
    - sys.exc_info
    - info.strip
    - traceback.format_exception_only
    - markupsafe.escape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: traceback.format_exception_only
    functionSourceFile: traceback
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: info.strip
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.items
    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: object.__repr__
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d940b4b80>
    argNames:
    - self
    - items
    - title
    - repr
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 270
    functionName: werkzeug.debug.repr.DebugReprGenerator.render_object_dump
    functionSourceFile: werkzeug.debug.repr
    functionUses: 3
    functionsReached:
    - html_items.append
    - markupsafe.escape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: html_items.append
    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: werkzeug.debug
    functionSourceFile: werkzeug.debug
    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:
    - pin
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 44
    functionName: werkzeug.debug.hash_pin
    functionSourceFile: werkzeug.debug
    functionUses: 5
    functionsReached:
    - hashlib.sha1
    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: 51
    functionName: werkzeug.debug.get_machine_id
    functionSourceFile: werkzeug.debug
    functionUses: 3
    functionsReached:
    - guid.encode
    - winreg.QueryValueEx
    - <builtin>.open
    - winreg.OpenKey
    - match.group
    - subprocess.Popen.communicate
    - f.readline
    - werkzeug.debug.get_machine_id._generate
    - re.search
    - subprocess.Popen
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 57
    functionName: werkzeug.debug.get_machine_id._generate
    functionSourceFile: werkzeug.debug
    functionUses: 4
    functionsReached:
    - guid.encode
    - winreg.QueryValueEx
    - <builtin>.open
    - winreg.OpenKey
    - match.group
    - subprocess.Popen.communicate
    - f.readline
    - re.search
    - subprocess.Popen
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: f.readline
    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: subprocess.Popen
    functionSourceFile: subprocess
    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: subprocess.Popen.communicate
    functionSourceFile: subprocess
    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: re.search
    functionSourceFile: re
    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: winreg.OpenKey
    functionSourceFile: winreg
    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: winreg.QueryValueEx
    functionSourceFile: winreg
    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: guid.encode
    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
    - namespace
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 134
    functionName: werkzeug.debug._ConsoleFrame.__init__
    functionSourceFile: werkzeug.debug
    functionUses: 2
    functionsReached:
    - werkzeug.debug.console._ConsoleLoader.__init__
    - <builtin>.super
    - werkzeug.debug.console.Console.__init__
    - werkzeug.debug.console._InteractiveConsole.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - code
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 138
    functionName: werkzeug.debug._ConsoleFrame.eval
    functionSourceFile: werkzeug.debug
    functionUses: 0
    functionsReached:
    - stream.reset
    - code.InteractiveInterpreter.buffer.append
    - werkzeug.debug.console.ThreadedStream.fetch
    - werkzeug.debug.console._InteractiveConsole.runsource
    - <builtin>.super
    - source.rstrip
    - code.InteractiveInterpreter.set
    - <builtin>.isinstance
    - typing.cast
    - _stream.get
    - _stream.set
    - werkzeug.debug.console.ThreadedStream.push
    - werkzeug.debug.console.Console.eval
    - werkzeug.debug.console.HTMLStringO.__init__
    - markupsafe.escape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 4
    IfCount: 8
    argCount: 1
    argDefaultValues: []
    argNames:
    - app
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 142
    functionName: werkzeug.debug.get_pin_and_cookie_name
    functionSourceFile: werkzeug.debug
    functionUses: 2
    functionsReached:
    - os.environ.get
    - <builtin>.getattr
    - match.group
    - guid.encode
    - <builtin>.open
    - werkzeug.debug.get_machine_id
    - <builtin>.range
    - getpass.getuser
    - subprocess.Popen.communicate
    - h.update
    - werkzeug.debug.get_machine_id._generate
    - uuid.getnode
    - <builtin>.len
    - subprocess.Popen
    - <builtin>.int
    - winreg.OpenKey
    - <builtin>.type
    - sys.modules.get
    - f.readline
    - <builtin>.str
    - re.search
    - itertools.chain
    - itertools.chain.encode
    - winreg.QueryValueEx
    - h.hexdigest
    - <builtin>.isinstance
    - hashlib.sha1
    - typing.cast
    - pin.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pin.replace
    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: getpass.getuser
    functionSourceFile: getpass
    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: uuid.getnode
    functionSourceFile: uuid
    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: itertools.chain.encode
    functionSourceFile: itertools
    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: h.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: h.hexdigest
    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: multiprocessing.Value
    functionSourceFile: multiprocessing
    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
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 321
    functionName: werkzeug.debug.DebuggedApplication.pin
    functionSourceFile: werkzeug.debug
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - os.environ.get
    - <builtin>.getattr
    - match.group
    - guid.encode
    - <builtin>.open
    - werkzeug.debug.get_machine_id
    - <builtin>.range
    - getpass.getuser
    - subprocess.Popen.communicate
    - h.update
    - werkzeug.debug.get_machine_id._generate
    - uuid.getnode
    - <builtin>.len
    - subprocess.Popen
    - werkzeug.debug.get_pin_and_cookie_name
    - <builtin>.int
    - winreg.OpenKey
    - <builtin>.type
    - sys.modules.get
    - f.readline
    - <builtin>.str
    - re.search
    - itertools.chain
    - itertools.chain.encode
    - winreg.QueryValueEx
    - h.hexdigest
    - <builtin>.isinstance
    - hashlib.sha1
    - typing.cast
    - pin.replace
    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: 4
    functionLinenumber: 325
    functionName: werkzeug.debug.DebuggedApplication.pin_cookie_name
    functionSourceFile: werkzeug.debug
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - os.environ.get
    - <builtin>.getattr
    - match.group
    - guid.encode
    - <builtin>.open
    - werkzeug.debug.get_machine_id
    - <builtin>.range
    - getpass.getuser
    - subprocess.Popen.communicate
    - h.update
    - werkzeug.debug.get_machine_id._generate
    - uuid.getnode
    - <builtin>.len
    - subprocess.Popen
    - werkzeug.debug.get_pin_and_cookie_name
    - <builtin>.int
    - winreg.OpenKey
    - <builtin>.type
    - sys.modules.get
    - f.readline
    - <builtin>.str
    - re.search
    - itertools.chain
    - itertools.chain.encode
    - winreg.QueryValueEx
    - h.hexdigest
    - <builtin>.isinstance
    - hashlib.sha1
    - typing.cast
    - pin.replace
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 7
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - environ
    - start_response
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 332
    functionName: werkzeug.debug.DebuggedApplication.debug_application
    functionSourceFile: werkzeug.debug
    functionUses: 1
    functionsReached:
    - werkzeug.debug.DebuggedApplication.check_host_trust
    - _cookie_re.findall
    - werkzeug.testapp.iter_sys_path
    - header.get
    - os.environ.get
    - python_eggs.append
    - werkzeug.debug.tbtools.DebugTraceback.__init__
    - ref.startswith
    - textwrap.wrap
    - traceback.TracebackException.from_exception
    - itertools.islice
    - row_parts.append
    - <builtin>.list
    - werkzeug.wrappers.response.Response.__init__
    - val.split
    - werkzeug.debug.tbtools.DebugTraceback.render_debugger_html
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_directory_loader
    - <builtin>.sorted
    - css.append
    - markupsafe.escape
    - werkzeug.security.gen_salt
    - werkzeug.wrappers.response.Response.close
    - rows.append
    - ref.partition
    - <builtin>.hasattr
    - os.getcwd
    - _cookie_unslash_re.sub
    - <builtin>.any
    - _logger.addHandler
    - werkzeug.testapp._get_werkzeug_version
    - multiprocessing.Value
    - os.path.join
    - <builtin>.super
    - werkzeug.sansio.http.parse_cookie
    - new_stack.append
    - environ.get
    - werkzeug.sansio.utils.host_is_trusted
    - cookie.encode
    - importlib.metadata.version
    - req.environ.items
    - spec.loader.get_resource_reader
    - cv.strip
    - typing.cast
    - time.time
    - markupsafe.escape.splitlines
    - os.path.isdir
    - _logger.setLevel
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_package_loader
    - werkzeug.debug.tbtools.DebugTraceback.render_traceback_text
    - logger.getEffectiveLevel
    - secrets.choice
    - <builtin>.range
    - werkzeug.debug.tbtools.DebugFrameSummary.__init__
    - traceback.walk_tb
    - werkzeug.debug.DebuggedApplication.check_pin_trust
    - werkzeug._internal._has_level_handler
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - werkzeug.debug.hash_pin
    - <builtin>.id
    - re.sub
    - <builtin>.reversed
    - <builtin>.int
    - wsgi_env.append
    - ck.strip
    - f.f_locals.get
    - logging.getLogger
    - werkzeug.http.parse_cookie
    - werkzeug.wrappers.response.Response.set_data
    - <builtin>.zip
    - hashlib.sha1
    - os.path.abspath
    - werkzeug.testapp.test_app
    - frame.render_html
    - hostname.endswith
    - <builtin>.repr
    - hostname.partition
    - <builtin>.getattr
    - werkzeug._internal._ColorStreamHandler.__init__
    - os.path.isfile
    - werkzeug._internal._log
    - x.startswith
    - <builtin>.bool
    - werkzeug.debug.DebuggedApplication.__init__
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_file_loader
    - value.encode
    - importlib.util.find_spec
    - <builtin>.sum
    - <builtin>.len
    - sys_path.append
    - werkzeug.debug.tbtools._process_traceback
    - os.path.expanduser
    - out.append
    - exports.items
    - werkzeug.middleware.shared_data.SharedDataMiddleware.__init__
    - <builtin>.str
    - os.path.normpath
    - werkzeug.wsgi._RangeWrapper.close
    - datetime.datetime.now
    - colorama.AnsiToWin32
    - werkzeug.debug.tbtools.DebugTraceback.render_traceback_html
    - <builtin>.isinstance
    - werkzeug.testapp.iter_sys_path.strip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - environ
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 433
    functionName: werkzeug.debug.DebuggedApplication.check_pin_trust
    functionSourceFile: werkzeug.debug
    functionUses: 4
    functionsReached:
    - _cookie_re.findall
    - <builtin>.int
    - header.get
    - typing.cast
    - val.split
    - out.append
    - time.time
    - <builtin>.isinstance
    - cookie.encode
    - werkzeug.sansio.http.parse_cookie
    - _cookie_unslash_re.sub
    - ck.strip
    - cv.strip
    - hashlib.sha1
    - <builtin>.len
    - werkzeug.debug.hash_pin
    - werkzeug.http.parse_cookie
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - environ
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 455
    functionName: werkzeug.debug.DebuggedApplication.check_host_trust
    functionSourceFile: werkzeug.debug
    functionUses: 6
    functionsReached:
    - ref.startswith
    - hostname.endswith
    - environ.get
    - <builtin>.isinstance
    - werkzeug.sansio.utils.host_is_trusted
    - hostname.partition
    - ref.partition
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - request
    - command
    - frame
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 380
    functionName: werkzeug.debug.DebuggedApplication.execute_command
    functionSourceFile: werkzeug.debug
    functionUses: 1
    functionsReached:
    - werkzeug.debug.DebuggedApplication.check_host_trust
    - hostname.endswith
    - hostname.partition
    - ref.startswith
    - <builtin>.super
    - value.encode
    - <builtin>.len
    - <builtin>.id
    - environ.get
    - werkzeug.wrappers.response.Response.__init__
    - werkzeug.sansio.utils.host_is_trusted
    - <builtin>.str
    - frame.eval
    - werkzeug.exceptions.HTTPException.__init__
    - werkzeug.wrappers.response.Response.set_data
    - exit_stack.enter_context
    - contextlib.ExitStack
    - <builtin>.isinstance
    - ref.partition
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.ExitStack
    functionSourceFile: contextlib
    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: exit_stack.enter_context
    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: frame.eval
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 398
    functionName: werkzeug.debug.DebuggedApplication.display_console
    functionSourceFile: werkzeug.debug
    functionUses: 1
    functionsReached:
    - werkzeug.debug.DebuggedApplication.check_host_trust
    - _cookie_re.findall
    - hostname.endswith
    - header.get
    - hostname.partition
    - _cookie_unslash_re.sub
    - werkzeug.debug.console._InteractiveConsole.__init__
    - <builtin>.bool
    - <builtin>.dict
    - werkzeug.debug.tbtools.render_console_html
    - ref.startswith
    - <builtin>.super
    - werkzeug.debug.DebuggedApplication.check_pin_trust
    - werkzeug.sansio.http.parse_cookie
    - value.encode
    - werkzeug.debug.console._ConsoleLoader.__init__
    - ns.setdefault
    - werkzeug.debug.hash_pin
    - <builtin>.len
    - werkzeug.debug._ConsoleFrame.__init__
    - environ.get
    - <builtin>.int
    - werkzeug.wrappers.response.Response.__init__
    - val.split
    - out.append
    - werkzeug.sansio.utils.host_is_trusted
    - cookie.encode
    - ck.strip
    - <builtin>.str
    - werkzeug.http.parse_cookie
    - werkzeug.exceptions.HTTPException.__init__
    - werkzeug.debug.console.Console.__init__
    - werkzeug.wrappers.response.Response.set_data
    - <builtin>.isinstance
    - cv.strip
    - hashlib.sha1
    - typing.cast
    - time.time
    - ref.partition
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ns.setdefault
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - request
    - filename
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 416
    functionName: werkzeug.debug.DebuggedApplication.get_resource
    functionSourceFile: werkzeug.debug
    functionUses: 1
    functionsReached:
    - <builtin>.hasattr
    - werkzeug.wsgi.wrap_file
    - headers.set
    - io.BytesIO.getbuffer
    - werkzeug.utils.send_file
    - urllib.parse.quote
    - download_name.encode
    - simple.encode
    - os.stat
    - zlib.adler32
    - unicodedata.normalize
    - os.path.basename
    - os.path.join
    - <builtin>.open
    - <builtin>.super
    - typing.cast
    - value.encode
    - path.encode
    - mimetypes.guess_type
    - pkgutil.get_data
    - <builtin>.len
    - environ.get
    - <builtin>.int
    - rv.make_conditional
    - io.BytesIO
    - werkzeug.wrappers.response.Response.__init__
    - <builtin>.callable
    - <builtin>.str
    - werkzeug.exceptions.HTTPException.__init__
    - werkzeug.wrappers.response.Response.set_data
    - rv.headers.pop
    - <builtin>.isinstance
    - rv.set_etag
    - os.path.abspath
    - io.BytesIO.close
    - time.time
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pkgutil.get_data
    functionSourceFile: pkgutil
    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: val.split
    functionSourceFile: <builtin>
    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: 1
    functionLinenumber: 458
    functionName: werkzeug.debug.DebuggedApplication._fail_pin_auth
    functionSourceFile: werkzeug.debug
    functionUses: 2
    functionsReached:
    - time.sleep
    - multiprocessing.Value.get_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: multiprocessing.Value.get_lock
    functionSourceFile: multiprocessing
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 5
    IfCount: 7
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 465
    functionName: werkzeug.debug.DebuggedApplication.pin_auth
    functionSourceFile: werkzeug.debug
    functionUses: 1
    functionsReached:
    - werkzeug.debug.DebuggedApplication.check_host_trust
    - _cookie_re.findall
    - hostname.endswith
    - header.get
    - hostname.partition
    - _cookie_unslash_re.sub
    - warnings.warn
    - urllib.parse.quote
    - datetime.time
    - werkzeug._internal._dt_as_utc
    - buf.append
    - ref.startswith
    - datetime.datetime.combine
    - <builtin>.super
    - json.dumps
    - key.encode
    - time.mktime
    - werkzeug.debug.DebuggedApplication.check_pin_trust
    - value.encode
    - werkzeug.sansio.http.parse_cookie
    - max_age.total_seconds
    - domain.partition
    - werkzeug.debug.DebuggedApplication._fail_pin_auth
    - werkzeug.debug.hash_pin
    - <builtin>.len
    - time.mktime.replace
    - multiprocessing.Value.get_lock
    - pin.replace
    - environ.get
    - <builtin>.int
    - werkzeug.http.dump_cookie
    - werkzeug.wrappers.response.Response.__init__
    - val.split
    - out.append
    - time.mktime.astimezone
    - werkzeug.sansio.utils.host_is_trusted
    - cookie.encode
    - _cookie_slash_re.sub
    - ck.strip
    - werkzeug.sansio.response.Response.set_cookie
    - <builtin>.str
    - email.utils.formatdate
    - time.sleep
    - entered_pin.strip
    - werkzeug.http.parse_cookie
    - werkzeug.exceptions.HTTPException.__init__
    - samesite.title
    - werkzeug.sansio.response.Response.delete_cookie
    - werkzeug.wrappers.response.Response.set_data
    - datetime.datetime.now
    - <builtin>.isinstance
    - werkzeug.http.http_date
    - email.utils.format_datetime
    - cv.strip
    - _cookie_no_quote_re.fullmatch
    - typing.cast
    - hashlib.sha1
    - time.time
    - ref.partition
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: entered_pin.strip
    functionSourceFile: <builtin>
    functionUses: 2
    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
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 519
    functionName: werkzeug.debug.DebuggedApplication.log_pin_request
    functionSourceFile: werkzeug.debug
    functionUses: 1
    functionsReached:
    - werkzeug.debug.DebuggedApplication.check_host_trust
    - hostname.endswith
    - _logger.setLevel
    - hostname.partition
    - <builtin>.getattr
    - werkzeug._internal._ColorStreamHandler.__init__
    - <builtin>.any
    - werkzeug._internal._log
    - _logger.addHandler
    - ref.startswith
    - logger.getEffectiveLevel
    - <builtin>.super
    - value.encode
    - werkzeug._internal._has_level_handler
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - <builtin>.len
    - environ.get
    - werkzeug.wrappers.response.Response.__init__
    - werkzeug.sansio.utils.host_is_trusted
    - <builtin>.str
    - logging.getLogger
    - werkzeug.exceptions.HTTPException.__init__
    - werkzeug.wrappers.response.Response.set_data
    - colorama.AnsiToWin32
    - <builtin>.isinstance
    - ref.partition
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - environ
    - start_response
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 531
    functionName: werkzeug.debug.DebuggedApplication.__call__
    functionSourceFile: werkzeug.debug
    functionUses: 0
    functionsReached:
    - werkzeug.debug.DebuggedApplication.check_host_trust
    - _cookie_re.findall
    - werkzeug.testapp.iter_sys_path
    - header.get
    - os.environ.get
    - python_eggs.append
    - werkzeug.debug.tbtools.DebugTraceback.__init__
    - os.path.basename
    - ref.startswith
    - textwrap.wrap
    - traceback.TracebackException.from_exception
    - itertools.islice
    - werkzeug.debug.DebuggedApplication._fail_pin_auth
    - row_parts.append
    - time.mktime.replace
    - <builtin>.list
    - werkzeug.http.dump_cookie
    - werkzeug.debug.DebuggedApplication.display_console
    - werkzeug.wrappers.response.Response.__init__
    - io.BytesIO
    - val.split
    - werkzeug.debug.tbtools.DebugTraceback.render_debugger_html
    - <builtin>.sorted
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_directory_loader
    - css.append
    - markupsafe.escape
    - samesite.title
    - werkzeug.debug.console.Console.__init__
    - rv.headers.pop
    - werkzeug.wrappers.response.Response.close
    - rows.append
    - werkzeug.security.gen_salt
    - rv.set_etag
    - io.BytesIO.close
    - ref.partition
    - <builtin>.hasattr
    - werkzeug.wsgi.wrap_file
    - os.getcwd
    - datetime.time
    - _cookie_unslash_re.sub
    - <builtin>.any
    - simple.encode
    - _logger.addHandler
    - werkzeug.testapp._get_werkzeug_version
    - multiprocessing.Value
    - buf.append
    - os.path.join
    - <builtin>.super
    - werkzeug.sansio.http.parse_cookie
    - new_stack.append
    - max_age.total_seconds
    - ns.setdefault
    - pkgutil.get_data
    - environ.get
    - time.mktime.astimezone
    - werkzeug.sansio.utils.host_is_trusted
    - cookie.encode
    - email.utils.formatdate
    - importlib.metadata.version
    - entered_pin.strip
    - werkzeug.debug.DebuggedApplication.pin_auth
    - req.environ.items
    - spec.loader.get_resource_reader
    - contextlib.ExitStack
    - cv.strip
    - typing.cast
    - time.time
    - pin.replace
    - markupsafe.escape.splitlines
    - os.path.isdir
    - _logger.setLevel
    - werkzeug.debug.DebuggedApplication.execute_command
    - io.BytesIO.getbuffer
    - download_name.encode
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_package_loader
    - os.stat
    - zlib.adler32
    - unicodedata.normalize
    - <builtin>.dict
    - werkzeug.debug.tbtools.DebugTraceback.render_traceback_text
    - werkzeug.wsgi._get_server
    - logger.getEffectiveLevel
    - secrets.choice
    - json.dumps
    - werkzeug.debug.tbtools.DebugFrameSummary.__init__
    - <builtin>.range
    - traceback.walk_tb
    - time.mktime
    - werkzeug.debug.DebuggedApplication.check_pin_trust
    - werkzeug._internal._has_level_handler
    - mimetypes.guess_type
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - werkzeug.debug.console._ConsoleLoader.__init__
    - werkzeug.debug.hash_pin
    - <builtin>.id
    - re.sub
    - werkzeug.debug._ConsoleFrame.__init__
    - <builtin>.reversed
    - <builtin>.int
    - wsgi_env.append
    - <builtin>.callable
    - time.sleep
    - _cookie_slash_re.sub
    - ck.strip
    - f.f_locals.get
    - frame.eval
    - logging.getLogger
    - werkzeug.datastructures.headers.EnvironHeaders.__init__
    - werkzeug.http.parse_cookie
    - werkzeug.exceptions.HTTPException.__init__
    - werkzeug._internal._wsgi_decoding_dance
    - werkzeug.sansio.response.Response.delete_cookie
    - werkzeug.wrappers.response.Response.set_data
    - exit_stack.enter_context
    - s.encode
    - <builtin>.zip
    - werkzeug.http.http_date
    - email.utils.format_datetime
    - _cookie_no_quote_re.fullmatch
    - hashlib.sha1
    - os.path.abspath
    - werkzeug.debug.DebuggedApplication.log_pin_request
    - werkzeug.debug.DebuggedApplication.debug_application
    - werkzeug.testapp.test_app
    - frame.render_html
    - hostname.endswith
    - <builtin>.repr
    - headers.set
    - <builtin>.getattr
    - werkzeug._internal._ColorStreamHandler.__init__
    - werkzeug.utils.send_file
    - urllib.parse.quote
    - hostname.partition
    - os.path.isfile
    - warnings.warn
    - werkzeug._internal._log
    - werkzeug.debug.console._InteractiveConsole.__init__
    - x.startswith
    - werkzeug._internal._dt_as_utc
    - <builtin>.bool
    - werkzeug.debug.DebuggedApplication.__init__
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_file_loader
    - werkzeug.debug.tbtools.render_console_html
    - <builtin>.open
    - datetime.datetime.combine
    - key.encode
    - werkzeug.debug.DebuggedApplication.get_resource
    - value.encode
    - path.encode
    - importlib.util.find_spec
    - domain.partition
    - sys_path.append
    - <builtin>.len
    - <builtin>.sum
    - werkzeug.debug.tbtools._process_traceback
    - os.path.expanduser
    - rv.make_conditional
    - werkzeug.wrappers.request.Request.__init__
    - out.append
    - exports.items
    - werkzeug.middleware.shared_data.SharedDataMiddleware.__init__
    - werkzeug.sansio.response.Response.set_cookie
    - <builtin>.str
    - os.path.normpath
    - werkzeug.wsgi._RangeWrapper.close
    - datetime.datetime.now
    - colorama.AnsiToWin32
    - werkzeug.debug.tbtools.DebugTraceback.render_traceback_html
    - <builtin>.isinstance
    - werkzeug.testapp.iter_sys_path.strip
    - multiprocessing.Value.get_lock
    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: werkzeug.middleware.shared_data
    functionSourceFile: werkzeug.middleware.shared_data
    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: exports.items
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - package
    - package_path
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 160
    functionName: werkzeug.middleware.shared_data.SharedDataMiddleware.get_package_loader
    functionSourceFile: werkzeug.middleware.shared_data
    functionUses: 6
    functionsReached:
    - importlib.util.find_spec
    - datetime.datetime.now
    - spec.loader.get_resource_reader
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - filename
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 157
    functionName: werkzeug.middleware.shared_data.SharedDataMiddleware.get_file_loader
    functionSourceFile: ''
    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
    - directory
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 202
    functionName: werkzeug.middleware.shared_data.SharedDataMiddleware.get_directory_loader
    functionSourceFile: ''
    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: 1
    functionLinenumber: -1
    functionName: werkzeug.middleware.shared_data.SharedDataMiddleware.__init__.<lambda1>
    functionSourceFile: werkzeug.middleware.shared_data
    functionUses: 1
    functionsReached:
    - fnmatch.fnmatch
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fnmatch.fnmatch
    functionSourceFile: fnmatch
    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
    - filename
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 143
    functionName: werkzeug.middleware.shared_data.SharedDataMiddleware.is_allowed
    functionSourceFile: werkzeug.middleware.shared_data
    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
    - filename
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 150
    functionName: werkzeug.middleware.shared_data.SharedDataMiddleware._opener
    functionSourceFile: werkzeug.middleware.shared_data
    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: 1
    functionLinenumber: -1
    functionName: werkzeug.middleware.shared_data.SharedDataMiddleware._opener.<lambda1>
    functionSourceFile: werkzeug.middleware.shared_data
    functionUses: 0
    functionsReached:
    - <builtin>.open
    - <builtin>.int
    - os.path.getsize
    - os.path.getmtime
    - datetime.datetime.fromtimestamp
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.getmtime
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: datetime.datetime.fromtimestamp
    functionSourceFile: datetime
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.path.getsize
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: werkzeug.middleware.shared_data.SharedDataMiddleware.get_file_loader.<lambda1>
    functionSourceFile: werkzeug.middleware.shared_data
    functionUses: 0
    functionsReached:
    - werkzeug.middleware.shared_data.SharedDataMiddleware._opener
    - os.path.basename
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.util.find_spec
    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: spec.loader.get_resource_reader
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 165
    functionName: werkzeug.middleware.shared_data.SharedDataMiddleware.get_package_loader.loader
    functionSourceFile: werkzeug.middleware.shared_data
    functionUses: 0
    functionsReached:
    - reader.open_resource
    - posixpath.normpath
    - posixpath.basename
    - posixpath.join
    - <builtin>.isinstance
    - os.path.isabs
    - <builtin>.any
    - werkzeug.security.safe_join
    - parts.append
    - filename.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: posixpath.basename
    functionSourceFile: posixpath
    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: reader.open_resource
    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: werkzeug.middleware.shared_data.SharedDataMiddleware.get_package_loader.loader.<lambda1>
    functionSourceFile: werkzeug.middleware.shared_data
    functionUses: 0
    functionsReached:
    - resource.getvalue
    - <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: resource.getvalue
    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: werkzeug.middleware.shared_data.SharedDataMiddleware.get_package_loader.loader.<lambda2>
    functionSourceFile: werkzeug.middleware.shared_data
    functionUses: 0
    functionsReached:
    - os.path.getsize
    - datetime.datetime.fromtimestamp
    - os.path.getmtime
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 203
    functionName: werkzeug.middleware.shared_data.SharedDataMiddleware.get_directory_loader.loader
    functionSourceFile: werkzeug.middleware.shared_data
    functionUses: 0
    functionsReached:
    - posixpath.normpath
    - werkzeug.middleware.shared_data.SharedDataMiddleware._opener
    - posixpath.join
    - os.path.isabs
    - <builtin>.any
    - os.path.isfile
    - werkzeug.security.safe_join
    - parts.append
    - filename.startswith
    - os.path.basename
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - mtime
    - file_size
    - real_filename
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 221
    functionName: werkzeug.middleware.shared_data.SharedDataMiddleware.generate_etag
    functionSourceFile: werkzeug.middleware.shared_data
    functionUses: 1
    functionsReached:
    - os.fsencode
    - zlib.adler32
    - mtime.timestamp
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.fsencode
    functionSourceFile: os
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: mtime.timestamp
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 6
    IfCount: 8
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - environ
    - start_response
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 227
    functionName: werkzeug.middleware.shared_data.SharedDataMiddleware.__call__
    functionSourceFile: werkzeug.middleware.shared_data
    functionUses: 0
    functionsReached:
    - werkzeug.testapp.iter_sys_path
    - os.environ.get
    - python_eggs.append
    - etag.strip
    - etag.startswith
    - textwrap.wrap
    - mimetype.endswith
    - time.mktime.replace
    - path.startswith
    - werkzeug.wrappers.response.Response.__init__
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_directory_loader
    - <builtin>.sorted
    - css.append
    - mtime.timestamp
    - match.groups
    - markupsafe.escape
    - dt.replace
    - werkzeug.wsgi.get_path_info
    - werkzeug.utils.get_content_type
    - werkzeug.security.gen_salt
    - werkzeug.datastructures.etag.ETags.is_weak
    - werkzeug.wsgi.wrap_file
    - os.getcwd
    - datetime.time
    - <builtin>.any
    - werkzeug.http.generate_etag
    - path.decode
    - _logger.addHandler
    - werkzeug.sansio.http.is_resource_modified
    - werkzeug.testapp._get_werkzeug_version
    - multiprocessing.Value
    - os.path.join
    - weak.append
    - <builtin>.super
    - headers.extend
    - mimetype.startswith
    - environ.get
    - time.mktime.astimezone
    - email.utils.formatdate
    - email.utils.parsedate_to_datetime
    - importlib.metadata.version
    - werkzeug.http.parse_etags
    - werkzeug.datastructures.etag.ETags.contains_weak
    - req.environ.items
    - spec.loader.get_resource_reader
    - werkzeug.middleware.shared_data.SharedDataMiddleware.__init__.<lambda1>
    - time.time
    - markupsafe.escape.splitlines
    - os.path.isdir
    - werkzeug.middleware.shared_data.SharedDataMiddleware.is_allowed
    - match.end
    - _logger.setLevel
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_package_loader
    - zlib.adler32
    - headers.append
    - search_path.endswith
    - logger.getEffectiveLevel
    - secrets.choice
    - time.mktime
    - <builtin>.range
    - mimetypes.guess_type
    - werkzeug._internal._has_level_handler
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - werkzeug.middleware.shared_data.SharedDataMiddleware.generate_etag
    - wsgi_env.append
    - logging.getLogger
    - werkzeug.wrappers.response.Response.set_data
    - werkzeug.http.http_date
    - email.utils.format_datetime
    - hashlib.sha1
    - os.path.abspath
    - werkzeug.testapp.test_app
    - f.close
    - _etag_re.match
    - <builtin>.repr
    - werkzeug.http.is_resource_modified
    - <builtin>.getattr
    - werkzeug._internal._ColorStreamHandler.__init__
    - os.path.isfile
    - werkzeug._internal._dt_as_utc
    - werkzeug._internal._log
    - werkzeug.datastructures.etag.ETags.contains
    - x.startswith
    - werkzeug.debug.DebuggedApplication.__init__
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_file_loader
    - werkzeug.http.parse_date
    - werkzeug.datastructures.etag.ETags.is_strong
    - datetime.datetime.combine
    - value.encode
    - werkzeug.http.unquote_etag
    - werkzeug.http.parse_if_range_header
    - importlib.util.find_spec
    - sys_path.append
    - <builtin>.len
    - fnmatch.fnmatch
    - os.path.expanduser
    - exports.items
    - os.fsencode
    - werkzeug.middleware.shared_data.SharedDataMiddleware.__init__
    - strong.append
    - <builtin>.str
    - os.path.normpath
    - datetime.datetime.now
    - colorama.AnsiToWin32
    - hashlib.sha1.hexdigest
    - <builtin>.isinstance
    - werkzeug.testapp.iter_sys_path.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: search_path.endswith
    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: werkzeug.middleware
    functionSourceFile: werkzeug.middleware
    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: connexion.http_facts
    functionSourceFile: connexion.http_facts
    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: connexion.types
    functionSourceFile: connexion.types
    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: 1
    functionLinenumber: -1
    functionName: connexion.middleware.exceptions
    functionSourceFile: connexion.middleware.exceptions
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - request
    - exc
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 33
    functionName: connexion.middleware.exceptions.connexion_wrapper.wrapper
    functionSourceFile: connexion.middleware.exceptions
    functionUses: 0
    functionsReached:
    - starlette.responses.Response
    - asyncio.iscoroutine
    - logger.warning
    - logger.error
    - connexion.lifecycle.ConnexionResponse.__init__
    - <builtin>.super
    - starlette.concurrency.run_in_threadpool
    - json.dumps
    - cls.__new__
    - connexion.middleware.server_error.ServerErrorMiddleware.error_response
    - connexion.middleware.exceptions.ExceptionMiddleware.http_exception
    - connexion.exceptions.ProblemException.to_problem
    - connexion.exceptions.InternalServerError.__init__
    - problem_response.update
    - connexion.lifecycle.ConnexionRequest.from_starlette_request
    - http_facts.HTTP_STATUS_CODES.get
    - asyncio.iscoroutinefunction
    - connexion.problem.problem
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - _request
    - exc
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 85
    functionName: connexion.middleware.exceptions.ExceptionMiddleware.http_exception
    functionSourceFile: connexion.middleware.exceptions
    functionUses: 1
    functionsReached:
    - logger.warning
    - logger.error
    - json.dumps
    - problem_response.update
    - connexion.lifecycle.ConnexionResponse.__init__
    - http_facts.HTTP_STATUS_CODES.get
    - connexion.problem.problem
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: starlette.concurrency.run_in_threadpool
    functionSourceFile: starlette
    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: asyncio.iscoroutine
    functionSourceFile: asyncio
    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: starlette.responses.Response
    functionSourceFile: starlette
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - next_app
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 58
    functionName: connexion.middleware.exceptions.ExceptionMiddleware.__init__
    functionSourceFile: connexion.middleware.exceptions
    functionUses: 0
    functionsReached:
    - functools.wraps
    - <builtin>.super
    - connexion.middleware.exceptions.ExceptionMiddleware.add_exception_handler
    - connexion.middleware.exceptions.connexion_wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - exc_class_or_status_code
    - handler
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 63
    functionName: connexion.middleware.exceptions.ExceptionMiddleware.add_exception_handler
    functionSourceFile: connexion.middleware.exceptions
    functionUses: 1
    functionsReached:
    - functools.wraps
    - <builtin>.super
    - connexion.middleware.exceptions.connexion_wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - _request
    - exc
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 73
    functionName: connexion.middleware.exceptions.ExceptionMiddleware.problem_handler
    functionSourceFile: connexion.middleware.exceptions
    functionUses: 0
    functionsReached:
    - exc.to_problem
    - logger.warning
    - logger.error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: exc.to_problem
    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: 2
    functionLinenumber: -1
    functionName: connexion.middleware.exceptions.ExceptionMiddleware
    functionSourceFile: connexion.middleware.exceptions
    functionUses: 0
    functionsReached:
    - functools.wraps
    - connexion.middleware.exceptions.connexion_wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_facts.HTTP_STATUS_CODES.get
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - _request
    - exc
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 103
    functionName: connexion.middleware.exceptions.ExceptionMiddleware.common_error_handler
    functionSourceFile: connexion.middleware.exceptions
    functionUses: 0
    functionsReached:
    - logger.error
    - <builtin>.super
    - json.dumps
    - connexion.exceptions.ProblemException.to_problem
    - connexion.exceptions.InternalServerError.__init__
    - problem_response.update
    - connexion.lifecycle.ConnexionResponse.__init__
    - connexion.problem.problem
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - scope
    - receive
    - send
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 110
    functionName: connexion.middleware.exceptions.ExceptionMiddleware.__call__
    functionSourceFile: connexion.middleware.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: connexion.middleware.routing
    functionSourceFile: connexion.middleware.routing
    functionUses: 0
    functionsReached:
    - contextvars.ContextVar
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - operation_id
    - next_app
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 22
    functionName: connexion.middleware.routing.RoutingOperation.__init__
    functionSourceFile: connexion.middleware.routing
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - cls
    - operation
    - next_app
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 27
    functionName: connexion.middleware.routing.RoutingOperation.from_operation
    functionSourceFile: connexion.middleware.routing
    functionUses: 4
    functionsReached:
    - connexion.middleware.routing.RoutingOperation.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - scope
    - receive
    - send
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 30
    functionName: connexion.middleware.routing.RoutingOperation.__call__
    functionSourceFile: connexion.middleware.routing
    functionUses: 0
    functionsReached:
    - scope.get
    - connexion_routing.update
    - original_scope.setdefault
    - extensions.setdefault
    - _scope.get
    - connexion.middleware.routing.RoutingOperation.__call__.get_root_path
    - <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: _scope.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: scope.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: original_scope.setdefault
    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:
    - scope
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 38
    functionName: connexion.middleware.routing.RoutingOperation.__call__.get_root_path
    functionSourceFile: connexion.middleware.routing
    functionUses: 1
    functionsReached:
    - scope.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: connexion_routing.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 9
    argDefaultValues: []
    argNames:
    - self
    - specification
    - next_app
    - base_path
    - arguments
    - resolver
    - resolver_error_handler
    - debug
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 52
    functionName: connexion.middleware.routing.RoutingAPI.__init__
    functionSourceFile: connexion.middleware.routing
    functionUses: 1
    functionsReached:
    - starlette.routing.Router
    - <builtin>.super
    - connexion.middleware.routing.RoutingOperation.__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: starlette.routing.Router
    functionSourceFile: starlette
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - operation
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 78
    functionName: connexion.middleware.routing.RoutingAPI.make_operation
    functionSourceFile: connexion.middleware.routing
    functionUses: 3
    functionsReached:
    - connexion.middleware.routing.RoutingOperation.__init__
    - connexion.middleware.routing.RoutingOperation.from_operation
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - operation
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 82
    functionName: connexion.middleware.routing.RoutingAPI._framework_path_and_name
    functionSourceFile: connexion.middleware.routing
    functionUses: 3
    functionsReached:
    - operation.get_path_parameter_types
    - functools.partial
    - PATH_PARAMETER.sub
    - connexion.frameworks.starlette.starlettify_path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operation.get_path_parameter_types
    functionSourceFile: <builtin>
    functionUses: 5
    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 0x7f5d94545b20>
    argNames:
    - swagger_path
    - types
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 66
    functionName: connexion.frameworks.starlette.starlettify_path
    functionSourceFile: connexion.frameworks.starlette
    functionUses: 4
    functionsReached:
    - functools.partial
    - PATH_PARAMETER.sub
    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 0x7f5d9440e1c0>
    argNames:
    - self
    - method
    - path
    - operation
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 89
    functionName: connexion.middleware.routing.RoutingAPI._add_operation_internal
    functionSourceFile: connexion.middleware.routing
    functionUses: 4
    functionsReached:
    - starlette.routing.Router.add_route
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: starlette.routing.Router.add_route
    functionSourceFile: starlette
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - app
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 100
    functionName: connexion.middleware.routing.RoutingMiddleware.__init__
    functionSourceFile: connexion.middleware.routing
    functionUses: 0
    functionsReached:
    - connexion.middleware.routing.RoutingOperation.__init__
    - starlette.routing.Router
    - starlette.convertors.register_url_convertor
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: starlette.convertors.register_url_convertor
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93d93190>
    - <ast.Constant object at 0x7f5d93d93070>
    argNames:
    - self
    - specification
    - base_path
    - arguments
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 116
    functionName: connexion.middleware.routing.RoutingMiddleware.add_api
    functionSourceFile: connexion.middleware.routing
    functionUses: 0
    functionsReached:
    - starlette.routing.Router
    - <builtin>.super
    - <builtin>.isinstance
    - starlette.routing.Router.mount
    - connexion.middleware.routing.RoutingAPI.__init__
    - connexion.middleware.routing.RoutingOperation.__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: starlette.routing.Router.mount
    functionSourceFile: starlette
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - scope
    - receive
    - send
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 149
    functionName: connexion.middleware.routing.RoutingMiddleware.__call__
    functionSourceFile: connexion.middleware.routing
    functionUses: 0
    functionsReached:
    - starlette.routing.Router
    - scope.copy
    - _scope.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: scope.copy
    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: _scope.set
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: connexion.resolver
    functionSourceFile: connexion.resolver
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - function
    - operation_id
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 19
    functionName: connexion.resolver.Resolution.__init__
    functionSourceFile: connexion.resolver
    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
    - operation
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 39
    functionName: connexion.resolver.Resolver.resolve
    functionSourceFile: connexion.resolver
    functionUses: 0
    functionsReached:
    - connexion.resolver.Resolution.__init__
    - connexion.resolver.Resolver.resolve_operation_id
    - connexion.resolver.Resolver.resolve_function_from_operation_id
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - operation
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 50
    functionName: connexion.resolver.Resolver.resolve_operation_id
    functionSourceFile: ''
    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
    - operation_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 62
    functionName: connexion.resolver.Resolver.resolve_function_from_operation_id
    functionSourceFile: connexion.resolver
    functionUses: 2
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised:
    - ResolverError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Attribute object at 0x7f5d943121c0>
    argNames:
    - self
    - root_path
    - function_resolver
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 82
    functionName: connexion.resolver.RelativeResolver.__init__
    functionSourceFile: connexion.resolver
    functionUses: 0
    functionsReached:
    - inspect.ismodule
    - <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: inspect.ismodule
    functionSourceFile: inspect
    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
    - operation
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 98
    functionName: connexion.resolver.RelativeResolver.resolve_operation_id
    functionSourceFile: connexion.resolver
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - default_module_name
    - collection_endpoint_name
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 117
    functionName: connexion.resolver.RestyResolver.__init__
    functionSourceFile: connexion.resolver
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - operation
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 128
    functionName: connexion.resolver.RestyResolver.resolve_operation_id
    functionSourceFile: connexion.resolver
    functionUses: 1
    functionsReached:
    - connexion.resolver.RestyResolver.resolve_operation_id_using_rest_semantics.get_function_name
    - connexion.resolver.RestyResolver.resolve_operation_id_using_rest_semantics.is_var
    - operation.path.split
    - method.lower
    - <builtin>.super
    - connexion.resolver.RestyResolver.resolve_operation_id_using_rest_semantics
    - <builtin>.len
    - connexion.resolver.RestyResolver.resolve_operation_id_using_rest_semantics.get_controller_name
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - operation
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 139
    functionName: connexion.resolver.RestyResolver.resolve_operation_id_using_rest_semantics
    functionSourceFile: connexion.resolver
    functionUses: 2
    functionsReached:
    - connexion.resolver.RestyResolver.resolve_operation_id_using_rest_semantics.get_function_name
    - connexion.resolver.RestyResolver.resolve_operation_id_using_rest_semantics.is_var
    - operation.path.split
    - method.lower
    - <builtin>.len
    - connexion.resolver.RestyResolver.resolve_operation_id_using_rest_semantics.get_controller_name
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operation.path.split
    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:
    - component
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 149
    functionName: connexion.resolver.RestyResolver.resolve_operation_id_using_rest_semantics.is_var
    functionSourceFile: connexion.resolver
    functionUses: 4
    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: 0
    functionLinenumber: 157
    functionName: connexion.resolver.RestyResolver.resolve_operation_id_using_rest_semantics.get_controller_name
    functionSourceFile: connexion.resolver
    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: 1
    functionLinenumber: 170
    functionName: connexion.resolver.RestyResolver.resolve_operation_id_using_rest_semantics.get_function_name
    functionSourceFile: connexion.resolver
    functionUses: 3
    functionsReached:
    - method.lower
    - connexion.resolver.RestyResolver.resolve_operation_id_using_rest_semantics.is_var
    - <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: method.lower
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - args
    - class_arguments
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 213
    functionName: connexion.resolver.MethodResolverBase.__init__
    functionSourceFile: connexion.resolver
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - operation
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 234
    functionName: connexion.resolver.MethodResolverBase.resolve_operation_id
    functionSourceFile: connexion.resolver
    functionUses: 0
    functionsReached:
    - connexion.resolver.RestyResolver.resolve_operation_id_using_rest_semantics.get_function_name
    - connexion.resolver.RestyResolver.resolve_operation_id_using_rest_semantics.is_var
    - operation.path.split
    - <builtin>.super
    - connexion.resolver.RestyResolver.resolve_operation_id_using_rest_semantics
    - method.lower
    - operation_id.rsplit
    - inflection.camelize
    - connexion.resolver.RestyResolver.resolve_operation_id
    - <builtin>.len
    - connexion.resolver.RestyResolver.resolve_operation_id_using_rest_semantics.get_controller_name
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operation_id.rsplit
    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: inflection.camelize
    functionSourceFile: inflection
    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
    - operation_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 253
    functionName: connexion.resolver.MethodResolverBase.resolve_function_from_operation_id
    functionSourceFile: connexion.resolver
    functionUses: 0
    functionsReached:
    - connexion.resolver.MethodResolverBase.resolve_method_from_class
    - operation_id.rsplit
    - view_name.endswith
    - <builtin>.__import__
    - <builtin>.getattr
    - <builtin>.str
    linkageType: pythonLinkage
    raised:
    - ResolverError
    returnType: N/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_name.endswith
    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: []
    argNames:
    - self
    - view_name
    - meth_name
    - view_cls
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 279
    functionName: connexion.resolver.MethodResolverBase.resolve_method_from_class
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - view_name
    - meth_name
    - view_cls
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 292
    functionName: connexion.resolver.MethodResolver.resolve_method_from_class
    functionSourceFile: connexion.resolver
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - cls_arguments.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: cls_arguments.get
    functionSourceFile: <builtin>
    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
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 318
    functionName: connexion.resolver.MethodViewResolver.__init__
    functionSourceFile: connexion.resolver
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - view_name
    - meth_name
    - view_cls
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 328
    functionName: connexion.resolver.MethodViewResolver.resolve_method_from_class
    functionSourceFile: connexion.resolver
    functionUses: 0
    functionsReached:
    - cls_arguments.get
    - view_cls.as_view
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_cls.as_view
    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: 1
    functionLinenumber: -1
    functionName: connexion.middleware.abstract
    functionSourceFile: connexion.middleware.abstract
    functionUses: 0
    functionsReached:
    - logging.getLogger
    - 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: 1
    functionLinenumber: -1
    functionName: connexion.middleware.abstract.SpecMiddleware
    functionSourceFile: connexion.middleware.abstract
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - specification
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 24
    functionName: connexion.middleware.abstract.SpecMiddleware.add_api
    functionSourceFile: connexion.middleware.abstract
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - scope
    - receive
    - send
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 31
    functionName: connexion.middleware.abstract.SpecMiddleware.__call__
    functionSourceFile: connexion.middleware.abstract
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f5d9420c640>
    - <ast.Constant object at 0x7f5d9420c340>
    - <ast.Constant object at 0x7f5d9420cb50>
    argNames:
    - self
    - specification
    - base_path
    - resolver
    - uri_parser_class
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 38
    functionName: connexion.middleware.abstract.AbstractSpecAPI.__init__
    functionSourceFile: connexion.middleware.abstract
    functionUses: 0
    functionsReached:
    - flask.Blueprint
    - <builtin>.super
    - connexion.apps.flask.FlaskApi._set_base_path
    - connexion.resolver.Resolver.__init__
    - connexion.apps.flask.FlaskApi._set_blueprint
    - flask.flaskify_endpoint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d946337f0>
    argNames:
    - self
    - base_path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 78
    functionName: connexion.apps.flask.FlaskApi._set_base_path
    functionSourceFile: connexion.apps.flask
    functionUses: 1
    functionsReached:
    - <builtin>.super
    - flask.Blueprint
    - connexion.apps.flask.FlaskApi._set_blueprint
    - flask.flaskify_endpoint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d936d7940>
    argNames:
    - self
    - base_path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 54
    functionName: connexion.middleware.abstract.AbstractSpecAPI._set_base_path
    functionSourceFile: connexion.middleware.abstract
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - args
    - pythonic_params
    - resolver_error_handler
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 70
    functionName: connexion.middleware.abstract.AbstractRoutingAPI.__init__
    functionSourceFile: connexion.middleware.abstract
    functionUses: 0
    functionsReached:
    - functools.partial
    - connexion.middleware.abstract.AbstractRoutingAPI._handle_add_operation_error
    - flask.flaskify_path
    - connexion.apps.flask.FlaskOperation.__init__
    - logger.debug
    - connexion.middleware.abstract.AbstractRoutingAPI.add_operation
    - starlette.routing.Router.add_route
    - <builtin>.dict
    - flask.flaskify_endpoint
    - method.upper
    - <builtin>.super
    - connexion.middleware.routing.RoutingAPI._add_operation_internal
    - connexion.middleware.routing.RoutingAPI._framework_path_and_name
    - paths.items
    - PATH_PARAMETER.sub
    - connexion.middleware.abstract.AbstractRoutingAPI.add_paths
    - connexion.middleware.routing.RoutingAPI.make_operation
    - connexion.apps.flask.FlaskApi._framework_path_and_name
    - connexion.middleware.routing.RoutingOperation.from_operation
    - connexion.apps.flask.FlaskOperation.from_operation
    - connexion.apps.flask.FlaskApi._add_resolver_error_handler
    - connexion.apps.flask.FlaskApi.make_operation
    - operation.get_path_parameter_types
    - spec_operation_cls.from_spec
    - functools.update_wrapper
    - logger.error
    - connexion.frameworks.starlette.starlettify_path
    - connexion.middleware.abstract.AbstractRoutingAPI._framework_path_and_name
    - typing.cast
    - connexion.apps.flask.FlaskApi._add_operation_internal
    - connexion.middleware.routing.RoutingOperation.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 6
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93d56100>
    argNames:
    - self
    - paths
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 83
    functionName: connexion.middleware.abstract.AbstractRoutingAPI.add_paths
    functionSourceFile: connexion.middleware.abstract
    functionUses: 1
    functionsReached:
    - functools.partial
    - connexion.middleware.abstract.AbstractRoutingAPI._handle_add_operation_error
    - flask.flaskify_path
    - connexion.apps.flask.FlaskOperation.__init__
    - logger.debug
    - connexion.middleware.abstract.AbstractRoutingAPI.add_operation
    - starlette.routing.Router.add_route
    - <builtin>.dict
    - flask.flaskify_endpoint
    - method.upper
    - connexion.middleware.routing.RoutingAPI._add_operation_internal
    - connexion.middleware.routing.RoutingAPI._framework_path_and_name
    - paths.items
    - PATH_PARAMETER.sub
    - connexion.middleware.routing.RoutingAPI.make_operation
    - connexion.apps.flask.FlaskApi._framework_path_and_name
    - connexion.middleware.routing.RoutingOperation.from_operation
    - connexion.apps.flask.FlaskOperation.from_operation
    - connexion.apps.flask.FlaskApi._add_resolver_error_handler
    - connexion.apps.flask.FlaskApi.make_operation
    - operation.get_path_parameter_types
    - spec_operation_cls.from_spec
    - functools.update_wrapper
    - logger.error
    - connexion.frameworks.starlette.starlettify_path
    - connexion.middleware.abstract.AbstractRoutingAPI._framework_path_and_name
    - typing.cast
    - connexion.apps.flask.FlaskApi._add_operation_internal
    - connexion.middleware.routing.RoutingOperation.__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: paths.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: logger.debug
    functionSourceFile: <builtin>
    functionUses: 34
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - path
    - method
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 107
    functionName: connexion.middleware.abstract.AbstractRoutingAPI.add_operation
    functionSourceFile: connexion.middleware.abstract
    functionUses: 2
    functionsReached:
    - functools.partial
    - flask.flaskify_path
    - connexion.apps.flask.FlaskOperation.__init__
    - starlette.routing.Router.add_route
    - flask.flaskify_endpoint
    - connexion.middleware.routing.RoutingAPI._add_operation_internal
    - connexion.middleware.routing.RoutingAPI._framework_path_and_name
    - PATH_PARAMETER.sub
    - connexion.middleware.routing.RoutingAPI.make_operation
    - connexion.apps.flask.FlaskApi._framework_path_and_name
    - connexion.middleware.routing.RoutingOperation.from_operation
    - connexion.apps.flask.FlaskOperation.from_operation
    - connexion.apps.flask.FlaskApi.make_operation
    - operation.get_path_parameter_types
    - spec_operation_cls.from_spec
    - functools.update_wrapper
    - connexion.frameworks.starlette.starlettify_path
    - connexion.middleware.abstract.AbstractRoutingAPI._framework_path_and_name
    - connexion.apps.flask.FlaskApi._add_operation_internal
    - connexion.middleware.routing.RoutingOperation.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - method
    - path
    - err
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 90
    functionName: connexion.apps.flask.FlaskApi._add_resolver_error_handler
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - path
    - method
    - exc
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 163
    functionName: connexion.middleware.abstract.AbstractRoutingAPI._handle_add_operation_error
    functionSourceFile: connexion.middleware.abstract
    functionUses: 2
    functionsReached:
    - logger.error
    - method.upper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: spec_operation_cls.from_spec
    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
    - operation
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 93
    functionName: connexion.apps.flask.FlaskApi.make_operation
    functionSourceFile: connexion.apps.flask
    functionUses: 3
    functionsReached:
    - connexion.apps.flask.FlaskOperation.from_operation
    - functools.update_wrapper
    - connexion.apps.flask.FlaskOperation.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - operation
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 137
    functionName: connexion.middleware.abstract.AbstractRoutingAPI._framework_path_and_name
    functionSourceFile: ''
    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:
    - operation
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 99
    functionName: connexion.apps.flask.FlaskApi._framework_path_and_name
    functionSourceFile: connexion.apps.flask
    functionUses: 3
    functionsReached:
    - operation.get_path_parameter_types
    - flask.flaskify_path
    - flask.flaskify_endpoint
    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 0x7f5d941bdb80>
    argNames:
    - self
    - method
    - path
    - operation
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 110
    functionName: connexion.apps.flask.FlaskApi._add_operation_internal
    functionSourceFile: ''
    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: connexion.middleware.abstract.AbstractRoutingAPI
    functionSourceFile: connexion.middleware.abstract
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - operation
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 133
    functionName: connexion.middleware.abstract.AbstractRoutingAPI.make_operation
    functionSourceFile: connexion.middleware.abstract
    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 0x7f5d94c9d220>
    argNames:
    - self
    - method
    - path
    - operation
    - name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 143
    functionName: connexion.middleware.abstract.AbstractRoutingAPI._add_operation_internal
    functionSourceFile: connexion.middleware.abstract
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - method
    - path
    - err
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 151
    functionName: connexion.middleware.abstract.AbstractRoutingAPI._add_resolver_error_handler
    functionSourceFile: connexion.middleware.abstract
    functionUses: 0
    functionsReached:
    - connexion.apps.flask.FlaskApi._add_operation_internal
    - connexion.middleware.routing.RoutingAPI._add_operation_internal
    - starlette.routing.Router.add_route
    - typing.cast
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - specification
    - args
    - next_app
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 173
    functionName: connexion.middleware.abstract.RoutedAPI.__init__
    functionSourceFile: connexion.middleware.abstract
    functionUses: 0
    functionsReached:
    - <builtin>.super
    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: 2
    functionLinenumber: 184
    functionName: connexion.middleware.abstract.RoutedAPI.add_paths
    functionSourceFile: connexion.middleware.abstract
    functionUses: 0
    functionsReached:
    - connexion.middleware.abstract.RoutedAPI.make_operation
    - operation_spec_cls.from_spec
    - connexion.middleware.abstract.RoutedAPI.add_operation
    - paths.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - path
    - method
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 196
    functionName: connexion.middleware.abstract.RoutedAPI.add_operation
    functionSourceFile: connexion.middleware.abstract
    functionUses: 1
    functionsReached:
    - connexion.middleware.abstract.RoutedAPI.make_operation
    - operation_spec_cls.from_spec
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operation_spec_cls.from_spec
    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
    - operation
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 209
    functionName: connexion.middleware.abstract.RoutedAPI.make_operation
    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: 1
    functionLinenumber: -1
    functionName: connexion.middleware.abstract.RoutedAPI
    functionSourceFile: connexion.middleware.abstract
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - app
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 230
    functionName: connexion.middleware.abstract.RoutedMiddleware.__init__
    functionSourceFile: connexion.middleware.abstract
    functionUses: 0
    functionsReached:
    - collections.defaultdict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - specification
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 234
    functionName: connexion.middleware.abstract.RoutedMiddleware.add_api
    functionSourceFile: connexion.middleware.abstract
    functionUses: 0
    functionsReached:
    - abc.ABC.api_cls
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: abc.ABC.api_cls
    functionSourceFile: abc
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 5
    IfCount: 3
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - scope
    - receive
    - send
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 239
    functionName: connexion.middleware.abstract.RoutedMiddleware.__call__
    functionSourceFile: connexion.middleware.abstract
    functionUses: 0
    functionsReached:
    - logger.debug
    - connexion_context.get
    linkageType: pythonLinkage
    raised:
    - MissingMiddleware
    - MissingOperation
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: connexion_context.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: connexion.spec
    functionSourceFile: connexion.spec
    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:
    - spec
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 29
    functionName: connexion.spec.create_spec_validator
    functionSourceFile: connexion.spec
    functionUses: 8
    functionsReached:
    - jsonschema.validators.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jsonschema.validators.extend
    functionSourceFile: jsonschema
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - validator
    - properties
    - instance
    - schema
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 41
    functionName: connexion.spec.create_spec_validator.validate_defaults
    functionSourceFile: connexion.spec
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - instance_validator.evolve
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: instance_validator.evolve
    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:
    - base_path
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 68
    functionName: connexion.spec.canonical_base_path
    functionSourceFile: connexion.spec
    functionUses: 2
    functionsReached:
    - urllib.parse.urlsplit.path.rstrip
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.urlsplit.path.rstrip
    functionSourceFile: urllib
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - raw_spec
    - base_uri
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 79
    functionName: connexion.spec.Specification.__init__
    functionSourceFile: connexion.spec
    functionUses: 6
    functionsReached:
    - copy.deepcopy.items
    - copy.deepcopy.pop
    - jsonschema.RefResolver
    - connexion.utils.deep_get
    - jsonschema.RefResolver.resolving
    - validator.validate
    - connexion.json_schema.resolve_refs
    - <builtin>.enumerate
    - connexion.spec.OpenAPISpecification._set_defaults
    - connexion.spec.Swagger2Specification._set_defaults
    - connexion.spec.create_spec_validator
    - <builtin>.int
    - connexion.json_schema.resolve_refs._do_resolve
    - jsonschema.validators.extend
    - spec.setdefault
    - copy.deepcopy
    - connexion.spec.Specification._validate_spec
    - <builtin>.isinstance
    - copy.deepcopy.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: copy.deepcopy
    functionSourceFile: copy
    functionUses: 30
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - spec
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 247
    functionName: connexion.spec.Swagger2Specification._set_defaults
    functionSourceFile: connexion.spec
    functionUses: 7
    functionsReached:
    - spec.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - spec
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 300
    functionName: connexion.spec.OpenAPISpecification._set_defaults
    functionSourceFile: connexion.spec
    functionUses: 7
    functionsReached:
    - spec.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - spec
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 91
    functionName: connexion.spec.Specification._validate_spec
    functionSourceFile: connexion.spec
    functionUses: 7
    functionsReached:
    - validator.validate
    - jsonschema.validators.extend
    - connexion.spec.create_spec_validator
    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 0x7f5d935b7100>
    - <ast.Constant object at 0x7f5d935b7dc0>
    argNames:
    - spec
    - store
    - base_uri
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 73
    functionName: connexion.json_schema.resolve_refs
    functionSourceFile: connexion.json_schema
    functionUses: 7
    functionsReached:
    - <builtin>.int
    - copy.deepcopy.items
    - connexion.json_schema.resolve_refs._do_resolve
    - copy.deepcopy
    - <builtin>.isinstance
    - copy.deepcopy.pop
    - <builtin>.enumerate
    - jsonschema.RefResolver
    - connexion.utils.deep_get
    - jsonschema.RefResolver.resolving
    - copy.deepcopy.update
    linkageType: 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: connexion.spec.Specification
    functionSourceFile: connexion.spec
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - spec
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 87
    functionName: connexion.spec.Specification._set_defaults
    functionSourceFile: connexion.spec
    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: validator.validate
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 100
    functionName: connexion.spec.Specification.get_path_params
    functionSourceFile: connexion.spec
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.int
    - copy.deepcopy.get
    - connexion.utils.deep_get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - path
    - method
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 103
    functionName: connexion.spec.Specification.get_operation
    functionSourceFile: connexion.spec
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.int
    - connexion.utils.deep_get
    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: 107
    functionName: connexion.spec.Specification.raw
    functionSourceFile: connexion.spec
    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: 111
    functionName: connexion.spec.Specification.version
    functionSourceFile: connexion.spec
    functionUses: 0
    functionsReached:
    - connexion.spec.Specification._get_spec_version
    - collections.abc.Mapping.get
    - err.format
    - version_string.split
    - <builtin>.map
    - copy.deepcopy.get
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - spec
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 170
    functionName: connexion.spec.Specification._get_spec_version
    functionSourceFile: connexion.spec
    functionUses: 7
    functionsReached:
    - collections.abc.Mapping.get
    - err.format
    - version_string.split
    - <builtin>.map
    - copy.deepcopy.get
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised:
    - InvalidSpecification
    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: 115
    functionName: connexion.spec.Specification.security
    functionSourceFile: connexion.spec
    functionUses: 0
    functionsReached:
    - copy.deepcopy.get
    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: 120
    functionName: connexion.spec.Specification.security_schemes
    functionSourceFile: connexion.spec
    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
    - k
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 123
    functionName: connexion.spec.Specification.__getitem__
    functionSourceFile: connexion.spec
    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: 126
    functionName: connexion.spec.Specification.__iter__
    functionSourceFile: connexion.spec
    functionUses: 0
    functionsReached:
    - copy.deepcopy.__iter__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: copy.deepcopy.__iter__
    functionSourceFile: copy
    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: 129
    functionName: connexion.spec.Specification.__len__
    functionSourceFile: connexion.spec
    functionUses: 0
    functionsReached:
    - copy.deepcopy.__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: copy.deepcopy.__len__
    functionSourceFile: copy
    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:
    - arguments
    - specification
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 133
    functionName: connexion.spec.Specification._load_spec_from_file
    functionSourceFile: connexion.spec
    functionUses: 4
    functionsReached:
    - contents.decode
    - specification.open
    - openapi_yaml.read
    - jinja2.Template
    - yaml.safe_load
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: specification.open
    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: openapi_yaml.read
    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: contents.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: jinja2.Template
    functionSourceFile: jinja2
    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: yaml.safe_load
    functionSourceFile: yaml
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - cls
    - spec
    - arguments
    - base_uri
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 153
    functionName: connexion.spec.Specification.from_file
    functionSourceFile: connexion.spec
    functionUses: 3
    functionsReached:
    - contents.decode
    - copy.deepcopy.items
    - copy.deepcopy.pop
    - jsonschema.RefResolver
    - connexion.utils.deep_get
    - jsonschema.RefResolver.resolving
    - openapi_yaml.read
    - yaml.safe_load
    - <builtin>.tuple
    - connexion.spec.Specification.from_dict
    - validator.validate
    - specification.open
    - connexion.json_schema.resolve_refs
    - connexion.spec.Specification._load_spec_from_file
    - version_string.split
    - connexion.spec.Specification.__init__
    - collections.abc.Mapping.items
    - <builtin>.enumerate
    - connexion.spec.OpenAPISpecification._set_defaults
    - connexion.spec.Swagger2Specification._set_defaults
    - connexion.spec.create_spec_validator
    - <builtin>.int
    - connexion.json_schema.resolve_refs._do_resolve
    - jsonschema.validators.extend
    - <builtin>.str
    - jinja2.Template
    - pathlib.Path
    - connexion.spec.Specification._get_spec_version
    - collections.abc.Mapping.get
    - connexion.spec.Specification.from_dict.enforce_string_keys
    - err.format
    - spec.setdefault
    - <builtin>.map
    - <builtin>.isinstance
    - copy.deepcopy
    - connexion.spec.Specification._validate_spec
    - copy.deepcopy.update
    - copy.deepcopy.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - cls
    - spec
    - base_uri
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 189
    functionName: connexion.spec.Specification.from_dict
    functionSourceFile: connexion.spec
    functionUses: 5
    functionsReached:
    - copy.deepcopy.items
    - copy.deepcopy.pop
    - jsonschema.RefResolver
    - connexion.utils.deep_get
    - jsonschema.RefResolver.resolving
    - <builtin>.tuple
    - validator.validate
    - connexion.json_schema.resolve_refs
    - version_string.split
    - connexion.spec.Specification.__init__
    - collections.abc.Mapping.items
    - <builtin>.enumerate
    - connexion.spec.OpenAPISpecification._set_defaults
    - connexion.spec.Swagger2Specification._set_defaults
    - connexion.spec.create_spec_validator
    - <builtin>.int
    - connexion.json_schema.resolve_refs._do_resolve
    - copy.deepcopy.update
    - jsonschema.validators.extend
    - <builtin>.str
    - connexion.spec.Specification._get_spec_version
    - collections.abc.Mapping.get
    - connexion.spec.Specification.from_dict.enforce_string_keys
    - err.format
    - spec.setdefault
    - <builtin>.map
    - <builtin>.isinstance
    - copy.deepcopy
    - connexion.spec.Specification._validate_spec
    - copy.deepcopy.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - cls
    - spec
    - base_uri
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 162
    functionName: connexion.spec.Specification.from_url
    functionSourceFile: connexion.spec
    functionUses: 3
    functionsReached:
    - copy.deepcopy.items
    - copy.deepcopy.pop
    - jsonschema.RefResolver
    - connexion.utils.deep_get
    - jsonschema.RefResolver.resolving
    - <builtin>.tuple
    - connexion.spec.Specification.from_dict
    - validator.validate
    - connexion.json_schema.resolve_refs
    - version_string.split
    - connexion.spec.Specification.__init__
    - collections.abc.Mapping.items
    - <builtin>.enumerate
    - connexion.spec.OpenAPISpecification._set_defaults
    - connexion.spec.Swagger2Specification._set_defaults
    - connexion.spec.create_spec_validator
    - <builtin>.int
    - connexion.json_schema.resolve_refs._do_resolve
    - copy.deepcopy.update
    - jsonschema.validators.extend
    - <builtin>.str
    - connexion.spec.Specification._get_spec_version
    - collections.abc.Mapping.get
    - connexion.spec.Specification.from_dict.enforce_string_keys
    - err.format
    - spec.setdefault
    - <builtin>.map
    - <builtin>.isinstance
    - copy.deepcopy
    - connexion.spec.Specification._validate_spec
    - copy.deepcopy.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: collections.abc.Mapping.get
    functionSourceFile: collections
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_string.split
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: err.format
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 194
    functionName: connexion.spec.Specification.from_dict.enforce_string_keys
    functionSourceFile: connexion.spec
    functionUses: 6
    functionsReached:
    - <builtin>.isinstance
    - connexion.spec.Specification.from_dict.enforce_string_keys
    - <builtin>.str
    - collections.abc.Mapping.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: collections.abc.Mapping.items
    functionSourceFile: collections
    functionUses: 7
    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: 206
    functionName: connexion.spec.Specification.clone
    functionSourceFile: connexion.spec
    functionUses: 1
    functionsReached:
    - copy.deepcopy
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - base_path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 220
    functionName: connexion.spec.Specification.with_base_path
    functionSourceFile: connexion.spec
    functionUses: 0
    functionsReached:
    - copy.deepcopy
    - connexion.spec.Specification.clone
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - base_path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 232
    functionName: connexion.spec.Specification.base_path
    functionSourceFile: connexion.spec
    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: connexion.spec.Swagger2Specification
    functionSourceFile: connexion.spec
    functionUses: 0
    functionsReached:
    - pkgutil.get_data
    - 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: spec.setdefault
    functionSourceFile: <builtin>
    functionUses: 9
    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: 255
    functionName: connexion.spec.Swagger2Specification.produces
    functionSourceFile: connexion.spec
    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: 259
    functionName: connexion.spec.Swagger2Specification.consumes
    functionSourceFile: connexion.spec
    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: 263
    functionName: connexion.spec.Swagger2Specification.definitions
    functionSourceFile: connexion.spec
    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: 267
    functionName: connexion.spec.Swagger2Specification.parameter_definitions
    functionSourceFile: connexion.spec
    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: 271
    functionName: connexion.spec.Swagger2Specification.response_definitions
    functionSourceFile: connexion.spec
    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: 275
    functionName: connexion.spec.Swagger2Specification.security_schemes
    functionSourceFile: connexion.spec
    functionUses: 0
    functionsReached:
    - copy.deepcopy.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - base_path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 283
    functionName: connexion.spec.Swagger2Specification.base_path
    functionSourceFile: connexion.spec
    functionUses: 0
    functionsReached:
    - urllib.parse.urlsplit.path.rstrip
    - copy.deepcopy.get
    - connexion.spec.canonical_base_path
    linkageType: 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: connexion.spec.OpenAPISpecification
    functionSourceFile: connexion.spec
    functionUses: 0
    functionsReached:
    - pkgutil.get_data
    - json.loads
    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: 304
    functionName: connexion.spec.OpenAPISpecification.security_schemes
    functionSourceFile: connexion.spec
    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: 308
    functionName: connexion.spec.OpenAPISpecification.components
    functionSourceFile: connexion.spec
    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
    - base_path
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 327
    functionName: connexion.spec.OpenAPISpecification.base_path
    functionSourceFile: connexion.spec
    functionUses: 0
    functionsReached:
    - server.pop
    - connexion.spec.canonical_base_path
    - copy.deepcopy
    - urllib.parse.urlsplit
    - urllib.parse.urlsplit.path.rstrip
    - server_vars.items
    - copy.deepcopy.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: server.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: server_vars.items
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: connexion.json_schema
    functionSourceFile: connexion.json_schema
    functionUses: 0
    functionsReached:
    - connexion.json_schema.allow_nullable
    - jsonschema.validators.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - stream
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 26
    functionName: connexion.json_schema.ExtendedSafeLoader.__init__
    functionSourceFile: connexion.json_schema
    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:
    - <ast.Constant object at 0x7f5d94337880>
    argNames:
    - self
    - node
    - deep
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 31
    functionName: connexion.json_schema.ExtendedSafeLoader.extended_construct_mapping
    functionSourceFile: connexion.json_schema
    functionUses: 0
    functionsReached:
    - connexion.json_schema.ExtendedSafeLoader.extended_construct_mapping
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - uri
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 39
    functionName: connexion.json_schema.FileHandler.__call__
    functionSourceFile: connexion.json_schema
    functionUses: 0
    functionsReached:
    - os.path.join
    - urllib.parse.urlparse
    - connexion.json_schema.FileHandler._uri_to_path
    - urllib.request.url2pathname
    - <builtin>.open
    - os.path.abspath
    - yaml.load
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - uri
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 45
    functionName: connexion.json_schema.FileHandler._uri_to_path
    functionSourceFile: connexion.json_schema
    functionUses: 1
    functionsReached:
    - os.path.join
    - urllib.parse.urlparse
    - urllib.request.url2pathname
    - os.path.abspath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: yaml.load
    functionSourceFile: yaml
    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: urllib.parse.urlparse
    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: urllib.request.url2pathname
    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
    - uri
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 56
    functionName: connexion.json_schema.URLHandler.__call__
    functionSourceFile: connexion.json_schema
    functionUses: 0
    functionsReached:
    - requests.get
    - contextlib.closing
    - response.raise_for_status
    - io.StringIO
    - yaml.load
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: requests.get
    functionSourceFile: requests
    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.raise_for_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: io.StringIO
    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: contextlib.closing
    functionSourceFile: contextlib
    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: jsonschema.RefResolver
    functionSourceFile: jsonschema
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - node
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 83
    functionName: connexion.json_schema.resolve_refs._do_resolve
    functionSourceFile: connexion.json_schema
    functionUses: 8
    functionsReached:
    - <builtin>.int
    - copy.deepcopy.items
    - connexion.json_schema.resolve_refs._do_resolve
    - <builtin>.isinstance
    - copy.deepcopy.pop
    - <builtin>.enumerate
    - jsonschema.RefResolver.resolving
    - connexion.utils.deep_get
    - copy.deepcopy.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: copy.deepcopy.update
    functionSourceFile: copy
    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: copy.deepcopy.pop
    functionSourceFile: copy
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jsonschema.RefResolver.resolving
    functionSourceFile: jsonschema
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: copy.deepcopy.items
    functionSourceFile: copy
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - exception
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 110
    functionName: connexion.json_schema.format_error_with_path
    functionSourceFile: connexion.json_schema
    functionUses: 3
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - validation_fn
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 117
    functionName: connexion.json_schema.allow_nullable
    functionSourceFile: connexion.json_schema
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - validator
    - to_validate
    - instance
    - schema
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 120
    functionName: connexion.json_schema.allow_nullable.nullable_validation_fn
    functionSourceFile: connexion.json_schema
    functionUses: 0
    functionsReached:
    - schema.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: schema.get
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - validator
    - wo
    - instance
    - schema
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 131
    functionName: connexion.json_schema.validate_writeOnly
    functionSourceFile: connexion.json_schema
    functionUses: 0
    functionsReached:
    - jsonschema.exceptions.ValidationError
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jsonschema.exceptions.ValidationError
    functionSourceFile: jsonschema
    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: connexion.frameworks
    functionSourceFile: connexion.frameworks
    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: connexion.frameworks.starlette
    functionSourceFile: connexion.frameworks.starlette
    functionUses: 0
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - response
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 17
    functionName: connexion.frameworks.starlette.Starlette.is_framework_response
    functionSourceFile: connexion.frameworks.starlette
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 21
    functionName: connexion.frameworks.starlette.Starlette.connexion_to_framework_response
    functionSourceFile: connexion.frameworks.starlette
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - starlette.responses.Response
    - connexion.frameworks.starlette.Starlette.build_response
    - starlette.responses.JSONResponse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 5
    argDefaultValues: []
    argNames:
    - cls
    - data
    - content_type
    - headers
    - status_code
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 30
    functionName: connexion.frameworks.starlette.Starlette.build_response
    functionSourceFile: connexion.frameworks.starlette
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - starlette.responses.Response
    - starlette.responses.JSONResponse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: starlette.responses.JSONResponse
    functionSourceFile: starlette
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - scope
    - receive
    - uri_parser
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 51
    functionName: connexion.frameworks.starlette.Starlette.get_request
    functionSourceFile: connexion.frameworks.starlette
    functionUses: 1
    functionsReached:
    - <builtin>.hasattr
    - connexion.lifecycle.ConnexionRequest.__init__
    - starlette.requests.Request
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - match
    - types
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 59
    functionName: connexion.frameworks.starlette.convert_path_parameter
    functionSourceFile: connexion.frameworks.starlette
    functionUses: 0
    functionsReached:
    - match.group
    - PATH_PARAMETER_CONVERTERS.get
    - name.replace
    - types.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: types.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: PATH_PARAMETER_CONVERTERS.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: name.replace
    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: PATH_PARAMETER.sub
    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: connexion.frameworks.abstract
    functionSourceFile: connexion.frameworks.abstract
    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: connexion.frameworks.abstract.Framework
    functionSourceFile: connexion.frameworks.abstract
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    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: 0
    functionLinenumber: 10
    functionName: connexion.frameworks.abstract.Framework.is_framework_response
    functionSourceFile: connexion.frameworks.abstract
    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:
    - cls
    - response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 16
    functionName: connexion.frameworks.abstract.Framework.connexion_to_framework_response
    functionSourceFile: connexion.frameworks.abstract
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - cls
    - data
    - content_type
    - headers
    - status_code
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 22
    functionName: connexion.frameworks.abstract.Framework.build_response
    functionSourceFile: connexion.frameworks.abstract
    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:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 34
    functionName: connexion.frameworks.abstract.Framework.get_request
    functionSourceFile: connexion.frameworks.abstract
    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:
    - request
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 40
    functionName: connexion.frameworks.abstract.Framework.get_body
    functionSourceFile: connexion.frameworks.abstract
    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: connexion.options
    functionSourceFile: connexion.options
    functionUses: 0
    functionsReached:
    - 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: connexion.options.SwaggerUIOptions
    functionSourceFile: connexion.options
    functionUses: 0
    functionsReached:
    - dataclasses.field
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d943c02b0>
    - <ast.Tuple object at 0x7f5d943c0340>
    argNames:
    - self
    - options
    - oas_version
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 51
    functionName: connexion.options.SwaggerUIConfig.__init__
    functionSourceFile: connexion.options
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    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: 70
    functionName: connexion.options.SwaggerUIConfig.openapi_spec_available
    functionSourceFile: connexion.options
    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: connexion.options.SwaggerUIConfig.openapi_spec_path
    functionSourceFile: connexion.options
    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: 80
    functionName: connexion.options.SwaggerUIConfig.swagger_ui_available
    functionSourceFile: connexion.options
    functionUses: 0
    functionsReached:
    - logger.warning
    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: 88
    functionName: connexion.options.SwaggerUIConfig.swagger_ui_path
    functionSourceFile: connexion.options
    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: connexion.options.SwaggerUIConfig.swagger_ui_template_dir
    functionSourceFile: connexion.options
    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: connexion.options.SwaggerUIConfig.swagger_ui_config
    functionSourceFile: connexion.options
    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: 103
    functionName: connexion.options.SwaggerUIConfig.swagger_ui_template_arguments
    functionSourceFile: connexion.options
    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: connexion.jsonifier
    functionSourceFile: connexion.jsonifier
    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:
    - default_fn
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 13
    functionName: connexion.jsonifier.wrap_default
    functionSourceFile: connexion.jsonifier
    functionUses: 2
    functionsReached:
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - o
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 25
    functionName: connexion.jsonifier.wrap_default.wrapped_default
    functionSourceFile: connexion.jsonifier
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - connexion.jsonifier.JSONEncoder.default
    - connexion.frameworks.flask.FlaskJSONProvider.default
    - <builtin>.isinstance
    - o.isoformat
    - <builtin>.str
    - <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: o.isoformat
    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
    - o
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 60
    functionName: connexion.jsonifier.JSONEncoder.default
    functionSourceFile: connexion.jsonifier
    functionUses: 1
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - o
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 127
    functionName: connexion.frameworks.flask.FlaskJSONProvider.default
    functionSourceFile: connexion.frameworks.flask
    functionUses: 1
    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: 2
    functionLinenumber: -1
    functionName: connexion.jsonifier.JSONEncoder
    functionSourceFile: connexion.jsonifier
    functionUses: 0
    functionsReached:
    - functools.wraps
    - connexion.jsonifier.wrap_default
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Name object at 0x7f5d942fc9d0>
    argNames:
    - self
    - json_
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 69
    functionName: connexion.jsonifier.Jsonifier.__init__
    functionSourceFile: connexion.jsonifier
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - data
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 78
    functionName: connexion.jsonifier.Jsonifier.dumps
    functionSourceFile: connexion.jsonifier
    functionUses: 1
    functionsReached:
    - json.dumps
    - flask.json.dumps
    - kwargs.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: flask.json.dumps
    functionSourceFile: flask
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 86
    functionName: connexion.jsonifier.Jsonifier.loads
    functionSourceFile: connexion.jsonifier
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - data.decode
    - json.loads
    - flask.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: flask.json.loads
    functionSourceFile: flask
    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: -1
    functionName: connexion.middleware.request_validation
    functionSourceFile: connexion.middleware.request_validation
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - next_app
    - operation
    - strict_validation
    - validator_map
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 20
    functionName: connexion.middleware.request_validation.RequestValidationOperation.__init__
    functionSourceFile: connexion.middleware.request_validation
    functionUses: 1
    functionsReached:
    - VALIDATOR_MAP.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: VALIDATOR_MAP.copy
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - headers
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 34
    functionName: connexion.middleware.request_validation.RequestValidationOperation.extract_content_type
    functionSourceFile: connexion.middleware.request_validation
    functionUses: 1
    functionsReached:
    - parameter.startswith
    - decoded_key.lower
    - parameters.split
    - value.decode
    - key.decode
    - <builtin>.isinstance
    - connexion.utils.split_content_type
    - content_type.split
    - headers.items
    - connexion.utils.extract_content_type
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - mime_type
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 56
    functionName: connexion.middleware.request_validation.RequestValidationOperation.validate_mime_type
    functionSourceFile: connexion.middleware.request_validation
    functionUses: 1
    functionsReached:
    - mime_type.lower
    - c.lower
    linkageType: pythonLinkage
    raised:
    - UnsupportedMediaTypeProblem
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: c.lower
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: mime_type.lower
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    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: 1
    functionLinenumber: 75
    functionName: connexion.middleware.request_validation.RequestValidationOperation.security_query_params
    functionSourceFile: connexion.middleware.request_validation
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - scope
    - receive
    - send
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 97
    functionName: connexion.middleware.request_validation.RequestValidationOperation.__call__
    functionSourceFile: connexion.middleware.request_validation
    functionUses: 0
    functionsReached:
    - mime_type.lower
    - param_def.get
    - parameters.split
    - value.decode
    - key.decode
    - logger.info
    - content_type.split
    - connexion.middleware.request_validation.RequestValidationOperation.extract_content_type
    - c.lower
    - headers.items
    - <builtin>.len
    - connexion.middleware.request_validation.RequestValidationOperation.validate_mime_type
    - decoded_key.lower
    - parameter_validator.validate
    - parameter.startswith
    - <builtin>.isinstance
    - connexion.utils.split_content_type
    - connexion.utils.is_nullable
    - validator.wrap_receive
    - connexion.utils.extract_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: parameter_validator.validate
    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: logger.info
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: validator.wrap_receive
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 6
    argDefaultValues: []
    argNames:
    - self
    - args
    - strict_validation
    - validator_map
    - uri_parser_class
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 148
    functionName: connexion.middleware.request_validation.RequestValidationAPI.__init__
    functionSourceFile: connexion.middleware.request_validation
    functionUses: 0
    functionsReached:
    - logger.debug
    - <builtin>.super
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - operation
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 166
    functionName: connexion.middleware.request_validation.RequestValidationAPI.make_operation
    functionSourceFile: connexion.middleware.request_validation
    functionUses: 0
    functionsReached:
    - VALIDATOR_MAP.copy
    - connexion.middleware.request_validation.RequestValidationOperation.__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: connexion.validators
    functionSourceFile: connexion.validators
    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: connexion.validators.form_data
    functionSourceFile: connexion.validators.form_data
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 7
    argDefaultValues: []
    argNames:
    - self
    - schema
    - required
    - nullable
    - encoding
    - strict_validation
    - uri_parser
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 20
    functionName: connexion.validators.form_data.FormDataValidator.__init__
    functionSourceFile: connexion.validators.form_data
    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: 1
    functionLinenumber: 40
    functionName: connexion.validators.form_data.FormDataValidator._validator
    functionSourceFile: connexion.validators.form_data
    functionUses: 0
    functionsReached:
    - jsonschema.validators.extend
    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: 46
    functionName: connexion.validators.form_data.FormDataValidator._form_parser_cls
    functionSourceFile: connexion.validators.form_data
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - stream
    - scope
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 49
    functionName: connexion.validators.form_data.FormDataValidator._parse
    functionSourceFile: connexion.validators.form_data
    functionUses: 0
    functionsReached:
    - param_schema.get
    - connexion.validators.form_data.FormDataValidator._parse.is_file
    - schema.get
    - data.keys
    - data.getlist
    - <builtin>.isinstance
    - connexion.validators.form_data.FormDataValidator._form_parser_cls
    - <builtin>.len
    - starlette.datastructures.Headers
    - data.update
    - starlette.formparsers.FormParser.parse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: starlette.datastructures.Headers
    functionSourceFile: starlette
    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: starlette.formparsers.FormParser.parse
    functionSourceFile: starlette
    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: data.keys
    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: data.getlist
    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:
    - schema
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 63
    functionName: connexion.validators.form_data.FormDataValidator._parse.is_file
    functionSourceFile: connexion.validators.form_data
    functionUses: 1
    functionsReached:
    - schema.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: data.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - body
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 96
    functionName: connexion.validators.form_data.FormDataValidator._validate
    functionSourceFile: connexion.validators.form_data
    functionUses: 0
    functionsReached:
    - <builtin>.set
    - logger.error
    - data.keys
    - connexion.json_schema.format_error_with_path
    - <builtin>.isinstance
    - connexion.validators.form_data.FormDataValidator._validate_params_strictly
    - <builtin>.str
    linkageType: pythonLinkage
    raised:
    - BadRequestProblem
    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: 111
    functionName: connexion.validators.form_data.FormDataValidator._validate_params_strictly
    functionSourceFile: connexion.validators.form_data
    functionUses: 1
    functionsReached:
    - data.keys
    - <builtin>.set
    linkageType: pythonLinkage
    raised:
    - ExtraParameterProblem
    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: connexion.validators.form_data.MultiPartFormDataValidator._form_parser_cls
    functionSourceFile: connexion.validators.form_data
    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: connexion.validators.json
    functionSourceFile: connexion.validators.json
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 7
    argDefaultValues: []
    argNames:
    - self
    - schema
    - required
    - nullable
    - encoding
    - strict_validation
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 26
    functionName: connexion.validators.json.JSONRequestBodyValidator.__init__
    functionSourceFile: connexion.validators.json
    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: 1
    functionLinenumber: 45
    functionName: connexion.validators.json.JSONRequestBodyValidator._validator
    functionSourceFile: connexion.validators.json
    functionUses: 0
    functionsReached:
    - jsonschema.validators.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - stream
    - scope
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 50
    functionName: connexion.validators.json.JSONRequestBodyValidator._parse
    functionSourceFile: connexion.validators.json
    functionUses: 0
    functionsReached:
    - bytes_body.decode
    - json.loads
    linkageType: pythonLinkage
    raised:
    - BadRequestProblem
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: bytes_body.decode
    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
    - body
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 64
    functionName: connexion.validators.json.JSONRequestBodyValidator._validate
    functionSourceFile: connexion.validators.json
    functionUses: 0
    functionsReached:
    - logger.info
    - connexion.json_schema.format_error_with_path
    - <builtin>.str
    linkageType: pythonLinkage
    raised:
    - BadRequestProblem
    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: 87
    functionName: connexion.validators.json.DefaultsJSONRequestBodyValidator._validator
    functionSourceFile: connexion.validators.json
    functionUses: 0
    functionsReached:
    - jsonschema.validators.extend
    - connexion.validators.json.DefaultsJSONRequestBodyValidator.extend_with_set_default
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - validator_class
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 95
    functionName: connexion.validators.json.DefaultsJSONRequestBodyValidator.extend_with_set_default
    functionSourceFile: connexion.validators.json
    functionUses: 1
    functionsReached:
    - jsonschema.validators.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - validator
    - properties
    - instance
    - schema
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 98
    functionName: connexion.validators.json.DefaultsJSONRequestBodyValidator.extend_with_set_default.set_defaults
    functionSourceFile: connexion.validators.json
    functionUses: 0
    functionsReached:
    - properties.items
    - instance.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: properties.items
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: instance.setdefault
    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: 114
    functionName: connexion.validators.json.JSONResponseBodyValidator.validator
    functionSourceFile: connexion.validators.json
    functionUses: 0
    functionsReached:
    - jsonschema.validators.extend
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - stream
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 119
    functionName: connexion.validators.json.JSONResponseBodyValidator._parse
    functionSourceFile: connexion.validators.json
    functionUses: 0
    functionsReached:
    - json.loads
    linkageType: pythonLinkage
    raised:
    - NonConformingResponseBody
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - body
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 130
    functionName: connexion.validators.json.JSONResponseBodyValidator._validate
    functionSourceFile: connexion.validators.json
    functionUses: 0
    functionsReached:
    - connexion.json_schema.format_error_with_path
    - logger.warning
    - <builtin>.str
    linkageType: pythonLinkage
    raised:
    - NonConformingResponseBody
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - stream
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 145
    functionName: connexion.validators.json.TextResponseBodyValidator._parse
    functionSourceFile: connexion.validators.json
    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: connexion.validators.parameter
    functionSourceFile: connexion.validators.parameter
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f5d94337130>
    - <ast.Constant object at 0x7f5d93fb99d0>
    argNames:
    - self
    - parameters
    - uri_parser
    - strict_validation
    - security_query_params
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 22
    functionName: connexion.validators.parameter.ParameterValidator.__init__
    functionSourceFile: connexion.validators.parameter
    functionUses: 0
    functionsReached:
    - collections.defaultdict
    - <builtin>.set
    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 0x7f5d93fb9820>
    argNames:
    - parameter_type
    - value
    - param
    - param_name
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 46
    functionName: connexion.validators.parameter.ParameterValidator.validate_parameter
    functionSourceFile: connexion.validators.parameter
    functionUses: 6
    functionsReached:
    - <builtin>.hasattr
    - param.get
    - jsonschema.Draft4Validator.validate
    - jsonschema.Draft4Validator
    - param_def.get
    - <builtin>.locals
    - copy.deepcopy
    - connexion.utils.is_nullable
    - <builtin>.str
    - value.strip
    - connexion.utils.is_null
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jsonschema.Draft4Validator
    functionSourceFile: jsonschema
    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: jsonschema.Draft4Validator.validate
    functionSourceFile: jsonschema
    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:
    - request_params
    - spec_params
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 66
    functionName: connexion.validators.parameter.ParameterValidator.validate_parameter_list
    functionSourceFile: connexion.validators.parameter
    functionUses: 3
    functionsReached:
    - <builtin>.set
    - request_params.difference
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_params.difference
    functionSourceFile: <builtin>
    functionUses: 4
    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 0x7f5d93e6d820>
    argNames:
    - self
    - request
    - security_params
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 72
    functionName: connexion.validators.parameter.ParameterValidator.validate_query_parameter_list
    functionSourceFile: connexion.validators.parameter
    functionUses: 2
    functionsReached:
    - spec_params.extend
    - <builtin>.set
    - connexion.validators.parameter.ParameterValidator.validate_parameter_list
    - request_params.difference
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: spec_params.extend
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - param
    - request
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 78
    functionName: connexion.validators.parameter.ParameterValidator.validate_query_parameter
    functionSourceFile: connexion.validators.parameter
    functionUses: 2
    functionsReached:
    - <builtin>.hasattr
    - param.get
    - jsonschema.Draft4Validator.validate
    - jsonschema.Draft4Validator
    - param_def.get
    - <builtin>.locals
    - copy.deepcopy
    - connexion.utils.is_nullable
    - connexion.validators.parameter.ParameterValidator.validate_parameter
    - <builtin>.str
    - value.strip
    - connexion.utils.is_null
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - param
    - request
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 88
    functionName: connexion.validators.parameter.ParameterValidator.validate_path_parameter
    functionSourceFile: connexion.validators.parameter
    functionUses: 2
    functionsReached:
    - <builtin>.hasattr
    - param.get
    - jsonschema.Draft4Validator.validate
    - jsonschema.Draft4Validator
    - param_def.get
    - <builtin>.locals
    - copy.deepcopy
    - connexion.utils.is_nullable
    - connexion.validators.parameter.ParameterValidator.validate_parameter
    - <builtin>.str
    - value.strip
    - connexion.utils.is_null
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - param
    - request
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 92
    functionName: connexion.validators.parameter.ParameterValidator.validate_header_parameter
    functionSourceFile: connexion.validators.parameter
    functionUses: 2
    functionsReached:
    - <builtin>.hasattr
    - param.get
    - jsonschema.Draft4Validator.validate
    - jsonschema.Draft4Validator
    - request.headers.get
    - param_def.get
    - <builtin>.locals
    - copy.deepcopy
    - connexion.utils.is_nullable
    - connexion.validators.parameter.ParameterValidator.validate_parameter
    - <builtin>.str
    - value.strip
    - connexion.utils.is_null
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.get
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - param
    - request
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 96
    functionName: connexion.validators.parameter.ParameterValidator.validate_cookie_parameter
    functionSourceFile: connexion.validators.parameter
    functionUses: 2
    functionsReached:
    - <builtin>.hasattr
    - param.get
    - jsonschema.Draft4Validator.validate
    - jsonschema.Draft4Validator
    - param_def.get
    - <builtin>.locals
    - copy.deepcopy
    - connexion.utils.is_nullable
    - connexion.validators.parameter.ParameterValidator.validate_parameter
    - <builtin>.str
    - request.cookies.get
    - value.strip
    - connexion.utils.is_null
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.cookies.get
    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:
    - self
    - scope
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 100
    functionName: connexion.validators.parameter.ParameterValidator.validate
    functionSourceFile: connexion.validators.parameter
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - param.get
    - starlette.requests.Request
    - connexion.validators.parameter.ParameterValidator.validate_query_parameter_list
    - jsonschema.Draft4Validator.validate
    - jsonschema.Draft4Validator
    - param_def.get
    - <builtin>.locals
    - logger.debug
    - connexion.validators.parameter.ParameterValidator.validate_parameter_list
    - value.strip
    - <builtin>.set
    - request.headers.get
    - connexion.validators.parameter.ParameterValidator.validate_path_parameter
    - connexion.validators.parameter.ParameterValidator.validate_cookie_parameter
    - request_params.difference
    - connexion.validators.parameter.ParameterValidator.validate_parameter
    - <builtin>.str
    - request.cookies.get
    - connexion.lifecycle.ConnexionRequest.__init__
    - connexion.utils.is_null
    - connexion.validators.parameter.ParameterValidator.validate_request
    - scope.get
    - connexion.validators.parameter.ParameterValidator.validate_header_parameter
    - connexion.validators.parameter.ParameterValidator.validate_query_parameter
    - spec_params.extend
    - copy.deepcopy
    - connexion.utils.is_nullable
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 0
    IfCount: 6
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 106
    functionName: connexion.validators.parameter.ParameterValidator.validate_request
    functionSourceFile: connexion.validators.parameter
    functionUses: 1
    functionsReached:
    - <builtin>.hasattr
    - param.get
    - connexion.validators.parameter.ParameterValidator.validate_query_parameter_list
    - jsonschema.Draft4Validator.validate
    - jsonschema.Draft4Validator
    - param_def.get
    - <builtin>.locals
    - connexion.validators.parameter.ParameterValidator.validate_parameter_list
    - value.strip
    - <builtin>.set
    - request.headers.get
    - connexion.validators.parameter.ParameterValidator.validate_path_parameter
    - connexion.validators.parameter.ParameterValidator.validate_cookie_parameter
    - request_params.difference
    - connexion.validators.parameter.ParameterValidator.validate_parameter
    - <builtin>.str
    - request.cookies.get
    - connexion.utils.is_null
    - connexion.validators.parameter.ParameterValidator.validate_header_parameter
    - connexion.validators.parameter.ParameterValidator.validate_query_parameter
    - spec_params.extend
    - copy.deepcopy
    - connexion.utils.is_nullable
    linkageType: pythonLinkage
    raised:
    - BadRequestProblem
    - ExtraParameterProblem
    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: connexion.validators.abstract
    functionSourceFile: connexion.validators.abstract
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 7
    argDefaultValues: []
    argNames:
    - self
    - schema
    - required
    - nullable
    - encoding
    - strict_validation
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 31
    functionName: connexion.validators.abstract.AbstractRequestBodyValidator.__init__
    functionSourceFile: connexion.validators.abstract
    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
    - stream
    - scope
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 55
    functionName: connexion.validators.abstract.AbstractRequestBodyValidator._parse
    functionSourceFile: connexion.validators.abstract
    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
    - body
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 60
    functionName: connexion.validators.abstract.AbstractRequestBodyValidator._validate
    functionSourceFile: connexion.validators.abstract
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - receive
    - body
    - scope
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 67
    functionName: connexion.validators.abstract.AbstractRequestBodyValidator._insert_body
    functionSourceFile: connexion.validators.abstract
    functionUses: 1
    functionsReached:
    - starlette.datastructures.MutableHeaders
    - scope.copy
    - json.dumps
    - <builtin>.range
    - copy.deepcopy
    - <builtin>.iter
    - <builtin>.str
    - connexion.validators.abstract.AbstractRequestBodyValidator._insert_messages
    - <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: starlette.datastructures.MutableHeaders
    functionSourceFile: starlette
    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:
    - receive
    - messages
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 101
    functionName: connexion.validators.abstract.AbstractRequestBodyValidator._insert_messages
    functionSourceFile: connexion.validators.abstract
    functionUses: 2
    functionsReached:
    - <builtin>.iter
    linkageType: 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: 108
    functionName: connexion.validators.abstract.AbstractRequestBodyValidator._insert_messages.receive_
    functionSourceFile: connexion.validators.abstract
    functionUses: 2
    functionsReached:
    - connexion.validators.abstract.AbstractRequestBodyValidator._insert_messages.receive_
    - <builtin>.next
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - receive
    - scope
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 116
    functionName: connexion.validators.abstract.AbstractRequestBodyValidator.wrap_receive
    functionSourceFile: connexion.validators.abstract
    functionUses: 0
    functionsReached:
    - <builtin>.next
    - connexion.validators.abstract.AbstractRequestBodyValidator._insert_body
    - <builtin>.iter
    - json.dumps
    - <builtin>.range
    - connexion.validators.abstract.AbstractRequestBodyValidator._validate
    - starlette.datastructures.Headers
    - connexion.validators.abstract.AbstractRequestBodyValidator._parse
    - <builtin>.len
    - starlette.datastructures.Headers.get
    - <builtin>.int
    - connexion.validators.abstract.AbstractRequestBodyValidator._insert_messages.receive_
    - message.get
    - <builtin>.str
    - starlette.datastructures.MutableHeaders
    - connexion.validators.abstract.AbstractRequestBodyValidator._insert_messages
    - messages.append
    - connexion.validators.abstract.AbstractRequestBodyValidator.wrap_receive.stream
    - scope.copy
    - copy.deepcopy
    linkageType: pythonLinkage
    raised:
    - BadRequestProblem
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: starlette.datastructures.Headers.get
    functionSourceFile: starlette
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 136
    functionName: connexion.validators.abstract.AbstractRequestBodyValidator.wrap_receive.stream
    functionSourceFile: connexion.validators.abstract
    functionUses: 1
    functionsReached:
    - connexion.validators.abstract.AbstractRequestBodyValidator._insert_messages.receive_
    - messages.append
    - <builtin>.next
    - message.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: message.get
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - scope
    - schema
    - nullable
    - encoding
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 168
    functionName: connexion.validators.abstract.AbstractResponseBodyValidator.__init__
    functionSourceFile: connexion.validators.abstract
    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
    - stream
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 181
    functionName: connexion.validators.abstract.AbstractResponseBodyValidator._parse
    functionSourceFile: connexion.validators.abstract
    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
    - body
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 184
    functionName: connexion.validators.abstract.AbstractResponseBodyValidator._validate
    functionSourceFile: connexion.validators.abstract
    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
    - send
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 191
    functionName: connexion.validators.abstract.AbstractResponseBodyValidator.wrap_send
    functionSourceFile: connexion.validators.abstract
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - message
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 196
    functionName: connexion.validators.abstract.AbstractResponseBodyValidator.wrap_send.send_
    functionSourceFile: connexion.validators.abstract
    functionUses: 0
    functionsReached:
    - connexion.validators.abstract.AbstractResponseBodyValidator._validate
    - messages.pop
    - connexion.validators.abstract.AbstractResponseBodyValidator._parse
    - message.get
    - messages.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: messages.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: 1
    functionLinenumber: -1
    functionName: connexion.datastructures
    functionSourceFile: connexion.datastructures
    functionUses: 0
    functionsReached:
    - <builtin>.object
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 16
    functionName: connexion.datastructures.MediaTypeDict.__getitem__
    functionSourceFile: connexion.datastructures
    functionUses: 0
    functionsReached:
    - fnmatch.fnmatch
    - <builtin>.sorted
    - <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: connexion.datastructures.MediaTypeDict.__getitem__.<lambda1>
    functionSourceFile: connexion.datastructures
    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 0x7f5d94532e50>
    argNames:
    - self
    - item
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 23
    functionName: connexion.datastructures.MediaTypeDict.get
    functionSourceFile: connexion.datastructures
    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
    - item
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 29
    functionName: connexion.datastructures.MediaTypeDict.__contains__
    functionSourceFile: connexion.datastructures
    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: connexion.handlers
    functionSourceFile: connexion.handlers
    functionUses: 0
    functionsReached:
    - logging.getLogger
    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: 24
    functionName: connexion.handlers.ResolverErrorHandler.function
    functionSourceFile: connexion.handlers
    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
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 27
    functionName: connexion.handlers.ResolverErrorHandler.handle
    functionSourceFile: connexion.handlers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - ResolverProblem
    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: 34
    functionName: connexion.handlers.ResolverErrorHandler.operation_id
    functionSourceFile: connexion.handlers
    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: 38
    functionName: connexion.handlers.ResolverErrorHandler.randomize_endpoint
    functionSourceFile: connexion.handlers
    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: 41
    functionName: connexion.handlers.ResolverErrorHandler.get_path_parameter_types
    functionSourceFile: connexion.handlers
    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: 45
    functionName: connexion.handlers.ResolverErrorHandler.uri_parser_class
    functionSourceFile: connexion.handlers
    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: 49
    functionName: connexion.handlers.ResolverErrorHandler.api
    functionSourceFile: connexion.handlers
    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: 52
    functionName: connexion.handlers.ResolverErrorHandler.get_mimetype
    functionSourceFile: connexion.handlers
    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
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 55
    functionName: connexion.handlers.ResolverErrorHandler.__call__
    functionSourceFile: connexion.handlers
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - ResolverProblem
    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: connexion.middleware.swagger_ui
    functionSourceFile: connexion.middleware.swagger_ui
    functionUses: 0
    functionsReached:
    - contextvars.ContextVar
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - args
    - default
    - swagger_ui_options
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 29
    functionName: connexion.middleware.swagger_ui.SwaggerUIAPI.__init__
    functionSourceFile: connexion.middleware.swagger_ui
    functionUses: 1
    functionsReached:
    - starlette.staticfiles.StaticFiles
    - starlette.routing.Router
    - connexion.middleware.swagger_ui.SwaggerUIAPI.add_swagger_ui
    - <builtin>.super
    - connexion.middleware.swagger_ui.SwaggerUIAPI.add_openapi_json
    - starlette.templating.Jinja2Templates
    - starlette.routing.Router.mount
    - logger.info
    - <builtin>.isinstance
    - <builtin>.len
    - connexion.options.SwaggerUIConfig.__init__
    - <builtin>.str
    - logger.debug
    - starlette.routing.Router.add_route
    - connexion.middleware.swagger_ui.SwaggerUIAPI.add_openapi_yaml
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 75
    functionName: connexion.middleware.swagger_ui.SwaggerUIAPI.add_openapi_json
    functionSourceFile: connexion.middleware.swagger_ui
    functionUses: 2
    functionsReached:
    - logger.info
    - starlette.routing.Router.add_route
    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: 89
    functionName: connexion.middleware.swagger_ui.SwaggerUIAPI.add_openapi_yaml
    functionSourceFile: connexion.middleware.swagger_ui
    functionUses: 2
    functionsReached:
    - logger.debug
    - starlette.routing.Router.add_route
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 6
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 122
    functionName: connexion.middleware.swagger_ui.SwaggerUIAPI.add_swagger_ui
    functionSourceFile: connexion.middleware.swagger_ui
    functionUses: 2
    functionsReached:
    - starlette.staticfiles.StaticFiles
    - starlette.routing.Router.mount
    - <builtin>.str
    - logger.debug
    - starlette.routing.Router.add_route
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: starlette.templating.Jinja2Templates
    functionSourceFile: starlette
    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:
    - string
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 55
    functionName: connexion.middleware.swagger_ui.SwaggerUIAPI.normalize_string
    functionSourceFile: connexion.middleware.swagger_ui
    functionUses: 0
    functionsReached:
    - re.sub
    - string.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: string.strip
    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
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 58
    functionName: connexion.middleware.swagger_ui.SwaggerUIAPI._base_path_for_prefix
    functionSourceFile: connexion.middleware.swagger_ui
    functionUses: 4
    functionsReached:
    - request.scope.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: request.scope.get
    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:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 66
    functionName: connexion.middleware.swagger_ui.SwaggerUIAPI._spec_for_prefix
    functionSourceFile: connexion.middleware.swagger_ui
    functionUses: 2
    functionsReached:
    - request.scope.get
    - connexion.middleware.swagger_ui.SwaggerUIAPI._base_path_for_prefix
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 105
    functionName: connexion.middleware.swagger_ui.SwaggerUIAPI._get_openapi_json
    functionSourceFile: connexion.middleware.swagger_ui
    functionUses: 0
    functionsReached:
    - starlette.responses.Response
    - connexion.jsonifier.Jsonifier.__init__
    - json.dumps
    - kwargs.setdefault
    - connexion.jsonifier.Jsonifier.dumps
    - request.scope.get
    - connexion.middleware.swagger_ui.SwaggerUIAPI._spec_for_prefix
    - flask.json.dumps
    - connexion.middleware.swagger_ui.SwaggerUIAPI._base_path_for_prefix
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 115
    functionName: connexion.middleware.swagger_ui.SwaggerUIAPI._get_openapi_yaml
    functionSourceFile: connexion.middleware.swagger_ui
    functionUses: 0
    functionsReached:
    - starlette.responses.Response
    - yaml.dump
    - connexion.utils.yamldumper
    - request.scope.get
    - connexion.middleware.swagger_ui.SwaggerUIAPI._spec_for_prefix
    - connexion.middleware.swagger_ui.SwaggerUIAPI._base_path_for_prefix
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - request
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 148
    functionName: connexion.middleware.swagger_ui.SwaggerUIAPI.add_swagger_ui.redirect
    functionSourceFile: connexion.middleware.swagger_ui
    functionUses: 0
    functionsReached:
    - request.scope.get
    - starlette.responses.RedirectResponse
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: starlette.responses.RedirectResponse
    functionSourceFile: starlette
    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: starlette.staticfiles.StaticFiles
    functionSourceFile: starlette
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - req
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 164
    functionName: connexion.middleware.swagger_ui.SwaggerUIAPI._get_swagger_ui_home
    functionSourceFile: connexion.middleware.swagger_ui
    functionUses: 0
    functionsReached:
    - request.scope.get
    - starlette.templating.Jinja2Templates.TemplateResponse
    - connexion.middleware.swagger_ui.SwaggerUIAPI._base_path_for_prefix
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: starlette.templating.Jinja2Templates.TemplateResponse
    functionSourceFile: starlette
    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
    - request
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 177
    functionName: connexion.middleware.swagger_ui.SwaggerUIAPI._get_swagger_ui_config
    functionSourceFile: connexion.middleware.swagger_ui
    functionUses: 0
    functionsReached:
    - json.dumps
    - starlette.responses.Response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - app
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 186
    functionName: connexion.middleware.swagger_ui.SwaggerUIMiddleware.__init__
    functionSourceFile: connexion.middleware.swagger_ui
    functionUses: 0
    functionsReached:
    - starlette.routing.Router
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f5d94a19f40>
    - <ast.Constant object at 0x7f5d94a190a0>
    argNames:
    - self
    - specification
    - base_path
    - arguments
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 195
    functionName: connexion.middleware.swagger_ui.SwaggerUIMiddleware.add_api
    functionSourceFile: connexion.middleware.swagger_ui
    functionUses: 0
    functionsReached:
    - starlette.staticfiles.StaticFiles
    - starlette.routing.Router
    - connexion.middleware.swagger_ui.SwaggerUIAPI.add_swagger_ui
    - <builtin>.super
    - connexion.middleware.swagger_ui.SwaggerUIAPI.add_openapi_json
    - connexion.middleware.swagger_ui.SwaggerUIAPI.__init__
    - starlette.templating.Jinja2Templates
    - starlette.routing.Router.mount
    - logger.info
    - <builtin>.isinstance
    - <builtin>.len
    - connexion.options.SwaggerUIConfig.__init__
    - <builtin>.str
    - logger.debug
    - starlette.routing.Router.add_route
    - connexion.middleware.swagger_ui.SwaggerUIAPI.add_openapi_yaml
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - scope
    - receive
    - send
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 217
    functionName: connexion.middleware.swagger_ui.SwaggerUIMiddleware.__call__
    functionSourceFile: connexion.middleware.swagger_ui
    functionUses: 0
    functionsReached:
    - starlette.routing.Router
    - scope.copy
    - _original_scope.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: _original_scope.set
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - _scope
    - receive
    - send
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 225
    functionName: connexion.middleware.swagger_ui.SwaggerUIMiddleware.default_fn
    functionSourceFile: connexion.middleware.swagger_ui
    functionUses: 0
    functionsReached:
    - _original_scope.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: _original_scope.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: connexion.middleware.context
    functionSourceFile: connexion.middleware.context
    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
    - next_app
    - operation
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 11
    functionName: connexion.middleware.context.ContextOperation.__init__
    functionSourceFile: connexion.middleware.context
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 5
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - scope
    - receive
    - send
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 20
    functionName: connexion.middleware.context.ContextOperation.__call__
    functionSourceFile: connexion.middleware.context
    functionUses: 0
    functionsReached:
    - scope.get
    - _scope.set
    - _receive.set
    - _operation.set
    - _context.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: _context.set
    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: _operation.set
    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: _receive.set
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 29
    functionName: connexion.middleware.context.ContextAPI.__init__
    functionSourceFile: connexion.middleware.context
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - operation
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 33
    functionName: connexion.middleware.context.ContextAPI.make_operation
    functionSourceFile: connexion.middleware.context
    functionUses: 0
    functionsReached:
    - connexion.middleware.context.ContextOperation.__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: 1
    functionLinenumber: -1
    functionName: connexion.middleware.security
    functionSourceFile: connexion.middleware.security
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - next_app
    - security_handler_factory
    - security
    - security_schemes
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 18
    functionName: connexion.middleware.security.SecurityOperation.__init__
    functionSourceFile: connexion.middleware.security
    functionUses: 4
    functionsReached:
    - security_req.items
    - <builtin>.vars
    - connexion.security.SecurityHandlerFactory.parse_security_scheme
    - os.environ.get
    - security_scheme.get
    - function_name.rsplit
    - logger.debug
    - connexion.security.AbstractSecurityHandler._get_verify_func
    - importlib.import_module
    - module_name.rsplit
    - connexion.middleware.security.SecurityOperation._get_verification_fn
    - functools.reduce
    - security_definition.get
    - connexion.security.BearerSecurityHandler._get_verify_func
    - connexion.security.SecurityHandlerFactory.verify_security
    - connexion.utils.deep_getattr
    - connexion.utils.get_function_from_name
    - logger.warning
    - attr.split
    - connexion.security.BearerSecurityHandler.check_bearer_token
    - connexion.security.AbstractSecurityHandler._generic_check
    - connexion.security.AbstractSecurityHandler.get_fn
    - connexion.security.AbstractSecurityHandler._get_function
    - auth_funcs.append
    - connexion.security.AbstractSecurityHandler._resolve_func
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 3
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 57
    functionName: connexion.middleware.security.SecurityOperation._get_verification_fn
    functionSourceFile: connexion.middleware.security
    functionUses: 5
    functionsReached:
    - security_req.items
    - <builtin>.vars
    - connexion.security.SecurityHandlerFactory.parse_security_scheme
    - os.environ.get
    - security_scheme.get
    - function_name.rsplit
    - logger.debug
    - connexion.security.AbstractSecurityHandler._get_verify_func
    - importlib.import_module
    - module_name.rsplit
    - functools.reduce
    - security_definition.get
    - connexion.security.BearerSecurityHandler._get_verify_func
    - connexion.security.SecurityHandlerFactory.verify_security
    - connexion.utils.deep_getattr
    - connexion.utils.get_function_from_name
    - logger.warning
    - attr.split
    - connexion.security.BearerSecurityHandler.check_bearer_token
    - connexion.security.AbstractSecurityHandler._generic_check
    - connexion.security.AbstractSecurityHandler.get_fn
    - connexion.security.AbstractSecurityHandler._get_function
    - auth_funcs.append
    - connexion.security.AbstractSecurityHandler._resolve_func
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - cls
    - operation
    - next_app
    - security_handler_factory
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 33
    functionName: connexion.middleware.security.SecurityOperation.from_operation
    functionSourceFile: connexion.middleware.security
    functionUses: 3
    functionsReached:
    - security_req.items
    - <builtin>.vars
    - connexion.security.SecurityHandlerFactory.parse_security_scheme
    - os.environ.get
    - security_scheme.get
    - function_name.rsplit
    - logger.debug
    - connexion.security.AbstractSecurityHandler._get_verify_func
    - connexion.middleware.security.SecurityOperation.__init__
    - importlib.import_module
    - module_name.rsplit
    - connexion.middleware.security.SecurityOperation._get_verification_fn
    - functools.reduce
    - security_definition.get
    - connexion.security.BearerSecurityHandler._get_verify_func
    - connexion.security.SecurityHandlerFactory.verify_security
    - connexion.utils.deep_getattr
    - connexion.utils.get_function_from_name
    - logger.warning
    - attr.split
    - connexion.security.BearerSecurityHandler.check_bearer_token
    - connexion.security.AbstractSecurityHandler._generic_check
    - connexion.security.AbstractSecurityHandler.get_fn
    - connexion.security.AbstractSecurityHandler._get_function
    - auth_funcs.append
    - connexion.security.AbstractSecurityHandler._resolve_func
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: auth_funcs.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: security_req.items
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 4
    IfCount: 9
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - security_scheme
    - required_scopes
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 463
    functionName: connexion.security.SecurityHandlerFactory.parse_security_scheme
    functionSourceFile: connexion.security
    functionUses: 6
    functionsReached:
    - logger.warning
    - module_name.rsplit
    - connexion.security.BearerSecurityHandler.check_bearer_token
    - connexion.security.AbstractSecurityHandler._generic_check
    - attr.split
    - functools.reduce
    - connexion.security.AbstractSecurityHandler.get_fn
    - security_definition.get
    - importlib.import_module
    - os.environ.get
    - security_scheme.get
    - connexion.security.BearerSecurityHandler._get_verify_func
    - function_name.rsplit
    - connexion.security.AbstractSecurityHandler._get_function
    - connexion.utils.deep_getattr
    - connexion.utils.get_function_from_name
    - connexion.security.AbstractSecurityHandler._get_verify_func
    - connexion.security.AbstractSecurityHandler._resolve_func
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - auth_funcs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 577
    functionName: connexion.security.SecurityHandlerFactory.verify_security
    functionSourceFile: ''
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - scope
    - receive
    - send
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 104
    functionName: connexion.middleware.security.SecurityOperation.__call__
    functionSourceFile: connexion.middleware.security
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - starlette.requests.Request
    - asyncio.iscoroutine
    - errors.append
    - connexion.security.SecurityHandlerFactory.security_passthrough
    - connexion.security.SecurityHandlerFactory.verify_security.verify_fn
    - connexion.lifecycle.ConnexionRequest.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - request
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 524
    functionName: connexion.security.SecurityHandlerFactory.security_passthrough
    functionSourceFile: ''
    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:
    - request
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 578
    functionName: connexion.security.SecurityHandlerFactory.verify_security.verify_fn
    functionSourceFile: connexion.security
    functionUses: 1
    functionsReached:
    - asyncio.iscoroutine
    - errors.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - args
    - auth_all_paths
    - security_map
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 12
    functionLinenumber: 115
    functionName: connexion.middleware.security.SecurityAPI.__init__
    functionSourceFile: connexion.middleware.security
    functionUses: 0
    functionsReached:
    - security_req.items
    - <builtin>.vars
    - connexion.security.SecurityHandlerFactory.parse_security_scheme
    - collections.defaultdict
    - security_scheme.get
    - function_name.rsplit
    - os.environ.get
    - logger.debug
    - connexion.security.AbstractSecurityHandler._get_verify_func
    - connexion.middleware.security.SecurityOperation.__init__
    - connexion.middleware.security.SecurityAPI.make_operation
    - connexion.middleware.security.SecurityOperation.from_operation
    - <builtin>.super
    - importlib.import_module
    - SECURITY_HANDLERS.copy
    - connexion.middleware.security.SecurityAPI.add_auth_on_not_found
    - module_name.rsplit
    - connexion.middleware.security.SecurityOperation._get_verification_fn
    - functools.reduce
    - security_definition.get
    - connexion.security.BearerSecurityHandler._get_verify_func
    - connexion.security.SecurityHandlerFactory.verify_security
    - connexion.utils.deep_getattr
    - connexion.utils.get_function_from_name
    - logger.warning
    - attr.split
    - connexion.security.BearerSecurityHandler.check_bearer_token
    - connexion.security.AbstractSecurityHandler._generic_check
    - connexion.security.AbstractSecurityHandler.get_fn
    - connexion.security.SecurityHandlerFactory.__init__
    - connexion.security.AbstractSecurityHandler._get_function
    - auth_funcs.append
    - connexion.security.AbstractSecurityHandler._resolve_func
    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 0x7f5d94b4e9a0>
    argNames:
    - self
    - security_handlers
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 455
    functionName: connexion.security.SecurityHandlerFactory.__init__
    functionSourceFile: connexion.security
    functionUses: 1
    functionsReached:
    - SECURITY_HANDLERS.copy
    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: 11
    functionLinenumber: 133
    functionName: connexion.middleware.security.SecurityAPI.add_auth_on_not_found
    functionSourceFile: connexion.middleware.security
    functionUses: 1
    functionsReached:
    - security_req.items
    - <builtin>.vars
    - connexion.security.SecurityHandlerFactory.parse_security_scheme
    - collections.defaultdict
    - security_scheme.get
    - function_name.rsplit
    - os.environ.get
    - logger.debug
    - connexion.security.AbstractSecurityHandler._get_verify_func
    - connexion.middleware.security.SecurityOperation.__init__
    - connexion.middleware.security.SecurityAPI.make_operation
    - connexion.middleware.security.SecurityOperation.from_operation
    - importlib.import_module
    - module_name.rsplit
    - connexion.middleware.security.SecurityOperation._get_verification_fn
    - functools.reduce
    - security_definition.get
    - connexion.security.BearerSecurityHandler._get_verify_func
    - connexion.security.SecurityHandlerFactory.verify_security
    - connexion.utils.deep_getattr
    - connexion.utils.get_function_from_name
    - logger.warning
    - attr.split
    - connexion.security.BearerSecurityHandler.check_bearer_token
    - connexion.security.AbstractSecurityHandler._generic_check
    - connexion.security.AbstractSecurityHandler.get_fn
    - connexion.security.AbstractSecurityHandler._get_function
    - auth_funcs.append
    - connexion.security.AbstractSecurityHandler._resolve_func
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - operation
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 10
    functionLinenumber: 138
    functionName: connexion.middleware.security.SecurityAPI.make_operation
    functionSourceFile: connexion.middleware.security
    functionUses: 2
    functionsReached:
    - security_req.items
    - <builtin>.vars
    - connexion.security.SecurityHandlerFactory.parse_security_scheme
    - os.environ.get
    - security_scheme.get
    - function_name.rsplit
    - logger.debug
    - connexion.security.AbstractSecurityHandler._get_verify_func
    - connexion.middleware.security.SecurityOperation.__init__
    - connexion.middleware.security.SecurityOperation.from_operation
    - importlib.import_module
    - module_name.rsplit
    - connexion.middleware.security.SecurityOperation._get_verification_fn
    - functools.reduce
    - security_definition.get
    - connexion.security.BearerSecurityHandler._get_verify_func
    - connexion.security.SecurityHandlerFactory.verify_security
    - connexion.utils.deep_getattr
    - connexion.utils.get_function_from_name
    - logger.warning
    - attr.split
    - connexion.security.BearerSecurityHandler.check_bearer_token
    - connexion.security.AbstractSecurityHandler._generic_check
    - connexion.security.AbstractSecurityHandler.get_fn
    - connexion.security.AbstractSecurityHandler._get_function
    - auth_funcs.append
    - connexion.security.AbstractSecurityHandler._resolve_func
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: connexion.middleware.security.SecurityAPI.add_auth_on_not_found.<lambda1>
    functionSourceFile: connexion.middleware.security
    functionUses: 0
    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: connexion.security
    functionSourceFile: connexion.security
    functionUses: 0
    functionsReached:
    - <builtin>.object
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - security_scheme
    - required_scopes
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 77
    functionName: connexion.security.AbstractSecurityHandler.get_fn
    functionSourceFile: connexion.security
    functionUses: 7
    functionsReached:
    - logger.warning
    - module_name.rsplit
    - connexion.security.BearerSecurityHandler.check_bearer_token
    - attr.split
    - connexion.security.AbstractSecurityHandler._generic_check
    - functools.reduce
    - security_definition.get
    - importlib.import_module
    - os.environ.get
    - connexion.security.BearerSecurityHandler._get_verify_func
    - function_name.rsplit
    - connexion.security.AbstractSecurityHandler._get_function
    - connexion.utils.deep_getattr
    - connexion.utils.get_function_from_name
    - connexion.security.AbstractSecurityHandler._get_verify_func
    - connexion.security.AbstractSecurityHandler._resolve_func
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - security_scheme
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 150
    functionName: connexion.security.AbstractSecurityHandler._resolve_func
    functionSourceFile: connexion.security
    functionUses: 9
    functionsReached:
    - module_name.rsplit
    - attr.split
    - functools.reduce
    - security_definition.get
    - importlib.import_module
    - os.environ.get
    - function_name.rsplit
    - connexion.security.AbstractSecurityHandler._get_function
    - connexion.utils.deep_getattr
    - connexion.utils.get_function_from_name
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - function
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 160
    functionName: connexion.security.AbstractSecurityHandler._get_verify_func
    functionSourceFile: connexion.security
    functionUses: 8
    functionsReached:
    - connexion.security.AbstractSecurityHandler._generic_check
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - token_info_func
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 214
    functionName: connexion.security.BearerSecurityHandler._get_verify_func
    functionSourceFile: connexion.security
    functionUses: 8
    functionsReached:
    - connexion.security.BearerSecurityHandler.check_bearer_token
    - connexion.security.AbstractSecurityHandler._generic_check
    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 0x7f5d93d3f0a0>
    argNames:
    - cls
    - security_definition
    - security_definition_key
    - environ_key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 87
    functionName: connexion.security.AbstractSecurityHandler._get_function
    functionSourceFile: connexion.security
    functionUses: 13
    functionsReached:
    - attr.split
    - module_name.rsplit
    - functools.reduce
    - security_definition.get
    - importlib.import_module
    - os.environ.get
    - function_name.rsplit
    - connexion.utils.deep_getattr
    - connexion.utils.get_function_from_name
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: security_definition.get
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - func
    - exception_msg
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 109
    functionName: connexion.security.AbstractSecurityHandler._generic_check
    functionSourceFile: connexion.security
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - request
    - args
    - required_scopes
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 110
    functionName: connexion.security.AbstractSecurityHandler._generic_check.wrapper
    functionSourceFile: connexion.security
    functionUses: 5
    functionsReached:
    - connexion.security.OAuthSecurityHandler.get_token_info_remote.wrapper
    - <builtin>.list
    - inspect.signature
    - parameters.items
    - asyncio.iscoroutine
    - <builtin>.set
    - token_scopes.split
    - connexion.security.OAuthSecurityHandler.validate_scope
    - connexion.security.AbstractSecurityHandler._accepts_kwarg
    - parameters.values
    - <builtin>.any
    - <builtin>.isinstance
    - logger.info
    - logger.debug
    - httpx.AsyncClient
    - token_request.json
    - connexion.utils.inspect_function_arguments
    linkageType: pythonLinkage
    raised:
    - OAuthResponseProblem
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - func
    - keyword
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 145
    functionName: connexion.security.AbstractSecurityHandler._accepts_kwarg
    functionSourceFile: connexion.security
    functionUses: 6
    functionsReached:
    - inspect.signature
    - <builtin>.list
    - parameters.items
    - parameters.values
    - <builtin>.any
    - connexion.utils.inspect_function_arguments
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - token
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 381
    functionName: connexion.security.OAuthSecurityHandler.get_token_info_remote.wrapper
    functionSourceFile: connexion.security
    functionUses: 6
    functionsReached:
    - httpx.AsyncClient
    - token_request.json
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - required_scopes
    - token_scopes
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 348
    functionName: connexion.security.OAuthSecurityHandler.validate_scope
    functionSourceFile: connexion.security
    functionUses: 6
    functionsReached:
    - <builtin>.set
    - token_scopes.split
    - <builtin>.isinstance
    - logger.info
    - logger.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - request
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 128
    functionName: connexion.security.AbstractSecurityHandler.get_auth_header_value
    functionSourceFile: connexion.security
    functionUses: 3
    functionsReached:
    - authorization.split
    - request.headers.get
    - auth_type.lower
    linkageType: pythonLinkage
    raised:
    - OAuthProblem
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: authorization.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: 2
    argDefaultValues: []
    argNames:
    - self
    - basic_info_func
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 178
    functionName: connexion.security.BasicSecurityHandler._get_verify_func
    functionSourceFile: connexion.security
    functionUses: 0
    functionsReached:
    - connexion.security.AbstractSecurityHandler._generic_check
    - connexion.security.BasicSecurityHandler.check_basic_auth
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - basic_info_func
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 197
    functionName: connexion.security.BasicSecurityHandler.check_basic_auth
    functionSourceFile: connexion.security
    functionUses: 1
    functionsReached:
    - connexion.security.AbstractSecurityHandler._generic_check
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - request
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 181
    functionName: connexion.security.BasicSecurityHandler._get_verify_func.wrapper
    functionSourceFile: connexion.security
    functionUses: 0
    functionsReached:
    - connexion.security.OAuthSecurityHandler.get_token_info_remote.wrapper
    - parameters.items
    - asyncio.iscoroutine
    - <builtin>.any
    - auth_type.lower
    - logger.debug
    - connexion.security.AbstractSecurityHandler.get_auth_header_value
    - inspect.signature
    - <builtin>.set
    - connexion.security.AbstractSecurityHandler._generic_check.wrapper
    - authorization.split
    - request.headers.get
    - connexion.security.OAuthSecurityHandler.validate_scope
    - connexion.security.AbstractSecurityHandler._accepts_kwarg
    - logger.info
    - <builtin>.list
    - token_scopes.split
    - httpx.AsyncClient
    - token_request.json
    - connexion.utils.inspect_function_arguments
    - <builtin>.isinstance
    - parameters.values
    - base64.b64decode
    linkageType: pythonLinkage
    raised:
    - OAuthProblem
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - token_info_func
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 211
    functionName: connexion.security.BearerSecurityHandler.check_bearer_token
    functionSourceFile: connexion.security
    functionUses: 9
    functionsReached:
    - connexion.security.AbstractSecurityHandler._generic_check
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - request
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 221
    functionName: connexion.security.BearerSecurityHandler._get_verify_func.wrapper
    functionSourceFile: connexion.security
    functionUses: 0
    functionsReached:
    - connexion.security.OAuthSecurityHandler.get_token_info_remote.wrapper
    - parameters.items
    - asyncio.iscoroutine
    - <builtin>.any
    - auth_type.lower
    - logger.debug
    - connexion.security.AbstractSecurityHandler.get_auth_header_value
    - inspect.signature
    - <builtin>.set
    - connexion.security.AbstractSecurityHandler._generic_check.wrapper
    - authorization.split
    - request.headers.get
    - connexion.security.OAuthSecurityHandler.validate_scope
    - connexion.security.AbstractSecurityHandler._accepts_kwarg
    - logger.info
    - <builtin>.list
    - token_scopes.split
    - httpx.AsyncClient
    - token_request.json
    - connexion.utils.inspect_function_arguments
    - <builtin>.isinstance
    - parameters.values
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - security_scheme
    - required_scopes
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 238
    functionName: connexion.security.ApiKeySecurityHandler.get_fn
    functionSourceFile: connexion.security
    functionUses: 0
    functionsReached:
    - connexion.security.ApiKeySecurityHandler._get_verify_func
    - logger.warning
    - module_name.rsplit
    - attr.split
    - functools.reduce
    - security_definition.get
    - connexion.security.AbstractSecurityHandler._generic_check
    - importlib.import_module
    - os.environ.get
    - function_name.rsplit
    - connexion.security.AbstractSecurityHandler._get_function
    - connexion.utils.deep_getattr
    - connexion.utils.get_function_from_name
    - connexion.security.AbstractSecurityHandler._resolve_func
    - connexion.security.ApiKeySecurityHandler.check_api_key
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - api_key_info_func
    - loc
    - name
    - required_scopes
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 251
    functionName: connexion.security.ApiKeySecurityHandler._get_verify_func
    functionSourceFile: connexion.security
    functionUses: 1
    functionsReached:
    - connexion.security.AbstractSecurityHandler._generic_check
    - connexion.security.ApiKeySecurityHandler.check_api_key
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - api_key_info_func
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 272
    functionName: connexion.security.ApiKeySecurityHandler.check_api_key
    functionSourceFile: connexion.security
    functionUses: 2
    functionsReached:
    - connexion.security.AbstractSecurityHandler._generic_check
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - request
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 254
    functionName: connexion.security.ApiKeySecurityHandler._get_verify_func.wrapper
    functionSourceFile: connexion.security
    functionUses: 0
    functionsReached:
    - connexion.security.OAuthSecurityHandler.get_token_info_remote.wrapper
    - parameters.items
    - asyncio.iscoroutine
    - connexion.security.ApiKeySecurityHandler.get_cookie_value
    - <builtin>.any
    - logger.debug
    - inspect.signature
    - <builtin>.set
    - connexion.security.AbstractSecurityHandler._generic_check.wrapper
    - request.headers.get
    - connexion.security.OAuthSecurityHandler.validate_scope
    - connexion.security.AbstractSecurityHandler._accepts_kwarg
    - logger.info
    - http.cookies.SimpleCookie
    - <builtin>.list
    - cookie_parser.load
    - token_scopes.split
    - request.query_params.get
    - <builtin>.str
    - httpx.AsyncClient
    - token_request.json
    - connexion.utils.inspect_function_arguments
    - <builtin>.isinstance
    - parameters.values
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.query_params.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cookies
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 276
    functionName: connexion.security.ApiKeySecurityHandler.get_cookie_value
    functionSourceFile: connexion.security
    functionUses: 1
    functionsReached:
    - http.cookies.SimpleCookie
    - cookie_parser.load
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.cookies.SimpleCookie
    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: cookie_parser.load
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - security_scheme
    - required_scopes
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 296
    functionName: connexion.security.OAuthSecurityHandler.get_fn
    functionSourceFile: connexion.security
    functionUses: 0
    functionsReached:
    - connexion.security.OAuthSecurityHandler.get_scope_validate_func
    - logger.warning
    - connexion.security.OAuthSecurityHandler.get_tokeninfo_func
    - module_name.rsplit
    - security_definition.get
    - connexion.security.OAuthSecurityHandler._get_verify_func
    - connexion.security.AbstractSecurityHandler._generic_check
    - attr.split
    - functools.reduce
    - connexion.security.OAuthSecurityHandler.check_oauth_func
    - os.environ.get
    - importlib.import_module
    - function_name.rsplit
    - connexion.security.AbstractSecurityHandler._get_function
    - connexion.utils.deep_getattr
    - connexion.utils.get_function_from_name
    - connexion.security.OAuthSecurityHandler.get_token_info_remote
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - security_definition
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 307
    functionName: connexion.security.OAuthSecurityHandler.get_tokeninfo_func
    functionSourceFile: connexion.security
    functionUses: 1
    functionsReached:
    - module_name.rsplit
    - attr.split
    - functools.reduce
    - security_definition.get
    - os.environ.get
    - importlib.import_module
    - function_name.rsplit
    - connexion.security.AbstractSecurityHandler._get_function
    - connexion.utils.deep_getattr
    - connexion.utils.get_function_from_name
    - connexion.security.OAuthSecurityHandler.get_token_info_remote
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - security_definition
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 332
    functionName: connexion.security.OAuthSecurityHandler.get_scope_validate_func
    functionSourceFile: connexion.security
    functionUses: 1
    functionsReached:
    - module_name.rsplit
    - attr.split
    - functools.reduce
    - security_definition.get
    - importlib.import_module
    - os.environ.get
    - function_name.rsplit
    - connexion.security.AbstractSecurityHandler._get_function
    - connexion.utils.deep_getattr
    - connexion.utils.get_function_from_name
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - token_info_func
    - scope_validate_func
    - required_scopes
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 394
    functionName: connexion.security.OAuthSecurityHandler._get_verify_func
    functionSourceFile: connexion.security
    functionUses: 1
    functionsReached:
    - connexion.security.AbstractSecurityHandler._generic_check
    - connexion.security.OAuthSecurityHandler.check_oauth_func
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - token_info_url
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 371
    functionName: connexion.security.OAuthSecurityHandler.get_token_info_remote
    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: token_scopes.split
    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: httpx.AsyncClient
    functionSourceFile: httpx
    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: token_request.json
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - token_info_func
    - scope_validate_func
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 406
    functionName: connexion.security.OAuthSecurityHandler.check_oauth_func
    functionSourceFile: connexion.security
    functionUses: 2
    functionsReached:
    - connexion.security.AbstractSecurityHandler._generic_check
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - request
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 397
    functionName: connexion.security.OAuthSecurityHandler._get_verify_func.wrapper
    functionSourceFile: connexion.security
    functionUses: 0
    functionsReached:
    - connexion.security.OAuthSecurityHandler.get_token_info_remote.wrapper
    - parameters.items
    - asyncio.iscoroutine
    - <builtin>.any
    - auth_type.lower
    - logger.debug
    - connexion.security.AbstractSecurityHandler.get_auth_header_value
    - inspect.signature
    - <builtin>.set
    - connexion.security.AbstractSecurityHandler._generic_check.wrapper
    - authorization.split
    - request.headers.get
    - connexion.security.OAuthSecurityHandler.validate_scope
    - connexion.security.AbstractSecurityHandler._accepts_kwarg
    - logger.info
    - token_info.get
    - <builtin>.list
    - token_scopes.split
    - httpx.AsyncClient
    - token_request.json
    - connexion.utils.inspect_function_arguments
    - connexion.security.OAuthSecurityHandler.check_oauth_func.wrapper
    - <builtin>.isinstance
    - parameters.values
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - request
    - token
    - required_scopes
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 411
    functionName: connexion.security.OAuthSecurityHandler.check_oauth_func.wrapper
    functionSourceFile: connexion.security
    functionUses: 1
    functionsReached:
    - connexion.security.OAuthSecurityHandler.get_token_info_remote.wrapper
    - parameters.items
    - asyncio.iscoroutine
    - <builtin>.any
    - logger.debug
    - inspect.signature
    - <builtin>.set
    - connexion.security.AbstractSecurityHandler._generic_check.wrapper
    - connexion.security.OAuthSecurityHandler.validate_scope
    - connexion.security.AbstractSecurityHandler._accepts_kwarg
    - logger.info
    - token_info.get
    - <builtin>.list
    - token_scopes.split
    - httpx.AsyncClient
    - token_request.json
    - connexion.utils.inspect_function_arguments
    - <builtin>.isinstance
    - parameters.values
    linkageType: pythonLinkage
    raised:
    - OAuthScopeProblem
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: token_info.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: SECURITY_HANDLERS.copy
    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: security_scheme.get
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - request
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 539
    functionName: connexion.security.SecurityHandlerFactory.verify_none
    functionSourceFile: connexion.security
    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
    - schemes
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 552
    functionName: connexion.security.SecurityHandlerFactory.verify_multiple_schemes
    functionSourceFile: connexion.security
    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:
    - request
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 562
    functionName: connexion.security.SecurityHandlerFactory.verify_multiple_schemes.wrapper
    functionSourceFile: connexion.security
    functionUses: 0
    functionsReached:
    - asyncio.iscoroutine
    - schemes.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: schemes.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: errors.append
    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:
    - exceptions
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 609
    functionName: connexion.security.SecurityHandlerFactory._raise_most_specific
    functionSourceFile: connexion.security
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - <builtin>.min
    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: connexion.decorators
    functionSourceFile: connexion.decorators
    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: connexion.decorators.main
    functionSourceFile: connexion.decorators.main
    functionUses: 0
    functionsReached:
    - connexion.utils.not_installed_error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - pythonic_params
    - uri_parser_class
    - jsonifier
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 41
    functionName: connexion.decorators.main.BaseDecorator.__init__
    functionSourceFile: connexion.decorators.main
    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: connexion.decorators.main.BaseDecorator
    functionSourceFile: connexion.decorators.main
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    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: 56
    functionName: connexion.decorators.main.BaseDecorator._parameter_decorator_cls
    functionSourceFile: connexion.decorators.main
    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: 61
    functionName: connexion.decorators.main.BaseDecorator._response_decorator_cls
    functionSourceFile: connexion.decorators.main
    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: 66
    functionName: connexion.decorators.main.BaseDecorator._sync_async_decorator
    functionSourceFile: connexion.decorators.main
    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: 71
    functionName: connexion.decorators.main.BaseDecorator.uri_parser
    functionSourceFile: connexion.decorators.main
    functionUses: 0
    functionsReached:
    - operation.body_definition
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operation.body_definition
    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
    - function
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 75
    functionName: connexion.decorators.main.BaseDecorator.decorate
    functionSourceFile: connexion.decorators.main
    functionUses: 2
    functionsReached:
    - connexion.decorators.main.StarletteDecorator._response_decorator_cls
    - connexion.decorators.main.BaseDecorator._sync_async_decorator
    - connexion.decorators.main.FlaskDecorator._response_decorator_cls
    - connexion.decorators.main.BaseDecorator._parameter_decorator_cls
    - connexion.decorators.response.BaseResponseDecorator.__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: 146
    functionName: connexion.decorators.main.FlaskDecorator._response_decorator_cls
    functionSourceFile: ''
    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: 200
    functionName: connexion.decorators.main.StarletteDecorator._response_decorator_cls
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - framework
    - jsonifier
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 20
    functionName: connexion.decorators.response.BaseResponseDecorator.__init__
    functionSourceFile: ''
    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
    - function
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 94
    functionName: connexion.decorators.main.BaseDecorator.__call__
    functionSourceFile: connexion.decorators.main
    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: 108
    functionName: connexion.decorators.main.WSGIDecorator._parameter_decorator_cls
    functionSourceFile: connexion.decorators.main
    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: 112
    functionName: connexion.decorators.main.WSGIDecorator._response_decorator_cls
    functionSourceFile: connexion.decorators.main
    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: 116
    functionName: connexion.decorators.main.WSGIDecorator._sync_async_decorator
    functionSourceFile: connexion.decorators.main
    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:
    - function
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 117
    functionName: connexion.decorators.main.WSGIDecorator._sync_async_decorator.decorator
    functionSourceFile: connexion.decorators.main
    functionUses: 0
    functionsReached:
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 119
    functionName: connexion.decorators.main.WSGIDecorator._sync_async_decorator.decorator.wrapper
    functionSourceFile: connexion.decorators.main
    functionUses: 0
    functionsReached:
    - asyncio.iscoroutinefunction
    - asgiref.sync.async_to_sync
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: asgiref.sync.async_to_sync
    functionSourceFile: asgiref
    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
    - function
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 129
    functionName: connexion.decorators.main.WSGIDecorator.__call__
    functionSourceFile: connexion.decorators.main
    functionUses: 0
    functionsReached:
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 131
    functionName: connexion.decorators.main.WSGIDecorator.__call__.wrapper
    functionSourceFile: connexion.decorators.main
    functionUses: 0
    functionsReached:
    - connexion.lifecycle.WSGIRequest.__init__
    - connexion.decorators.main.StarletteDecorator._response_decorator_cls
    - connexion.decorators.main.BaseDecorator._sync_async_decorator
    - connexion.decorators.main.FlaskDecorator._response_decorator_cls
    - connexion.decorators.main.BaseDecorator._parameter_decorator_cls
    - connexion.decorators.response.BaseResponseDecorator.__init__
    - connexion.decorators.main.BaseDecorator.decorate
    - connexion.frameworks.flask.Flask.get_request
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - uri_parser
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 57
    functionName: connexion.frameworks.flask.Flask.get_request
    functionSourceFile: connexion.frameworks.flask
    functionUses: 1
    functionsReached:
    - connexion.lifecycle.WSGIRequest.__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: 160
    functionName: connexion.decorators.main.ASGIDecorator._parameter_decorator_cls
    functionSourceFile: connexion.decorators.main
    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: 164
    functionName: connexion.decorators.main.ASGIDecorator._response_decorator_cls
    functionSourceFile: connexion.decorators.main
    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: 168
    functionName: connexion.decorators.main.ASGIDecorator._sync_async_decorator
    functionSourceFile: connexion.decorators.main
    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:
    - function
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 169
    functionName: connexion.decorators.main.ASGIDecorator._sync_async_decorator.decorator
    functionSourceFile: connexion.decorators.main
    functionUses: 0
    functionsReached:
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 171
    functionName: connexion.decorators.main.ASGIDecorator._sync_async_decorator.decorator.wrapper
    functionSourceFile: connexion.decorators.main
    functionUses: 0
    functionsReached:
    - starlette.concurrency.run_in_threadpool
    - asyncio.iscoroutinefunction
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - function
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 181
    functionName: connexion.decorators.main.ASGIDecorator.__call__
    functionSourceFile: connexion.decorators.main
    functionUses: 0
    functionsReached:
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 183
    functionName: connexion.decorators.main.ASGIDecorator.__call__.wrapper
    functionSourceFile: connexion.decorators.main
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - starlette.requests.Request
    - connexion.decorators.main.StarletteDecorator._response_decorator_cls
    - connexion.decorators.main.BaseDecorator._sync_async_decorator
    - connexion.decorators.main.FlaskDecorator._response_decorator_cls
    - connexion.decorators.main.BaseDecorator._parameter_decorator_cls
    - connexion.frameworks.starlette.Starlette.get_request
    - connexion.decorators.response.BaseResponseDecorator.__init__
    - connexion.decorators.main.BaseDecorator.decorate
    - connexion.lifecycle.ConnexionRequest.__init__
    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: connexion.decorators.parameter
    functionSourceFile: connexion.decorators.parameter
    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: []
    argNames:
    - self
    - framework
    - pythonic_params
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 35
    functionName: connexion.decorators.parameter.BaseParameterDecorator.__init__
    functionSourceFile: connexion.decorators.parameter
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - request
    - arguments
    - has_kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 44
    functionName: connexion.decorators.parameter.BaseParameterDecorator._maybe_get_body
    functionSourceFile: connexion.decorators.parameter
    functionUses: 2
    functionsReached:
    - operation.body_name
    - request.get_body
    - <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: operation.body_name
    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.get_body
    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: 1
    functionLinenumber: -1
    functionName: connexion.decorators.parameter.BaseParameterDecorator
    functionSourceFile: connexion.decorators.parameter
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - function
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 63
    functionName: connexion.decorators.parameter.BaseParameterDecorator.__call__
    functionSourceFile: connexion.decorators.parameter
    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
    - function
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 68
    functionName: connexion.decorators.parameter.SyncParameterDecorator.__call__
    functionSourceFile: connexion.decorators.parameter
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - inspect.signature
    - <builtin>.list
    - parameters.items
    - connexion.decorators.parameter.unwrap_decorators
    - functools.wraps
    - parameters.values
    - <builtin>.any
    - connexion.utils.inspect_function_arguments
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - function
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 157
    functionName: connexion.decorators.parameter.unwrap_decorators
    functionSourceFile: connexion.decorators.parameter
    functionUses: 2
    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:
    - request
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 73
    functionName: connexion.decorators.parameter.SyncParameterDecorator.__call__.wrapper
    functionSourceFile: connexion.decorators.parameter
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - context.items
    - schema.get
    - copy.deepcopy.items
    - query_definitions.items
    - param_def.get
    - body_schema.get
    - default_object.setdefault
    - logger.debug
    - value.strip
    - operation.body_name
    - connexion.decorators.parameter._get_val_from_param
    - connexion.decorators.parameter.BaseParameterDecorator._maybe_get_body
    - connexion.decorators.parameter._get_file_arguments
    - result.update
    - path_params.items
    - properties.items
    - connexion.decorators.parameter.prep_kwargs
    - connexion.decorators.parameter._get_query_arguments
    - connexion.decorators.parameter._get_query_defaults
    - <builtin>.len
    - connexion.decorators.parameter._get_body_argument_json
    - param_definitions.get
    - connexion.decorators.parameter._query_args_helper
    - connexion.decorators.parameter._get_body_argument
    - copy.copy
    - operation.body_schema
    - operation.method.upper
    - ret.update
    - connexion.decorators.parameter._build_default_obj_recursive
    - connexion.decorators.parameter._get_typed_body_values
    - param_schema.get
    - connexion.utils.is_null
    - connexion.decorators.parameter._get_body_argument_form
    - files.items
    - logger.error
    - connexion.decorators.parameter.get_arguments
    - connexion.utils.deep_merge
    - connexion.decorators.parameter._get_default_obj
    - kwargs.items
    - <builtin>.isinstance
    - copy.deepcopy
    - connexion.decorators.parameter._get_path_arguments
    - connexion.utils.is_nullable
    - connexion.utils.make_type
    - request.files
    - property_.get
    - request.get_body
    - copy.deepcopy.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.files
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 6
    argDefaultValues: []
    argNames:
    - request
    - request_body
    - files
    - arguments
    - has_kwargs
    - sanitize
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 120
    functionName: connexion.decorators.parameter.prep_kwargs
    functionSourceFile: connexion.decorators.parameter
    functionUses: 2
    functionsReached:
    - <builtin>.hasattr
    - schema.get
    - copy.deepcopy.items
    - query_definitions.items
    - param_def.get
    - body_schema.get
    - default_object.setdefault
    - logger.debug
    - value.strip
    - operation.body_name
    - connexion.decorators.parameter._get_val_from_param
    - connexion.decorators.parameter._get_file_arguments
    - result.update
    - path_params.items
    - properties.items
    - connexion.decorators.parameter._get_query_arguments
    - connexion.decorators.parameter._get_query_defaults
    - <builtin>.len
    - connexion.decorators.parameter._get_body_argument_json
    - param_definitions.get
    - connexion.decorators.parameter._query_args_helper
    - connexion.decorators.parameter._get_body_argument
    - copy.copy
    - operation.body_schema
    - operation.method.upper
    - ret.update
    - copy.deepcopy.update
    - connexion.decorators.parameter._build_default_obj_recursive
    - connexion.decorators.parameter._get_typed_body_values
    - connexion.utils.is_null
    - param_schema.get
    - connexion.decorators.parameter._get_body_argument_form
    - files.items
    - logger.error
    - connexion.decorators.parameter.get_arguments
    - connexion.utils.deep_merge
    - connexion.decorators.parameter._get_default_obj
    - kwargs.items
    - <builtin>.isinstance
    - copy.deepcopy
    - connexion.decorators.parameter._get_path_arguments
    - connexion.utils.is_nullable
    - connexion.utils.make_type
    - property_.get
    - context.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - function
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 93
    functionName: connexion.decorators.parameter.AsyncParameterDecorator.__call__
    functionSourceFile: connexion.decorators.parameter
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - inspect.signature
    - <builtin>.list
    - parameters.items
    - connexion.decorators.parameter.unwrap_decorators
    - functools.wraps
    - parameters.values
    - <builtin>.any
    - connexion.utils.inspect_function_arguments
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - request
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 98
    functionName: connexion.decorators.parameter.AsyncParameterDecorator.__call__.wrapper
    functionSourceFile: connexion.decorators.parameter
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - asyncio.iscoroutine
    - schema.get
    - copy.deepcopy.items
    - query_definitions.items
    - param_def.get
    - body_schema.get
    - default_object.setdefault
    - logger.debug
    - value.strip
    - operation.body_name
    - connexion.decorators.parameter._get_val_from_param
    - connexion.decorators.parameter.BaseParameterDecorator._maybe_get_body
    - connexion.decorators.parameter._get_file_arguments
    - result.update
    - path_params.items
    - properties.items
    - connexion.decorators.parameter.prep_kwargs
    - connexion.decorators.parameter._get_query_arguments
    - connexion.decorators.parameter._get_query_defaults
    - <builtin>.len
    - connexion.decorators.parameter._get_body_argument_json
    - param_definitions.get
    - connexion.decorators.parameter._query_args_helper
    - connexion.decorators.parameter._get_body_argument
    - copy.copy
    - operation.body_schema
    - operation.method.upper
    - ret.update
    - copy.deepcopy.update
    - connexion.decorators.parameter._build_default_obj_recursive
    - connexion.decorators.parameter._get_typed_body_values
    - param_schema.get
    - connexion.utils.is_null
    - connexion.decorators.parameter._get_body_argument_form
    - files.items
    - logger.error
    - connexion.decorators.parameter.get_arguments
    - connexion.utils.deep_merge
    - connexion.decorators.parameter._get_default_obj
    - kwargs.items
    - <builtin>.isinstance
    - copy.deepcopy
    - connexion.decorators.parameter._get_path_arguments
    - connexion.utils.is_nullable
    - connexion.utils.make_type
    - request.files
    - property_.get
    - request.get_body
    - context.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 9
    argDefaultValues: []
    argNames:
    - operation
    - path_params
    - query_params
    - body
    - files
    - arguments
    - has_kwargs
    - sanitize
    - content_type
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 187
    functionName: connexion.decorators.parameter.get_arguments
    functionSourceFile: connexion.decorators.parameter
    functionUses: 3
    functionsReached:
    - <builtin>.hasattr
    - schema.get
    - copy.deepcopy.items
    - query_definitions.items
    - param_def.get
    - body_schema.get
    - default_object.setdefault
    - logger.debug
    - value.strip
    - operation.body_name
    - connexion.decorators.parameter._get_val_from_param
    - connexion.decorators.parameter._get_file_arguments
    - result.update
    - path_params.items
    - properties.items
    - connexion.decorators.parameter._get_query_arguments
    - connexion.decorators.parameter._get_query_defaults
    - <builtin>.len
    - connexion.decorators.parameter._get_body_argument_json
    - param_definitions.get
    - connexion.decorators.parameter._query_args_helper
    - connexion.decorators.parameter._get_body_argument
    - copy.copy
    - operation.body_schema
    - operation.method.upper
    - ret.update
    - connexion.decorators.parameter._build_default_obj_recursive
    - connexion.decorators.parameter._get_typed_body_values
    - connexion.utils.is_null
    - param_schema.get
    - connexion.decorators.parameter._get_body_argument_form
    - files.items
    - logger.error
    - connexion.utils.deep_merge
    - connexion.decorators.parameter._get_default_obj
    - <builtin>.isinstance
    - copy.deepcopy
    - connexion.decorators.parameter._get_path_arguments
    - connexion.utils.is_nullable
    - connexion.utils.make_type
    - property_.get
    - copy.deepcopy.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.items
    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:
    - name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 164
    functionName: connexion.decorators.parameter.snake_and_shadow
    functionSourceFile: connexion.decorators.parameter
    functionUses: 1
    functionsReached:
    - keyword.iskeyword
    - inflection.underscore
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: inflection.underscore
    functionSourceFile: inflection
    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: keyword.iskeyword
    functionSourceFile: keyword
    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:
    - name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 176
    functionName: connexion.decorators.parameter.sanitized
    functionSourceFile: connexion.decorators.parameter
    functionUses: 1
    functionsReached:
    - re.sub
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 182
    functionName: connexion.decorators.parameter.pythonic
    functionSourceFile: connexion.decorators.parameter
    functionUses: 0
    functionsReached:
    - re.sub
    - keyword.iskeyword
    - inflection.underscore
    - connexion.decorators.parameter.snake_and_shadow
    - connexion.decorators.parameter.sanitized
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - path_params
    - operation
    - sanitize
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 233
    functionName: connexion.decorators.parameter._get_path_arguments
    functionSourceFile: connexion.decorators.parameter
    functionUses: 4
    functionsReached:
    - <builtin>.hasattr
    - param_definitions.get
    - connexion.decorators.parameter._get_val_from_param
    - connexion.utils.is_null
    - param_def.get
    - connexion.utils.is_nullable
    - connexion.utils.make_type
    - path_params.items
    - value.strip
    - param_schema.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: ret.update
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - query_params
    - operation
    - arguments
    - has_kwargs
    - sanitize
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 273
    functionName: connexion.decorators.parameter._get_query_arguments
    functionSourceFile: connexion.decorators.parameter
    functionUses: 4
    functionsReached:
    - connexion.decorators.parameter._query_args_helper
    - schema.get
    - logger.error
    - copy.copy
    - connexion.utils.deep_merge
    - query_definitions.items
    - connexion.decorators.parameter._get_default_obj
    - copy.deepcopy.items
    - properties.items
    - copy.deepcopy
    - <builtin>.isinstance
    - default_object.setdefault
    - result.update
    - property_.get
    - connexion.decorators.parameter._build_default_obj_recursive
    - logger.debug
    - connexion.decorators.parameter._get_query_defaults
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operation.method.upper
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 0
    IfCount: 6
    argCount: 6
    argDefaultValues: []
    argNames:
    - body
    - operation
    - arguments
    - has_kwargs
    - sanitize
    - content_type
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 372
    functionName: connexion.decorators.parameter._get_body_argument
    functionSourceFile: connexion.decorators.parameter
    functionUses: 4
    functionsReached:
    - <builtin>.hasattr
    - copy.deepcopy.items
    - param_def.get
    - value.strip
    - operation.body_name
    - connexion.decorators.parameter._get_val_from_param
    - <builtin>.len
    - connexion.decorators.parameter._get_body_argument_json
    - param_definitions.get
    - operation.body_schema
    - connexion.decorators.parameter._get_typed_body_values
    - connexion.utils.is_null
    - param_schema.get
    - connexion.decorators.parameter._get_body_argument_form
    - logger.error
    - copy.deepcopy
    - <builtin>.isinstance
    - connexion.utils.is_nullable
    - connexion.utils.make_type
    - copy.deepcopy.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operation.body_schema
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    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 0x7f5d94454b20>
    argNames:
    - files
    - arguments
    - body_schema
    - has_kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 486
    functionName: connexion.decorators.parameter._get_file_arguments
    functionSourceFile: connexion.decorators.parameter
    functionUses: 4
    functionsReached:
    - files.items
    - body_schema.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: path_params.items
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - value
    - param_definitions
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 256
    functionName: connexion.decorators.parameter._get_val_from_param
    functionSourceFile: connexion.decorators.parameter
    functionUses: 8
    functionsReached:
    - <builtin>.hasattr
    - param_definitions.get
    - connexion.utils.is_null
    - param_def.get
    - connexion.utils.is_nullable
    - connexion.utils.make_type
    - value.strip
    - param_schema.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: param_definitions.get
    functionSourceFile: <builtin>
    functionUses: 9
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - query_definitions
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 299
    functionName: connexion.decorators.parameter._get_query_defaults
    functionSourceFile: connexion.decorators.parameter
    functionUses: 5
    functionsReached:
    - schema.get
    - copy.copy
    - query_definitions.items
    - connexion.decorators.parameter._get_default_obj
    - copy.deepcopy
    - default_object.setdefault
    - property_.get
    - connexion.decorators.parameter._build_default_obj_recursive
    - properties.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 5
    argDefaultValues: []
    argNames:
    - query_definitions
    - query_arguments
    - function_arguments
    - has_kwargs
    - sanitize
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 336
    functionName: connexion.decorators.parameter._query_args_helper
    functionSourceFile: connexion.decorators.parameter
    functionUses: 5
    functionsReached:
    - logger.debug
    - copy.deepcopy.items
    - result.update
    - logger.error
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: query_definitions.items
    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:
    - schema
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 315
    functionName: connexion.decorators.parameter._get_default_obj
    functionSourceFile: connexion.decorators.parameter
    functionUses: 6
    functionsReached:
    - schema.get
    - copy.copy
    - copy.deepcopy
    - default_object.setdefault
    - property_.get
    - connexion.decorators.parameter._build_default_obj_recursive
    - properties.items
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - properties
    - default_object
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 323
    functionName: connexion.decorators.parameter._build_default_obj_recursive
    functionSourceFile: connexion.decorators.parameter
    functionUses: 7
    functionsReached:
    - copy.copy
    - default_object.setdefault
    - property_.get
    - connexion.decorators.parameter._build_default_obj_recursive
    - properties.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: property_.get
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: default_object.setdefault
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - body
    - operation
    - content_type
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 432
    functionName: connexion.decorators.parameter._get_body_argument_form
    functionSourceFile: connexion.decorators.parameter
    functionUses: 5
    functionsReached:
    - <builtin>.hasattr
    - param_definitions.get
    - connexion.decorators.parameter._get_val_from_param
    - logger.error
    - connexion.utils.is_null
    - operation.body_schema
    - copy.deepcopy.items
    - param_def.get
    - copy.deepcopy
    - <builtin>.isinstance
    - connexion.utils.is_nullable
    - connexion.utils.make_type
    - copy.deepcopy.update
    - connexion.decorators.parameter._get_typed_body_values
    - value.strip
    - param_schema.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - body
    - operation
    - content_type
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 417
    functionName: connexion.decorators.parameter._get_body_argument_json
    functionSourceFile: connexion.decorators.parameter
    functionUses: 5
    functionsReached:
    - <builtin>.hasattr
    - operation.body_schema
    - param_def.get
    - copy.deepcopy
    - connexion.utils.is_nullable
    - value.strip
    - connexion.utils.is_null
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - body_arg
    - body_props
    - additional_props
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 455
    functionName: connexion.decorators.parameter._get_typed_body_values
    functionSourceFile: connexion.decorators.parameter
    functionUses: 6
    functionsReached:
    - <builtin>.hasattr
    - param_definitions.get
    - connexion.decorators.parameter._get_val_from_param
    - logger.error
    - connexion.utils.is_null
    - copy.deepcopy.items
    - param_def.get
    - <builtin>.isinstance
    - connexion.utils.is_nullable
    - connexion.utils.make_type
    - value.strip
    - param_schema.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: files.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: body_schema.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: 1
    functionLinenumber: -1
    functionName: connexion.decorators.response
    functionSourceFile: connexion.decorators.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: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: connexion.decorators.response.BaseResponseDecorator
    functionSourceFile: connexion.decorators.response
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - function
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 25
    functionName: connexion.decorators.response.BaseResponseDecorator.__call__
    functionSourceFile: connexion.decorators.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
    - handler_response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 28
    functionName: connexion.decorators.response.BaseResponseDecorator.build_framework_response
    functionSourceFile: connexion.decorators.response
    functionUses: 2
    functionsReached:
    - parameters.split
    - connexion.utils.is_json_mimetype
    - value.decode
    - key.decode
    - connexion.decorators.response.BaseResponseDecorator._infer_content_type
    - <builtin>.set
    - connexion.decorators.response.BaseResponseDecorator._unpack_handler_response
    - subtype.split
    - content_type.split
    - headers.items
    - <builtin>.len
    - <builtin>.list
    - connexion.decorators.response.BaseResponseDecorator._update_headers
    - <builtin>.int
    - decoded_key.lower
    - key.lower
    - parameter.startswith
    - connexion.decorators.response.BaseResponseDecorator._infer_status_code
    - subtype.endswith
    - <builtin>.isinstance
    - connexion.utils.split_content_type
    - connexion.decorators.response.BaseResponseDecorator._serialize_data
    - connexion.utils.extract_content_type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 1
    argDefaultValues: []
    argNames:
    - handler_response
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 120
    functionName: connexion.decorators.response.BaseResponseDecorator._unpack_handler_response
    functionSourceFile: connexion.decorators.response
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.int
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 10
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 15
    ICount: 1
    IfCount: 10
    argCount: 2
    argDefaultValues: []
    argNames:
    - data
    - headers
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 40
    functionName: connexion.decorators.response.BaseResponseDecorator._infer_content_type
    functionSourceFile: connexion.decorators.response
    functionUses: 3
    functionsReached:
    - <builtin>.list
    - <builtin>.set
    - decoded_key.lower
    - value.decode
    - key.decode
    - <builtin>.isinstance
    - headers.items
    - connexion.utils.extract_content_type
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - NonConformingResponseHeaders
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - data
    - content_type
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 89
    functionName: connexion.decorators.response.BaseResponseDecorator._serialize_data
    functionSourceFile: connexion.decorators.response
    functionUses: 3
    functionsReached:
    - parameter.startswith
    - subtype.split
    - subtype.endswith
    - parameters.split
    - connexion.utils.is_json_mimetype
    - connexion.utils.split_content_type
    - content_type.split
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 100
    functionName: connexion.decorators.response.BaseResponseDecorator._infer_status_code
    functionSourceFile: ''
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - headers
    - content_type
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 107
    functionName: connexion.decorators.response.BaseResponseDecorator._update_headers
    functionSourceFile: connexion.decorators.response
    functionUses: 3
    functionsReached:
    - headers.items
    - key.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - function
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 164
    functionName: connexion.decorators.response.SyncResponseDecorator.__call__
    functionSourceFile: connexion.decorators.response
    functionUses: 0
    functionsReached:
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 166
    functionName: connexion.decorators.response.SyncResponseDecorator.__call__.wrapper
    functionSourceFile: connexion.decorators.response
    functionUses: 0
    functionsReached:
    - parameters.split
    - connexion.utils.is_json_mimetype
    - value.decode
    - key.decode
    - connexion.decorators.response.BaseResponseDecorator._infer_content_type
    - <builtin>.set
    - connexion.decorators.response.BaseResponseDecorator._unpack_handler_response
    - subtype.split
    - content_type.split
    - headers.items
    - <builtin>.len
    - <builtin>.list
    - connexion.decorators.response.BaseResponseDecorator._update_headers
    - <builtin>.int
    - decoded_key.lower
    - connexion.decorators.response.BaseResponseDecorator.build_framework_response
    - key.lower
    - parameter.startswith
    - connexion.decorators.response.BaseResponseDecorator._infer_status_code
    - subtype.endswith
    - <builtin>.isinstance
    - connexion.utils.split_content_type
    - connexion.decorators.response.BaseResponseDecorator._serialize_data
    - connexion.utils.extract_content_type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - function
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 184
    functionName: connexion.decorators.response.AsyncResponseDecorator.__call__
    functionSourceFile: connexion.decorators.response
    functionUses: 0
    functionsReached:
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 186
    functionName: connexion.decorators.response.AsyncResponseDecorator.__call__.wrapper
    functionSourceFile: connexion.decorators.response
    functionUses: 0
    functionsReached:
    - parameters.split
    - connexion.utils.is_json_mimetype
    - value.decode
    - key.decode
    - connexion.decorators.response.BaseResponseDecorator._infer_content_type
    - <builtin>.set
    - connexion.decorators.response.BaseResponseDecorator._unpack_handler_response
    - subtype.split
    - content_type.split
    - headers.items
    - <builtin>.len
    - <builtin>.list
    - connexion.decorators.response.BaseResponseDecorator._update_headers
    - <builtin>.int
    - decoded_key.lower
    - connexion.decorators.response.BaseResponseDecorator.build_framework_response
    - key.lower
    - parameter.startswith
    - connexion.decorators.response.BaseResponseDecorator._infer_status_code
    - subtype.endswith
    - <builtin>.isinstance
    - connexion.utils.split_content_type
    - connexion.decorators.response.BaseResponseDecorator._serialize_data
    - connexion.utils.extract_content_type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - function
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 206
    functionName: connexion.decorators.response.NoResponseDecorator.__call__
    functionSourceFile: connexion.decorators.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: connexion.decorators.response.NoResponseDecorator.__call__.<lambda1>
    functionSourceFile: connexion.decorators.response
    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: connexion.frameworks.flask
    functionSourceFile: connexion.frameworks.flask
    functionUses: 0
    functionsReached:
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - response
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 21
    functionName: connexion.frameworks.flask.Flask.is_framework_response
    functionSourceFile: connexion.frameworks.flask
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 27
    functionName: connexion.frameworks.flask.Flask.connexion_to_framework_response
    functionSourceFile: connexion.frameworks.flask
    functionUses: 0
    functionsReached:
    - connexion.frameworks.flask.Flask.is_framework_response
    - connexion.frameworks.flask.Flask.build_response
    - kwargs.items
    - <builtin>.isinstance
    - flask.current_app.response_class
    - flask.current_app.make_response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 5
    argDefaultValues: []
    argNames:
    - cls
    - data
    - content_type
    - headers
    - status_code
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 36
    functionName: connexion.frameworks.flask.Flask.build_response
    functionSourceFile: connexion.frameworks.flask
    functionUses: 1
    functionsReached:
    - connexion.frameworks.flask.Flask.is_framework_response
    - kwargs.items
    - <builtin>.isinstance
    - flask.current_app.response_class
    - flask.current_app.make_response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: flask.current_app.make_response
    functionSourceFile: flask
    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: flask.current_app.response_class
    functionSourceFile: flask
    functionUses: 2
    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 0x7f5d93e57f40>
    argNames:
    - identifier
    - randomize
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 70
    functionName: connexion.frameworks.flask.flaskify_endpoint
    functionSourceFile: connexion.frameworks.flask
    functionUses: 0
    functionsReached:
    - identifier.replace
    - random.SystemRandom
    - <builtin>.range
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: identifier.replace
    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: random.SystemRandom
    functionSourceFile: random
    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:
    - match
    - types
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 94
    functionName: connexion.frameworks.flask.convert_path_parameter
    functionSourceFile: connexion.frameworks.flask
    functionUses: 0
    functionsReached:
    - match.group
    - PATH_PARAMETER_CONVERTERS.get
    - name.replace
    - types.get
    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 0x7f5d93f35490>
    argNames:
    - swagger_path
    - types
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 103
    functionName: connexion.frameworks.flask.flaskify_path
    functionSourceFile: connexion.frameworks.flask
    functionUses: 0
    functionsReached:
    - functools.partial
    - PATH_PARAMETER.sub
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: connexion.frameworks.flask.FlaskJSONProvider
    functionSourceFile: connexion.frameworks.flask
    functionUses: 0
    functionsReached:
    - functools.wraps
    - connexion.jsonifier.wrap_default
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 136
    functionName: connexion.frameworks.flask.NumberConverter.to_python
    functionSourceFile: connexion.frameworks.flask
    functionUses: 0
    functionsReached:
    - <builtin>.float
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 145
    functionName: connexion.frameworks.flask.IntegerConverter.to_python
    functionSourceFile: connexion.frameworks.flask
    functionUses: 0
    functionsReached:
    - <builtin>.int
    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: werkzeug.routing
    functionSourceFile: werkzeug.routing
    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: werkzeug.routing.converters
    functionSourceFile: werkzeug.routing.converters
    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:
    - cls
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 29
    functionName: werkzeug.routing.converters.BaseConverter.__init_subclass__
    functionSourceFile: werkzeug.routing.converters
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - map
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 37
    functionName: werkzeug.routing.converters.BaseConverter.__init__
    functionSourceFile: werkzeug.routing.converters
    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
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 40
    functionName: werkzeug.routing.converters.BaseConverter.to_python
    functionSourceFile: werkzeug.routing.converters
    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
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 43
    functionName: werkzeug.routing.converters.BaseConverter.to_url
    functionSourceFile: werkzeug.routing.converters
    functionUses: 0
    functionsReached:
    - urllib.parse.quote
    - <builtin>.str
    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 0x7f5d93f506d0>
    - <ast.Constant object at 0x7f5d93f50af0>
    - <ast.Constant object at 0x7f5d93f50700>
    argNames:
    - self
    - map
    - minlength
    - maxlength
    - length
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 66
    functionName: werkzeug.routing.converters.UnicodeConverter.__init__
    functionSourceFile: werkzeug.routing.converters
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - <builtin>.super
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - map
    - items
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 99
    functionName: werkzeug.routing.converters.AnyConverter.__init__
    functionSourceFile: werkzeug.routing.converters
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - <builtin>.set
    - re.escape
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 104
    functionName: werkzeug.routing.converters.AnyConverter.to_url
    functionSourceFile: werkzeug.routing.converters
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    - <builtin>.str
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f5d936f2d30>
    - <ast.Constant object at 0x7f5d936f2b80>
    - <ast.Constant object at 0x7f5d936f26d0>
    - <ast.Constant object at 0x7f5d936f2490>
    argNames:
    - self
    - map
    - fixed_digits
    - min
    - max
    - signed
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 136
    functionName: werkzeug.routing.converters.NumberConverter.__init__
    functionSourceFile: werkzeug.routing.converters
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 152
    functionName: werkzeug.routing.converters.NumberConverter.to_python
    functionSourceFile: werkzeug.routing.converters
    functionUses: 0
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - ValidationError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 162
    functionName: werkzeug.routing.converters.NumberConverter.to_url
    functionSourceFile: werkzeug.routing.converters
    functionUses: 0
    functionsReached:
    - value_str.zfill
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_str.zfill
    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: 169
    functionName: werkzeug.routing.converters.NumberConverter.signed_regex
    functionSourceFile: werkzeug.routing.converters
    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 0x7f5d94c83730>
    - <ast.Constant object at 0x7f5d94c83b80>
    - <ast.Constant object at 0x7f5d94c83e50>
    argNames:
    - self
    - map
    - min
    - max
    - signed
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 220
    functionName: werkzeug.routing.converters.FloatConverter.__init__
    functionSourceFile: werkzeug.routing.converters
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 245
    functionName: werkzeug.routing.converters.UUIDConverter.to_python
    functionSourceFile: werkzeug.routing.converters
    functionUses: 0
    functionsReached:
    - uuid.UUID
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: uuid.UUID
    functionSourceFile: uuid
    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
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 248
    functionName: werkzeug.routing.converters.UUIDConverter.to_url
    functionSourceFile: werkzeug.routing.converters
    functionUses: 0
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: werkzeug.routing.map
    functionSourceFile: werkzeug.routing.map
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 10
    argDefaultValues:
    - <ast.Constant object at 0x7f5d940ad160>
    - <ast.Constant object at 0x7f5d940ad820>
    - <ast.Constant object at 0x7f5d940ad580>
    - <ast.Constant object at 0x7f5d940ad2e0>
    - <ast.Constant object at 0x7f5d940ad5b0>
    - <ast.Constant object at 0x7f5d940ad8e0>
    - <ast.Constant object at 0x7f5d940ad4f0>
    - <ast.Constant object at 0x7f5d940ad9a0>
    - <ast.Constant object at 0x7f5d940ad340>
    argNames:
    - self
    - rules
    - default_subdomain
    - strict_slashes
    - merge_slashes
    - redirect_defaults
    - converters
    - sort_parameters
    - sort_key
    - host_matching
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 94
    functionName: werkzeug.routing.map.Map.__init__
    functionSourceFile: werkzeug.routing.map
    functionUses: 0
    functionsReached:
    - rulefactory.get_rules
    - threading.Lock
    - rule.bind
    - werkzeug.datastructures.structures.ImmutableDict.copy
    - werkzeug.routing.map.Map.add
    - werkzeug.routing.matcher.StateMachineMatcher.__init__
    - state.rules.append
    - state.static.setdefault
    - werkzeug.routing.matcher.StateMachineMatcher.add
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - merge_slashes
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 34
    functionName: werkzeug.routing.matcher.StateMachineMatcher.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: threading.Lock
    functionSourceFile: threading
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - rulefactory
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 170
    functionName: werkzeug.routing.map.Map.add
    functionSourceFile: werkzeug.routing.map
    functionUses: 1
    functionsReached:
    - rulefactory.get_rules
    - rule.bind
    - state.rules.append
    - state.static.setdefault
    - werkzeug.routing.matcher.StateMachineMatcher.add
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 131
    functionName: werkzeug.routing.map.Map.merge_slashes
    functionSourceFile: werkzeug.routing.map
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - endpoint
    - arguments
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 134
    functionName: werkzeug.routing.map.Map.is_endpoint_expecting
    functionSourceFile: werkzeug.routing.map
    functionUses: 0
    functionsReached:
    - werkzeug.routing.matcher.StateMachineMatcher.update._update_state
    - <builtin>.set
    - state.dynamic.sort
    - werkzeug.routing.map.Map.update
    - werkzeug.routing.matcher.StateMachineMatcher.update
    - arguments_set.issubset
    - state.static.values
    - rules.sort
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 361
    functionName: werkzeug.routing.map.Map.update
    functionSourceFile: werkzeug.routing.map
    functionUses: 9
    functionsReached:
    - werkzeug.routing.matcher.StateMachineMatcher.update._update_state
    - state.dynamic.sort
    - werkzeug.routing.matcher.StateMachineMatcher.update
    - state.static.values
    - rules.sort
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: arguments_set.issubset
    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: 155
    functionName: werkzeug.routing.map.Map._rules
    functionSourceFile: werkzeug.routing.map
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d94057370>
    argNames:
    - self
    - endpoint
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 158
    functionName: werkzeug.routing.map.Map.iter_rules
    functionSourceFile: werkzeug.routing.map
    functionUses: 1
    functionsReached:
    - werkzeug.routing.matcher.StateMachineMatcher.update._update_state
    - state.dynamic.sort
    - werkzeug.routing.map.Map.update
    - werkzeug.routing.matcher.StateMachineMatcher.update
    - state.static.values
    - <builtin>.iter
    - rules.sort
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rulefactory.get_rules
    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: rule.bind
    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: []
    argNames:
    - self
    - rule
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 38
    functionName: werkzeug.routing.matcher.StateMachineMatcher.add
    functionSourceFile: werkzeug.routing.matcher
    functionUses: 2
    functionsReached:
    - state.rules.append
    - state.static.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f5d940b29d0>
    - <ast.Constant object at 0x7f5d940b2af0>
    - <ast.Constant object at 0x7f5d940b29a0>
    - <ast.Constant object at 0x7f5d940b2070>
    - <ast.Constant object at 0x7f5d940b2f10>
    - <ast.Constant object at 0x7f5d940b2cd0>
    argNames:
    - self
    - server_name
    - script_name
    - subdomain
    - url_scheme
    - default_method
    - path_info
    - query_args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 183
    functionName: werkzeug.routing.map.Map.bind
    functionSourceFile: werkzeug.routing.map
    functionUses: 1
    functionsReached:
    - server_name.partition
    - server_name.encode
    - script_name.endswith
    - werkzeug.routing.map.MapAdapter.__init__
    - server_name.lower
    linkageType: pythonLinkage
    raised:
    - BadHost
    - 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: server_name.lower
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: server_name.partition
    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: server_name.encode
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 9
    argDefaultValues:
    - <ast.Constant object at 0x7f5d9430d700>
    argNames:
    - self
    - map
    - server_name
    - script_name
    - subdomain
    - url_scheme
    - path_info
    - default_method
    - query_args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 387
    functionName: werkzeug.routing.map.MapAdapter.__init__
    functionSourceFile: werkzeug.routing.map
    functionUses: 2
    functionsReached:
    - script_name.endswith
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 2
    IfCount: 6
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93576160>
    - <ast.Constant object at 0x7f5d93576340>
    argNames:
    - self
    - environ
    - server_name
    - subdomain
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 252
    functionName: werkzeug.routing.map.Map.bind_to_environ
    functionSourceFile: werkzeug.routing.map
    functionUses: 0
    functionsReached:
    - server_name.encode
    - hostname.endswith
    - werkzeug.sansio.utils.get_host
    - warnings.warn
    - <builtin>.getattr
    - hostname.partition
    - <builtin>.any
    - server_name.endswith
    - werkzeug.wsgi._get_server
    - ref.startswith
    - werkzeug._internal._get_environ
    - werkzeug.routing.map.Map.bind_to_environ._get_wsgi_string
    - server_name.lower
    - server_name.split
    - host.endswith
    - wsgi_server_name.split
    - <builtin>.len
    - environ.get
    - env.get
    - <builtin>.int
    - <builtin>.type
    - werkzeug.sansio.utils.host_is_trusted
    - werkzeug.routing.map.MapAdapter.__init__
    - v.strip
    - werkzeug.routing.map.Map.bind
    - werkzeug.wsgi.get_host
    - werkzeug._internal._wsgi_decoding_dance
    - server_name.partition
    - <builtin>.filter
    - s.encode
    - script_name.endswith
    - <builtin>.isinstance
    - ref.partition
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: env.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: wsgi_server_name.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: server_name.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: <builtin>.filter
    functionSourceFile: <builtin>
    functionUses: 1
    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: 2
    functionLinenumber: 341
    functionName: werkzeug.routing.map.Map.bind_to_environ._get_wsgi_string
    functionSourceFile: werkzeug.routing.map
    functionUses: 1
    functionsReached:
    - env.get
    - werkzeug._internal._wsgi_decoding_dance
    - s.encode
    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: 55
    functionName: werkzeug.routing.matcher.StateMachineMatcher.update
    functionSourceFile: werkzeug.routing.matcher
    functionUses: 10
    functionsReached:
    - werkzeug.routing.matcher.StateMachineMatcher.update._update_state
    - state.static.values
    - state.dynamic.sort
    linkageType: 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: werkzeug.routing.map.Map.update.<lambda1>
    functionSourceFile: werkzeug.routing.map
    functionUses: 0
    functionsReached:
    - x.build_compare_key
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.build_compare_key
    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: rules.sort
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 377
    functionName: werkzeug.routing.map.Map.__repr__
    functionSourceFile: werkzeug.routing.map
    functionUses: 0
    functionsReached:
    - werkzeug.routing.matcher.StateMachineMatcher.update._update_state
    - <builtin>.list
    - state.dynamic.sort
    - werkzeug.routing.map.Map.iter_rules
    - werkzeug.routing.map.Map.update
    - werkzeug.routing.matcher.StateMachineMatcher.update
    - state.static.values
    - pprint.pformat
    - <builtin>.type
    - <builtin>.iter
    - rules.sort
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pprint.pformat
    functionSourceFile: pprint
    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: script_name.endswith
    functionSourceFile: <builtin>
    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 0x7f5d93dfd3d0>
    - <ast.Constant object at 0x7f5d93dfd7c0>
    - <ast.Constant object at 0x7f5d93dfd6a0>
    argNames:
    - self
    - view_func
    - path_info
    - method
    - catch_http_exceptions
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 412
    functionName: werkzeug.routing.map.MapAdapter.dispatch
    functionSourceFile: werkzeug.routing.map
    functionUses: 0
    functionsReached:
    - werkzeug.routing.matcher.StateMachineMatcher.update._update_state
    - urllib.parse.urlencode
    - werkzeug.routing.map.MapAdapter.encode_query_args
    - r.suitable_for
    - werkzeug.routing.map.Map.update
    - urllib.parse.quote
    - werkzeug.routing.map.MapAdapter.make_redirect_url
    - werkzeug.routing.map.MapAdapter.get_default_redirect
    - <builtin>.set
    - path.split
    - state.static.values
    - match.groupdict
    - result.update
    - r.provides_defaults_for
    - _simple_rule_re.sub
    - urllib.parse.urlunsplit
    - re.sub
    - r.build
    - urllib.parse.quote.lstrip
    - path_info.lstrip
    - rule.redirect_to
    - <builtin>.sorted
    - <builtin>.str
    - rules.sort
    - werkzeug.routing.map.MapAdapter.match
    - values.update
    - match.groups
    - werkzeug.routing.matcher.StateMachineMatcher.match
    - rule._converters.keys
    - state.dynamic.sort
    - werkzeug.routing.matcher.StateMachineMatcher.update
    - werkzeug.routing.map.MapAdapter.get_host
    - werkzeug.routing.matcher.StateMachineMatcher.match._match
    - <builtin>.zip
    - <builtin>.isinstance
    - re.compile
    - have_match_for.update
    - werkzeug.urls._urlencode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 12
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 8
    EdgeCount: 18
    ICount: 2
    IfCount: 12
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f5d944278e0>
    - <ast.Constant object at 0x7f5d944a1430>
    - <ast.Constant object at 0x7f5d944a1700>
    - <ast.Constant object at 0x7f5d944a1760>
    - <ast.Constant object at 0x7f5d944a1970>
    argNames:
    - self
    - path_info
    - method
    - return_rule
    - query_args
    - websocket
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 492
    functionName: werkzeug.routing.map.MapAdapter.match
    functionSourceFile: werkzeug.routing.map
    functionUses: 3
    functionsReached:
    - werkzeug.routing.matcher.StateMachineMatcher.update._update_state
    - urllib.parse.urlencode
    - werkzeug.routing.map.MapAdapter.encode_query_args
    - r.suitable_for
    - werkzeug.routing.map.Map.update
    - urllib.parse.quote
    - werkzeug.routing.map.MapAdapter.make_redirect_url
    - werkzeug.routing.map.MapAdapter.get_default_redirect
    - <builtin>.set
    - path.split
    - state.static.values
    - match.groupdict
    - result.update
    - r.provides_defaults_for
    - _simple_rule_re.sub
    - urllib.parse.urlunsplit
    - re.sub
    - r.build
    - urllib.parse.quote.lstrip
    - path_info.lstrip
    - rule.redirect_to
    - <builtin>.sorted
    - <builtin>.str
    - rules.sort
    - values.update
    - match.groups
    - werkzeug.routing.matcher.StateMachineMatcher.match
    - rule._converters.keys
    - state.dynamic.sort
    - werkzeug.routing.matcher.StateMachineMatcher.update
    - werkzeug.routing.map.MapAdapter.get_host
    - werkzeug.routing.matcher.StateMachineMatcher.match._match
    - <builtin>.zip
    - <builtin>.isinstance
    - re.compile
    - have_match_for.update
    - werkzeug.urls._urlencode
    linkageType: pythonLinkage
    raised:
    - NotFound
    - MethodNotAllowed
    - RequestRedirect
    - WebsocketMismatch
    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: werkzeug.routing.map.MapAdapter
    functionSourceFile: werkzeug.routing.map
    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: path_info.lstrip
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - domain
    - path
    - method
    - websocket
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 69
    functionName: werkzeug.routing.matcher.StateMachineMatcher.match
    functionSourceFile: werkzeug.routing.matcher
    functionUses: 4
    functionsReached:
    - re.sub
    - <builtin>.set
    - rule._converters.keys
    - path.split
    - werkzeug.routing.matcher.StateMachineMatcher.match._match
    - <builtin>.zip
    - match.groupdict
    - <builtin>.sorted
    - re.compile
    - result.update
    - have_match_for.update
    - <builtin>.str
    - match.groups
    linkageType: pythonLinkage
    raised:
    - RequestAliasRedirect
    - NoMatch
    - RequestPath
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - rule
    - method
    - values
    - query_args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 717
    functionName: werkzeug.routing.map.MapAdapter.get_default_redirect
    functionSourceFile: werkzeug.routing.map
    functionUses: 4
    functionsReached:
    - urllib.parse.urlencode
    - werkzeug.routing.map.MapAdapter.encode_query_args
    - r.build
    - r.suitable_for
    - urllib.parse.quote.lstrip
    - werkzeug.routing.map.MapAdapter.get_host
    - <builtin>.isinstance
    - r.provides_defaults_for
    - werkzeug.urls._urlencode
    - werkzeug.routing.map.MapAdapter.make_redirect_url
    - urllib.parse.urlunsplit
    - values.update
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - match
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 641
    functionName: werkzeug.routing.map.MapAdapter.match._handle_match
    functionSourceFile: werkzeug.routing.map
    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: _simple_rule_re.sub
    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: rule.redirect_to
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d9366a550>
    - <ast.Constant object at 0x7f5d9366a3d0>
    argNames:
    - self
    - path_info
    - method
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 666
    functionName: werkzeug.routing.map.MapAdapter.test
    functionSourceFile: werkzeug.routing.map
    functionUses: 0
    functionsReached:
    - werkzeug.routing.matcher.StateMachineMatcher.update._update_state
    - urllib.parse.urlencode
    - werkzeug.routing.map.MapAdapter.encode_query_args
    - r.suitable_for
    - werkzeug.routing.map.Map.update
    - urllib.parse.quote
    - werkzeug.routing.map.MapAdapter.make_redirect_url
    - werkzeug.routing.map.MapAdapter.get_default_redirect
    - <builtin>.set
    - path.split
    - state.static.values
    - match.groupdict
    - result.update
    - r.provides_defaults_for
    - _simple_rule_re.sub
    - urllib.parse.urlunsplit
    - re.sub
    - r.build
    - urllib.parse.quote.lstrip
    - path_info.lstrip
    - rule.redirect_to
    - <builtin>.sorted
    - <builtin>.str
    - rules.sort
    - werkzeug.routing.map.MapAdapter.match
    - values.update
    - match.groups
    - werkzeug.routing.matcher.StateMachineMatcher.match
    - rule._converters.keys
    - state.dynamic.sort
    - werkzeug.routing.matcher.StateMachineMatcher.update
    - werkzeug.routing.map.MapAdapter.get_host
    - werkzeug.routing.matcher.StateMachineMatcher.match._match
    - <builtin>.zip
    - <builtin>.isinstance
    - re.compile
    - have_match_for.update
    - werkzeug.urls._urlencode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d9366abe0>
    argNames:
    - self
    - path_info
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 683
    functionName: werkzeug.routing.map.MapAdapter.allowed_methods
    functionSourceFile: werkzeug.routing.map
    functionUses: 0
    functionsReached:
    - werkzeug.routing.matcher.StateMachineMatcher.update._update_state
    - urllib.parse.urlencode
    - werkzeug.routing.map.MapAdapter.encode_query_args
    - r.suitable_for
    - werkzeug.routing.map.Map.update
    - urllib.parse.quote
    - werkzeug.routing.map.MapAdapter.make_redirect_url
    - werkzeug.routing.map.MapAdapter.get_default_redirect
    - <builtin>.set
    - path.split
    - state.static.values
    - match.groupdict
    - result.update
    - r.provides_defaults_for
    - _simple_rule_re.sub
    - urllib.parse.urlunsplit
    - re.sub
    - r.build
    - urllib.parse.quote.lstrip
    - path_info.lstrip
    - rule.redirect_to
    - <builtin>.sorted
    - <builtin>.str
    - rules.sort
    - werkzeug.routing.map.MapAdapter.match
    - values.update
    - match.groups
    - werkzeug.routing.matcher.StateMachineMatcher.match
    - rule._converters.keys
    - state.dynamic.sort
    - werkzeug.routing.matcher.StateMachineMatcher.update
    - werkzeug.routing.map.MapAdapter.get_host
    - werkzeug.routing.matcher.StateMachineMatcher.match._match
    - <builtin>.zip
    - <builtin>.isinstance
    - re.compile
    - have_match_for.update
    - werkzeug.urls._urlencode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - domain_part
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 696
    functionName: werkzeug.routing.map.MapAdapter.get_host
    functionSourceFile: werkzeug.routing.map
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: r.provides_defaults_for
    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: r.suitable_for
    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: values.update
    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: r.build
    functionSourceFile: <builtin>
    functionUses: 5
    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 0x7f5d94044d60>
    - <ast.Constant object at 0x7f5d940443d0>
    argNames:
    - self
    - path_info
    - query_args
    - domain_part
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 747
    functionName: werkzeug.routing.map.MapAdapter.make_redirect_url
    functionSourceFile: werkzeug.routing.map
    functionUses: 5
    functionsReached:
    - urllib.parse.urlencode
    - werkzeug.routing.map.MapAdapter.encode_query_args
    - urllib.parse.quote.lstrip
    - werkzeug.routing.map.MapAdapter.get_host
    - <builtin>.isinstance
    - werkzeug.urls._urlencode
    - urllib.parse.urlunsplit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - query_args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 742
    functionName: werkzeug.routing.map.MapAdapter.encode_query_args
    functionSourceFile: werkzeug.routing.map
    functionUses: 7
    functionsReached:
    - <builtin>.isinstance
    - werkzeug.urls._urlencode
    - urllib.parse.urlencode
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.quote.lstrip
    functionSourceFile: urllib
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 6
    argDefaultValues: []
    argNames:
    - self
    - path
    - endpoint
    - values
    - method
    - query_args
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 770
    functionName: werkzeug.routing.map.MapAdapter.make_alias_redirect_url
    functionSourceFile: werkzeug.routing.map
    functionUses: 0
    functionsReached:
    - werkzeug.routing.matcher.StateMachineMatcher.update._update_state
    - urllib.parse.urlencode
    - werkzeug.routing.map.MapAdapter.encode_query_args
    - werkzeug.routing.map.MapAdapter._partial_build
    - werkzeug.routing.map.MapAdapter.build
    - werkzeug.routing.map.Map.update
    - rule.build
    - state.static.values
    - path.lstrip
    - <builtin>.len
    - rule.suitable_for
    - dict.items
    - rules.sort
    - state.dynamic.sort
    - werkzeug.routing.matcher.StateMachineMatcher.update
    - werkzeug.routing.map.MapAdapter.get_host
    - <builtin>.isinstance
    - values.items
    - werkzeug.urls._urlencode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 2
    IfCount: 7
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f5d946702b0>
    - <ast.Constant object at 0x7f5d94670190>
    - <ast.Constant object at 0x7f5d94670040>
    - <ast.Constant object at 0x7f5d93d3fbe0>
    - <ast.Constant object at 0x7f5d93d3fc40>
    argNames:
    - self
    - endpoint
    - values
    - method
    - force_external
    - append_unknown
    - url_scheme
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 828
    functionName: werkzeug.routing.map.MapAdapter.build
    functionSourceFile: werkzeug.routing.map
    functionUses: 1
    functionsReached:
    - werkzeug.routing.matcher.StateMachineMatcher.update._update_state
    - werkzeug.routing.map.MapAdapter._partial_build
    - state.dynamic.sort
    - werkzeug.routing.map.Map.update
    - werkzeug.routing.matcher.StateMachineMatcher.update
    - werkzeug.routing.map.MapAdapter.get_host
    - rule.build
    - state.static.values
    - <builtin>.isinstance
    - rule.suitable_for
    - values.items
    - dict.items
    - rules.sort
    - path.lstrip
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - BuildError
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 1
    IfCount: 7
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - endpoint
    - values
    - method
    - append_unknown
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 787
    functionName: werkzeug.routing.map.MapAdapter._partial_build
    functionSourceFile: werkzeug.routing.map
    functionUses: 2
    functionsReached:
    - rule.suitable_for
    - werkzeug.routing.map.MapAdapter._partial_build
    - rule.build
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rule.suitable_for
    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: rule.build
    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: dict.items
    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: values.items
    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: werkzeug.routing.matcher
    functionSourceFile: werkzeug.routing.matcher
    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: werkzeug.routing.matcher.State
    functionSourceFile: werkzeug.routing.matcher
    functionUses: 0
    functionsReached:
    - dataclasses.field
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: state.static.setdefault
    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: state.rules.append
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - state
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 60
    functionName: werkzeug.routing.matcher.StateMachineMatcher.update._update_state
    functionSourceFile: werkzeug.routing.matcher
    functionUses: 11
    functionsReached:
    - werkzeug.routing.matcher.StateMachineMatcher.update._update_state
    - state.static.values
    - state.dynamic.sort
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: werkzeug.routing.matcher.StateMachineMatcher.update._update_state.<lambda1>
    functionSourceFile: werkzeug.routing.matcher
    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: state.dynamic.sort
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: state.static.values
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 17
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 10
    EdgeCount: 25
    ICount: 2
    IfCount: 17
    argCount: 3
    argDefaultValues: []
    argNames:
    - state
    - parts
    - values
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 79
    functionName: werkzeug.routing.matcher.StateMachineMatcher.match._match
    functionSourceFile: werkzeug.routing.matcher
    functionUses: 5
    functionsReached:
    - werkzeug.routing.matcher.StateMachineMatcher.match._match
    - <builtin>.sorted
    - match.groupdict
    - re.compile
    - have_match_for.update
    - match.groups
    linkageType: pythonLinkage
    raised:
    - SlashRequired
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: have_match_for.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: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: match.groupdict
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: werkzeug.routing.matcher.StateMachineMatcher.match._match.<lambda1>
    functionSourceFile: werkzeug.routing.matcher
    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: rule._converters.keys
    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: werkzeug.routing.exceptions
    functionSourceFile: werkzeug.routing.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
    - new_url
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 37
    functionName: werkzeug.routing.exceptions.RequestRedirect.__init__
    functionSourceFile: werkzeug.routing.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
    - path_info
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 54
    functionName: werkzeug.routing.exceptions.RequestPath.__init__
    functionSourceFile: werkzeug.routing.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
    - matched_values
    - endpoint
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 62
    functionName: werkzeug.routing.exceptions.RequestAliasRedirect.__init__
    functionSourceFile: werkzeug.routing.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: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f5d94044670>
    argNames:
    - self
    - endpoint
    - values
    - method
    - adapter
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 73
    functionName: werkzeug.routing.exceptions.BuildError.__init__
    functionSourceFile: werkzeug.routing.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: werkzeug.routing.exceptions.BuildError
    functionSourceFile: werkzeug.routing.exceptions
    functionUses: 0
    functionsReached:
    - werkzeug.utils.cached_property
    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: 87
    functionName: werkzeug.routing.exceptions.BuildError.suggested
    functionSourceFile: werkzeug.routing.exceptions
    functionUses: 0
    functionsReached:
    - werkzeug.routing.exceptions.BuildError.closest_rule
    - <builtin>.max
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - adapter
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 90
    functionName: werkzeug.routing.exceptions.BuildError.closest_rule
    functionSourceFile: werkzeug.routing.exceptions
    functionUses: 1
    functionsReached:
    - <builtin>.max
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - rule
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 91
    functionName: werkzeug.routing.exceptions.BuildError.closest_rule._score_rule
    functionSourceFile: werkzeug.routing.exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.sum
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 6
    IfCount: 6
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 111
    functionName: werkzeug.routing.exceptions.BuildError.__str__
    functionSourceFile: werkzeug.routing.exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    - message.append
    - <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: message.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: 3
    argDefaultValues: []
    argNames:
    - self
    - have_match_for
    - websocket_mismatch
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 150
    functionName: werkzeug.routing.exceptions.NoMatch.__init__
    functionSourceFile: werkzeug.routing.exceptions
    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: werkzeug.routing.rules
    functionSourceFile: werkzeug.routing.rules
    functionUses: 0
    functionsReached:
    - ast.walk
    - werkzeug.routing.rules._prefix_names
    - ast.parse
    - <builtin>.isinstance
    - typing.TypeVar
    - re.compile
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - value
    - target
    - pos
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 88
    functionName: werkzeug.routing.rules._find
    functionSourceFile: werkzeug.routing.rules
    functionUses: 0
    functionsReached:
    - value.index
    - <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: value.index
    functionSourceFile: <builtin>
    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:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 99
    functionName: werkzeug.routing.rules._pythonize
    functionSourceFile: werkzeug.routing.rules
    functionUses: 6
    functionsReached:
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - argstr
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 112
    functionName: werkzeug.routing.rules.parse_converter_args
    functionSourceFile: werkzeug.routing.rules
    functionUses: 5
    functionsReached:
    - args.append
    - werkzeug.routing.rules._pythonize
    - item.end
    - item.start
    - item.group
    - <builtin>.str
    - _converter_args_re.finditer
    - <builtin>.tuple
    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: _converter_args_re.finditer
    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: item.start
    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: item.group
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: item.end
    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:
    - self
    - map
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 144
    functionName: werkzeug.routing.rules.RuleFactory.get_rules
    functionSourceFile: werkzeug.routing.rules
    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: []
    argNames:
    - self
    - subdomain
    - rules
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 169
    functionName: werkzeug.routing.rules.Subdomain.__init__
    functionSourceFile: werkzeug.routing.rules
    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
    - map
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 173
    functionName: werkzeug.routing.rules.Subdomain.get_rules
    functionSourceFile: werkzeug.routing.rules
    functionUses: 0
    functionsReached:
    - rulefactory.get_rules
    - rule.empty
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rule.empty
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - path
    - rules
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 195
    functionName: werkzeug.routing.rules.Submount.__init__
    functionSourceFile: werkzeug.routing.rules
    functionUses: 0
    functionsReached:
    - path.rstrip
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - map
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 199
    functionName: werkzeug.routing.rules.Submount.get_rules
    functionSourceFile: werkzeug.routing.rules
    functionUses: 0
    functionsReached:
    - rulefactory.get_rules
    - rule.empty
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - prefix
    - rules
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 220
    functionName: werkzeug.routing.rules.EndpointPrefix.__init__
    functionSourceFile: werkzeug.routing.rules
    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
    - map
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 224
    functionName: werkzeug.routing.rules.EndpointPrefix.get_rules
    functionSourceFile: werkzeug.routing.rules
    functionUses: 0
    functionsReached:
    - rulefactory.get_rules
    - rule.empty
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - rules
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 251
    functionName: werkzeug.routing.rules.RuleTemplate.__init__
    functionSourceFile: werkzeug.routing.rules
    functionUses: 0
    functionsReached:
    - <builtin>.list
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 254
    functionName: werkzeug.routing.rules.RuleTemplate.__call__
    functionSourceFile: werkzeug.routing.rules
    functionUses: 0
    functionsReached:
    - werkzeug.routing.rules.RuleTemplateFactory.__init__
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - rules
    - context
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 265
    functionName: werkzeug.routing.rules.RuleTemplateFactory.__init__
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - map
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 271
    functionName: werkzeug.routing.rules.RuleTemplateFactory.get_rules
    functionSourceFile: werkzeug.routing.rules
    functionUses: 0
    functionsReached:
    - rulefactory.get_rules
    - <builtin>.set
    - rule.defaults.items
    - werkzeug.routing.rules.Rule.__init__
    - methods.add
    - x.upper
    - string.endswith
    - <builtin>.isinstance
    - string.Template.substitute
    - string.Template
    - string.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: rule.defaults.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: string.Template
    functionSourceFile: string
    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: string.Template.substitute
    functionSourceFile: string
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 13
    argDefaultValues:
    - <ast.Constant object at 0x7f5d9466bbe0>
    - <ast.Constant object at 0x7f5d9466b310>
    - <ast.Constant object at 0x7f5d9466b2b0>
    - <ast.Constant object at 0x7f5d9466bd90>
    - <ast.Constant object at 0x7f5d9466b3d0>
    - <ast.Constant object at 0x7f5d9466be80>
    - <ast.Constant object at 0x7f5d9466bca0>
    - <ast.Constant object at 0x7f5d9466b760>
    - <ast.Constant object at 0x7f5d9466b190>
    - <ast.Constant object at 0x7f5d9466b970>
    - <ast.Constant object at 0x7f5d9466baf0>
    argNames:
    - self
    - string
    - defaults
    - subdomain
    - methods
    - build_only
    - endpoint
    - strict_slashes
    - merge_slashes
    - redirect_to
    - alias
    - host
    - websocket
    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: 1
    functionLinenumber: 459
    functionName: werkzeug.routing.rules.Rule.__init__
    functionSourceFile: werkzeug.routing.rules
    functionUses: 1
    functionsReached:
    - <builtin>.set
    - methods.add
    - x.upper
    - string.endswith
    - <builtin>.isinstance
    - string.startswith
    linkageType: pythonLinkage
    raised:
    - ValueError
    - TypeError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - src
    - expected_type
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 300
    functionName: werkzeug.routing.rules._prefix_names
    functionSourceFile: werkzeug.routing.rules
    functionUses: 7
    functionsReached:
    - <builtin>.isinstance
    - ast.walk
    - ast.parse
    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: ast.parse
    functionSourceFile: ast
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ast.walk
    functionSourceFile: ast
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: string.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: string.endswith
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: x.upper
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: methods.add
    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: 2
    functionLinenumber: 518
    functionName: werkzeug.routing.rules.Rule.empty
    functionSourceFile: werkzeug.routing.rules
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - werkzeug.routing.rules.Rule.get_empty_kwargs
    - <builtin>.dict
    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: 528
    functionName: werkzeug.routing.rules.Rule.get_empty_kwargs
    functionSourceFile: werkzeug.routing.rules
    functionUses: 1
    functionsReached:
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - map
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 555
    functionName: werkzeug.routing.rules.Rule.get_rules
    functionSourceFile: werkzeug.routing.rules
    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: 7
    functionLinenumber: 558
    functionName: werkzeug.routing.rules.Rule.refresh
    functionSourceFile: werkzeug.routing.rules
    functionUses: 0
    functionsReached:
    - argument_weights.append
    - ast.Constant
    - ret.append
    - match.end
    - func_ast.args.defaults.append
    - urllib.parse.quote
    - werkzeug.routing.rules.Rule._compile_builder._join
    - werkzeug.routing.rules.Rule._parse_rule
    - item.group
    - werkzeug.routing.rules.Rule._compile_builder._parts
    - werkzeug.routing.rules.Rule.bind
    - werkzeug.routing.rules.Rule.compile
    - <builtin>.tuple
    - args.append
    - re.escape
    - item.end
    - werkzeug.routing.rules._prefix_names
    - ast.Load
    - match.groupdict
    - werkzeug.routing.rules.Rule.get_converter
    - body.append
    - werkzeug.routing.rules.Rule._compile_builder
    - _converter_args_re.finditer
    - <builtin>.len
    - re.sub
    - static_weights.append
    - werkzeug.routing.rules._pythonize
    - opl.append
    - _part_re.match
    - ast.JoinedStr
    - ast.arg
    - ast.parse
    - ast.Name
    - werkzeug.routing.rules.Rule._compile_builder._convert
    - <builtin>.str
    - <builtin>.exec
    - ast.Tuple
    - url_parts.extend
    - werkzeug.routing.rules.Rule._get_func_code
    - ast.walk
    - typing.NamedTuple.__init__
    - item.start
    - <builtin>.isinstance
    - werkzeug.routing.rules.parse_converter_args
    - _CALL_CONVERTER_CODE_FMT.format
    - ast.Return
    - func_ast.args.args.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d9406a190>
    argNames:
    - self
    - map
    - rebind
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 566
    functionName: werkzeug.routing.rules.Rule.bind
    functionSourceFile: werkzeug.routing.rules
    functionUses: 1
    functionsReached:
    - argument_weights.append
    - ast.Constant
    - ret.append
    - match.end
    - func_ast.args.defaults.append
    - urllib.parse.quote
    - werkzeug.routing.rules.Rule._compile_builder._join
    - werkzeug.routing.rules.Rule._parse_rule
    - item.group
    - werkzeug.routing.rules.Rule._compile_builder._parts
    - werkzeug.routing.rules.Rule.compile
    - <builtin>.tuple
    - args.append
    - re.escape
    - item.end
    - werkzeug.routing.rules._prefix_names
    - ast.Load
    - match.groupdict
    - werkzeug.routing.rules.Rule.get_converter
    - body.append
    - werkzeug.routing.rules.Rule._compile_builder
    - _converter_args_re.finditer
    - <builtin>.len
    - re.sub
    - static_weights.append
    - werkzeug.routing.rules._pythonize
    - opl.append
    - _part_re.match
    - ast.JoinedStr
    - ast.arg
    - ast.parse
    - ast.Name
    - werkzeug.routing.rules.Rule._compile_builder._convert
    - <builtin>.str
    - <builtin>.exec
    - ast.Tuple
    - url_parts.extend
    - werkzeug.routing.rules.Rule._get_func_code
    - ast.walk
    - typing.NamedTuple.__init__
    - item.start
    - <builtin>.isinstance
    - werkzeug.routing.rules.parse_converter_args
    - _CALL_CONVERTER_CODE_FMT.format
    - ast.Return
    - func_ast.args.args.append
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    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: 5
    functionLinenumber: 699
    functionName: werkzeug.routing.rules.Rule.compile
    functionSourceFile: werkzeug.routing.rules
    functionUses: 3
    functionsReached:
    - argument_weights.append
    - ast.Constant
    - ret.append
    - match.end
    - func_ast.args.defaults.append
    - urllib.parse.quote
    - werkzeug.routing.rules.Rule._compile_builder._join
    - werkzeug.routing.rules.Rule._parse_rule
    - item.group
    - werkzeug.routing.rules.Rule._compile_builder._parts
    - werkzeug.routing.rules.Rule.compile
    - <builtin>.tuple
    - args.append
    - re.escape
    - item.end
    - werkzeug.routing.rules._prefix_names
    - ast.Load
    - match.groupdict
    - werkzeug.routing.rules.Rule.get_converter
    - body.append
    - werkzeug.routing.rules.Rule._compile_builder
    - _converter_args_re.finditer
    - <builtin>.len
    - re.sub
    - static_weights.append
    - werkzeug.routing.rules._pythonize
    - opl.append
    - _part_re.match
    - ast.JoinedStr
    - ast.arg
    - ast.parse
    - ast.Name
    - werkzeug.routing.rules.Rule._compile_builder._convert
    - <builtin>.str
    - <builtin>.exec
    - ast.Tuple
    - url_parts.extend
    - werkzeug.routing.rules.Rule._get_func_code
    - ast.walk
    - typing.NamedTuple.__init__
    - item.start
    - <builtin>.isinstance
    - werkzeug.routing.rules.parse_converter_args
    - _CALL_CONVERTER_CODE_FMT.format
    - ast.Return
    - func_ast.args.args.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - variable_name
    - converter_name
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 583
    functionName: werkzeug.routing.rules.Rule.get_converter
    functionSourceFile: werkzeug.routing.rules
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - LookupError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - query_vars
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 598
    functionName: werkzeug.routing.rules.Rule._encode_query_vars
    functionSourceFile: werkzeug.routing.rules
    functionUses: 0
    functionsReached:
    - urllib.parse.urlencode
    - werkzeug.datastructures.structures.iter_multi_items
    - <builtin>.isinstance
    - <builtin>.sorted
    - mapping.items
    - werkzeug.urls._urlencode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 9
    IfCount: 11
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - rule
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 606
    functionName: werkzeug.routing.rules.Rule._parse_rule
    functionSourceFile: werkzeug.routing.rules
    functionUses: 4
    functionsReached:
    - args.append
    - static_weights.append
    - werkzeug.routing.rules._pythonize
    - re.escape
    - argument_weights.append
    - _part_re.match
    - typing.NamedTuple.__init__
    - item.end
    - match.end
    - item.start
    - match.groupdict
    - werkzeug.routing.rules.parse_converter_args
    - werkzeug.routing.rules.Rule.get_converter
    - item.group
    - <builtin>.str
    - _converter_args_re.finditer
    - <builtin>.tuple
    - <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: _part_re.match
    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: static_weights.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: argument_weights.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: typing.NamedTuple.__init__
    functionSourceFile: ''
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 8
    IfCount: 8
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d9426a5b0>
    argNames:
    - self
    - append_unknown
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 740
    functionName: werkzeug.routing.rules.Rule._compile_builder
    functionSourceFile: werkzeug.routing.rules
    functionUses: 3
    functionsReached:
    - argument_weights.append
    - ast.Constant
    - ret.append
    - match.end
    - func_ast.args.defaults.append
    - urllib.parse.quote
    - werkzeug.routing.rules.Rule._compile_builder._join
    - werkzeug.routing.rules.Rule._parse_rule
    - item.group
    - werkzeug.routing.rules.Rule._compile_builder._parts
    - werkzeug.routing.rules.Rule.compile
    - <builtin>.tuple
    - args.append
    - re.escape
    - item.end
    - werkzeug.routing.rules._prefix_names
    - ast.Load
    - match.groupdict
    - werkzeug.routing.rules.Rule.get_converter
    - body.append
    - werkzeug.routing.rules.Rule._compile_builder
    - _converter_args_re.finditer
    - <builtin>.len
    - re.sub
    - static_weights.append
    - werkzeug.routing.rules._pythonize
    - opl.append
    - _part_re.match
    - ast.JoinedStr
    - ast.arg
    - ast.parse
    - ast.Name
    - werkzeug.routing.rules.Rule._compile_builder._convert
    - <builtin>.str
    - <builtin>.exec
    - ast.Tuple
    - url_parts.extend
    - werkzeug.routing.rules.Rule._get_func_code
    - ast.walk
    - typing.NamedTuple.__init__
    - item.start
    - <builtin>.isinstance
    - werkzeug.routing.rules.parse_converter_args
    - _CALL_CONVERTER_CODE_FMT.format
    - ast.Return
    - func_ast.args.args.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - code
    - name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 734
    functionName: werkzeug.routing.rules.Rule._get_func_code
    functionSourceFile: werkzeug.routing.rules
    functionUses: 4
    functionsReached:
    - <builtin>.exec
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: opl.append
    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:
    - elem
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 764
    functionName: werkzeug.routing.rules.Rule._compile_builder._convert
    functionSourceFile: werkzeug.routing.rules
    functionUses: 5
    functionsReached:
    - ast.walk
    - werkzeug.routing.rules._prefix_names
    - ast.Load
    - ast.Name
    - <builtin>.isinstance
    - ast.parse
    - _CALL_CONVERTER_CODE_FMT.format
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: _CALL_CONVERTER_CODE_FMT.format
    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: ast.Load
    functionSourceFile: ast
    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: ast.Name
    functionSourceFile: ast
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - ops
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 769
    functionName: werkzeug.routing.rules.Rule._compile_builder._parts
    functionSourceFile: werkzeug.routing.rules
    functionUses: 4
    functionsReached:
    - ast.walk
    - ast.Constant
    - ret.append
    - werkzeug.routing.rules._prefix_names
    - ast.Load
    - ast.parse
    - <builtin>.isinstance
    - werkzeug.routing.rules.Rule._compile_builder._convert
    - ast.Name
    - _CALL_CONVERTER_CODE_FMT.format
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ast.Constant
    functionSourceFile: ast
    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.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: url_parts.extend
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - parts
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 793
    functionName: werkzeug.routing.rules.Rule._compile_builder._join
    functionSourceFile: werkzeug.routing.rules
    functionUses: 4
    functionsReached:
    - ast.JoinedStr
    - <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: ast.JoinedStr
    functionSourceFile: ast
    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: ast.Tuple
    functionSourceFile: ast
    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: ast.Return
    functionSourceFile: ast
    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: body.append
    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: ast.arg
    functionSourceFile: ast
    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: func_ast.args.args.append
    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: func_ast.args.defaults.append
    functionSourceFile: <builtin>
    functionUses: 4
    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 0x7f5d94064d30>
    argNames:
    - self
    - values
    - append_unknown
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 840
    functionName: werkzeug.routing.rules.Rule.build
    functionSourceFile: werkzeug.routing.rules
    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
    - rule
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 856
    functionName: werkzeug.routing.rules.Rule.provides_defaults_for
    functionSourceFile: werkzeug.routing.rules
    functionUses: 0
    functionsReached:
    - <builtin>.bool
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93e62fd0>
    argNames:
    - self
    - values
    - method
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 869
    functionName: werkzeug.routing.rules.Rule.suitable_for
    functionSourceFile: werkzeug.routing.rules
    functionUses: 0
    functionsReached:
    - defaults.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: defaults.items
    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: 902
    functionName: werkzeug.routing.rules.Rule.build_compare_key
    functionSourceFile: werkzeug.routing.rules
    functionUses: 0
    functionsReached:
    - <builtin>.len
    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: 909
    functionName: werkzeug.routing.rules.Rule.__eq__
    functionSourceFile: werkzeug.routing.rules
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - <builtin>.isinstance
    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: 914
    functionName: werkzeug.routing.rules.Rule.__str__
    functionSourceFile: werkzeug.routing.rules
    functionUses: 0
    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: 917
    functionName: werkzeug.routing.rules.Rule.__repr__
    functionSourceFile: werkzeug.routing.rules
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - parts.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: connexion.middleware.lifespan
    functionSourceFile: connexion.middleware.lifespan
    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
    - next_app
    - lifespan
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 15
    functionName: connexion.middleware.lifespan.LifespanMiddleware.__init__
    functionSourceFile: connexion.middleware.lifespan
    functionUses: 0
    functionsReached:
    - starlette.routing.Router
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - scope
    - receive
    - send
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 21
    functionName: connexion.middleware.lifespan.LifespanMiddleware.__call__
    functionSourceFile: connexion.middleware.lifespan
    functionUses: 0
    functionsReached:
    - starlette.routing.Router
    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: connexion.middleware.response_validation
    functionSourceFile: connexion.middleware.response_validation
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - next_app
    - operation
    - validator_map
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 20
    functionName: connexion.middleware.response_validation.ResponseValidationOperation.__init__
    functionSourceFile: connexion.middleware.response_validation
    functionUses: 1
    functionsReached:
    - VALIDATOR_MAP.copy
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - headers
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 32
    functionName: connexion.middleware.response_validation.ResponseValidationOperation.extract_content_type
    functionSourceFile: connexion.middleware.response_validation
    functionUses: 1
    functionsReached:
    - parameter.startswith
    - decoded_key.lower
    - parameters.split
    - value.decode
    - key.decode
    - <builtin>.isinstance
    - connexion.utils.split_content_type
    - content_type.split
    - headers.items
    - connexion.utils.extract_content_type
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - mime_type
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 54
    functionName: connexion.middleware.response_validation.ResponseValidationOperation.validate_mime_type
    functionSourceFile: connexion.middleware.response_validation
    functionUses: 1
    functionsReached:
    - mime_type.lower
    - p.lower
    linkageType: pythonLinkage
    raised:
    - NonConformingResponseHeaders
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: p.lower
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - headers
    - response_definition
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 72
    functionName: connexion.middleware.response_validation.ResponseValidationOperation.validate_required_headers
    functionSourceFile: connexion.middleware.response_validation
    functionUses: 1
    functionsReached:
    - response_definition.get
    - v.get
    - <builtin>.set
    - k.lower
    linkageType: pythonLinkage
    raised:
    - NonConformingResponseHeaders
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - scope
    - receive
    - send
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 89
    functionName: connexion.middleware.response_validation.ResponseValidationOperation.__call__
    functionSourceFile: connexion.middleware.response_validation
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - message
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 90
    functionName: connexion.middleware.response_validation.ResponseValidationOperation.__call__.wrapped_send
    functionSourceFile: connexion.middleware.response_validation
    functionUses: 0
    functionsReached:
    - mime_type.lower
    - param_def.get
    - parameters.split
    - value.decode
    - key.decode
    - <builtin>.set
    - connexion.middleware.response_validation.ResponseValidationOperation.validate_mime_type
    - logger.info
    - content_type.split
    - headers.items
    - <builtin>.len
    - response_definition.get
    - p.lower
    - decoded_key.lower
    - <builtin>.str
    - validator.wrap_send
    - connexion.middleware.response_validation.ResponseValidationOperation.extract_content_type
    - k.lower
    - parameter.startswith
    - v.get
    - <builtin>.isinstance
    - connexion.utils.split_content_type
    - connexion.utils.is_nullable
    - connexion.middleware.response_validation.ResponseValidationOperation.validate_required_headers
    - connexion.utils.extract_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: validator.wrap_send
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - args
    - validator_map
    - validate_responses
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 133
    functionName: connexion.middleware.response_validation.ResponseValidationAPI.__init__
    functionSourceFile: connexion.middleware.response_validation
    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
    - operation
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 145
    functionName: connexion.middleware.response_validation.ResponseValidationAPI.make_operation
    functionSourceFile: connexion.middleware.response_validation
    functionUses: 0
    functionsReached:
    - VALIDATOR_MAP.copy
    - connexion.middleware.response_validation.ResponseValidationOperation.__init__
    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: connexion.operations.abstract
    functionSourceFile: connexion.operations.abstract
    functionUses: 0
    functionsReached:
    - logging.getLogger
    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 0x7f5d94a1dc10>
    - <ast.Constant object at 0x7f5d94a1daf0>
    - <ast.Constant object at 0x7f5d94a1d4f0>
    - <ast.Constant object at 0x7f5d94a1d310>
    argNames:
    - self
    - method
    - path
    - operation
    - resolver
    - app_security
    - security_schemes
    - randomize_endpoint
    - uri_parser_class
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 36
    functionName: connexion.operations.abstract.AbstractOperation.__init__
    functionSourceFile: connexion.operations.abstract
    functionUses: 0
    functionsReached:
    - operation.get
    - resolver.resolve
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: resolver.resolve
    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: connexion.operations.abstract.AbstractOperation
    functionSourceFile: connexion.operations.abstract
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 7
    argDefaultValues: []
    argNames:
    - cls
    - spec
    - args
    - path
    - method
    - resolver
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 82
    functionName: connexion.operations.abstract.AbstractOperation.from_spec
    functionSourceFile: connexion.operations.abstract
    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: 86
    functionName: connexion.operations.abstract.AbstractOperation.method
    functionSourceFile: connexion.operations.abstract
    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: connexion.operations.abstract.AbstractOperation.request_body
    functionSourceFile: connexion.operations.abstract
    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: 97
    functionName: connexion.operations.abstract.AbstractOperation.is_request_body_defined
    functionSourceFile: connexion.operations.abstract
    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: 102
    functionName: connexion.operations.abstract.AbstractOperation.path
    functionSourceFile: connexion.operations.abstract
    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: 109
    functionName: connexion.operations.abstract.AbstractOperation.security
    functionSourceFile: connexion.operations.abstract
    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: 113
    functionName: connexion.operations.abstract.AbstractOperation.security_schemes
    functionSourceFile: connexion.operations.abstract
    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: 117
    functionName: connexion.operations.abstract.AbstractOperation.responses
    functionSourceFile: connexion.operations.abstract
    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: 124
    functionName: connexion.operations.abstract.AbstractOperation.operation_id
    functionSourceFile: connexion.operations.abstract
    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: 131
    functionName: connexion.operations.abstract.AbstractOperation.randomize_endpoint
    functionSourceFile: connexion.operations.abstract
    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: 138
    functionName: connexion.operations.abstract.AbstractOperation.router_controller
    functionSourceFile: connexion.operations.abstract
    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: 146
    functionName: connexion.operations.abstract.AbstractOperation.parameters
    functionSourceFile: connexion.operations.abstract
    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: 153
    functionName: connexion.operations.abstract.AbstractOperation.produces
    functionSourceFile: connexion.operations.abstract
    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: 160
    functionName: connexion.operations.abstract.AbstractOperation.consumes
    functionSourceFile: connexion.operations.abstract
    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
    - content_type
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 166
    functionName: connexion.operations.abstract.AbstractOperation.body_name
    functionSourceFile: connexion.operations.abstract
    functionUses: 0
    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 0x7f5d93f14130>
    argNames:
    - self
    - content_type
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 172
    functionName: connexion.operations.abstract.AbstractOperation.body_schema
    functionSourceFile: connexion.operations.abstract
    functionUses: 0
    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 0x7f5d93f14be0>
    argNames:
    - self
    - content_type
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 178
    functionName: connexion.operations.abstract.AbstractOperation.body_definition
    functionSourceFile: connexion.operations.abstract
    functionUses: 0
    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 0x7f5d93d1f730>
    - <ast.Constant object at 0x7f5d93d1fac0>
    argNames:
    - self
    - status_code
    - content_type
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 194
    functionName: connexion.operations.abstract.AbstractOperation.response_schema
    functionSourceFile: connexion.operations.abstract
    functionUses: 0
    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 0x7f5d93d1f280>
    - <ast.Constant object at 0x7f5d93d1fe20>
    argNames:
    - self
    - status_code
    - content_type
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 200
    functionName: connexion.operations.abstract.AbstractOperation.example_response
    functionSourceFile: connexion.operations.abstract
    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: connexion.operations.abstract.AbstractOperation.get_path_parameter_types
    functionSourceFile: connexion.operations.abstract
    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
    - schema
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 212
    functionName: connexion.operations.abstract.AbstractOperation.with_definitions
    functionSourceFile: connexion.operations.abstract
    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: 3
    functionLinenumber: 219
    functionName: connexion.operations.abstract.AbstractOperation.get_mimetype
    functionSourceFile: connexion.operations.abstract
    functionUses: 1
    functionsReached:
    - connexion.utils.all_json
    - <builtin>.all
    - subtype.split
    - subtype.endswith
    - connexion.utils.is_json_mimetype
    - <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: 238
    functionName: connexion.operations.abstract.AbstractOperation.uri_parser_class
    functionSourceFile: connexion.operations.abstract
    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: 245
    functionName: connexion.operations.abstract.AbstractOperation.function
    functionSourceFile: connexion.operations.abstract
    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: connexion.operations.openapi
    functionSourceFile: connexion.operations.openapi
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 11
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93e629d0>
    - <ast.Constant object at 0x7f5d93e620a0>
    - <ast.Constant object at 0x7f5d93e621c0>
    - <ast.Constant object at 0x7f5d93e624f0>
    - <ast.Constant object at 0x7f5d93e62c10>
    - <ast.Constant object at 0x7f5d93e62ac0>
    argNames:
    - self
    - method
    - path
    - operation
    - resolver
    - path_parameters
    - app_security
    - security_schemes
    - components
    - randomize_endpoint
    - uri_parser_class
    argTypes:
    - 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: 23
    functionName: connexion.operations.openapi.OpenAPIOperation.__init__
    functionSourceFile: connexion.operations.openapi
    functionUses: 1
    functionsReached:
    - logger.debug
    - operation.get
    - <builtin>.super
    - defn.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: defn.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: 7
    argDefaultValues: []
    argNames:
    - cls
    - spec
    - args
    - path
    - method
    - resolver
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 104
    functionName: connexion.operations.openapi.OpenAPIOperation.from_spec
    functionSourceFile: connexion.operations.openapi
    functionUses: 0
    functionsReached:
    - operation.get
    - connexion.operations.openapi.OpenAPIOperation.__init__
    - <builtin>.super
    - spec.get_path_params
    - defn.get
    - logger.debug
    - spec.get_operation
    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: 119
    functionName: connexion.operations.openapi.OpenAPIOperation.request_body
    functionSourceFile: connexion.operations.openapi
    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: 123
    functionName: connexion.operations.openapi.OpenAPIOperation.parameters
    functionSourceFile: connexion.operations.openapi
    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: 127
    functionName: connexion.operations.openapi.OpenAPIOperation.consumes
    functionSourceFile: connexion.operations.openapi
    functionUses: 0
    functionsReached:
    - request_content.keys
    - <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: request_content.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: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 134
    functionName: connexion.operations.openapi.OpenAPIOperation.produces
    functionSourceFile: connexion.operations.openapi
    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
    - schema
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 137
    functionName: connexion.operations.openapi.OpenAPIOperation.with_definitions
    functionSourceFile: connexion.operations.openapi
    functionUses: 3
    functionsReached:
    - schema.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: schema.setdefault
    functionSourceFile: <builtin>
    functionUses: 4
    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 0x7f5d93ec2040>
    - <ast.Constant object at 0x7f5d93ec2730>
    argNames:
    - self
    - status_code
    - content_type
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 143
    functionName: connexion.operations.openapi.OpenAPIOperation.response_schema
    functionSourceFile: connexion.operations.openapi
    functionUses: 0
    functionsReached:
    - response_definition.get
    - schema.setdefault
    - connexion.operations.openapi.OpenAPIOperation.with_definitions
    - content_definition.get
    - connexion.operations.abstract.AbstractOperation.response_definition
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_definition.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93ccb5b0>
    - <ast.Constant object at 0x7f5d93ccb370>
    argNames:
    - self
    - status_code
    - content_type
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 151
    functionName: connexion.operations.openapi.OpenAPIOperation.example_response
    functionSourceFile: connexion.operations.openapi
    functionUses: 0
    functionsReached:
    - copy.deepcopy.values
    - connexion.utils.is_json_mimetype
    - connexion.utils.deep_get
    - <builtin>.all
    - subtype.split
    - <builtin>.range
    - <builtin>.len
    - connexion.utils.build_example_from_schema
    - <builtin>.list
    - connexion.utils.all_json
    - <builtin>.int
    - <builtin>.sorted
    - copy.deepcopy.items.get
    - <builtin>.str
    - connexion.operations.abstract.AbstractOperation.get_mimetype
    - subtype.endswith
    - <builtin>.isinstance
    - jsf.JSF
    - copy.deepcopy.get
    - jsf.JSF.generate
    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: 202
    functionName: connexion.operations.openapi.OpenAPIOperation.get_path_parameter_types
    functionSourceFile: connexion.operations.openapi
    functionUses: 0
    functionsReached:
    - path_schema.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: path_schema.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: 2
    argDefaultValues: []
    argNames:
    - self
    - _content_type
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 218
    functionName: connexion.operations.openapi.OpenAPIOperation.body_name
    functionSourceFile: connexion.operations.openapi
    functionUses: 0
    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 0x7f5d93da66a0>
    argNames:
    - self
    - content_type
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 221
    functionName: connexion.operations.openapi.OpenAPIOperation.body_schema
    functionSourceFile: connexion.operations.openapi
    functionUses: 0
    functionsReached:
    - connexion.datastructures.MediaTypeDict.get
    - schema.setdefault
    - logger.warning
    - connexion.operations.openapi.OpenAPIOperation.with_definitions
    - connexion.operations.openapi.OpenAPIOperation.body_definition
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f5d936701c0>
    argNames:
    - self
    - content_type
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 227
    functionName: connexion.operations.openapi.OpenAPIOperation.body_definition
    functionSourceFile: connexion.operations.openapi
    functionUses: 1
    functionsReached:
    - connexion.datastructures.MediaTypeDict.get
    - schema.setdefault
    - logger.warning
    - connexion.operations.openapi.OpenAPIOperation.with_definitions
    - <builtin>.len
    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: connexion.apps.asynchronous
    functionSourceFile: connexion.apps.asynchronous
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - fn
    - jsonifier
    - operation_id
    - pythonic_params
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 30
    functionName: connexion.apps.asynchronous.AsyncOperation.__init__
    functionSourceFile: connexion.apps.asynchronous
    functionUses: 2
    functionsReached:
    - functools.update_wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - cls
    - operation
    - pythonic_params
    - jsonifier
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 44
    functionName: connexion.apps.asynchronous.AsyncOperation.from_operation
    functionSourceFile: connexion.apps.asynchronous
    functionUses: 1
    functionsReached:
    - functools.update_wrapper
    - connexion.apps.asynchronous.AsyncOperation.__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: 1
    functionLinenumber: 59
    functionName: connexion.apps.asynchronous.AsyncOperation.fn
    functionSourceFile: connexion.apps.asynchronous
    functionUses: 1
    functionsReached:
    - connexion.decorators.main.BaseDecorator.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - scope
    - receive
    - send
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 66
    functionName: connexion.apps.asynchronous.AsyncOperation.__call__
    functionSourceFile: connexion.apps.asynchronous
    functionUses: 0
    functionsReached:
    - connexion.apps.asynchronous.AsyncOperation.fn
    - connexion.decorators.main.BaseDecorator.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - args
    - pythonic_params
    - jsonifier
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 74
    functionName: connexion.apps.asynchronous.AsyncApi.__init__
    functionSourceFile: connexion.apps.asynchronous
    functionUses: 0
    functionsReached:
    - starlette.routing.Router
    - <builtin>.super
    - connexion.jsonifier.Jsonifier.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - operation
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 87
    functionName: connexion.apps.asynchronous.AsyncApi.make_operation
    functionSourceFile: connexion.apps.asynchronous
    functionUses: 0
    functionsReached:
    - functools.update_wrapper
    - connexion.apps.asynchronous.AsyncOperation.from_operation
    - connexion.apps.asynchronous.AsyncOperation.__init__
    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: 97
    functionName: connexion.apps.asynchronous.AsyncASGIApp.__init__
    functionSourceFile: connexion.apps.asynchronous
    functionUses: 1
    functionsReached:
    - starlette.routing.Router
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - args
    - name
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 103
    functionName: connexion.apps.asynchronous.AsyncASGIApp.add_api
    functionSourceFile: connexion.apps.asynchronous
    functionUses: 0
    functionsReached:
    - starlette.routing.Router.mount
    - <builtin>.super
    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 0x7f5d944920d0>
    - <ast.Constant object at 0x7f5d94492910>
    - <ast.Constant object at 0x7f5d944923d0>
    argNames:
    - self
    - rule
    - endpoint
    - view_func
    - methods
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 112
    functionName: connexion.apps.asynchronous.AsyncASGIApp.add_url_rule
    functionSourceFile: connexion.apps.asynchronous
    functionUses: 0
    functionsReached:
    - starlette.routing.Router.add_route
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 17
    argDefaultValues: []
    argNames:
    - self
    - import_name
    - lifespan
    - middlewares
    - specification_dir
    - arguments
    - auth_all_paths
    - jsonifier
    - pythonic_params
    - resolver
    - resolver_error
    - strict_validation
    - swagger_ui_options
    - uri_parser_class
    - validate_responses
    - validator_map
    - security_map
    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
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 127
    functionName: connexion.apps.asynchronous.AsyncApp.__init__
    functionSourceFile: connexion.apps.asynchronous
    functionUses: 0
    functionsReached:
    - connexion.apps.asynchronous.AsyncASGIApp.__init__
    - starlette.routing.Router
    - <builtin>.super
    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 0x7f5d9405aa90>
    - <ast.Constant object at 0x7f5d944be400>
    argNames:
    - self
    - rule
    - endpoint
    - view_func
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 202
    functionName: connexion.apps.asynchronous.AsyncApp.add_url_rule
    functionSourceFile: connexion.apps.asynchronous
    functionUses: 0
    functionsReached:
    - connexion.apps.flask.FlaskASGIApp.add_url_rule
    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 0x7f5d93da6460>
    - <ast.Constant object at 0x7f5d93da6a90>
    argNames:
    - self
    - rule
    - endpoint
    - view_func
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 153
    functionName: connexion.apps.flask.FlaskASGIApp.add_url_rule
    functionSourceFile: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - code_or_exception
    - function
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 213
    functionName: connexion.apps.asynchronous.AsyncApp.add_error_handler
    functionSourceFile: connexion.apps.asynchronous
    functionUses: 0
    functionsReached:
    - connexion.middleware.main.ConnexionMiddleware.add_error_handler
    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: connexion.apps.abstract
    functionSourceFile: connexion.apps.abstract
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 17
    argDefaultValues: []
    argNames:
    - self
    - import_name
    - lifespan
    - middlewares
    - specification_dir
    - arguments
    - auth_all_paths
    - jsonifier
    - pythonic_params
    - resolver
    - resolver_error
    - strict_validation
    - swagger_ui_options
    - uri_parser_class
    - validate_responses
    - validator_map
    - security_map
    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
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 35
    functionName: connexion.apps.abstract.AbstractApp.__init__
    functionSourceFile: connexion.apps.abstract
    functionUses: 0
    functionsReached:
    - pathlib.Path.cwd
    - <builtin>.hasattr
    - pkgutil.get_loader
    - copy.copy
    - connexion.utils.get_root_path
    - os.getcwd
    - connexion.middleware.main.ConnexionMiddleware.__init__
    - <builtin>.__import__
    - <builtin>.getattr
    - os.path.abspath
    - sys.modules.get
    - loader.get_filename
    - <builtin>.str
    - spec_dir.is_absolute
    - os.path.dirname
    - pathlib.Path
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Attribute object at 0x7f5d946682e0>
    argNames:
    - self
    - middleware_class
    - position
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 108
    functionName: connexion.apps.abstract.AbstractApp.add_middleware
    functionSourceFile: connexion.apps.abstract
    functionUses: 0
    functionsReached:
    - functools.partial
    - connexion.middleware.main.ConnexionMiddleware.add_middleware
    - <builtin>.isinstance
    - <builtin>.enumerate
    - typing.cast
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 17
    argDefaultValues: []
    argNames:
    - self
    - specification
    - base_path
    - name
    - arguments
    - auth_all_paths
    - jsonifier
    - pythonic_params
    - resolver
    - resolver_error
    - strict_validation
    - swagger_ui_options
    - uri_parser_class
    - validate_responses
    - validator_map
    - security_map
    - kwargs
    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
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 122
    functionName: connexion.apps.abstract.AbstractApp.add_api
    functionSourceFile: connexion.apps.abstract
    functionUses: 0
    functionsReached:
    - contents.decode
    - copy.deepcopy.items
    - copy.deepcopy.pop
    - jsonschema.RefResolver
    - connexion.utils.deep_get
    - connexion.spec.Specification.from_file
    - jsonschema.RefResolver.resolving
    - openapi_yaml.read
    - yaml.safe_load
    - dataclasses.replace
    - <builtin>.tuple
    - connexion.spec.Specification.from_dict
    - validator.validate
    - specification.open
    - changes.items
    - connexion.json_schema.resolve_refs
    - version_string.split
    - connexion.spec.Specification._load_spec_from_file
    - connexion.spec.Specification.__init__
    - collections.abc.Mapping.startswith
    - collections.abc.Mapping.items
    - <builtin>.enumerate
    - connexion.spec.OpenAPISpecification._set_defaults
    - connexion.spec.Specification.from_url
    - connexion.middleware.main.ConnexionMiddleware.add_api
    - collections.abc.Mapping.relative_to
    - connexion.spec.Swagger2Specification._set_defaults
    - connexion.spec.create_spec_validator
    - <builtin>.int
    - connexion.json_schema.resolve_refs._do_resolve
    - jsonschema.validators.extend
    - <builtin>.str
    - connexion.spec.Specification.load
    - jinja2.Template
    - pathlib.Path
    - connexion.middleware.main._Options.replace
    - pathlib.Path.cwd
    - connexion.spec.Specification._get_spec_version
    - connexion.middleware.main.API.__init__
    - connexion.spec.Specification.from_dict.enforce_string_keys
    - collections.abc.Mapping.get
    - err.format
    - spec.setdefault
    - <builtin>.map
    - <builtin>.isinstance
    - copy.deepcopy
    - connexion.spec.Specification._validate_spec
    - typing.cast
    - copy.deepcopy.update
    - copy.deepcopy.get
    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 0x7f5d944be640>
    - <ast.Constant object at 0x7f5d944be5b0>
    argNames:
    - self
    - rule
    - endpoint
    - view_func
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 199
    functionName: connexion.apps.abstract.AbstractApp.add_url_rule
    functionSourceFile: connexion.apps.abstract
    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
    - rule
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 234
    functionName: connexion.apps.abstract.AbstractApp.route
    functionSourceFile: connexion.apps.abstract
    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:
    - func
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 251
    functionName: connexion.apps.abstract.AbstractApp.route.decorator
    functionSourceFile: connexion.apps.abstract
    functionUses: 0
    functionsReached:
    - connexion.apps.abstract.AbstractApp.add_url_rule
    linkageType: 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: connexion.apps.abstract.AbstractApp
    functionSourceFile: connexion.apps.abstract
    functionUses: 0
    functionsReached:
    - abc.abstractmethod
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - code_or_exception
    - function
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 258
    functionName: connexion.apps.abstract.AbstractApp.add_error_handler
    functionSourceFile: connexion.apps.abstract
    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
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 273
    functionName: connexion.apps.abstract.AbstractApp.test_client
    functionSourceFile: connexion.apps.abstract
    functionUses: 0
    functionsReached:
    - starlette.testclient.TestClient
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: starlette.testclient.TestClient
    functionSourceFile: starlette
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f5d9406a760>
    argNames:
    - self
    - import_string
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 278
    functionName: connexion.apps.abstract.AbstractApp.run
    functionSourceFile: connexion.apps.abstract
    functionUses: 0
    functionsReached:
    - logger.warning
    - uvicorn.run
    - kwargs.get
    - kwargs.setdefault
    - connexion.middleware.main.ConnexionMiddleware.run
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - scope
    - receive
    - send
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 287
    functionName: connexion.apps.abstract.AbstractApp.__call__
    functionSourceFile: connexion.apps.abstract
    functionUses: 0
    functionsReached:
    - pathlib.Path.cwd
    - <builtin>.hasattr
    - pkgutil.get_loader
    - copy.copy
    - connexion.utils.get_root_path
    - os.getcwd
    - connexion.middleware.main.ConnexionMiddleware.__init__
    - <builtin>.__import__
    - <builtin>.getattr
    - os.path.abspath
    - sys.modules.get
    - loader.get_filename
    - <builtin>.str
    - spec_dir.is_absolute
    - os.path.dirname
    - pathlib.Path
    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: connexion.apps.flask
    functionSourceFile: connexion.apps.flask
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - fn
    - jsonifier
    - operation_id
    - pythonic_params
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 31
    functionName: connexion.apps.flask.FlaskOperation.__init__
    functionSourceFile: connexion.apps.flask
    functionUses: 5
    functionsReached:
    - functools.update_wrapper
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - cls
    - operation
    - pythonic_params
    - jsonifier
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 45
    functionName: connexion.apps.flask.FlaskOperation.from_operation
    functionSourceFile: connexion.apps.flask
    functionUses: 4
    functionsReached:
    - functools.update_wrapper
    - connexion.apps.flask.FlaskOperation.__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: 1
    functionLinenumber: 60
    functionName: connexion.apps.flask.FlaskOperation.fn
    functionSourceFile: connexion.apps.flask
    functionUses: 1
    functionsReached:
    - connexion.decorators.main.BaseDecorator.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 67
    functionName: connexion.apps.flask.FlaskOperation.__call__
    functionSourceFile: connexion.apps.flask
    functionUses: 0
    functionsReached:
    - connexion.apps.flask.FlaskOperation.fn
    - connexion.decorators.main.BaseDecorator.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - args
    - jsonifier
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 72
    functionName: connexion.apps.flask.FlaskApi.__init__
    functionSourceFile: connexion.apps.flask
    functionUses: 3
    functionsReached:
    - <builtin>.super
    - connexion.jsonifier.Jsonifier.__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: 1
    functionLinenumber: 82
    functionName: connexion.apps.flask.FlaskApi._set_blueprint
    functionSourceFile: connexion.apps.flask
    functionUses: 2
    functionsReached:
    - flask.Blueprint
    - flask.flaskify_endpoint
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: flask.flaskify_endpoint
    functionSourceFile: flask
    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: flask.Blueprint
    functionSourceFile: flask
    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: flask.flaskify_path
    functionSourceFile: flask
    functionUses: 4
    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 0x7f5d93dd4f40>
    - <ast.Constant object at 0x7f5d93dd4eb0>
    argNames:
    - self
    - rule
    - endpoint
    - view_func
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 119
    functionName: connexion.apps.flask.FlaskApi.add_url_rule
    functionSourceFile: connexion.apps.flask
    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: flask.Flask
    functionSourceFile: flask
    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: flask.FlaskJSONProvider
    functionSourceFile: flask
    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: a2wsgi.WSGIMiddleware
    functionSourceFile: a2wsgi
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - scope
    - receive
    - send
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 162
    functionName: connexion.apps.flask.FlaskASGIApp.__call__
    functionSourceFile: connexion.apps.flask
    functionUses: 0
    functionsReached:
    - a2wsgi.WSGIMiddleware
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 18
    argDefaultValues: []
    argNames:
    - self
    - import_name
    - lifespan
    - middlewares
    - server_args
    - specification_dir
    - arguments
    - auth_all_paths
    - jsonifier
    - pythonic_params
    - resolver
    - resolver_error
    - strict_validation
    - swagger_ui_options
    - uri_parser_class
    - validate_responses
    - validator_map
    - security_map
    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: 2
    functionLinenumber: 171
    functionName: connexion.apps.flask.FlaskApp.__init__
    functionSourceFile: connexion.apps.flask
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - a2wsgi.WSGIMiddleware
    - connexion.apps.flask.FlaskASGIApp.__init__
    - flask.FlaskJSONProvider
    - flask.Flask
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - exc
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 253
    functionName: connexion.apps.flask.FlaskApp._http_exception
    functionSourceFile: connexion.apps.flask
    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 0x7f5d940e17f0>
    - <ast.Constant object at 0x7f5d940e1b20>
    argNames:
    - self
    - rule
    - endpoint
    - view_func
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 257
    functionName: connexion.apps.flask.FlaskApp.add_url_rule
    functionSourceFile: connexion.apps.flask
    functionUses: 0
    functionsReached:
    - connexion.apps.flask.FlaskASGIApp.add_url_rule
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - code_or_exception
    - function
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 268
    functionName: connexion.apps.flask.FlaskApp.add_error_handler
    functionSourceFile: connexion.apps.flask
    functionUses: 0
    functionsReached:
    - connexion.middleware.main.ConnexionMiddleware.add_error_handler
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - middleware
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 277
    functionName: connexion.apps.flask.FlaskApp.add_wsgi_middleware
    functionSourceFile: connexion.apps.flask
    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: connexion.apps
    functionSourceFile: connexion.apps
    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: connexion.testing
    functionSourceFile: connexion.testing
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - context
    - operation
    - receive
    - scope
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 14
    functionName: connexion.testing.TestContext.__init__
    functionSourceFile: connexion.testing
    functionUses: 0
    functionsReached:
    - connexion.testing.TestContext.build_receive
    - kwargs.items
    - unittest.mock.MagicMock
    - connexion.testing.TestContext.build_operation
    - connexion.testing.TestContext.build_scope
    - connexion.testing.TestContext.build_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: 44
    functionName: connexion.testing.TestContext.build_context
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 48
    functionName: connexion.testing.TestContext.build_operation
    functionSourceFile: connexion.testing
    functionUses: 1
    functionsReached:
    - unittest.mock.MagicMock
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 52
    functionName: connexion.testing.TestContext.build_receive
    functionSourceFile: ''
    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:
    - kwargs
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 62
    functionName: connexion.testing.TestContext.build_scope
    functionSourceFile: connexion.testing
    functionUses: 1
    functionsReached:
    - kwargs.items
    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: 29
    functionName: connexion.testing.TestContext.__enter__
    functionSourceFile: connexion.testing
    functionUses: 0
    functionsReached:
    - _receive.set
    - _operation.set
    - _scope.set
    - _context.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - type
    - value
    - traceback
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 36
    functionName: connexion.testing.TestContext.__exit__
    functionSourceFile: connexion.testing
    functionUses: 0
    functionsReached:
    - _receive.reset
    - _scope.reset
    - _operation.reset
    - _context.reset
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.reset
    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: _operation.reset
    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: _receive.reset
    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: _scope.reset
    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: unittest.mock.MagicMock
    functionSourceFile: unittest
    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: 53
    functionName: connexion.testing.TestContext.build_receive.receive
    functionSourceFile: connexion.testing
    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: connexion.mock
    functionSourceFile: connexion.mock
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - mock_all
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 14
    functionName: connexion.mock.MockResolver.__init__
    functionSourceFile: connexion.mock
    functionUses: 3
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - operation
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 19
    functionName: connexion.mock.MockResolver.resolve
    functionSourceFile: connexion.mock
    functionUses: 0
    functionsReached:
    - connexion.resolver.Resolver.resolve_operation_id
    - functools.partial
    - connexion.resolver.Resolution.__init__
    - <builtin>.str
    - logger.debug
    - connexion.resolver.Resolver.resolve_function_from_operation_id
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - operation
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 50
    functionName: connexion.mock.MockResolver.mock_operation
    functionSourceFile: connexion.mock
    functionUses: 0
    functionsReached:
    - operation.example_response
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: operation.example_response
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 17
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: connexion.cli
    functionSourceFile: connexion.cli
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - argparse.ArgumentParser
    - importlib.metadata.version
    - run_parser.add_argument
    - subparsers.add_parser
    - parser.add_subparsers
    - logging.getLogger
    - run_parser.set_defaults
    - parser.add_argument
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - app
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 28
    functionName: connexion.cli.run
    functionSourceFile: connexion.cli
    functionUses: 0
    functionsReached:
    - app.run
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: app.run
    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: argparse.ArgumentParser
    functionSourceFile: argparse
    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: parser.add_argument
    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: parser.add_subparsers
    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: subparsers.add_parser
    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: run_parser.set_defaults
    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: run_parser.add_argument
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 5
    IfCount: 6
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7f5d93e99820>
    argNames:
    - args
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 106
    functionName: connexion.cli.create_app
    functionSourceFile: connexion.cli
    functionUses: 2
    functionsReached:
    - args.spec_file.startswith
    - module_name.rsplit
    - attr.split
    - logging.basicConfig
    - functools.reduce
    - <builtin>.super
    - sys.path.insert
    - parser.parse_args
    - connexion.utils.get_function_from_name
    - importlib.import_module
    - function_name.rsplit
    - connexion.utils.deep_getattr
    - os.path.abspath
    - logger.debug
    - connexion.mock.MockResolver.__init__
    - os.path.dirname
    - app.add_api
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: parser.parse_args
    functionSourceFile: <builtin>
    functionUses: 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: logging.basicConfig
    functionSourceFile: logging
    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: args.spec_file.startswith
    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: sys.path.insert
    functionSourceFile: sys
    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: app.add_api
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7f5d945d4eb0>
    argNames:
    - argv
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 162
    functionName: connexion.cli.main
    functionSourceFile: connexion.cli
    functionUses: 1
    functionsReached:
    - function_name.rsplit
    - logger.debug
    - <builtin>.super
    - importlib.import_module
    - os.path.dirname
    - app.add_api
    - module_name.rsplit
    - functools.reduce
    - logging.basicConfig
    - sys.path.insert
    - parser.parse_args
    - connexion.cli.create_app
    - connexion.utils.deep_getattr
    - args.func
    - connexion.utils.get_function_from_name
    - connexion.mock.MockResolver.__init__
    - args.spec_file.startswith
    - attr.split
    - os.path.abspath
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: args.func
    functionSourceFile: <builtin>
    functionUses: 2
    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: 5
    functionLinenumber: -1
    functionName: connexion.__main__
    functionSourceFile: connexion.__main__
    functionUses: 0
    functionsReached:
    - function_name.rsplit
    - connexion.cli.main
    - logger.debug
    - <builtin>.super
    - importlib.import_module
    - os.path.dirname
    - app.add_api
    - module_name.rsplit
    - functools.reduce
    - logging.basicConfig
    - sys.path.insert
    - parser.parse_args
    - connexion.cli.create_app
    - connexion.utils.deep_getattr
    - args.func
    - connexion.utils.get_function_from_name
    - connexion.mock.MockResolver.__init__
    - args.spec_file.startswith
    - attr.split
    - os.path.abspath
    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: 6
    functionLinenumber: -1
    functionName: werkzeug.testapp
    functionSourceFile: werkzeug.testapp
    functionUses: 0
    functionsReached:
    - ssl_context.wrap_socket
    - <builtin>.vars
    - os.environ.get
    - werkzeug.serving.generate_adhoc_ssl_pair
    - reloader.restart_with_reloader
    - application.trusted_hosts.append
    - http.server.HTTPServer.server_bind
    - atexit.register
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_directory_loader
    - cryptography.x509.CertificateBuilder
    - http.server.HTTPServer.server_activate
    - werkzeug.security.gen_salt
    - s.connect
    - <builtin>.hasattr
    - werkzeug.serving.run_simple
    - <builtin>.any
    - reloader.run
    - _logger.addHandler
    - multiprocessing.Value
    - os.unlink
    - <builtin>.super
    - cryptography.hazmat.primitives.asymmetric.rsa.generate_private_key
    - werkzeug.serving._ansi_style
    - importlib.metadata.version
    - socket.getaddrinfo
    - ssl.SSLContext
    - werkzeug.serving.get_interface_ip
    - host.partition
    - spec.loader.get_resource_reader
    - cryptography.x509.ExtendedKeyUsage
    - s.getsockname
    - typing.cast
    - host.startswith
    - pkey.private_bytes
    - _logger.setLevel
    - os.write
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_package_loader
    - logger.getEffectiveLevel
    - secrets.choice
    - werkzeug.wrappers.request.Request.application
    - <builtin>.range
    - functools.wraps
    - werkzeug._reloader.ensure_echo_on
    - cryptography.x509.Name
    - werkzeug._internal._has_level_handler
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - werkzeug.serving.make_server
    - <builtin>.int
    - os.close
    - pkey.public_key
    - http.server.HTTPServer.server_close
    - socket.fromfd
    - werkzeug.serving.BaseWSGIServer.serve_forever
    - termios.tcsetattr
    - logging.getLogger
    - srv.socket.set_inheritable
    - werkzeug.serving.get_sockaddr
    - cryptography.hazmat.backends.default_backend
    - signal.signal
    - werkzeug.serving.is_running_from_reloader
    - termios.tcgetattr
    - werkzeug.serving.generate_adhoc_ssl_context
    - os.path.abspath
    - t.start
    - <builtin>.getattr
    - werkzeug._internal._ColorStreamHandler.__init__
    - os.path.isfile
    - sys.exit
    - werkzeug.serving.load_ssl_context
    - werkzeug._reloader.run_with_reloader
    - werkzeug._internal._log
    - werkzeug.serving.select_address_family
    - cryptography.x509.SubjectAlternativeName
    - werkzeug.debug.DebuggedApplication.__init__
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_file_loader
    - cryptography.hazmat.primitives.hashes.SHA256
    - werkzeug.serving.ForkingWSGIServer.__init__
    - http.server.HTTPServer.fileno
    - werkzeug.serving.BaseWSGIServer.log_startup
    - sys.stdin.isatty
    - os.path.exists
    - cryptography.hazmat.primitives.serialization.NoEncryption
    - threading.Thread
    - importlib.util.find_spec
    - cryptography.x509.random_serial_number
    - cryptography.x509.NameAttribute
    - tempfile.mkstemp
    - ctx.load_cert_chain
    - <builtin>.print
    - exports.items
    - werkzeug.middleware.shared_data.SharedDataMiddleware.__init__
    - <builtin>.str
    - messages.append
    - werkzeug.serving.BaseWSGIServer.__init__
    - datetime.timedelta
    - datetime.datetime.now
    - cert.public_bytes
    - colorama.AnsiToWin32
    - <builtin>.isinstance
    - socket.socket
    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: 2
    functionLinenumber: 95
    functionName: werkzeug.testapp.iter_sys_path
    functionSourceFile: werkzeug.testapp
    functionUses: 5
    functionsReached:
    - os.path.join
    - os.path.expanduser
    - os.path.isdir
    - os.getcwd
    - werkzeug.testapp.iter_sys_path.strip
    - os.path.abspath
    - x.startswith
    - os.path.normpath
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - x
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 106
    functionName: werkzeug.testapp.iter_sys_path.strip
    functionSourceFile: werkzeug.testapp
    functionUses: 6
    functionsReached:
    - x.startswith
    - <builtin>.len
    - os.path.expanduser
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: x.startswith
    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: os.path.normpath
    functionSourceFile: os
    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: 1
    functionLinenumber: -1
    functionName: werkzeug.testapp.test_app.<lambda1>
    functionSourceFile: werkzeug.testapp
    functionUses: 0
    functionsReached:
    - x.project_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: x.project_name.lower
    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: python_eggs.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: req.environ.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: 1
    functionLinenumber: -1
    functionName: werkzeug.testapp.test_app.<lambda2>
    functionSourceFile: werkzeug.testapp
    functionUses: 0
    functionsReached:
    - <builtin>.repr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: textwrap.wrap
    functionSourceFile: textwrap
    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: wsgi_env.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: css.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: sys_path.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: markupsafe.escape.splitlines
    functionSourceFile: markupsafe
    functionUses: 5
    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: 182
    functionName: werkzeug.testapp._get_werkzeug_version
    functionSourceFile: werkzeug.testapp
    functionUses: 5
    functionsReached:
    - importlib.metadata.version
    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: werkzeug.middleware.dispatcher
    functionSourceFile: werkzeug.middleware.dispatcher
    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 0x7f5d93dd44f0>
    argNames:
    - self
    - app
    - mounts
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 54
    functionName: werkzeug.middleware.dispatcher.DispatcherMiddleware.__init__
    functionSourceFile: werkzeug.middleware.dispatcher
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - environ
    - start_response
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 62
    functionName: werkzeug.middleware.dispatcher.DispatcherMiddleware.__call__
    functionSourceFile: werkzeug.middleware.dispatcher
    functionUses: 0
    functionsReached:
    - environ.get
    - script.rsplit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: script.rsplit
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: werkzeug.middleware.profiler
    functionSourceFile: werkzeug.middleware.profiler
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 7
    argDefaultValues:
    - <ast.Attribute object at 0x7f5d94c90700>
    - <ast.Tuple object at 0x7f5d94c90820>
    - <ast.Tuple object at 0x7f5d94c90580>
    - <ast.Constant object at 0x7f5d94c90df0>
    - <ast.Constant object at 0x7f5d94c90d60>
    argNames:
    - self
    - app
    - stream
    - sort_by
    - restrictions
    - profile_dir
    - filename_format
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 89
    functionName: werkzeug.middleware.profiler.ProfilerMiddleware.__init__
    functionSourceFile: werkzeug.middleware.profiler
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 7
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - environ
    - start_response
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 105
    functionName: werkzeug.middleware.profiler.ProfilerMiddleware.__call__
    functionSourceFile: werkzeug.middleware.profiler
    functionUses: 0
    functionsReached:
    - os.path.join
    - cProfile.Profile.dump_stats
    - cProfile.Profile.runcall
    - environ.get
    - pstats.Stats
    - pstats.Stats.sort_stats
    - <builtin>.print
    - <builtin>.callable
    - pstats.Stats.print_stats
    - profile.Profile
    - time.time
    - cProfile.Profile
    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 0x7f5d94c90640>
    argNames:
    - status
    - headers
    - exc_info
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 110
    functionName: werkzeug.middleware.profiler.ProfilerMiddleware.__call__.catching_start_response
    functionSourceFile: werkzeug.middleware.profiler
    functionUses: 0
    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: 1
    functionLinenumber: 114
    functionName: werkzeug.middleware.profiler.ProfilerMiddleware.__call__.runapp
    functionSourceFile: werkzeug.middleware.profiler
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - response_body.extend
    - app_iter.close
    - 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: response_body.extend
    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: app_iter.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: cProfile.Profile
    functionSourceFile: cProfile
    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: profile.Profile
    functionSourceFile: profile
    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: cProfile.Profile.runcall
    functionSourceFile: cProfile
    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: cProfile.Profile.dump_stats
    functionSourceFile: cProfile
    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: pstats.Stats
    functionSourceFile: pstats
    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: pstats.Stats.sort_stats
    functionSourceFile: pstats
    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: pstats.Stats.print_stats
    functionSourceFile: pstats
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: werkzeug.middleware.lint
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Name object at 0x7f5d93e57df0>
    argNames:
    - context
    - obj
    - need
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 41
    functionName: werkzeug.middleware.lint.check_type
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 6
    functionsReached:
    - <builtin>.type
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - stream
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 51
    functionName: werkzeug.middleware.lint.InputStream.__init__
    functionSourceFile: werkzeug.middleware.lint
    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:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 54
    functionName: werkzeug.middleware.lint.InputStream.read
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 0
    functionsReached:
    - warnings.warn
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - args
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 71
    functionName: werkzeug.middleware.lint.InputStream.readline
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 0
    functionsReached:
    - warnings.warn
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - TypeError
    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: 90
    functionName: werkzeug.middleware.lint.InputStream.__iter__
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 0
    functionsReached:
    - warnings.warn
    - <builtin>.iter
    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: 97
    functionName: werkzeug.middleware.lint.InputStream.close
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 0
    functionsReached:
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - stream
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 103
    functionName: werkzeug.middleware.lint.ErrorStream.__init__
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - s
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 106
    functionName: werkzeug.middleware.lint.ErrorStream.write
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 1
    functionsReached:
    - <builtin>.type
    - werkzeug.middleware.lint.check_type
    - warnings.warn
    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: werkzeug.middleware.lint.ErrorStream.flush
    functionSourceFile: werkzeug.middleware.lint
    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
    - seq
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 113
    functionName: werkzeug.middleware.lint.ErrorStream.writelines
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - werkzeug.middleware.lint.ErrorStream.write
    - werkzeug.middleware.lint.check_type
    - warnings.warn
    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: 117
    functionName: werkzeug.middleware.lint.ErrorStream.close
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 0
    functionsReached:
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - write
    - chunks
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 123
    functionName: werkzeug.middleware.lint.GuardedWrite.__init__
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - s
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 127
    functionName: werkzeug.middleware.lint.GuardedWrite.__call__
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 0
    functionsReached:
    - <builtin>.type
    - werkzeug.middleware.lint.check_type
    - warnings.warn
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - iterator
    - headers_set
    - chunks
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 134
    functionName: werkzeug.middleware.lint.GuardedIterator.__init__
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 1
    functionsReached:
    - <builtin>.iter
    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: 146
    functionName: werkzeug.middleware.lint.GuardedIterator.__iter__
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 149
    functionName: werkzeug.middleware.lint.GuardedIterator.__next__
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 0
    functionsReached:
    - warnings.warn
    - werkzeug.middleware.lint.check_type
    - <builtin>.len
    - <builtin>.type
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 6
    IfCount: 9
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 166
    functionName: werkzeug.middleware.lint.GuardedIterator.close
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - header.lower
    - headers.get
    - warnings.warn
    - werkzeug.http.is_entity_header
    - key.lower
    - <builtin>.sum
    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: 215
    functionName: werkzeug.middleware.lint.GuardedIterator.__del__
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 0
    functionsReached:
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - app
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 250
    functionName: werkzeug.middleware.lint.LintMiddleware.__init__
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 5
    IfCount: 5
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - environ
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 253
    functionName: werkzeug.middleware.lint.LintMiddleware.check_environ
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 1
    functionsReached:
    - <builtin>.type
    - warnings.warn
    - environ.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 10
    IfCount: 8
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - status
    - headers
    - exc_info
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 297
    functionName: werkzeug.middleware.lint.LintMiddleware.check_start_response
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 1
    functionsReached:
    - urllib.parse.urlparse
    - warnings.warn
    - etag.startswith
    - name.lower
    - werkzeug.middleware.lint.LintMiddleware.check_headers
    - <builtin>.len
    - werkzeug.datastructures.headers.Headers.__init__
    - werkzeug.datastructures.headers.Headers.get
    - <builtin>.int
    - werkzeug.datastructures.headers.Headers._get_key
    - status.split
    - <builtin>.type
    - mapping.items
    - werkzeug.middleware.lint.check_type
    - key.lower
    - k.lower
    - werkzeug.datastructures.headers.Headers.extend
    - status_code_str.isdecimal
    - werkzeug.datastructures.structures.iter_multi_items
    - <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: status.split
    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: status_code_str.isdecimal
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 3
    IfCount: 6
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - headers
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 349
    functionName: werkzeug.middleware.lint.LintMiddleware.check_headers
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 2
    functionsReached:
    - etag.startswith
    - urllib.parse.urlparse
    - werkzeug.datastructures.headers.Headers.get
    - werkzeug.datastructures.headers.Headers._get_key
    - warnings.warn
    - key.lower
    - k.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - app_iter
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 376
    functionName: werkzeug.middleware.lint.LintMiddleware.check_iterator
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 4
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 386
    functionName: werkzeug.middleware.lint.LintMiddleware.__call__
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 0
    functionsReached:
    - environ.get
    - werkzeug.middleware.lint.GuardedIterator.__init__
    - werkzeug.middleware.lint.LintMiddleware.check_iterator
    - warnings.warn
    - werkzeug.middleware.lint.InputStream.__init__
    - werkzeug.middleware.lint.ErrorStream.__init__
    - <builtin>.iter
    - <builtin>.type
    - <builtin>.isinstance
    - typing.cast
    - werkzeug.middleware.lint.LintMiddleware.check_environ
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 409
    functionName: werkzeug.middleware.lint.LintMiddleware.__call__.checking_start_response
    functionSourceFile: werkzeug.middleware.lint
    functionUses: 0
    functionsReached:
    - urllib.parse.urlparse
    - warnings.warn
    - werkzeug.middleware.lint.LintMiddleware.check_start_response
    - etag.startswith
    - name.lower
    - werkzeug.middleware.lint.GuardedWrite.__init__
    - werkzeug.middleware.lint.LintMiddleware.check_headers
    - <builtin>.len
    - werkzeug.datastructures.headers.Headers.__init__
    - werkzeug.datastructures.headers.Headers.get
    - <builtin>.int
    - werkzeug.datastructures.headers.Headers._get_key
    - status.split
    - <builtin>.type
    - werkzeug.middleware.lint.check_type
    - mapping.items
    - key.lower
    - k.lower
    - werkzeug.datastructures.headers.Headers.extend
    - status_code_str.isdecimal
    - werkzeug.datastructures.structures.iter_multi_items
    - <builtin>.isinstance
    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: werkzeug.middleware.proxy_fix
    functionSourceFile: werkzeug.middleware.proxy_fix
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f5d9368af10>
    - <ast.Constant object at 0x7f5d9368a0d0>
    - <ast.Constant object at 0x7f5d9368a340>
    - <ast.Constant object at 0x7f5d9368a730>
    - <ast.Constant object at 0x7f5d9368a8b0>
    argNames:
    - self
    - app
    - x_for
    - x_proto
    - x_host
    - x_port
    - x_prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 89
    functionName: werkzeug.middleware.proxy_fix.ProxyFix.__init__
    functionSourceFile: werkzeug.middleware.proxy_fix
    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
    - trusted
    - value
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 105
    functionName: werkzeug.middleware.proxy_fix.ProxyFix._get_real_value
    functionSourceFile: werkzeug.middleware.proxy_fix
    functionUses: 1
    functionsReached:
    - werkzeug.http.parse_list_header
    - urllib.request.parse_http_list
    - <builtin>.len
    - result.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 2
    IfCount: 8
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - environ
    - start_response
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 126
    functionName: werkzeug.middleware.proxy_fix.ProxyFix.__call__
    functionSourceFile: werkzeug.middleware.proxy_fix
    functionUses: 0
    functionsReached:
    - x_host.endswith
    - result.append
    - environ.get
    - x_host.rsplit
    - werkzeug.http.parse_list_header
    - host.endswith
    - environ.update
    - urllib.request.parse_http_list
    - host.rsplit
    - werkzeug.middleware.proxy_fix.ProxyFix._get_real_value
    - <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: environ.update
    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: x_host.endswith
    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: x_host.rsplit
    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: host.rsplit
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: werkzeug.middleware.http_proxy
    functionSourceFile: werkzeug.middleware.http_proxy
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.BinOp object at 0x7f5d94337c40>
    - <ast.Constant object at 0x7f5d94337310>
    argNames:
    - self
    - app
    - targets
    - chunk_size
    - timeout
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 82
    functionName: werkzeug.middleware.http_proxy.ProxyMiddleware.__init__
    functionSourceFile: werkzeug.middleware.http_proxy
    functionUses: 0
    functionsReached:
    - targets.items
    - opts.setdefault
    - k.strip
    - werkzeug.middleware.http_proxy.ProxyMiddleware.__init__._set_defaults
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - opts
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 89
    functionName: werkzeug.middleware.http_proxy.ProxyMiddleware.__init__._set_defaults
    functionSourceFile: werkzeug.middleware.http_proxy
    functionUses: 1
    functionsReached:
    - opts.setdefault
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: opts.setdefault
    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: targets.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: 4
    argDefaultValues: []
    argNames:
    - self
    - opts
    - path
    - prefix
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 103
    functionName: werkzeug.middleware.http_proxy.ProxyMiddleware.proxy_to
    functionSourceFile: werkzeug.middleware.http_proxy
    functionUses: 1
    functionsReached:
    - urllib.parse.urlsplit.hostname.encode
    - urllib.parse.urlsplit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 14
    IfCount: 11
    argCount: 2
    argDefaultValues: []
    argNames:
    - environ
    - start_response
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 110
    functionName: werkzeug.middleware.http_proxy.ProxyMiddleware.proxy_to.application
    functionSourceFile: werkzeug.middleware.http_proxy
    functionUses: 1
    functionsReached:
    - http.client.HTTPSConnection
    - werkzeug.wsgi.get_content_length
    - werkzeug.datastructures.headers.Headers.__iter__
    - werkzeug.wsgi.LimitedStream.__init__
    - stream.read
    - <builtin>.max
    - urllib.parse.urlsplit.path.rstrip
    - urllib.parse.quote
    - <builtin>.iter
    - value.strip
    - con.connect
    - headers.append
    - resp.getheaders
    - con.putheader
    - <builtin>.super
    - werkzeug.sansio.utils.get_content_length
    - headers.extend
    - _plain_int_re.fullmatch
    - werkzeug.datastructures.headers.Headers.items
    - <builtin>.len
    - werkzeug.wsgi.get_input_stream
    - header.lower
    - <builtin>.list
    - con.endheaders
    - environ.get
    - <builtin>.int
    - io.BytesIO
    - k.title
    - key.lower
    - werkzeug._internal._plain_int
    - werkzeug.datastructures.headers.EnvironHeaders.__init__
    - k.lower
    - con.send
    - werkzeug.middleware.http_proxy.ProxyMiddleware.proxy_to.application.read
    - resp.read
    - werkzeug.http.is_hop_by_hop_header
    - werkzeug.exceptions.HTTPException.__init__
    - con.getresponse
    - http.client.HTTPConnection
    - typing.cast
    - con.putrequest
    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: http.client.HTTPConnection
    functionSourceFile: http
    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: http.client.HTTPSConnection
    functionSourceFile: http
    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: con.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: con.putrequest
    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: con.putheader
    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: con.endheaders
    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: con.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: con.getresponse
    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: k.title
    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: resp.getheaders
    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: 1
    functionLinenumber: 209
    functionName: werkzeug.middleware.http_proxy.ProxyMiddleware.proxy_to.application.read
    functionSourceFile: werkzeug.middleware.http_proxy
    functionUses: 2
    functionsReached:
    - resp.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: resp.read
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - environ
    - start_response
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 225
    functionName: werkzeug.middleware.http_proxy.ProxyMiddleware.__call__
    functionSourceFile: werkzeug.middleware.http_proxy
    functionUses: 0
    functionsReached:
    - http.client.HTTPSConnection
    - urllib.parse.urlsplit.hostname.encode
    - werkzeug.wsgi.get_content_length
    - werkzeug.datastructures.headers.Headers.__iter__
    - werkzeug.wsgi.LimitedStream.__init__
    - stream.read
    - <builtin>.max
    - urllib.parse.urlsplit.path.rstrip
    - urllib.parse.quote
    - <builtin>.iter
    - werkzeug.middleware.http_proxy.ProxyMiddleware.proxy_to.application
    - value.strip
    - con.connect
    - headers.append
    - resp.getheaders
    - con.putheader
    - <builtin>.super
    - werkzeug.sansio.utils.get_content_length
    - headers.extend
    - _plain_int_re.fullmatch
    - werkzeug.datastructures.headers.Headers.items
    - <builtin>.len
    - werkzeug.wsgi.get_input_stream
    - header.lower
    - <builtin>.list
    - con.endheaders
    - environ.get
    - path.startswith
    - <builtin>.int
    - io.BytesIO
    - k.title
    - urllib.parse.urlsplit
    - werkzeug.middleware.http_proxy.ProxyMiddleware.proxy_to
    - key.lower
    - werkzeug.datastructures.headers.EnvironHeaders.__init__
    - k.lower
    - con.send
    - werkzeug._internal._plain_int
    - werkzeug.middleware.http_proxy.ProxyMiddleware.proxy_to.application.read
    - werkzeug.http.is_hop_by_hop_header
    - resp.read
    - werkzeug.exceptions.HTTPException.__init__
    - con.getresponse
    - http.client.HTTPConnection
    - typing.cast
    - con.putrequest
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  Function list name: All functions
Function coverage:
  '...fuzz_query_resolving':
  - 100
  - 101
  '...fuzz_query_resolving.TestOneInput':
  - 90
  - 91
  '...fuzz_query_resolving.arbitrary':
  - 64
  - 66
  - 75
  - 77
  - 80
  - 81
  - 82
  - 83
  - 84
  - 86
  - 55
  - 57
  - 60
  - 61
  - 62
  - 63
  '...fuzz_query_resolving.fixed_params':
  - 34
  - 43
  - 44
  - 45
  - 46
  - 47
  - 48
  - 49
  - 51
  - 23
  - 25
  '...fuzz_query_resolving.main':
  - 96
  - 97
  - 95
  connexion:
  - 1
  - 21
  connexion.__main__:
  - 1
  - 7
  connexion.apps:
  - 1
  connexion.apps.abstract:
  - 1
  connexion.apps.abstract.AbstractApp:
  - 30
  - 23
  connexion.apps.abstract.AbstractApp.__call__:
  - 288
  connexion.apps.abstract.AbstractApp.__init__:
  - 88
  - 55
  connexion.apps.abstract.AbstractApp.add_api:
  - 180
  - 142
  connexion.apps.abstract.AbstractApp.add_error_handler:
  - 265
  connexion.apps.abstract.AbstractApp.add_middleware:
  - 120
  - 114
  connexion.apps.abstract.AbstractApp.add_url_rule:
  - 206
  connexion.apps.abstract.AbstractApp.route:
  - 235
  connexion.apps.abstract.AbstractApp.route.decorator:
  - 252
  connexion.apps.abstract.AbstractApp.run:
  - 285
  - 279
  connexion.apps.abstract.AbstractApp.test_client:
  - 274
  - 276
  connexion.apps.asynchronous:
  - 1
  - 26
  connexion.apps.asynchronous.AsyncASGIApp.__init__:
  - 100
  - 101
  connexion.apps.asynchronous.AsyncASGIApp.add_api:
  - 104
  - 106
  - 107
  - 109
  connexion.apps.asynchronous.AsyncASGIApp.add_url_rule:
  - 120
  connexion.apps.asynchronous.AsyncApi.__init__:
  - 81
  - 83
  - 84
  - 85
  connexion.apps.asynchronous.AsyncApi.make_operation:
  - 88
  connexion.apps.asynchronous.AsyncApp:
  - 124
  connexion.apps.asynchronous.AsyncApp.__init__:
  - 147
  - 181
  - 183
  connexion.apps.asynchronous.AsyncApp.add_error_handler:
  - 220
  connexion.apps.asynchronous.AsyncApp.add_url_rule:
  - 209
  connexion.apps.asynchronous.AsyncOperation.__call__:
  - 69
  - 70
  connexion.apps.asynchronous.AsyncOperation.__init__:
  - 41
  connexion.apps.asynchronous.AsyncOperation.fn:
  - 64
  - 60
  connexion.apps.asynchronous.AsyncOperation.from_operation:
  - 51
  connexion.apps.flask:
  - 1
  connexion.apps.flask.FlaskASGIApp.__call__:
  - 163
  connexion.apps.flask.FlaskASGIApp.__init__:
  - 131
  - 132
  - 141
  connexion.apps.flask.FlaskASGIApp.add_api:
  - 144
  - 146
  - 147
  - 149
  connexion.apps.flask.FlaskASGIApp.add_url_rule:
  - 160
  connexion.apps.flask.FlaskApi.__init__:
  - 75
  - 76
  connexion.apps.flask.FlaskApi._add_operation_internal:
  - 117
  connexion.apps.flask.FlaskApi._framework_path_and_name:
  - 105
  - 102
  - 103
  connexion.apps.flask.FlaskApi._set_base_path:
  - 80
  - 79
  connexion.apps.flask.FlaskApi._set_blueprint:
  - 83
  - 84
  connexion.apps.flask.FlaskApi.add_url_rule:
  - 126
  connexion.apps.flask.FlaskApi.make_operation:
  - 94
  connexion.apps.flask.FlaskApp:
  - 167
  connexion.apps.flask.FlaskApp.__init__:
  - 192
  - 249
  - 227
  - 229
  connexion.apps.flask.FlaskApp._http_exception:
  - 254
  connexion.apps.flask.FlaskApp.add_error_handler:
  - 275
  connexion.apps.flask.FlaskApp.add_url_rule:
  - 264
  connexion.apps.flask.FlaskApp.add_wsgi_middleware:
  - 280
  - 289
  connexion.apps.flask.FlaskOperation.__call__:
  - 68
  connexion.apps.flask.FlaskOperation.__init__:
  - 42
  connexion.apps.flask.FlaskOperation.fn:
  - 65
  - 61
  connexion.apps.flask.FlaskOperation.from_operation:
  - 52
  connexion.cli:
  - 1
  - 18
  - 32
  - 34
  - 37
  - 40
  - 41
  - 42
  - 44
  - 45
  - 48
  - 51
  - 54
  - 60
  - 65
  - 70
  - 74
  - 79
  - 84
  - 89
  - 96
  - 97
  - 100
  connexion.cli.create_app:
  - 129
  - 133
  - 134
  - 137
  - 107
  - 108
  - 109
  - 139
  - 111
  - 144
  - 113
  - 118
  - 150
  - 120
  - 123
  - 124
  - 125
  - 126
  connexion.cli.main:
  - 163
  - 165
  - 168
  - 169
  - 170
  connexion.cli.run:
  - 29
  connexion.context:
  - 15
  - 16
  - 18
  - 19
  - 21
  - 22
  - 24
  - 25
  - 27
  - 28
  connexion.context.<lambda1>:
  - 28
  connexion.datastructures:
  - 5
  connexion.datastructures.MediaTypeDict:
  - 9
  connexion.datastructures.MediaTypeDict.__contains__:
  - 31
  connexion.datastructures.MediaTypeDict.__getitem__:
  - 18
  - 19
  - 20
  connexion.decorators:
  - 1
  connexion.decorators.main:
  - 30
  connexion.decorators.main.ASGIDecorator:
  - 151
  connexion.decorators.main.ASGIDecorator.__call__:
  - 182
  connexion.decorators.main.ASGIDecorator.__call__.wrapper:
  - 184
  - 187
  - 188
  connexion.decorators.main.ASGIDecorator._sync_async_decorator.decorator:
  - 170
  connexion.decorators.main.ASGIDecorator._sync_async_decorator.decorator.wrapper:
  - 172
  - 173
  - 175
  connexion.decorators.main.BaseDecorator:
  - 37
  connexion.decorators.main.BaseDecorator._sync_async_decorator:
  - 67
  connexion.decorators.main.BaseDecorator.decorate:
  - 76
  - 77
  - 79
  - 83
  - 85
  - 89
  connexion.decorators.main.BaseDecorator.uri_parser:
  - 73
  connexion.decorators.main.FlaskDecorator:
  - 140
  connexion.decorators.main.StarletteDecorator:
  - 194
  connexion.decorators.main.WSGIDecorator:
  - 99
  connexion.decorators.main.WSGIDecorator.__call__:
  - 130
  connexion.decorators.main.WSGIDecorator.__call__.wrapper:
  - 132
  - 133
  - 134
  connexion.decorators.main.WSGIDecorator._sync_async_decorator.decorator:
  - 118
  connexion.decorators.main.WSGIDecorator._sync_async_decorator.decorator.wrapper:
  - 120
  - 121
  - 123
  connexion.decorators.parameter:
  - 1
  - 29
  connexion.decorators.parameter.AsyncParameterDecorator.__call__:
  - 97
  - 94
  - 95
  connexion.decorators.parameter.AsyncParameterDecorator.__call__.wrapper:
  - 99
  - 103
  - 106
  - 109
  - 115
  connexion.decorators.parameter.BaseParameterDecorator._maybe_get_body:
  - 56
  - 58
  - 51
  - 54
  connexion.decorators.parameter.SyncParameterDecorator.__call__:
  - 72
  - 69
  - 70
  connexion.decorators.parameter.SyncParameterDecorator.__call__.wrapper:
  - 81
  - 74
  - 78
  - 87
  connexion.decorators.parameter._build_default_obj_recursive:
  - 324
  - 325
  - 326
  - 327
  - 328
  - 329
  - 330
  connexion.decorators.parameter._get_body_argument:
  - 384
  - 387
  - 389
  - 390
  - 395
  - 398
  - 402
  - 403
  - 404
  - 407
  - 411
  - 381
  connexion.decorators.parameter._get_body_argument_form:
  - 449
  - 450
  - 436
  - 439
  - 444
  - 446
  - 447
  connexion.decorators.parameter._get_body_argument_json:
  - 425
  - 426
  - 427
  - 422
  connexion.decorators.parameter._get_default_obj:
  - 320
  - 317
  - 319
  connexion.decorators.parameter._get_file_arguments:
  - 488
  - 489
  - 491
  connexion.decorators.parameter._get_path_arguments:
  - 236
  - 247
  - 248
  - 249
  - 250
  connexion.decorators.parameter._get_query_arguments:
  - 290
  - 292
  - 293
  - 294
  - 281
  connexion.decorators.parameter._get_query_defaults:
  - 300
  - 302
  - 304
  - 306
  - 307
  connexion.decorators.parameter._get_typed_body_values:
  - 480
  - 456
  - 467
  - 471
  - 474
  - 476
  - 477
  - 479
  connexion.decorators.parameter._get_val_from_param:
  - 257
  - 258
  - 260
  - 263
  - 265
  - 266
  - 269
  - 270
  connexion.decorators.parameter._query_args_helper:
  - 353
  - 361
  - 367
  - 368
  - 344
  - 345
  - 346
  - 347
  connexion.decorators.parameter.get_arguments:
  - 228
  - 229
  - 199
  - 203
  - 204
  - 205
  - 214
  - 218
  - 219
  connexion.decorators.parameter.prep_kwargs:
  - 129
  - 142
  - 145
  - 146
  - 149
  - 151
  connexion.decorators.parameter.pythonic:
  - 184
  - 183
  connexion.decorators.parameter.sanitized:
  - 177
  - 178
  connexion.decorators.parameter.snake_and_shadow:
  - 170
  - 171
  - 165
  connexion.decorators.parameter.unwrap_decorators:
  - 158
  - 159
  connexion.decorators.response:
  - 16
  connexion.decorators.response.AsyncResponseDecorator.__call__:
  - 185
  connexion.decorators.response.AsyncResponseDecorator.__call__.wrapper:
  - 192
  - 193
  - 195
  - 196
  - 198
  - 187
  connexion.decorators.response.BaseResponseDecorator._infer_content_type:
  - 64
  - 67
  - 70
  - 71
  - 72
  - 41
  - 74
  - 77
  - 78
  - 81
  - 50
  - 53
  - 54
  - 57
  - 58
  connexion.decorators.response.BaseResponseDecorator._infer_status_code:
  - 101
  - 102
  connexion.decorators.response.BaseResponseDecorator._serialize_data:
  - 96
  - 90
  - 91
  - 94
  - 95
  connexion.decorators.response.BaseResponseDecorator._unpack_handler_response:
  - 132
  - 135
  - 138
  - 140
  - 142
  - 143
  - 150
  - 123
  connexion.decorators.response.BaseResponseDecorator._update_headers:
  - 112
  - 115
  - 111
  connexion.decorators.response.BaseResponseDecorator.build_framework_response:
  - 32
  - 33
  - 34
  - 35
  - 29
  - 30
  - 31
  connexion.decorators.response.NoResponseDecorator:
  - 204
  connexion.decorators.response.NoResponseDecorator.__call__:
  - 207
  connexion.decorators.response.NoResponseDecorator.__call__.<lambda1>:
  - 207
  connexion.decorators.response.SyncResponseDecorator.__call__:
  - 165
  connexion.decorators.response.SyncResponseDecorator.__call__.wrapper:
  - 167
  - 172
  - 173
  - 175
  - 176
  - 178
  connexion.exceptions:
  - 1
  connexion.exceptions.BadRequestProblem:
  - 89
  connexion.exceptions.BadRequestProblem.__init__:
  - 92
  connexion.exceptions.ClientProblem:
  - 75
  connexion.exceptions.ClientProblem.__init__:
  - 85
  connexion.exceptions.ConnexionException:
  - 14
  connexion.exceptions.ExtraParameterProblem:
  - 96
  connexion.exceptions.ExtraParameterProblem.__init__:
  - 100
  - 101
  connexion.exceptions.Forbidden:
  - 142
  connexion.exceptions.Forbidden.__init__:
  - 145
  - 151
  connexion.exceptions.InternalServerError:
  - 196
  connexion.exceptions.InternalServerError.__init__:
  - 204
  - 199
  connexion.exceptions.InvalidSpecification:
  - 23
  connexion.exceptions.MissingMiddleware:
  - 27
  connexion.exceptions.NonConformingResponse:
  - 208
  connexion.exceptions.NonConformingResponse.__init__:
  - 212
  connexion.exceptions.NonConformingResponseBody:
  - 216
  connexion.exceptions.NonConformingResponseBody.__init__:
  - 220
  - 223
  connexion.exceptions.NonConformingResponseHeaders:
  - 227
  connexion.exceptions.NonConformingResponseHeaders.__init__:
  - 234
  - 231
  connexion.exceptions.OAuthProblem:
  - 128
  connexion.exceptions.OAuthResponseProblem:
  - 135
  connexion.exceptions.OAuthScopeProblem:
  - 155
  connexion.exceptions.OAuthScopeProblem.__init__:
  - 164
  connexion.exceptions.ProblemException:
  - 35
  connexion.exceptions.ProblemException.to_problem:
  - 60
  connexion.exceptions.ResolverError:
  - 18
  connexion.exceptions.ResolverProblem:
  - 238
  connexion.exceptions.ResolverProblem.__init__:
  - 242
  connexion.exceptions.ServerError:
  - 179
  connexion.exceptions.ServerError.__init__:
  - 192
  - 189
  connexion.exceptions.TypeValidationError:
  - 105
  connexion.exceptions.TypeValidationError.__init__:
  - 110
  connexion.exceptions.Unauthorized:
  - 114
  connexion.exceptions.Unauthorized.__init__:
  - 124
  connexion.exceptions.UnsupportedMediaTypeProblem:
  - 168
  connexion.exceptions.UnsupportedMediaTypeProblem.__init__:
  - 172
  connexion.frameworks.abstract.Framework.connexion_to_framework_response:
  - 17
  connexion.frameworks.abstract.Framework.get_body:
  - 41
  connexion.frameworks.abstract.Framework.get_request:
  - 35
  connexion.frameworks.abstract.Framework.is_framework_response:
  - 11
  connexion.frameworks.flask:
  - 1
  - 63
  connexion.frameworks.flask.Flask.build_response:
  - 53
  - 44
  - 45
  - 54
  connexion.frameworks.flask.Flask.connexion_to_framework_response:
  - 28
  connexion.frameworks.flask.Flask.get_request:
  - 58
  connexion.frameworks.flask.Flask.is_framework_response:
  - 22
  connexion.frameworks.flask.FlaskJSONProvider:
  - 124
  connexion.frameworks.flask.FlaskJSONProvider.default:
  - 128
  connexion.frameworks.flask.IntegerConverter:
  - 141
  connexion.frameworks.flask.IntegerConverter.to_python:
  - 146
  connexion.frameworks.flask.NumberConverter:
  - 132
  connexion.frameworks.flask.NumberConverter.to_python:
  - 137
  connexion.frameworks.flask.convert_path_parameter:
  - 96
  - 97
  - 98
  - 99
  - 95
  connexion.frameworks.flask.flaskify_endpoint:
  - 71
  - 81
  - 82
  - 86
  - 88
  - 89
  connexion.frameworks.flask.flaskify_path:
  - 104
  - 120
  - 117
  - 119
  connexion.frameworks.starlette:
  - 55
  connexion.frameworks.starlette.FloatConverter:
  - 87
  connexion.frameworks.starlette.IntegerConverter:
  - 93
  connexion.frameworks.starlette.Starlette.build_response:
  - 43
  - 38
  connexion.frameworks.starlette.Starlette.connexion_to_framework_response:
  - 22
  connexion.frameworks.starlette.Starlette.get_request:
  - 52
  connexion.frameworks.starlette.Starlette.is_framework_response:
  - 18
  connexion.frameworks.starlette.convert_path_parameter:
  - 60
  - 61
  - 62
  - 63
  connexion.frameworks.starlette.starlettify_path:
  - 80
  - 83
  - 82
  - 67
  connexion.handlers:
  - 1
  - 9
  connexion.handlers.ResolverErrorHandler:
  - 15
  connexion.http_facts:
  - 1
  connexion.json_schema:
  - 1
  - 66
  - 67
  - 68
  - 69
  - 135
  - 136
  - 138
  - 146
  connexion.json_schema.ExtendedSafeLoader:
  - 24
  connexion.json_schema.ExtendedSafeLoader.__init__:
  - 29
  connexion.json_schema.ExtendedSafeLoader.extended_construct_mapping:
  - 32
  - 33
  connexion.json_schema.FileHandler:
  - 37
  connexion.json_schema.FileHandler.__call__:
  - 40
  - 41
  - 42
  connexion.json_schema.FileHandler._uri_to_path:
  - 48
  - 49
  - 46
  - 47
  connexion.json_schema.URLHandler:
  - 54
  connexion.json_schema.URLHandler.__call__:
  - 57
  - 58
  - 60
  - 61
  - 62
  connexion.json_schema.allow_nullable:
  - 118
  connexion.json_schema.allow_nullable.nullable_validation_fn:
  - 121
  - 122
  - 126
  connexion.json_schema.format_error_with_path:
  - 112
  - 111
  connexion.json_schema.resolve_refs:
  - 81
  - 74
  - 106
  - 79
  connexion.json_schema.resolve_refs._do_resolve:
  - 96
  - 97
  - 98
  - 99
  - 100
  - 101
  - 102
  - 103
  - 84
  - 85
  - 88
  - 89
  - 90
  - 91
  - 92
  connexion.json_schema.validate_writeOnly:
  - 132
  connexion.jsonifier:
  - 1
  connexion.jsonifier.JSONEncoder:
  - 50
  connexion.jsonifier.JSONEncoder.default:
  - 61
  connexion.jsonifier.Jsonifier:
  - 65
  connexion.jsonifier.Jsonifier.__init__:
  - 76
  - 70
  connexion.jsonifier.Jsonifier.dumps:
  - 82
  - 83
  - 84
  - 79
  connexion.jsonifier.Jsonifier.loads:
  - 96
  - 87
  - 90
  - 91
  - 94
  connexion.jsonifier.wrap_default:
  - 24
  - 14
  connexion.jsonifier.wrap_default.wrapped_default:
  - 33
  - 35
  - 36
  - 38
  - 39
  - 41
  - 42
  - 44
  - 26
  - 27
  - 29
  connexion.lifecycle:
  - 1
  connexion.lifecycle.ConnexionRequest:
  - 134
  connexion.lifecycle.ConnexionRequest.__getattr__:
  - 242
  - 243
  connexion.lifecycle.ConnexionRequest.__init__:
  - 147
  - 148
  connexion.lifecycle.ConnexionRequest._split_form_files:
  - 224
  - 213
  - 215
  - 216
  - 217
  - 218
  - 219
  - 221
  connexion.lifecycle.ConnexionRequest.content_type:
  - 177
  connexion.lifecycle.ConnexionRequest.context:
  - 170
  - 171
  - 172
  connexion.lifecycle.ConnexionRequest.files:
  - 208
  - 209
  connexion.lifecycle.ConnexionRequest.form:
  - 203
  - 204
  connexion.lifecycle.ConnexionRequest.from_starlette_request:
  - 163
  - 165
  connexion.lifecycle.ConnexionRequest.get_body:
  - 233
  - 234
  - 235
  - 236
  - 239
  connexion.lifecycle.ConnexionRequest.json:
  - 228
  connexion.lifecycle.ConnexionRequest.mimetype:
  - 181
  - 182
  - 183
  connexion.lifecycle.ConnexionRequest.path_params:
  - 188
  - 189
  connexion.lifecycle.ConnexionRequest.query_params:
  - 196
  - 198
  - 199
  connexion.lifecycle.ConnexionResponse:
  - 247
  connexion.lifecycle.ConnexionResponse.__init__:
  - 264
  - 263
  connexion.lifecycle.WSGIRequest.__getattr__:
  - 130
  connexion.lifecycle.WSGIRequest.context:
  - 81
  - 82
  - 79
  connexion.lifecycle.WSGIRequest.files:
  - 113
  connexion.lifecycle.WSGIRequest.form:
  - 107
  - 108
  - 109
  connexion.lifecycle.WSGIRequest.get_body:
  - 119
  - 120
  - 121
  - 122
  - 123
  - 126
  connexion.lifecycle.WSGIRequest.json:
  - 116
  connexion.lifecycle.WSGIRequest.path_params:
  - 96
  - 95
  connexion.lifecycle.WSGIRequest.query_params:
  - 101
  - 102
  - 103
  connexion.lifecycle._RequestInterface.content_type:
  - 25
  connexion.lifecycle._RequestInterface.context:
  - 20
  connexion.lifecycle._RequestInterface.files:
  - 49
  connexion.lifecycle._RequestInterface.form:
  - 45
  connexion.lifecycle._RequestInterface.get_body:
  - 57
  connexion.lifecycle._RequestInterface.json:
  - 53
  connexion.lifecycle._RequestInterface.mimetype:
  - 30
  connexion.lifecycle._RequestInterface.path_params:
  - 36
  connexion.lifecycle._RequestInterface.query_params:
  - 41
  connexion.middleware.abstract:
  - 64
  - 14
  - 214
  - 215
  - 63
  connexion.middleware.abstract.AbstractRoutingAPI:
  - 68
  connexion.middleware.abstract.AbstractRoutingAPI.__init__:
  - 81
  - 77
  connexion.middleware.abstract.AbstractRoutingAPI._add_operation_internal:
  - 146
  connexion.middleware.abstract.AbstractRoutingAPI._add_resolver_error_handler:
  - 161
  - 154
  - 157
  - 158
  connexion.middleware.abstract.AbstractRoutingAPI._framework_path_and_name:
  - 140
  connexion.middleware.abstract.AbstractRoutingAPI._handle_add_operation_error:
  - 168
  - 167
  connexion.middleware.abstract.AbstractRoutingAPI.add_operation:
  - 128
  - 129
  - 130
  - 108
  - 121
  connexion.middleware.abstract.AbstractRoutingAPI.add_paths:
  - 99
  - 100
  - 102
  - 105
  - 84
  - 87
  - 88
  - 89
  - 91
  - 92
  - 95
  connexion.middleware.abstract.AbstractRoutingAPI.make_operation:
  - 134
  connexion.middleware.abstract.AbstractSpecAPI:
  - 36
  connexion.middleware.abstract.AbstractSpecAPI.__init__:
  - 50
  - 52
  connexion.middleware.abstract.AbstractSpecAPI._set_base_path:
  - 55
  connexion.middleware.abstract.MissingOperation:
  - 272
  connexion.middleware.abstract.RoutedAPI.__init__:
  - 180
  connexion.middleware.abstract.RoutedAPI.add_operation:
  - 205
  - 198
  connexion.middleware.abstract.RoutedAPI.add_paths:
  - 185
  - 186
  - 187
  - 188
  - 191
  connexion.middleware.abstract.RoutedAPI.make_operation:
  - 210
  connexion.middleware.abstract.RoutedMiddleware:
  - 219
  - 228
  connexion.middleware.abstract.RoutedMiddleware.__call__:
  - 259
  - 260
  - 261
  - 264
  - 268
  - 240
  - 241
  - 242
  - 252
  - 253
  - 254
  - 255
  connexion.middleware.abstract.RoutedMiddleware.__init__:
  - 232
  connexion.middleware.abstract.RoutedMiddleware.add_api:
  - 235
  - 236
  connexion.middleware.abstract.SpecMiddleware:
  - 20
  connexion.middleware.abstract.SpecMiddleware.add_api:
  - 25
  connexion.middleware.context:
  - 1
  connexion.middleware.context.ContextAPI.__init__:
  - 30
  - 31
  connexion.middleware.context.ContextAPI.make_operation:
  - 34
  connexion.middleware.context.ContextMiddleware:
  - 38
  connexion.middleware.context.ContextOperation.__call__:
  - 21
  - 22
  - 23
  - 24
  - 25
  connexion.middleware.exceptions:
  - 20
  connexion.middleware.exceptions.ExceptionMiddleware:
  - 55
  connexion.middleware.exceptions.ExceptionMiddleware.__call__:
  - 111
  connexion.middleware.exceptions.ExceptionMiddleware.__init__:
  - 59
  - 60
  - 61
  connexion.middleware.exceptions.ExceptionMiddleware.add_exception_handler:
  - 68
  - 69
  connexion.middleware.exceptions.ExceptionMiddleware.common_error_handler:
  - 106
  - 107
  - 108
  connexion.middleware.exceptions.ExceptionMiddleware.http_exception:
  - 96
  - 88
  - 90
  - 91
  - 93
  - 95
  connexion.middleware.exceptions.ExceptionMiddleware.problem_handler:
  - 74
  - 76
  - 77
  - 79
  - 81
  connexion.middleware.exceptions.connexion_wrapper:
  - 32
  - 28
  connexion.middleware.exceptions.connexion_wrapper.wrapper:
  - 34
  - 36
  - 37
  - 39
  - 41
  - 44
  connexion.middleware.lifespan.LifespanMiddleware:
  - 10
  connexion.middleware.lifespan.LifespanMiddleware.__call__:
  - 24
  - 26
  - 23
  connexion.middleware.lifespan.LifespanMiddleware.__init__:
  - 19
  connexion.middleware.main:
  - 33
  connexion.middleware.main.ConnexionMiddleware:
  - 180
  connexion.middleware.main.ConnexionMiddleware.__call__:
  - 498
  - 499
  - 503
  connexion.middleware.main.ConnexionMiddleware.__init__:
  - 248
  - 261
  - 267
  - 216
  - 249
  - 251
  - 253
  connexion.middleware.main.ConnexionMiddleware._build_middleware_stack:
  - 324
  - 325
  - 326
  - 327
  - 329
  - 330
  - 334
  - 335
  - 336
  - 337
  - 338
  - 348
  - 344
  - 345
  - 346
  - 316
  connexion.middleware.main.ConnexionMiddleware.add_api:
  - 417
  - 418
  - 419
  - 422
  - 424
  - 441
  - 370
  - 406
  - 438
  - 409
  - 410
  - 413
  - 414
  connexion.middleware.main.ConnexionMiddleware.add_error_handler:
  - 457
  - 450
  - 463
  connexion.middleware.main.ConnexionMiddleware.add_middleware:
  - 291
  - 297
  - 300
  - 301
  - 304
  - 305
  - 306
  connexion.middleware.main.ConnexionMiddleware.run:
  - 480
  - 486
  - 488
  - 489
  - 495
  - 466
  connexion.middleware.main.MiddlewarePosition:
  - 98
  - 138
  - 113
  - 149
  - 158
  - 126
  - 95
  connexion.middleware.main._Options:
  - 57
  - 38
  connexion.middleware.main._Options.__post_init__:
  - 67
  - 69
  connexion.middleware.main._Options._resolver_error_handler_factory:
  - 74
  - 75
  connexion.middleware.main._Options._resolver_error_handler_factory.resolver_error_handler:
  - 78
  connexion.middleware.main._Options.replace:
  - 90
  - 91
  - 84
  connexion.middleware.request_validation:
  - 16
  - 1
  connexion.middleware.request_validation.MissingValidationOperation:
  - 184
  connexion.middleware.request_validation.RequestValidationAPI:
  - 146
  connexion.middleware.request_validation.RequestValidationAPI.__init__:
  - 164
  - 156
  - 159
  connexion.middleware.request_validation.RequestValidationAPI.make_operation:
  - 169
  connexion.middleware.request_validation.RequestValidationMiddleware:
  - 178
  connexion.middleware.request_validation.RequestValidationOperation.__call__:
  - 128
  - 130
  - 131
  - 100
  - 101
  - 132
  - 104
  - 136
  - 137
  - 140
  - 110
  - 142
  - 114
  - 115
  - 118
  - 119
  - 123
  connexion.middleware.request_validation.RequestValidationOperation.__init__:
  - 32
  - 31
  connexion.middleware.request_validation.RequestValidationOperation.extract_content_type:
  - 37
  - 43
  - 44
  - 45
  - 51
  connexion.middleware.request_validation.RequestValidationOperation.security_query_params:
  - 76
  - 77
  - 79
  - 83
  - 84
  - 87
  - 92
  connexion.middleware.request_validation.RequestValidationOperation.validate_mime_type:
  - 65
  - 66
  - 68
  - 57
  - 61
  connexion.middleware.response_validation:
  - 16
  - 1
  connexion.middleware.response_validation.ResponseValidationAPI:
  - 131
  connexion.middleware.response_validation.ResponseValidationAPI.__init__:
  - 140
  - 143
  connexion.middleware.response_validation.ResponseValidationAPI.make_operation:
  - 148
  - 149
  connexion.middleware.response_validation.ResponseValidationMiddleware:
  - 159
  connexion.middleware.response_validation.ResponseValidationOperation.__call__:
  - 127
  connexion.middleware.response_validation.ResponseValidationOperation.__call__.wrapped_send:
  - 96
  - 97
  - 98
  - 100
  - 101
  - 104
  - 110
  - 115
  - 117
  - 118
  - 119
  - 125
  - 123
  - 93
  connexion.middleware.response_validation.ResponseValidationOperation.__init__:
  - 29
  - 30
  connexion.middleware.response_validation.ResponseValidationOperation.extract_content_type:
  - 35
  - 41
  - 42
  - 43
  - 49
  connexion.middleware.response_validation.ResponseValidationOperation.validate_mime_type:
  - 65
  - 55
  - 59
  - 62
  - 63
  connexion.middleware.response_validation.ResponseValidationOperation.validate_required_headers:
  - 76
  - 77
  - 78
  - 80
  - 82
  - 83
  - 84
  connexion.middleware.routing:
  - 18
  connexion.middleware.routing.RoutingAPI.__init__:
  - 64
  - 66
  - 68
  connexion.middleware.routing.RoutingAPI._add_operation_internal:
  - 96
  connexion.middleware.routing.RoutingAPI._framework_path_and_name:
  - 85
  - 86
  connexion.middleware.routing.RoutingAPI.make_operation:
  - 79
  connexion.middleware.routing.RoutingMiddleware.__call__:
  - 150
  - 152
  - 153
  - 156
  - 158
  connexion.middleware.routing.RoutingMiddleware.__init__:
  - 101
  - 108
  - 109
  - 110
  - 112
  - 113
  connexion.middleware.routing.RoutingMiddleware.add_api:
  - 129
  - 140
  - 141
  - 142
  - 147
  - 123
  connexion.middleware.routing.RoutingOperation.__call__:
  - 32
  - 34
  - 35
  - 41
  - 43
  - 44
  - 45
  - 48
  - 31
  connexion.middleware.routing.RoutingOperation.__call__.get_root_path:
  - 39
  connexion.middleware.routing.RoutingOperation.from_operation:
  - 28
  connexion.middleware.security:
  - 14
  connexion.middleware.security.SecurityAPI.__init__:
  - 131
  - 122
  - 124
  - 126
  - 127
  connexion.middleware.security.SecurityAPI.add_auth_on_not_found:
  - 136
  - 134
  - 135
  connexion.middleware.security.SecurityAPI.make_operation:
  - 148
  - 141
  connexion.middleware.security.SecurityMiddleware:
  - 156
  connexion.middleware.security.SecurityOperation.__call__:
  - 105
  - 106
  - 109
  - 110
  - 111
  connexion.middleware.security.SecurityOperation.__init__:
  - 30
  connexion.middleware.security.SecurityOperation._get_verification_fn:
  - 64
  - 65
  - 70
  - 102
  - 73
  - 74
  - 75
  - 77
  - 82
  - 85
  - 58
  - 59
  - 63
  connexion.middleware.security.SecurityOperation.from_operation:
  - 40
  - 50
  connexion.middleware.server_error:
  - 14
  connexion.middleware.server_error.ServerErrorMiddleware:
  - 18
  connexion.middleware.server_error.ServerErrorMiddleware.__init__:
  - 28
  - 29
  connexion.middleware.server_error.ServerErrorMiddleware.error_response:
  - 34
  - 35
  - 36
  connexion.middleware.swagger_ui:
  - 25
  - 22
  connexion.middleware.swagger_ui.SwaggerUIAPI.__init__:
  - 36
  - 38
  - 39
  - 43
  - 44
  - 45
  - 47
  - 48
  - 50
  - 51
  connexion.middleware.swagger_ui.SwaggerUIAPI._base_path_for_prefix:
  - 59
  - 62
  - 63
  connexion.middleware.swagger_ui.SwaggerUIAPI._get_openapi_json:
  - 107
  - 109
  - 110
  connexion.middleware.swagger_ui.SwaggerUIAPI._get_openapi_yaml:
  - 116
  - 117
  connexion.middleware.swagger_ui.SwaggerUIAPI._get_swagger_ui_config:
  - 178
  - 181
  connexion.middleware.swagger_ui.SwaggerUIAPI._get_swagger_ui_home:
  - 170
  - 165
  - 173
  connexion.middleware.swagger_ui.SwaggerUIAPI._spec_for_prefix:
  - 72
  - 73
  - 67
  connexion.middleware.swagger_ui.SwaggerUIAPI.add_openapi_json:
  - 80
  - 83
  - 76
  connexion.middleware.swagger_ui.SwaggerUIAPI.add_openapi_yaml:
  - 97
  - 98
  - 99
  - 90
  - 94
  connexion.middleware.swagger_ui.SwaggerUIAPI.add_swagger_ui:
  - 160
  - 129
  - 133
  - 158
  - 137
  - 138
  - 154
  - 123
  - 126
  - 127
  connexion.middleware.swagger_ui.SwaggerUIAPI.add_swagger_ui.redirect:
  - 152
  - 149
  connexion.middleware.swagger_ui.SwaggerUIAPI.normalize_string:
  - 56
  connexion.middleware.swagger_ui.SwaggerUIMiddleware.__call__:
  - 218
  - 219
  - 222
  - 223
  connexion.middleware.swagger_ui.SwaggerUIMiddleware.__init__:
  - 193
  - 187
  connexion.middleware.swagger_ui.SwaggerUIMiddleware.add_api:
  - 208
  - 202
  - 215
  connexion.middleware.swagger_ui.SwaggerUIMiddleware.default_fn:
  - 226
  - 235
  - 236
  connexion.mock:
  - 1
  - 10
  connexion.mock.MockResolver.__init__:
  - 15
  connexion.mock.MockResolver.mock_operation:
  - 51
  - 52
  connexion.mock.MockResolver.resolve:
  - 32
  - 36
  - 37
  - 40
  - 42
  - 43
  - 44
  - 48
  - 20
  - 25
  - 26
  - 31
  connexion.operations:
  - 1
  connexion.operations.abstract:
  - 1
  - 12
  connexion.operations.abstract.AbstractOperation:
  - 19
  connexion.operations.abstract.AbstractOperation.__init__:
  - 69
  - 73
  - 75
  - 78
  - 47
  connexion.operations.abstract.AbstractOperation.body_definition:
  - 179
  connexion.operations.abstract.AbstractOperation.body_name:
  - 167
  connexion.operations.abstract.AbstractOperation.body_schema:
  - 173
  connexion.operations.abstract.AbstractOperation.consumes:
  - 161
  connexion.operations.abstract.AbstractOperation.example_response:
  - 201
  connexion.operations.abstract.AbstractOperation.function:
  - 246
  connexion.operations.abstract.AbstractOperation.get_mimetype:
  - 232
  - 227
  - 220
  connexion.operations.abstract.AbstractOperation.get_path_parameter_types:
  - 207
  connexion.operations.abstract.AbstractOperation.is_request_body_defined:
  - 98
  connexion.operations.abstract.AbstractOperation.method:
  - 87
  connexion.operations.abstract.AbstractOperation.operation_id:
  - 125
  connexion.operations.abstract.AbstractOperation.parameters:
  - 147
  connexion.operations.abstract.AbstractOperation.path:
  - 103
  connexion.operations.abstract.AbstractOperation.produces:
  - 154
  connexion.operations.abstract.AbstractOperation.randomize_endpoint:
  - 132
  connexion.operations.abstract.AbstractOperation.request_body:
  - 94
  connexion.operations.abstract.AbstractOperation.response_definition:
  - 185
  - 188
  - 189
  connexion.operations.abstract.AbstractOperation.response_schema:
  - 195
  connexion.operations.abstract.AbstractOperation.responses:
  - 118
  connexion.operations.abstract.AbstractOperation.router_controller:
  - 139
  connexion.operations.abstract.AbstractOperation.uri_parser_class:
  - 239
  connexion.operations.abstract.AbstractOperation.with_definitions:
  - 213
  connexion.operations.openapi:
  - 1
  - 14
  connexion.operations.openapi.OpenAPIOperation:
  - 19
  connexion.operations.openapi.OpenAPIOperation.__init__:
  - 96
  - 36
  - 100
  - 101
  - 72
  - 74
  - 85
  - 86
  - 89
  - 95
  connexion.operations.openapi.OpenAPIOperation.body_definition:
  - 228
  - 233
  - 234
  - 237
  - 238
  - 242
  - 243
  - 244
  connexion.operations.openapi.OpenAPIOperation.body_name:
  - 219
  connexion.operations.openapi.OpenAPIOperation.body_schema:
  - 225
  - 222
  connexion.operations.openapi.OpenAPIOperation.consumes:
  - 128
  - 129
  - 130
  connexion.operations.openapi.OpenAPIOperation.example_response:
  - 160
  - 191
  - 162
  - 196
  - 168
  - 200
  - 171
  - 175
  - 181
  - 152
  - 187
  - 156
  - 158
  - 159
  connexion.operations.openapi.OpenAPIOperation.from_spec:
  - 105
  - 108
  - 110
  connexion.operations.openapi.OpenAPIOperation.get_path_parameter_types:
  - 205
  - 207
  - 208
  - 209
  - 214
  connexion.operations.openapi.OpenAPIOperation.request_body:
  - 120
  connexion.operations.openapi.OpenAPIOperation.response_schema:
  - 144
  - 145
  - 146
  - 147
  - 148
  connexion.operations.openapi.OpenAPIOperation.with_definitions:
  - 138
  - 139
  connexion.operations.swagger2:
  - 1
  - 15
  connexion.operations.swagger2.Swagger2Operation:
  - 28
  connexion.operations.swagger2.Swagger2Operation.__init__:
  - 96
  - 97
  - 101
  - 102
  - 105
  - 83
  - 85
  - 53
  connexion.operations.swagger2.Swagger2Operation._transform_form:
  - 256
  - 259
  - 260
  - 298
  - 282
  - 299
  - 269
  - 270
  - 273
  - 274
  - 308
  - 278
  - 279
  - 310
  - 250
  - 283
  - 285
  connexion.operations.swagger2.Swagger2Operation._transform_json:
  - 243
  - 244
  - 245
  connexion.operations.swagger2.Swagger2Operation.body_definition:
  - 235
  connexion.operations.swagger2.Swagger2Operation.body_name:
  - 225
  connexion.operations.swagger2.Swagger2Operation.body_schema:
  - 232
  - 228
  - 231
  connexion.operations.swagger2.Swagger2Operation.example_response:
  - 192
  - 193
  - 194
  - 195
  - 198
  - 202
  - 207
  - 213
  - 218
  - 188
  - 222
  connexion.operations.swagger2.Swagger2Operation.from_spec:
  - 112
  - 114
  - 109
  connexion.operations.swagger2.Swagger2Operation.get_path_parameter_types:
  - 169
  - 170
  - 174
  connexion.operations.swagger2.Swagger2Operation.request_body:
  - 129
  - 130
  - 131
  - 132
  - 133
  - 135
  - 140
  - 145
  - 146
  - 147
  - 148
  - 126
  connexion.operations.swagger2.Swagger2Operation.response_schema:
  - 184
  - 185
  connexion.operations.swagger2.Swagger2Operation.with_definitions:
  - 179
  connexion.options:
  - 1
  - 18
  connexion.options.SwaggerUIConfig:
  - 49
  connexion.options.SwaggerUIConfig.__init__:
  - 56
  - 67
  - 61
  connexion.options.SwaggerUIConfig.openapi_spec_available:
  - 71
  connexion.options.SwaggerUIConfig.openapi_spec_path:
  - 76
  connexion.options.SwaggerUIConfig.swagger_ui_available:
  - 81
  - 82
  - 83
  connexion.options.SwaggerUIConfig.swagger_ui_config:
  - 99
  connexion.options.SwaggerUIConfig.swagger_ui_path:
  - 89
  connexion.options.SwaggerUIConfig.swagger_ui_template_arguments:
  - 104
  connexion.options.SwaggerUIConfig.swagger_ui_template_dir:
  - 94
  connexion.options.SwaggerUIOptions:
  - 42
  - 45
  - 23
  connexion.problem:
  - 1
  connexion.problem.problem:
  - 38
  - 11
  - 47
  - 49
  - 50
  - 54
  - 58
  connexion.resolver:
  - 1
  - 15
  connexion.resolver.MethodResolver:
  - 287
  connexion.resolver.MethodResolver.resolve_method_from_class:
  - 294
  - 295
  - 298
  - 300
  - 301
  - 302
  - 304
  - 305
  - 307
  connexion.resolver.MethodResolverBase:
  - 189
  connexion.resolver.MethodResolverBase.__init__:
  - 214
  - 231
  connexion.resolver.MethodResolverBase.resolve_function_from_operation_id:
  - 261
  - 262
  - 264
  - 266
  - 267
  - 269
  - 272
  - 273
  - 254
  connexion.resolver.MethodResolverBase.resolve_method_from_class:
  - 280
  connexion.resolver.MethodResolverBase.resolve_operation_id:
  - 235
  - 242
  - 244
  - 247
  - 248
  - 249
  connexion.resolver.MethodViewResolver:
  - 313
  connexion.resolver.MethodViewResolver.__init__:
  - 322
  - 326
  - 319
  connexion.resolver.MethodViewResolver.resolve_method_from_class:
  - 330
  - 333
  - 336
  - 338
  - 339
  - 340
  - 344
  - 347
  connexion.resolver.RelativeResolver:
  - 78
  connexion.resolver.RelativeResolver.__init__:
  - 83
  - 92
  - 93
  connexion.resolver.RelativeResolver.resolve_operation_id:
  - 107
  - 99
  connexion.resolver.Resolution.__init__:
  - 20
  connexion.resolver.Resolver.__init__:
  - 32
  connexion.resolver.Resolver.resolve:
  - 40
  - 45
  - 46
  - 47
  connexion.resolver.Resolver.resolve_function_from_operation_id:
  - 69
  - 71
  - 63
  connexion.resolver.Resolver.resolve_operation_id:
  - 58
  - 51
  connexion.resolver.RestyResolver:
  - 113
  connexion.resolver.RestyResolver.__init__:
  - 120
  - 124
  connexion.resolver.RestyResolver.resolve_operation_id:
  - 129
  - 137
  - 134
  - 135
  connexion.resolver.RestyResolver.resolve_operation_id_using_rest_semantics:
  - 185
  - 153
  - 147
  - 140
  connexion.resolver.RestyResolver.resolve_operation_id_using_rest_semantics.get_controller_name:
  - 162
  - 165
  connexion.resolver.RestyResolver.resolve_operation_id_using_rest_semantics.get_function_name:
  - 176
  - 182
  - 174
  - 175
  connexion.resolver.RestyResolver.resolve_operation_id_using_rest_semantics.is_var:
  - 150
  connexion.security:
  - 64
  - 1
  - 60
  - 63
  connexion.security.AbstractSecurityHandler:
  - 73
  - 75
  connexion.security.AbstractSecurityHandler._accepts_kwarg:
  - 146
  - 147
  connexion.security.AbstractSecurityHandler._generic_check.wrapper:
  - 112
  - 114
  - 116
  - 117
  - 119
  - 121
  connexion.security.AbstractSecurityHandler._get_function:
  - 105
  - 102
  - 94
  - 106
  connexion.security.AbstractSecurityHandler._get_verify_func:
  - 161
  - 165
  connexion.security.AbstractSecurityHandler._resolve_func:
  - 156
  - 151
  connexion.security.AbstractSecurityHandler.get_auth_header_value:
  - 129
  - 134
  - 135
  - 139
  - 142
  connexion.security.AbstractSecurityHandler.get_fn:
  - 78
  - 79
  - 80
  - 81
  - 84
  connexion.security.ApiKeySecurityHandler:
  - 231
  connexion.security.ApiKeySecurityHandler._get_verify_func:
  - 252
  connexion.security.ApiKeySecurityHandler._get_verify_func.wrapper:
  - 256
  - 257
  - 258
  - 259
  - 260
  - 261
  - 265
  - 268
  - 255
  connexion.security.ApiKeySecurityHandler.check_api_key:
  - 273
  connexion.security.ApiKeySecurityHandler.get_cookie_value:
  - 283
  - 284
  - 277
  connexion.security.ApiKeySecurityHandler.get_fn:
  - 240
  - 241
  - 244
  - 239
  connexion.security.BasicSecurityHandler:
  - 169
  connexion.security.BasicSecurityHandler._get_verify_func:
  - 179
  connexion.security.BasicSecurityHandler._get_verify_func.wrapper:
  - 193
  - 188
  - 182
  - 183
  connexion.security.BasicSecurityHandler.check_basic_auth:
  - 198
  connexion.security.BearerSecurityHandler:
  - 204
  connexion.security.BearerSecurityHandler._get_verify_func:
  - 219
  - 215
  connexion.security.BearerSecurityHandler._get_verify_func.wrapper:
  - 225
  - 222
  - 223
  connexion.security.BearerSecurityHandler.check_bearer_token:
  - 212
  connexion.security.OAuthSecurityHandler:
  - 292
  connexion.security.OAuthSecurityHandler._get_verify_func:
  - 395
  connexion.security.OAuthSecurityHandler._get_verify_func.wrapper:
  - 402
  - 398
  - 399
  connexion.security.OAuthSecurityHandler.check_oauth_func:
  - 407
  connexion.security.OAuthSecurityHandler.check_oauth_func.wrapper:
  - 417
  - 419
  - 420
  - 422
  - 412
  connexion.security.OAuthSecurityHandler.get_fn:
  - 297
  - 298
  - 299
  - 300
  - 303
  connexion.security.OAuthSecurityHandler.get_scope_validate_func:
  - 340
  - 333
  connexion.security.OAuthSecurityHandler.get_token_info_remote:
  - 372
  connexion.security.OAuthSecurityHandler.get_token_info_remote.wrapper:
  - 385
  - 388
  - 390
  - 382
  - 383
  connexion.security.OAuthSecurityHandler.get_tokeninfo_func:
  - 320
  - 323
  - 326
  - 327
  - 308
  - 317
  connexion.security.OAuthSecurityHandler.validate_scope:
  - 354
  - 355
  - 356
  - 358
  - 359
  - 360
  - 361
  - 362
  - 349
  connexion.security.SecurityHandlerFactory:
  - 446
  connexion.security.SecurityHandlerFactory.__init__:
  - 459
  - 460
  - 461
  connexion.security.SecurityHandlerFactory._raise_most_specific:
  - 610
  - 623
  - 628
  - 631
  - 633
  - 636
  connexion.security.SecurityHandlerFactory.parse_security_scheme:
  - 512
  - 514
  - 517
  - 468
  - 474
  - 476
  - 479
  - 480
  - 481
  - 483
  - 485
  - 488
  - 489
  - 490
  - 491
  - 494
  - 496
  - 497
  - 499
  - 500
  - 504
  - 506
  - 509
  connexion.security.SecurityHandlerFactory.security_passthrough:
  - 525
  connexion.security.SecurityHandlerFactory.verify_multiple_schemes:
  - 553
  connexion.security.SecurityHandlerFactory.verify_multiple_schemes.wrapper:
  - 568
  - 564
  - 565
  - 566
  connexion.security.SecurityHandlerFactory.verify_none:
  - 540
  connexion.security.SecurityHandlerFactory.verify_security.verify_fn:
  - 581
  - 583
  - 584
  - 586
  - 589
  - 598
  connexion.spec:
  - 1
  connexion.spec.OpenAPISpecification:
  - 296
  - 290
  - 295
  connexion.spec.OpenAPISpecification._set_defaults:
  - 301
  connexion.spec.OpenAPISpecification.base_path:
  - 321
  - 324
  - 328
  - 313
  - 316
  - 317
  - 318
  - 319
  connexion.spec.OpenAPISpecification.security_schemes:
  - 305
  connexion.spec.Specification.__init__:
  - 80
  - 81
  - 82
  - 83
  connexion.spec.Specification.__iter__:
  - 127
  connexion.spec.Specification.__len__:
  - 130
  connexion.spec.Specification._get_spec_version:
  - 184
  - 178
  - 172
  - 175
  connexion.spec.Specification._load_spec_from_file:
  - 134
  - 142
  - 143
  - 145
  - 147
  - 149
  - 150
  connexion.spec.Specification._set_defaults:
  - 88
  connexion.spec.Specification._validate_spec:
  - 96
  - 92
  - 94
  - 95
  connexion.spec.Specification.clone:
  - 207
  connexion.spec.Specification.from_dict:
  - 200
  - 201
  - 202
  - 203
  - 204
  - 190
  connexion.spec.Specification.from_dict.enforce_string_keys:
  - 196
  - 197
  connexion.spec.Specification.from_file:
  - 154
  - 157
  - 158
  - 159
  connexion.spec.Specification.from_url:
  - 163
  - 166
  - 167
  connexion.spec.Specification.get_operation:
  - 104
  connexion.spec.Specification.get_path_params:
  - 101
  connexion.spec.Specification.load:
  - 211
  - 212
  - 214
  - 215
  - 216
  - 217
  - 218
  connexion.spec.Specification.security:
  - 116
  connexion.spec.Specification.version:
  - 112
  connexion.spec.Specification.with_base_path:
  - 221
  connexion.spec.Swagger2Specification:
  - 242
  - 243
  - 237
  connexion.spec.Swagger2Specification._set_defaults:
  - 248
  - 249
  - 250
  - 251
  - 252
  connexion.spec.Swagger2Specification.base_path:
  - 280
  - 284
  connexion.spec.Swagger2Specification.security_schemes:
  - 276
  connexion.spec.canonical_base_path:
  - 72
  - 69
  connexion.spec.create_spec_validator:
  - 59
  - 36
  - 30
  - 39
  connexion.spec.create_spec_validator.validate_defaults:
  - 42
  - 46
  - 48
  - 51
  - 53
  - 54
  - 57
  connexion.testing.TestContext.__enter__:
  - 32
  - 33
  - 30
  - 31
  connexion.testing.TestContext.__exit__:
  - 40
  - 37
  - 38
  - 39
  connexion.testing.TestContext.__init__:
  - 24
  - 25
  - 22
  - 23
  connexion.testing.TestContext.build_operation:
  - 49
  connexion.testing.TestContext.build_scope:
  - 69
  connexion.types:
  - 5
  connexion.uri_parsing:
  - 1
  - 14
  connexion.uri_parsing.AbstractURIParser.__init__:
  - 41
  - 42
  - 28
  connexion.uri_parsing.AbstractURIParser.__repr__:
  - 59
  - 62
  connexion.uri_parsing.AbstractURIParser._resolve_param_duplicates:
  - 80
  connexion.uri_parsing.AbstractURIParser._split:
  - 88
  connexion.uri_parsing.AbstractURIParser.param_defns:
  - 47
  connexion.uri_parsing.AbstractURIParser.param_schemas:
  - 54
  connexion.uri_parsing.AbstractURIParser.resolve_form:
  - 68
  connexion.uri_parsing.AbstractURIParser.resolve_params:
  - 101
  - 102
  - 103
  - 105
  - 110
  - 114
  - 116
  - 118
  - 123
  - 95
  connexion.uri_parsing.AbstractURIParser.resolve_path:
  - 76
  connexion.uri_parsing.AbstractURIParser.resolve_query:
  - 72
  connexion.uri_parsing.AlwaysMultiURIParser:
  - 321
  connexion.uri_parsing.AlwaysMultiURIParser._resolve_param_duplicates:
  - 328
  - 333
  - 334
  - 335
  connexion.uri_parsing.FirstValueURIParser:
  - 300
  connexion.uri_parsing.FirstValueURIParser._resolve_param_duplicates:
  - 315
  - 314
  - 307
  connexion.uri_parsing.OpenAPIURIParser._is_deep_object_style_param:
  - 201
  connexion.uri_parsing.OpenAPIURIParser._make_deep_object:
  - 192
  - 171
  - 175
  - 178
  - 179
  - 180
  - 182
  - 183
  - 184
  - 187
  - 190
  connexion.uri_parsing.OpenAPIURIParser._preprocess_deep_objects:
  - 205
  - 208
  - 210
  - 211
  - 212
  connexion.uri_parsing.OpenAPIURIParser._resolve_param_duplicates:
  - 227
  - 235
  - 236
  - 238
  - 239
  - 240
  connexion.uri_parsing.OpenAPIURIParser._split:
  - 248
  - 249
  - 250
  connexion.uri_parsing.OpenAPIURIParser.form_defns:
  - 147
  connexion.uri_parsing.OpenAPIURIParser.param_schemas:
  - 151
  connexion.uri_parsing.OpenAPIURIParser.resolve_form:
  - 160
  - 163
  - 164
  - 165
  - 166
  - 167
  - 154
  - 156
  - 157
  - 158
  connexion.uri_parsing.OpenAPIURIParser.resolve_path:
  - 223
  connexion.uri_parsing.OpenAPIURIParser.resolve_query:
  - 219
  - 220
  connexion.uri_parsing.Swagger2URIParser:
  - 254
  connexion.uri_parsing.Swagger2URIParser._resolve_param_duplicates:
  - 280
  - 288
  - 287
  connexion.uri_parsing.Swagger2URIParser._split:
  - 296
  - 294
  - 295
  connexion.uri_parsing.Swagger2URIParser.resolve_form:
  - 270
  connexion.uri_parsing.Swagger2URIParser.resolve_path:
  - 276
  connexion.uri_parsing.Swagger2URIParser.resolve_query:
  - 273
  connexion.utils:
  - 1
  - 19
  - 457
  - 53
  connexion.utils.all_json:
  - 170
  - 191
  connexion.utils.boolean:
  - 33
  - 35
  - 37
  - 39
  - 24
  connexion.utils.build_example_from_schema:
  - 545
  - 546
  - 518
  - 521
  - 524
  - 525
  - 528
  - 530
  - 531
  - 533
  - 538
  connexion.utils.coerce_type:
  - 352
  - 353
  - 387
  - 356
  - 357
  - 358
  - 360
  - 361
  - 362
  - 364
  - 367
  - 369
  - 370
  - 383
  connexion.utils.coerce_type.cast_leaves:
  - 373
  - 375
  - 378
  - 379
  - 380
  connexion.utils.coerce_type.make_type:
  - 349
  - 350
  connexion.utils.deep_get:
  - 96
  - 106
  - 109
  - 110
  - 112
  connexion.utils.deep_getattr:
  - 90
  - 92
  - 86
  connexion.utils.deep_merge:
  - 68
  - 71
  - 72
  - 73
  - 74
  - 75
  connexion.utils.extract_content_type:
  - 293
  - 302
  - 303
  - 306
  - 307
  - 311
  - 312
  - 313
  connexion.utils.get_function_from_name:
  - 135
  - 138
  - 139
  - 144
  - 146
  - 116
  - 121
  - 124
  - 125
  connexion.utils.get_root_path:
  - 417
  - 418
  - 421
  - 423
  - 395
  - 428
  - 403
  - 405
  - 406
  - 439
  - 409
  - 414
  - 415
  connexion.utils.has_coroutine:
  - 224
  - 225
  - 211
  - 228
  connexion.utils.has_coroutine.iscorofunc:
  - 218
  - 219
  - 221
  connexion.utils.inspect_function_arguments:
  - 450
  - 453
  - 454
  - 443
  - 447
  connexion.utils.is_json_mimetype:
  - 161
  - 162
  - 163
  - 165
  - 154
  - 158
  connexion.utils.is_null:
  - 201
  - 204
  connexion.utils.is_nullable:
  - 195
  connexion.utils.make_type:
  - 64
  - 58
  - 60
  connexion.utils.not_installed_error:
  - 280
  connexion.utils.not_installed_error._delayed_error:
  - 283
  connexion.utils.sort_apis_by_basepath:
  - 514
  - 508
  connexion.utils.sort_routes:
  - 504
  - 467
  - 462
  - 471
  connexion.utils.sort_routes.<lambda1>:
  - 504
  connexion.utils.sort_routes.SortableRoute.__init__:
  - 496
  - 497
  - 499
  connexion.utils.sort_routes.SortableRoute.__lt__:
  - 502
  connexion.utils.split_content_type:
  - 324
  - 327
  - 331
  - 332
  - 336
  - 337
  - 338
  connexion.utils.yamldumper:
  - 232
  - 276
  connexion.utils.yamldumper.NoAnchorDumper:
  - 266
  connexion.utils.yamldumper.my_represent_scalar:
  - 260
  - 261
  - 255
  connexion.utils.yamldumper.should_use_block:
  - 249
  - 250
  connexion.validators:
  - 25
  - 18
  connexion.validators.abstract:
  - 1
  connexion.validators.abstract.AbstractRequestBodyValidator:
  - 16
  - 29
  - 23
  connexion.validators.abstract.AbstractRequestBodyValidator.__init__:
  - 41
  connexion.validators.abstract.AbstractRequestBodyValidator._insert_body:
  - 96
  - 70
  - 75
  - 78
  - 81
  - 82
  - 83
  - 84
  - 91
  - 93
  connexion.validators.abstract.AbstractRequestBodyValidator._insert_messages:
  - 104
  - 106
  connexion.validators.abstract.AbstractRequestBodyValidator._insert_messages.receive_:
  - 112
  - 110
  connexion.validators.abstract.AbstractRequestBodyValidator._parse:
  - 58
  connexion.validators.abstract.AbstractRequestBodyValidator._validate:
  - 61
  connexion.validators.abstract.AbstractRequestBodyValidator.wrap_receive:
  - 128
  - 131
  - 146
  - 147
  - 148
  - 119
  - 151
  - 153
  - 156
  - 125
  - 126
  - 127
  connexion.validators.abstract.AbstractRequestBodyValidator.wrap_receive.stream:
  - 139
  - 140
  - 141
  - 142
  - 143
  connexion.validators.abstract.AbstractResponseBodyValidator:
  - 162
  connexion.validators.abstract.AbstractResponseBodyValidator._parse:
  - 182
  connexion.validators.abstract.AbstractResponseBodyValidator._validate:
  - 185
  connexion.validators.abstract.AbstractResponseBodyValidator.wrap_send:
  - 192
  connexion.validators.abstract.AbstractResponseBodyValidator.wrap_send.send_:
  - 197
  - 199
  - 204
  - 205
  - 207
  - 208
  - 211
  connexion.validators.form_data:
  - 14
  connexion.validators.form_data.FormDataValidator:
  - 18
  connexion.validators.form_data.FormDataValidator.__init__:
  - 30
  connexion.validators.form_data.FormDataValidator._parse:
  - 90
  - 70
  - 72
  - 76
  - 78
  - 79
  - 92
  - 81
  - 50
  - 51
  - 52
  - 82
  - 54
  - 88
  - 58
  - 60
  - 61
  connexion.validators.form_data.FormDataValidator._parse.is_file:
  - 64
  connexion.validators.form_data.FormDataValidator._validate:
  - 97
  - 99
  - 100
  - 102
  - 104
  - 105
  connexion.validators.form_data.FormDataValidator._validate_params_strictly:
  - 112
  - 113
  - 114
  - 115
  connexion.validators.form_data.FormDataValidator._validator:
  - 41
  connexion.validators.json:
  - 20
  connexion.validators.json.DefaultsJSONRequestBodyValidator:
  - 84
  - 79
  connexion.validators.json.DefaultsJSONRequestBodyValidator._validator:
  - 88
  - 89
  connexion.validators.json.DefaultsJSONRequestBodyValidator.extend_with_set_default:
  - 105
  connexion.validators.json.DefaultsJSONRequestBodyValidator.extend_with_set_default.set_defaults:
  - 99
  - 100
  - 101
  - 103
  connexion.validators.json.JSONRequestBodyValidator:
  - 24
  connexion.validators.json.JSONRequestBodyValidator.__init__:
  - 36
  connexion.validators.json.JSONRequestBodyValidator._parse:
  - 56
  - 60
  - 53
  - 54
  connexion.validators.json.JSONRequestBodyValidator._validate:
  - 65
  - 68
  - 70
  - 71
  connexion.validators.json.JSONRequestBodyValidator._validator:
  - 46
  connexion.validators.json.JSONResponseBodyValidator:
  - 111
  connexion.validators.json.JSONResponseBodyValidator._parse:
  - 120
  - 122
  - 126
  connexion.validators.json.JSONResponseBodyValidator._validate:
  - 132
  - 134
  - 135
  connexion.validators.json.JSONResponseBodyValidator.validator:
  - 115
  connexion.validators.json.TextResponseBodyValidator._parse:
  - 146
  - 149
  connexion.validators.parameter:
  - 11
  connexion.validators.parameter.ParameterValidator.__init__:
  - 37
  - 38
  - 39
  - 43
  - 29
  connexion.validators.parameter.ParameterValidator.validate:
  - 104
  - 101
  - 103
  connexion.validators.parameter.ParameterValidator.validate_cookie_parameter:
  - 97
  - 98
  connexion.validators.parameter.ParameterValidator.validate_header_parameter:
  - 93
  - 94
  connexion.validators.parameter.ParameterValidator.validate_parameter:
  - 47
  - 50
  - 51
  - 52
  - 54
  - 58
  - 60
  - 61
  - 62
  connexion.validators.parameter.ParameterValidator.validate_parameter_list:
  - 67
  - 68
  - 70
  connexion.validators.parameter.ParameterValidator.validate_path_parameter:
  - 89
  - 90
  connexion.validators.parameter.ParameterValidator.validate_query_parameter:
  - 85
  - 86
  - 79
  connexion.validators.parameter.ParameterValidator.validate_query_parameter_list:
  - 73
  - 74
  - 75
  - 76
  connexion.validators.parameter.ParameterValidator.validate_request:
  - 128
  - 129
  - 132
  - 133
  - 134
  - 107
  - 108
  - 112
  - 117
  - 118
  - 119
  - 122
  - 123
  - 124
  - 127
  werkzeug._internal:
  - 120
  - 10
  - 26
  - 196
  werkzeug._internal._ColorStreamHandler:
  - 65
  werkzeug._internal._ColorStreamHandler.__init__:
  - 73
  - 75
  werkzeug._internal._DictAccessorProperty:
  - 124
  werkzeug._internal._DictAccessorProperty.__delete__:
  - 187
  - 190
  werkzeug._internal._DictAccessorProperty.__get__:
  - 162
  - 164
  - 169
  - 171
  - 151
  - 154
  - 159
  werkzeug._internal._DictAccessorProperty.__init__:
  - 141
  werkzeug._internal._DictAccessorProperty.__repr__:
  - 193
  werkzeug._internal._DictAccessorProperty.__set__:
  - 184
  - 178
  - 181
  - 182
  werkzeug._internal._dt_as_utc:
  - 101
  - 105
  - 109
  - 112
  - 113
  - 114
  - 115
  werkzeug._internal._get_environ:
  - 41
  - 38
  - 39
  werkzeug._internal._has_level_handler:
  - 56
  - 49
  - 53
  - 46
  werkzeug._internal._log:
  - 97
  - 79
  - 88
  - 89
  - 91
  - 92
  - 94
  - 95
  werkzeug._internal._plain_int:
  - 200
  - 211
  - 208
  - 207
  werkzeug._internal._wsgi_decoding_dance:
  - 30
  werkzeug._internal._wsgi_encoding_dance:
  - 34
  werkzeug._reloader:
  - 416
  - 20
  - 23
  - 25
  - 27
  werkzeug._reloader.ReloaderLoop.__enter__:
  - 242
  - 245
  werkzeug._reloader.ReloaderLoop.__exit__:
  - 249
  werkzeug._reloader.ReloaderLoop.__init__:
  - 237
  - 238
  werkzeug._reloader.ReloaderLoop.log_reload:
  - 285
  - 286
  werkzeug._reloader.ReloaderLoop.restart_with_reloader:
  - 267
  - 271
  - 272
  - 273
  - 275
  - 277
  werkzeug._reloader.ReloaderLoop.run:
  - 257
  - 258
  - 253
  werkzeug._reloader.ReloaderLoop.run_step:
  - 261
  werkzeug._reloader.ReloaderLoop.trigger_reload:
  - 281
  - 282
  werkzeug._reloader.StatReloaderLoop.__enter__:
  - 294
  werkzeug._reloader.StatReloaderLoop.run_step:
  - 297
  - 299
  - 303
  - 305
  - 309
  - 310
  werkzeug._reloader.WatchdogReloaderLoop.__enter__:
  - 372
  - 373
  werkzeug._reloader.WatchdogReloaderLoop.__exit__:
  - 376
  - 377
  werkzeug._reloader.WatchdogReloaderLoop.__init__:
  - 353
  - 354
  - 324
  - 341
  - 343
  - 347
  werkzeug._reloader.WatchdogReloaderLoop.__init__.EventHandler.on_any_event:
  - 329
  - 339
  werkzeug._reloader.WatchdogReloaderLoop.run:
  - 384
  - 381
  - 382
  werkzeug._reloader.WatchdogReloaderLoop.run_step:
  - 387
  - 389
  - 390
  - 392
  - 401
  - 403
  - 404
  - 406
  - 407
  werkzeug._reloader.WatchdogReloaderLoop.trigger_reload:
  - 368
  werkzeug._reloader._find_common_roots:
  - 165
  - 146
  - 149
  - 150
  - 152
  - 154
  werkzeug._reloader._find_common_roots._walk:
  - 162
  - 163
  - 157
  - 158
  werkzeug._reloader._find_stat_paths:
  - 68
  - 76
  - 78
  - 79
  - 81
  - 83
  - 86
  - 88
  - 92
  - 93
  - 94
  - 96
  - 101
  - 102
  - 104
  - 108
  - 109
  - 114
  - 115
  werkzeug._reloader._find_watchdog_paths:
  - 128
  - 129
  - 131
  - 132
  - 134
  - 136
  - 137
  - 139
  - 140
  - 122
  - 126
  werkzeug._reloader._get_args_for_reloading:
  - 170
  - 173
  - 187
  - 190
  - 191
  - 194
  - 196
  - 199
  - 202
  - 203
  - 204
  - 206
  - 208
  - 211
  - 213
  - 214
  - 216
  - 222
  - 224
  werkzeug._reloader._iter_module_paths:
  - 41
  - 43
  - 44
  - 46
  - 49
  - 52
  - 54
  - 57
  werkzeug._reloader._remove_by_pattern:
  - 61
  - 62
  werkzeug._reloader.ensure_echo_on:
  - 424
  - 427
  - 435
  - 437
  - 439
  werkzeug._reloader.run_with_reloader:
  - 449
  - 452
  - 453
  - 458
  - 459
  - 460
  - 466
  - 467
  - 469
  werkzeug._reloader.run_with_reloader.<lambda1>:
  - 452
  werkzeug.datastructures.__getattr__:
  - 56
  - 42
  - 53
  - 45
  werkzeug.datastructures.accept:
  - 272
  - 201
  werkzeug.datastructures.accept.Accept:
  - 12
  werkzeug.datastructures.accept.Accept.__contains__:
  - 101
  - 102
  werkzeug.datastructures.accept.Accept.__getitem__:
  - 72
  - 74
  - 76
  - 80
  - 84
  - 85
  - 86
  werkzeug.datastructures.accept.Accept.__init__:
  - 50
  - 51
  - 53
  - 55
  - 58
  - 59
  - 61
  werkzeug.datastructures.accept.Accept.__init__.<lambda1>:
  - 59
  werkzeug.datastructures.accept.Accept.__repr__:
  - 107
  - 108
  werkzeug.datastructures.accept.Accept.__str__:
  - 151
  werkzeug.datastructures.accept.Accept._best_single_match:
  - 154
  - 155
  werkzeug.datastructures.accept.Accept._specificity:
  - 64
  werkzeug.datastructures.accept.Accept._value_matches:
  - 68
  - 69
  werkzeug.datastructures.accept.Accept.best:
  - 194
  - 195
  werkzeug.datastructures.accept.Accept.best_match:
  - 161
  - 163
  - 167
  - 177
  - 178
  - 179
  - 182
  - 183
  - 186
  werkzeug.datastructures.accept.Accept.find:
  - 132
  - 127
  werkzeug.datastructures.accept.Accept.index:
  - 111
  - 119
  - 120
  - 121
  - 124
  werkzeug.datastructures.accept.Accept.quality:
  - 96
  - 89
  - 95
  werkzeug.datastructures.accept.Accept.to_header:
  - 142
  - 144
  - 145
  - 147
  - 148
  werkzeug.datastructures.accept.Accept.values:
  - 137
  - 138
  - 139
  werkzeug.datastructures.accept.CharsetAccept:
  - 341
  werkzeug.datastructures.accept.CharsetAccept._value_matches:
  - 350
  werkzeug.datastructures.accept.CharsetAccept._value_matches._normalize:
  - 346
  - 348
  werkzeug.datastructures.accept.LanguageAccept:
  - 281
  werkzeug.datastructures.accept.LanguageAccept._value_matches:
  - 284
  werkzeug.datastructures.accept.LanguageAccept.best_match:
  - 320
  - 289
  - 322
  - 324
  - 293
  - 319
  - 329
  - 330
  - 334
  - 335
  - 311
  - 313
  - 287
  werkzeug.datastructures.accept.MIMEAccept:
  - 209
  werkzeug.datastructures.accept.MIMEAccept._specificity:
  - 214
  werkzeug.datastructures.accept.MIMEAccept._value_matches:
  - 227
  - 229
  - 232
  - 236
  - 238
  - 241
  - 218
  - 223
  werkzeug.datastructures.accept.MIMEAccept.accept_html:
  - 258
  werkzeug.datastructures.accept.MIMEAccept.accept_json:
  - 268
  werkzeug.datastructures.accept.MIMEAccept.accept_xhtml:
  - 263
  werkzeug.datastructures.accept._normalize_lang:
  - 276
  - 277
  werkzeug.datastructures.accept._normalize_mime:
  - 205
  werkzeug.datastructures.auth:
  - 13
  werkzeug.datastructures.auth.Authorization:
  - 18
  werkzeug.datastructures.auth.Authorization.__eq__:
  - 80
  werkzeug.datastructures.auth.Authorization.__getattr__:
  - 68
  werkzeug.datastructures.auth.Authorization.__getitem__:
  - 71
  werkzeug.datastructures.auth.Authorization.__init__:
  - 56
  - 50
  - 52
  - 61
  werkzeug.datastructures.auth.Authorization.__repr__:
  - 140
  werkzeug.datastructures.auth.Authorization.__str__:
  - 137
  werkzeug.datastructures.auth.Authorization.from_header:
  - 98
  - 101
  - 102
  - 103
  - 105
  - 107
  - 111
  - 113
  - 115
  - 118
  - 91
  werkzeug.datastructures.auth.Authorization.get:
  - 74
  werkzeug.datastructures.auth.Authorization.to_header:
  - 131
  - 132
  - 134
  - 121
  - 125
  - 126
  - 127
  werkzeug.datastructures.auth.WWWAuthenticate:
  - 144
  werkzeug.datastructures.auth.WWWAuthenticate.__delitem__:
  - 240
  - 238
  werkzeug.datastructures.auth.WWWAuthenticate.__eq__:
  - 258
  werkzeug.datastructures.auth.WWWAuthenticate.__getitem__:
  - 226
  werkzeug.datastructures.auth.WWWAuthenticate.__init__:
  - 176
  - 177
  - 175
  werkzeug.datastructures.auth.WWWAuthenticate.__init__.<lambda1>:
  - 177
  werkzeug.datastructures.auth.WWWAuthenticate.__repr__:
  - 317
  werkzeug.datastructures.auth.WWWAuthenticate.__setattr__:
  - 246
  - 247
  werkzeug.datastructures.auth.WWWAuthenticate.__setitem__:
  - 235
  - 229
  - 230
  werkzeug.datastructures.auth.WWWAuthenticate.__str__:
  - 314
  werkzeug.datastructures.auth.WWWAuthenticate._trigger_on_update:
  - 184
  - 183
  werkzeug.datastructures.auth.WWWAuthenticate.from_header:
  - 288
  - 291
  - 272
  - 279
  - 282
  - 283
  - 284
  - 286
  werkzeug.datastructures.auth.WWWAuthenticate.get:
  - 268
  werkzeug.datastructures.auth.WWWAuthenticate.parameters:
  - 206
  - 205
  - 198
  werkzeug.datastructures.auth.WWWAuthenticate.parameters.<lambda1>:
  - 205
  werkzeug.datastructures.auth.WWWAuthenticate.to_header:
  - 294
  - 295
  - 296
  - 298
  - 301
  - 302
  - 303
  - 305
  - 307
  - 309
  - 311
  werkzeug.datastructures.auth.WWWAuthenticate.token:
  - 217
  - 210
  - 223
  werkzeug.datastructures.auth.WWWAuthenticate.type:
  - 194
  - 188
  werkzeug.datastructures.cache_control.RequestCacheControl:
  - 201
  - 202
  - 207
  - 208
  - 158
  werkzeug.datastructures.cache_control.ResponseCacheControl:
  - 258
  - 259
  - 262
  - 263
  - 264
  - 265
  - 266
  - 267
  - 212
  - 255
  werkzeug.datastructures.cache_control._CacheControl:
  - 85
  - 86
  - 87
  - 88
  - 57
  - 154
  werkzeug.datastructures.cache_control._CacheControl.__init__:
  - 95
  werkzeug.datastructures.cache_control._CacheControl.__repr__:
  - 152
  - 151
  werkzeug.datastructures.cache_control._CacheControl.__str__:
  - 148
  werkzeug.datastructures.cache_control._CacheControl._del_cache_value:
  - 139
  - 140
  werkzeug.datastructures.cache_control._CacheControl._get_cache_value:
  - 101
  - 102
  - 105
  - 108
  - 111
  - 113
  werkzeug.datastructures.cache_control._CacheControl._set_cache_value:
  - 128
  - 129
  - 130
  - 133
  - 134
  - 136
  - 122
  - 123
  - 124
  - 127
  werkzeug.datastructures.cache_control._CacheControl.to_header:
  - 144
  - 145
  werkzeug.datastructures.cache_control.cache_control_property:
  - 33
  - 34
  - 36
  - 37
  - 39
  - 41
  - 42
  - 44
  - 14
  - 46
  - 48
  - 49
  - 50
  - 51
  - 52
  - 30
  werkzeug.datastructures.cache_control.cache_control_property.<lambda1>:
  - 49
  werkzeug.datastructures.cache_control.cache_control_property.<lambda2>:
  - 50
  werkzeug.datastructures.cache_control.cache_control_property.<lambda3>:
  - 51
  werkzeug.datastructures.csp.ContentSecurityPolicy:
  - 23
  - 39
  - 40
  - 41
  - 42
  - 43
  - 44
  - 45
  - 46
  - 47
  - 48
  - 49
  - 50
  - 51
  - 52
  - 53
  - 54
  - 55
  - 56
  - 57
  - 58
  - 59
  - 60
  - 61
  - 62
  - 63
  werkzeug.datastructures.csp.ContentSecurityPolicy.__init__:
  - 70
  werkzeug.datastructures.csp.ContentSecurityPolicy.__repr__:
  - 99
  - 100
  werkzeug.datastructures.csp.ContentSecurityPolicy.__str__:
  - 96
  werkzeug.datastructures.csp.ContentSecurityPolicy._del_value:
  - 85
  - 86
  werkzeug.datastructures.csp.ContentSecurityPolicy._get_value:
  - 74
  - 75
  werkzeug.datastructures.csp.ContentSecurityPolicy._set_value:
  - 80
  - 78
  - 79
  werkzeug.datastructures.csp.ContentSecurityPolicy.to_header:
  - 90
  - 93
  werkzeug.datastructures.csp.csp_property:
  - 10
  - 14
  - 15
  - 16
  - 17
  werkzeug.datastructures.csp.csp_property.<lambda1>:
  - 15
  werkzeug.datastructures.csp.csp_property.<lambda2>:
  - 16
  werkzeug.datastructures.csp.csp_property.<lambda3>:
  - 17
  werkzeug.datastructures.etag.ETags:
  - 7
  werkzeug.datastructures.etag.ETags.__bool__:
  - 91
  werkzeug.datastructures.etag.ETags.__call__:
  - 78
  - 79
  - 84
  - 85
  - 86
  werkzeug.datastructures.etag.ETags.__contains__:
  - 103
  werkzeug.datastructures.etag.ETags.__init__:
  - 17
  - 18
  - 20
  - 22
  werkzeug.datastructures.etag.ETags.__iter__:
  - 100
  werkzeug.datastructures.etag.ETags.__len__:
  - 97
  werkzeug.datastructures.etag.ETags.__repr__:
  - 106
  werkzeug.datastructures.etag.ETags.__str__:
  - 94
  werkzeug.datastructures.etag.ETags.as_set:
  - 26
  - 28
  - 29
  - 30
  werkzeug.datastructures.etag.ETags.contains:
  - 49
  - 51
  - 46
  werkzeug.datastructures.etag.ETags.contains_raw:
  - 54
  - 59
  - 60
  - 61
  - 62
  werkzeug.datastructures.etag.ETags.contains_weak:
  - 42
  - 43
  werkzeug.datastructures.etag.ETags.is_strong:
  - 38
  werkzeug.datastructures.etag.ETags.is_weak:
  - 34
  werkzeug.datastructures.etag.ETags.to_header:
  - 65
  - 66
  - 68
  werkzeug.datastructures.file_storage.FileMultiDict:
  - 166
  werkzeug.datastructures.file_storage.FileMultiDict.add_file:
  - 192
  - 193
  - 194
  - 196
  - 200
  - 202
  - 205
  - 180
  - 188
  - 189
  werkzeug.datastructures.file_storage.FileStorage:
  - 17
  werkzeug.datastructures.file_storage.FileStorage.__bool__:
  - 146
  werkzeug.datastructures.file_storage.FileStorage.__getattr__:
  - 154
  - 155
  - 150
  werkzeug.datastructures.file_storage.FileStorage.__init__:
  - 34
  - 39
  - 40
  - 42
  - 43
  - 45
  - 48
  - 52
  - 53
  - 55
  - 57
  - 58
  werkzeug.datastructures.file_storage.FileStorage.__iter__:
  - 159
  werkzeug.datastructures.file_storage.FileStorage.__repr__:
  - 162
  werkzeug.datastructures.file_storage.FileStorage._parse_content_type:
  - 61
  - 62
  werkzeug.datastructures.file_storage.FileStorage.close:
  - 139
  - 141
  werkzeug.datastructures.file_storage.FileStorage.content_length:
  - 72
  - 74
  - 71
  werkzeug.datastructures.file_storage.FileStorage.content_type:
  - 66
  - 67
  werkzeug.datastructures.file_storage.FileStorage.mimetype:
  - 89
  - 82
  - 90
  werkzeug.datastructures.file_storage.FileStorage.mimetype_params:
  - 100
  - 94
  werkzeug.datastructures.file_storage.FileStorage.save:
  - 128
  - 129
  - 133
  - 135
  - 136
  - 106
  - 125
  - 126
  werkzeug.datastructures.headers:
  - 592
  - 17
  - 13
  werkzeug.datastructures.headers.EnvironHeaders:
  - 606
  werkzeug.datastructures.headers.EnvironHeaders.__eq__:
  - 620
  werkzeug.datastructures.headers.EnvironHeaders.__getitem__:
  - 628
  werkzeug.datastructures.headers.EnvironHeaders.__init__:
  - 616
  werkzeug.datastructures.headers.EnvironHeaders.__iter__:
  - 645
  - 646
  - 650
  - 651
  - 652
  werkzeug.datastructures.headers.EnvironHeaders.__len__:
  - 642
  werkzeug.datastructures.headers.EnvironHeaders._get_key:
  - 634
  - 636
  - 631
  werkzeug.datastructures.headers.Headers:
  - 21
  werkzeug.datastructures.headers.Headers.__contains__:
  - 328
  - 326
  werkzeug.datastructures.headers.Headers.__copy__:
  - 572
  werkzeug.datastructures.headers.Headers.__delitem__:
  - 258
  - 259
  werkzeug.datastructures.headers.Headers.__eq__:
  - 106
  - 100
  werkzeug.datastructures.headers.Headers.__eq__.lowered:
  - 104
  werkzeug.datastructures.headers.Headers.__getitem__:
  - 76
  - 78
  - 80
  - 82
  - 83
  - 85
  - 88
  werkzeug.datastructures.headers.Headers.__init__:
  - 72
  - 73
  werkzeug.datastructures.headers.Headers.__ior__:
  - 555
  - 558
  werkzeug.datastructures.headers.Headers.__iter__:
  - 336
  - 335
  werkzeug.datastructures.headers.Headers.__len__:
  - 339
  werkzeug.datastructures.headers.Headers.__or__:
  - 544
  - 545
  - 541
  werkzeug.datastructures.headers.Headers.__repr__:
  - 583
  werkzeug.datastructures.headers.Headers.__setitem__:
  - 481
  - 482
  - 483
  - 484
  - 485
  - 487
  - 469
  - 471
  - 475
  werkzeug.datastructures.headers.Headers.__str__:
  - 577
  - 578
  - 579
  - 580
  - 575
  werkzeug.datastructures.headers.Headers._del_key:
  - 265
  - 268
  - 269
  - 270
  werkzeug.datastructures.headers.Headers._get_key:
  - 91
  - 93
  - 94
  werkzeug.datastructures.headers.Headers.add:
  - 357
  - 358
  - 360
  - 361
  - 342
  werkzeug.datastructures.headers.Headers.add_header:
  - 369
  - 364
  werkzeug.datastructures.headers.Headers.clear:
  - 372
  - 373
  werkzeug.datastructures.headers.Headers.copy:
  - 569
  werkzeug.datastructures.headers.Headers.extend:
  - 237
  - 250
  - 251
  - 252
  - 254
  - 255
  werkzeug.datastructures.headers.Headers.get:
  - 111
  - 113
  - 115
  - 117
  - 119
  - 151
  - 155
  - 126
  - 159
  werkzeug.datastructures.headers.Headers.get_all:
  - 209
  - 204
  werkzeug.datastructures.headers.Headers.getlist:
  - 192
  - 193
  - 195
  - 164
  - 166
  - 201
  - 170
  - 187
  - 189
  werkzeug.datastructures.headers.Headers.items:
  - 212
  - 213
  - 214
  - 215
  werkzeug.datastructures.headers.Headers.keys:
  - 218
  - 219
  werkzeug.datastructures.headers.Headers.pop:
  - 288
  - 318
  - 290
  - 296
  - 304
  - 305
  - 307
  - 308
  - 311
  - 313
  - 282
  - 284
  - 286
  werkzeug.datastructures.headers.Headers.popitem:
  - 322
  - 323
  werkzeug.datastructures.headers.Headers.remove:
  - 275
  - 279
  werkzeug.datastructures.headers.Headers.set:
  - 390
  - 391
  - 393
  - 395
  - 396
  - 399
  - 400
  - 402
  - 403
  - 376
  - 413
  werkzeug.datastructures.headers.Headers.setdefault:
  - 433
  - 442
  - 446
  - 447
  werkzeug.datastructures.headers.Headers.setlist:
  - 416
  - 423
  - 424
  - 425
  - 427
  - 428
  - 430
  werkzeug.datastructures.headers.Headers.setlistdefault:
  - 464
  - 466
  - 450
  - 463
  werkzeug.datastructures.headers.Headers.to_wsgi_list:
  - 562
  - 566
  werkzeug.datastructures.headers.Headers.update:
  - 515
  - 516
  - 517
  - 518
  - 519
  - 520
  - 521
  - 522
  - 524
  - 526
  - 527
  - 529
  - 530
  - 531
  - 533
  - 503
  werkzeug.datastructures.headers.Headers.values:
  - 222
  - 223
  werkzeug.datastructures.headers._options_header_vkw:
  - 587
  - 588
  werkzeug.datastructures.headers._str_header_value:
  - 596
  - 597
  - 599
  werkzeug.datastructures.mixins:
  - 10
  - 13
  - 14
  - 15
  - 16
  werkzeug.datastructures.mixins.ImmutableDictMixin:
  - 77
  werkzeug.datastructures.mixins.ImmutableDictMixin.__delitem__:
  - 136
  werkzeug.datastructures.mixins.ImmutableDictMixin.__hash__:
  - 112
  - 114
  werkzeug.datastructures.mixins.ImmutableDictMixin.__ior__:
  - 124
  werkzeug.datastructures.mixins.ImmutableDictMixin.__reduce_ex__:
  - 106
  werkzeug.datastructures.mixins.ImmutableDictMixin.__setitem__:
  - 133
  werkzeug.datastructures.mixins.ImmutableDictMixin._iter_hashitems:
  - 109
  werkzeug.datastructures.mixins.ImmutableDictMixin.clear:
  - 139
  werkzeug.datastructures.mixins.ImmutableDictMixin.fromkeys:
  - 96
  - 101
  - 93
  - 102
  werkzeug.datastructures.mixins.ImmutableDictMixin.pop:
  - 127
  werkzeug.datastructures.mixins.ImmutableDictMixin.popitem:
  - 130
  werkzeug.datastructures.mixins.ImmutableDictMixin.setdefault:
  - 118
  werkzeug.datastructures.mixins.ImmutableDictMixin.update:
  - 121
  werkzeug.datastructures.mixins.ImmutableHeadersMixin:
  - 173
  werkzeug.datastructures.mixins.ImmutableHeadersMixin.__delitem__:
  - 186
  werkzeug.datastructures.mixins.ImmutableHeadersMixin.__ior__:
  - 213
  werkzeug.datastructures.mixins.ImmutableHeadersMixin.__setitem__:
  - 189
  werkzeug.datastructures.mixins.ImmutableHeadersMixin.add:
  - 198
  werkzeug.datastructures.mixins.ImmutableHeadersMixin.add_header:
  - 201
  werkzeug.datastructures.mixins.ImmutableHeadersMixin.extend:
  - 207
  werkzeug.datastructures.mixins.ImmutableHeadersMixin.insert:
  - 216
  werkzeug.datastructures.mixins.ImmutableHeadersMixin.pop:
  - 219
  werkzeug.datastructures.mixins.ImmutableHeadersMixin.popitem:
  - 222
  werkzeug.datastructures.mixins.ImmutableHeadersMixin.remove:
  - 204
  werkzeug.datastructures.mixins.ImmutableHeadersMixin.set:
  - 192
  werkzeug.datastructures.mixins.ImmutableHeadersMixin.setdefault:
  - 225
  werkzeug.datastructures.mixins.ImmutableHeadersMixin.setlist:
  - 195
  werkzeug.datastructures.mixins.ImmutableHeadersMixin.setlistdefault:
  - 228
  werkzeug.datastructures.mixins.ImmutableHeadersMixin.update:
  - 210
  werkzeug.datastructures.mixins.ImmutableListMixin:
  - 24
  werkzeug.datastructures.mixins.ImmutableListMixin.__delitem__:
  - 43
  werkzeug.datastructures.mixins.ImmutableListMixin.__hash__:
  - 34
  - 36
  werkzeug.datastructures.mixins.ImmutableListMixin.__iadd__:
  - 46
  werkzeug.datastructures.mixins.ImmutableListMixin.__imul__:
  - 49
  werkzeug.datastructures.mixins.ImmutableListMixin.__reduce_ex__:
  - 40
  werkzeug.datastructures.mixins.ImmutableListMixin.__setitem__:
  - 52
  werkzeug.datastructures.mixins.ImmutableListMixin.append:
  - 55
  werkzeug.datastructures.mixins.ImmutableListMixin.extend:
  - 61
  werkzeug.datastructures.mixins.ImmutableListMixin.insert:
  - 64
  werkzeug.datastructures.mixins.ImmutableListMixin.pop:
  - 67
  werkzeug.datastructures.mixins.ImmutableListMixin.remove:
  - 58
  werkzeug.datastructures.mixins.ImmutableListMixin.reverse:
  - 70
  werkzeug.datastructures.mixins.ImmutableListMixin.sort:
  - 73
  werkzeug.datastructures.mixins.ImmutableMultiDictMixin:
  - 143
  werkzeug.datastructures.mixins.ImmutableMultiDictMixin.__reduce_ex__:
  - 151
  werkzeug.datastructures.mixins.ImmutableMultiDictMixin._iter_hashitems:
  - 154
  werkzeug.datastructures.mixins.ImmutableMultiDictMixin.add:
  - 157
  werkzeug.datastructures.mixins.ImmutableMultiDictMixin.popitemlist:
  - 160
  werkzeug.datastructures.mixins.ImmutableMultiDictMixin.poplist:
  - 163
  werkzeug.datastructures.mixins.ImmutableMultiDictMixin.setlist:
  - 166
  werkzeug.datastructures.mixins.ImmutableMultiDictMixin.setlistdefault:
  - 169
  werkzeug.datastructures.mixins.UpdateDictMixin:
  - 246
  werkzeug.datastructures.mixins.UpdateDictMixin.__delitem__:
  - 291
  werkzeug.datastructures.mixins.UpdateDictMixin.__ior__:
  - 317
  werkzeug.datastructures.mixins.UpdateDictMixin.__setitem__:
  - 287
  werkzeug.datastructures.mixins.UpdateDictMixin.clear:
  - 295
  werkzeug.datastructures.mixins.UpdateDictMixin.pop:
  - 266
  - 268
  - 270
  - 277
  - 278
  - 280
  - 281
  - 282
  werkzeug.datastructures.mixins.UpdateDictMixin.popitem:
  - 299
  werkzeug.datastructures.mixins.UpdateDictMixin.setdefault:
  - 260
  - 261
  - 262
  werkzeug.datastructures.mixins.UpdateDictMixin.update:
  - 308
  - 309
  - 311
  werkzeug.datastructures.mixins._always_update:
  - 242
  werkzeug.datastructures.mixins._always_update.wrapper:
  - 235
  - 237
  - 238
  werkzeug.datastructures.range:
  - 10
  - 7
  werkzeug.datastructures.range.ContentRange:
  - 161
  - 163
  - 166
  - 168
  - 144
  werkzeug.datastructures.range.ContentRange.__init__:
  - 158
  werkzeug.datastructures.range.ContentRange.__repr__:
  - 210
  werkzeug.datastructures.range.ContentRange.__str__:
  - 207
  werkzeug.datastructures.range.ContentRange.set:
  - 184
  - 177
  - 178
  - 183
  werkzeug.datastructures.range.ContentRange.to_header:
  - 193
  - 195
  - 199
  werkzeug.datastructures.range.ContentRange.unset:
  - 187
  - 190
  werkzeug.datastructures.range.IfRange:
  - 14
  werkzeug.datastructures.range.IfRange.__repr__:
  - 40
  werkzeug.datastructures.range.IfRange.__str__:
  - 37
  werkzeug.datastructures.range.IfRange.to_header:
  - 32
  - 33
  - 29
  - 30
  - 31
  werkzeug.datastructures.range.Range:
  - 44
  werkzeug.datastructures.range.Range.__init__:
  - 65
  - 66
  werkzeug.datastructures.range.Range.__repr__:
  - 117
  werkzeug.datastructures.range.Range.__str__:
  - 114
  werkzeug.datastructures.range.Range.make_content_range:
  - 89
  - 90
  - 91
  - 86
  werkzeug.datastructures.range.Range.range_for_length:
  - 70
  - 74
  - 77
  - 79
  - 81
  - 82
  werkzeug.datastructures.range.Range.to_content_range_header:
  - 105
  - 108
  - 109
  werkzeug.datastructures.range.Range.to_header:
  - 97
  - 98
  - 99
  - 101
  - 102
  - 95
  werkzeug.datastructures.range._CallbackProperty.__get__:
  - 131
  - 125
  - 127
  werkzeug.datastructures.range._CallbackProperty.__set__:
  - 139
  - 140
  werkzeug.datastructures.structures:
  - 17
  - 18
  - 19
  - 14
  werkzeug.datastructures.structures.CallbackDict:
  - 1039
  werkzeug.datastructures.structures.CallbackDict.__init__:
  - 1048
  - 1049
  - 1051
  werkzeug.datastructures.structures.CallbackDict.__repr__:
  - 1056
  werkzeug.datastructures.structures.CombinedMultiDict:
  - 817
  werkzeug.datastructures.structures.CombinedMultiDict.__contains__:
  - 952
  - 953
  werkzeug.datastructures.structures.CombinedMultiDict.__getitem__:
  - 851
  - 852
  werkzeug.datastructures.structures.CombinedMultiDict.__init__:
  - 843
  - 844
  werkzeug.datastructures.structures.CombinedMultiDict.__iter__:
  - 904
  werkzeug.datastructures.structures.CombinedMultiDict.__len__:
  - 949
  werkzeug.datastructures.structures.CombinedMultiDict.__reduce_ex__:
  - 840
  werkzeug.datastructures.structures.CombinedMultiDict.__repr__:
  - 958
  werkzeug.datastructures.structures.CombinedMultiDict._keys_impl:
  - 898
  - 895
  werkzeug.datastructures.structures.CombinedMultiDict.copy:
  - 937
  - 946
  werkzeug.datastructures.structures.CombinedMultiDict.get:
  - 865
  - 872
  - 873
  - 874
  - 876
  - 857
  - 859
  - 861
  - 863
  werkzeug.datastructures.structures.CombinedMultiDict.getlist:
  - 891
  - 890
  - 883
  - 885
  werkzeug.datastructures.structures.CombinedMultiDict.items:
  - 907
  - 909
  - 913
  - 914
  - 915
  - 916
  - 917
  - 918
  - 919
  - 920
  werkzeug.datastructures.structures.CombinedMultiDict.keys:
  - 901
  werkzeug.datastructures.structures.CombinedMultiDict.lists:
  - 928
  - 929
  - 930
  - 931
  werkzeug.datastructures.structures.CombinedMultiDict.listvalues:
  - 934
  werkzeug.datastructures.structures.CombinedMultiDict.values:
  - 923
  - 924
  werkzeug.datastructures.structures.HeaderSet:
  - 1060
  werkzeug.datastructures.structures.HeaderSet.__bool__:
  - 1205
  werkzeug.datastructures.structures.HeaderSet.__contains__:
  - 1196
  werkzeug.datastructures.structures.HeaderSet.__delitem__:
  - 1184
  - 1185
  - 1182
  - 1183
  werkzeug.datastructures.structures.HeaderSet.__init__:
  - 1077
  - 1078
  werkzeug.datastructures.structures.HeaderSet.__iter__:
  - 1202
  werkzeug.datastructures.structures.HeaderSet.__len__:
  - 1199
  werkzeug.datastructures.structures.HeaderSet.__repr__:
  - 1211
  werkzeug.datastructures.structures.HeaderSet.__setitem__:
  - 1192
  - 1193
  - 1189
  - 1191
  werkzeug.datastructures.structures.HeaderSet.__str__:
  - 1208
  werkzeug.datastructures.structures.HeaderSet.add:
  - 1082
  - 1083
  werkzeug.datastructures.structures.HeaderSet.as_set:
  - 1162
  - 1171
  - 1172
  - 1170
  werkzeug.datastructures.structures.HeaderSet.clear:
  - 1154
  - 1155
  - 1156
  - 1158
  - 1159
  werkzeug.datastructures.structures.HeaderSet.discard:
  - 1122
  - 1127
  werkzeug.datastructures.structures.HeaderSet.find:
  - 1136
  - 1137
  - 1138
  - 1132
  werkzeug.datastructures.structures.HeaderSet.index:
  - 1148
  - 1149
  - 1143
  werkzeug.datastructures.structures.HeaderSet.remove:
  - 1095
  - 1096
  - 1098
  - 1099
  - 1100
  - 1103
  - 1104
  - 1086
  werkzeug.datastructures.structures.HeaderSet.to_header:
  - 1176
  - 1175
  werkzeug.datastructures.structures.HeaderSet.update:
  - 1107
  - 1112
  - 1113
  - 1114
  - 1115
  - 1116
  - 1118
  - 1119
  werkzeug.datastructures.structures.ImmutableDict:
  - 962
  werkzeug.datastructures.structures.ImmutableDict.__repr__:
  - 968
  werkzeug.datastructures.structures.ImmutableDict.copy:
  - 971
  - 975
  werkzeug.datastructures.structures.ImmutableList:
  - 46
  werkzeug.datastructures.structures.ImmutableList.__repr__:
  - 54
  werkzeug.datastructures.structures.ImmutableMultiDict:
  - 982
  werkzeug.datastructures.structures.ImmutableMultiDict.copy:
  - 992
  - 988
  werkzeug.datastructures.structures.ImmutableTypeConversionDict:
  - 120
  werkzeug.datastructures.structures.ImmutableTypeConversionDict.copy:
  - 131
  - 127
  werkzeug.datastructures.structures.MultiDict:
  - 138
  werkzeug.datastructures.structures.MultiDict.__copy__:
  - 540
  werkzeug.datastructures.structures.MultiDict.__deepcopy__:
  - 543
  werkzeug.datastructures.structures.MultiDict.__getitem__:
  - 234
  - 227
  - 236
  - 235
  werkzeug.datastructures.structures.MultiDict.__getstate__:
  - 213
  werkzeug.datastructures.structures.MultiDict.__init__:
  - 192
  - 193
  - 194
  - 196
  - 197
  - 198
  - 200
  - 205
  - 208
  - 209
  - 210
  - 190
  - 191
  werkzeug.datastructures.structures.MultiDict.__ior__:
  - 466
  - 463
  werkzeug.datastructures.structures.MultiDict.__iter__:
  - 224
  werkzeug.datastructures.structures.MultiDict.__or__:
  - 449
  - 452
  - 453
  werkzeug.datastructures.structures.MultiDict.__repr__:
  - 546
  werkzeug.datastructures.structures.MultiDict.__setitem__:
  - 241
  - 246
  werkzeug.datastructures.structures.MultiDict.__setstate__:
  - 216
  - 217
  werkzeug.datastructures.structures.MultiDict.add:
  - 256
  - 249
  werkzeug.datastructures.structures.MultiDict.copy:
  - 393
  - 394
  werkzeug.datastructures.structures.MultiDict.deepcopy:
  - 397
  - 398
  werkzeug.datastructures.structures.MultiDict.getlist:
  - 259
  - 261
  - 265
  - 279
  - 282
  - 283
  - 285
  - 287
  werkzeug.datastructures.structures.MultiDict.items:
  - 352
  - 360
  - 361
  - 362
  - 363
  - 365
  werkzeug.datastructures.structures.MultiDict.lists:
  - 368
  - 372
  - 373
  werkzeug.datastructures.structures.MultiDict.listvalues:
  - 390
  - 383
  werkzeug.datastructures.structures.MultiDict.pop:
  - 480
  - 496
  - 498
  - 470
  - 503
  - 472
  - 474
  werkzeug.datastructures.structures.MultiDict.popitem:
  - 513
  - 515
  - 509
  werkzeug.datastructures.structures.MultiDict.popitemlist:
  - 533
  - 535
  werkzeug.datastructures.structures.MultiDict.poplist:
  - 530
  - 523
  werkzeug.datastructures.structures.MultiDict.setdefault:
  - 313
  - 322
  - 315
  - 311
  werkzeug.datastructures.structures.MultiDict.setlist:
  - 308
  - 293
  werkzeug.datastructures.structures.MultiDict.setlistdefault:
  - 330
  - 347
  - 349
  - 346
  werkzeug.datastructures.structures.MultiDict.to_dict:
  - 416
  - 401
  - 403
  - 405
  - 414
  - 415
  werkzeug.datastructures.structures.MultiDict.update:
  - 426
  - 443
  - 444
  werkzeug.datastructures.structures.MultiDict.values:
  - 376
  - 379
  - 380
  werkzeug.datastructures.structures.TypeConversionDict:
  - 58
  werkzeug.datastructures.structures.TypeConversionDict.get:
  - 66
  - 68
  - 70
  - 72
  - 74
  - 110
  - 81
  - 114
  werkzeug.datastructures.structures._ImmutableOrderedMultiDict:
  - 1001
  werkzeug.datastructures.structures._ImmutableOrderedMultiDict.__init__:
  - 1018
  - 1020
  - 1021
  - 1022
  werkzeug.datastructures.structures._ImmutableOrderedMultiDict._iter_hashitems:
  - 1025
  werkzeug.datastructures.structures._ImmutableOrderedMultiDict.copy:
  - 1032
  - 1028
  werkzeug.datastructures.structures._OrderedMultiDict:
  - 582
  werkzeug.datastructures.structures._OrderedMultiDict.__delitem__:
  - 672
  werkzeug.datastructures.structures._OrderedMultiDict.__eq__:
  - 641
  - 643
  - 644
  - 624
  - 626
  - 627
  - 628
  - 630
  - 631
  - 632
  - 637
  werkzeug.datastructures.structures._OrderedMultiDict.__getitem__:
  - 664
  - 663
  werkzeug.datastructures.structures._OrderedMultiDict.__getstate__:
  - 654
  werkzeug.datastructures.structures._OrderedMultiDict.__init__:
  - 617
  - 611
  - 620
  - 621
  werkzeug.datastructures.structures._OrderedMultiDict.__iter__:
  - 678
  werkzeug.datastructures.structures._OrderedMultiDict.__reduce_ex__:
  - 651
  werkzeug.datastructures.structures._OrderedMultiDict.__setitem__:
  - 668
  - 669
  werkzeug.datastructures.structures._OrderedMultiDict.__setstate__:
  - 657
  - 659
  - 660
  werkzeug.datastructures.structures._OrderedMultiDict.add:
  - 711
  werkzeug.datastructures.structures._OrderedMultiDict.getlist:
  - 714
  - 716
  - 723
  - 726
  - 729
  - 731
  werkzeug.datastructures.structures._OrderedMultiDict.items:
  - 685
  - 687
  - 690
  - 692
  - 693
  - 694
  werkzeug.datastructures.structures._OrderedMultiDict.keys:
  - 675
  werkzeug.datastructures.structures._OrderedMultiDict.lists:
  - 698
  - 701
  - 702
  - 703
  werkzeug.datastructures.structures._OrderedMultiDict.listvalues:
  - 707
  - 708
  werkzeug.datastructures.structures._OrderedMultiDict.pop:
  - 775
  - 777
  - 782
  - 783
  - 762
  - 764
  - 766
  werkzeug.datastructures.structures._OrderedMultiDict.popitem:
  - 792
  - 796
  - 797
  werkzeug.datastructures.structures._OrderedMultiDict.popitemlist:
  - 810
  - 811
  - 806
  werkzeug.datastructures.structures._OrderedMultiDict.poplist:
  - 756
  - 757
  - 758
  werkzeug.datastructures.structures._OrderedMultiDict.setlist:
  - 737
  - 738
  - 739
  werkzeug.datastructures.structures._OrderedMultiDict.update:
  - 752
  - 753
  werkzeug.datastructures.structures._OrderedMultiDict.values:
  - 681
  werkzeug.datastructures.structures.__getattr__:
  - 1230
  - 1221
  - 1222
  - 1231
  werkzeug.datastructures.structures._omd_bucket:
  - 550
  werkzeug.datastructures.structures._omd_bucket.__init__:
  - 564
  - 566
  werkzeug.datastructures.structures._omd_bucket.unlink:
  - 577
  - 571
  - 573
  - 575
  werkzeug.datastructures.structures.iter_multi_items:
  - 32
  - 33
  - 34
  - 35
  - 36
  - 37
  - 38
  - 40
  - 42
  - 29
  werkzeug.debug:
  - 35
  werkzeug.debug.DebuggedApplication:
  - 230
  werkzeug.debug.DebuggedApplication.__call__:
  - 534
  - 538
  - 540
  - 541
  - 542
  - 543
  - 544
  - 545
  - 546
  - 547
  - 548
  - 549
  - 550
  - 551
  - 556
  - 558
  - 559
  - 564
  - 565
  werkzeug.debug.DebuggedApplication.__init__:
  - 290
  - 291
  - 294
  - 296
  - 297
  - 298
  - 299
  - 301
  - 306
  - 280
  werkzeug.debug.DebuggedApplication._fail_pin_auth:
  - 459
  - 463
  werkzeug.debug.DebuggedApplication.check_host_trust:
  - 456
  werkzeug.debug.DebuggedApplication.check_pin_trust:
  - 451
  - 453
  - 434
  - 439
  - 441
  - 442
  - 444
  - 447
  werkzeug.debug.DebuggedApplication.debug_application:
  - 335
  - 338
  - 343
  - 344
  - 345
  - 346
  - 348
  - 349
  - 351
  - 353
  - 354
  - 355
  - 357
  - 358
  - 359
  - 363
  - 366
  - 372
  - 378
  werkzeug.debug.DebuggedApplication.display_console:
  - 399
  - 400
  - 401
  - 403
  - 404
  - 407
  - 408
  - 409
  - 410
  - 411
  - 412
  werkzeug.debug.DebuggedApplication.execute_command:
  - 386
  - 387
  - 388
  - 390
  - 392
  - 393
  - 394
  - 396
  werkzeug.debug.DebuggedApplication.get_resource:
  - 417
  - 418
  - 421
  - 423
  - 425
  - 426
  - 428
  - 429
  - 430
  werkzeug.debug.DebuggedApplication.log_pin_request:
  - 520
  - 521
  - 522
  - 524
  - 525
  - 528
  - 529
  werkzeug.debug.DebuggedApplication.pin:
  - 315
  - 316
  werkzeug.debug.DebuggedApplication.pin_auth:
  - 481
  - 482
  - 515
  - 516
  - 486
  - 504
  - 490
  - 497
  - 466
  - 467
  - 468
  - 501
  - 503
  - 472
  - 473
  - 507
  - 508
  - 510
  werkzeug.debug.DebuggedApplication.pin_cookie_name:
  - 328
  - 326
  - 327
  werkzeug.debug._ConsoleFrame:
  - 130
  werkzeug.debug._ConsoleFrame.__init__:
  - 135
  werkzeug.debug._ConsoleFrame.eval:
  - 139
  werkzeug.debug.console:
  - 16
  - 15
  werkzeug.debug.console.Console:
  - 200
  werkzeug.debug.console.Console.__init__:
  - 209
  - 211
  - 207
  werkzeug.debug.console.Console.eval:
  - 217
  - 214
  werkzeug.debug.console.HTMLStringO:
  - 20
  werkzeug.debug.console.HTMLStringO._write:
  - 50
  werkzeug.debug.console.HTMLStringO.readline:
  - 38
  werkzeug.debug.console.HTMLStringO.reset:
  - 45
  werkzeug.debug.console.HTMLStringO.write:
  - 53
  werkzeug.debug.console.HTMLStringO.writelines:
  - 56
  werkzeug.debug.console.ThreadedStream:
  - 60
  werkzeug.debug.console.ThreadedStream.__dir__:
  - 95
  werkzeug.debug.console.ThreadedStream.__getattribute__:
  - 99
  - 103
  werkzeug.debug.console.ThreadedStream.__repr__:
  - 106
  werkzeug.debug.console.ThreadedStream.displayhook:
  - 81
  - 83
  - 87
  - 88
  - 89
  werkzeug.debug.console.ThreadedStream.fetch:
  - 72
  - 76
  werkzeug.debug.console.ThreadedStream.push:
  - 64
  - 65
  - 67
  werkzeug.debug.console._ConsoleLoader.get_source_by_code:
  - 127
  werkzeug.debug.console._ConsoleLoader.register:
  - 121
  - 122
  - 123
  - 119
  werkzeug.debug.console._InteractiveConsole.__init__:
  - 136
  - 144
  werkzeug.debug.console._InteractiveConsole.__init__.compile:
  - 148
  - 150
  - 151
  werkzeug.debug.console._InteractiveConsole.runcode:
  - 177
  - 179
  werkzeug.debug.console._InteractiveConsole.runsource:
  - 160
  - 161
  - 164
  - 165
  - 167
  - 172
  - 173
  werkzeug.debug.console._InteractiveConsole.showsyntaxerror:
  - 192
  - 193
  - 191
  werkzeug.debug.console._InteractiveConsole.showtraceback:
  - 184
  - 185
  - 186
  werkzeug.debug.console._InteractiveConsole.write:
  - 196
  werkzeug.debug.get_machine_id:
  - 125
  - 54
  werkzeug.debug.get_machine_id._generate:
  - 64
  - 96
  - 97
  - 68
  - 102
  - 106
  - 76
  - 77
  - 81
  - 114
  - 116
  - 117
  - 91
  - 61
  - 94
  - 63
  werkzeug.debug.get_pin_and_cookie_name:
  - 145
  - 152
  - 157
  - 161
  - 163
  - 168
  - 175
  - 180
  - 187
  - 188
  - 194
  - 196
  - 197
  - 198
  - 200
  - 201
  - 202
  - 203
  - 205
  - 209
  - 210
  - 211
  - 215
  - 216
  - 217
  - 218
  - 219
  - 220
  werkzeug.debug.hash_pin:
  - 45
  werkzeug.debug.repr:
  - 1
  - 81
  - 19
  - 20
  - 21
  werkzeug.debug.repr.DebugReprGenerator:
  - 128
  - 124
  - 125
  - 126
  - 127
  werkzeug.debug.repr.DebugReprGenerator.dict_repr:
  - 171
  - 172
  - 175
  - 176
  - 177
  - 178
  - 179
  - 181
  - 182
  - 183
  - 185
  - 186
  - 187
  - 188
  werkzeug.debug.repr.DebugReprGenerator.dispatch_repr:
  - 195
  - 197
  - 199
  - 200
  - 201
  - 202
  - 203
  - 204
  - 205
  - 206
  - 207
  - 208
  - 209
  - 210
  - 211
  - 212
  - 213
  - 214
  - 215
  werkzeug.debug.repr.DebugReprGenerator.dump_locals:
  - 267
  - 268
  werkzeug.debug.repr.DebugReprGenerator.dump_object:
  - 256
  - 257
  - 259
  - 263
  - 264
  - 246
  - 249
  - 250
  - 253
  - 254
  werkzeug.debug.repr.DebugReprGenerator.fallback_repr:
  - 224
  - 219
  werkzeug.debug.repr.DebugReprGenerator.object_repr:
  - 192
  - 191
  werkzeug.debug.repr.DebugReprGenerator.regex_repr:
  - 133
  - 134
  werkzeug.debug.repr.DebugReprGenerator.render_object_dump:
  - 274
  - 275
  - 276
  - 277
  - 279
  - 281
  werkzeug.debug.repr.DebugReprGenerator.repr:
  - 229
  - 230
  - 233
  - 236
  - 238
  - 240
  werkzeug.debug.repr.DebugReprGenerator.string_repr:
  - 160
  - 140
  - 143
  - 144
  - 146
  - 148
  - 153
  - 155
  - 156
  - 159
  werkzeug.debug.repr._Helper:
  - 56
  werkzeug.debug.repr._Helper.__call__:
  - 64
  - 65
  - 69
  - 70
  - 71
  - 72
  - 74
  - 78
  werkzeug.debug.repr._add_subclass_info:
  - 85
  - 86
  - 87
  - 89
  - 92
  - 94
  werkzeug.debug.repr._sequence_repr_maker.proxy:
  - 101
  - 102
  - 105
  - 106
  - 107
  - 108
  - 109
  - 111
  - 112
  - 113
  - 114
  - 115
  werkzeug.debug.repr.debug_repr:
  - 40
  - 39
  werkzeug.debug.repr.dump:
  - 44
  - 47
  - 48
  - 49
  - 51
  - 52
  werkzeug.debug.tbtools.DebugFrameSummary:
  - 354
  werkzeug.debug.tbtools.DebugFrameSummary.__init__:
  - 373
  werkzeug.debug.tbtools.DebugFrameSummary.console:
  - 390
  werkzeug.debug.tbtools.DebugFrameSummary.eval:
  - 393
  werkzeug.debug.tbtools.DebugFrameSummary.info:
  - 379
  werkzeug.debug.tbtools.DebugFrameSummary.is_library:
  - 384
  - 385
  - 383
  werkzeug.debug.tbtools.DebugFrameSummary.render_html:
  - 424
  - 425
  - 426
  - 428
  - 397
  - 430
  - 399
  - 400
  - 431
  - 434
  - 435
  - 437
  - 438
  werkzeug.debug.tbtools.DebugFrameSummary.render_html.render_line:
  - 418
  - 420
  - 404
  - 405
  - 406
  - 407
  - 408
  - 410
  werkzeug.debug.tbtools.DebugTraceback.__init__:
  - 231
  werkzeug.debug.tbtools.DebugTraceback.__str__:
  - 234
  werkzeug.debug.tbtools.DebugTraceback.all_tracebacks:
  - 250
  - 244
  - 260
  werkzeug.debug.tbtools.DebugTraceback.render_debugger_html:
  - 331
  - 332
  - 334
  - 343
  - 344
  - 345
  - 346
  - 347
  - 348
  werkzeug.debug.tbtools.DebugTraceback.render_traceback_html:
  - 289
  - 290
  - 292
  - 293
  - 294
  - 295
  - 324
  - 297
  - 299
  - 306
  - 307
  - 278
  - 281
  - 314
  - 316
  - 286
  werkzeug.debug.tbtools.DebugTraceback.render_traceback_text:
  - 274
  werkzeug.debug.tbtools._process_traceback:
  - 133
  - 134
  - 138
  - 139
  - 141
  - 142
  - 145
  - 147
  - 148
  - 157
  - 158
  - 159
  - 161
  - 165
  - 167
  - 170
  - 172
  - 175
  - 177
  - 188
  - 192
  - 197
  - 199
  - 200
  - 202
  - 209
  - 210
  - 211
  - 213
  - 214
  - 215
  werkzeug.exceptions:
  - 841
  - 1
  - 894
  - 57
  werkzeug.exceptions.Aborter:
  - 846
  werkzeug.exceptions.Aborter.__call__:
  - 873
  - 870
  werkzeug.exceptions.Aborter.__init__:
  - 859
  - 861
  - 862
  - 863
  werkzeug.exceptions.BadGateway:
  - 766
  werkzeug.exceptions.BadHost:
  - 247
  werkzeug.exceptions.BadRequest:
  - 176
  werkzeug.exceptions.BadRequestKeyError:
  - 190
  werkzeug.exceptions.BadRequestKeyError.__init__:
  - 201
  - 203
  - 204
  - 206
  werkzeug.exceptions.BadRequestKeyError.description:
  - 210
  - 213
  werkzeug.exceptions.ClientDisconnected:
  - 224
  werkzeug.exceptions.Conflict:
  - 419
  werkzeug.exceptions.ExpectationFailed:
  - 550
  werkzeug.exceptions.FailedDependency:
  - 612
  werkzeug.exceptions.Forbidden:
  - 326
  werkzeug.exceptions.GatewayTimeout:
  - 802
  werkzeug.exceptions.Gone:
  - 436
  werkzeug.exceptions.HTTPException:
  - 68
  werkzeug.exceptions.HTTPException.__call__:
  - 163
  - 164
  - 157
  werkzeug.exceptions.HTTPException.__init__:
  - 84
  - 85
  werkzeug.exceptions.HTTPException.__repr__:
  - 172
  werkzeug.exceptions.HTTPException.get_body:
  - 120
  - 121
  - 115
  - 119
  werkzeug.exceptions.HTTPException.get_description:
  - 107
  - 101
  - 102
  werkzeug.exceptions.HTTPException.get_headers:
  - 129
  werkzeug.exceptions.HTTPException.get_response:
  - 137
  - 147
  - 149
  - 150
  - 151
  - 152
  werkzeug.exceptions.HTTPException.name:
  - 91
  - 94
  werkzeug.exceptions.HTTPVersionNotSupported:
  - 813
  werkzeug.exceptions.ImATeapot:
  - 562
  werkzeug.exceptions.InternalServerError:
  - 725
  werkzeug.exceptions.InternalServerError.__init__:
  - 751
  werkzeug.exceptions.LengthRequired:
  - 450
  werkzeug.exceptions.Locked:
  - 602
  werkzeug.exceptions.MethodNotAllowed:
  - 354
  werkzeug.exceptions.MethodNotAllowed.__init__:
  - 373
  - 375
  werkzeug.exceptions.MethodNotAllowed.get_headers:
  - 384
  - 385
  - 383
  werkzeug.exceptions.MisdirectedRequest:
  - 575
  werkzeug.exceptions.NotAcceptable:
  - 390
  werkzeug.exceptions.NotFound:
  - 341
  werkzeug.exceptions.NotImplemented:
  - 755
  werkzeug.exceptions.PreconditionFailed:
  - 464
  werkzeug.exceptions.PreconditionRequired:
  - 627
  werkzeug.exceptions.RequestEntityTooLarge:
  - 477
  werkzeug.exceptions.RequestHeaderFieldsTooLarge:
  - 702
  werkzeug.exceptions.RequestTimeout:
  - 406
  werkzeug.exceptions.RequestURITooLarge:
  - 488
  werkzeug.exceptions.RequestedRangeNotSatisfiable:
  - 514
  werkzeug.exceptions.RequestedRangeNotSatisfiable.__init__:
  - 531
  - 534
  werkzeug.exceptions.RequestedRangeNotSatisfiable.get_headers:
  - 544
  - 545
  - 543
  werkzeug.exceptions.SecurityError:
  - 239
  werkzeug.exceptions.ServiceUnavailable:
  - 780
  werkzeug.exceptions.TooManyRequests:
  - 681
  werkzeug.exceptions.Unauthorized:
  - 254
  werkzeug.exceptions.Unauthorized.__init__:
  - 305
  - 309
  werkzeug.exceptions.Unauthorized.get_headers:
  - 320
  - 321
  - 319
  werkzeug.exceptions.UnavailableForLegalReasons:
  - 714
  werkzeug.exceptions.UnprocessableEntity:
  - 588
  werkzeug.exceptions.UnsupportedMediaType:
  - 501
  werkzeug.exceptions._RetryAfter:
  - 646
  werkzeug.exceptions._RetryAfter.__init__:
  - 657
  werkzeug.exceptions._RetryAfter.get_headers:
  - 673
  - 675
  - 665
  - 667
  - 668
  - 671
  werkzeug.exceptions._find_exceptions:
  - 833
  - 835
  - 836
  - 828
  - 830
  werkzeug.exceptions.abort:
  - 880
  - 891
  werkzeug.formparser:
  - 50
  - 31
  werkzeug.formparser.FormDataParser:
  - 134
  werkzeug.formparser.FormDataParser.__init__:
  - 188
  - 180
  - 189
  werkzeug.formparser.FormDataParser._parse_multipart:
  - 256
  - 264
  - 267
  - 262
  werkzeug.formparser.FormDataParser._parse_urlencoded:
  - 289
  - 285
  - 284
  - 277
  werkzeug.formparser.FormDataParser.parse:
  - 231
  - 233
  - 236
  - 238
  - 242
  - 244
  - 247
  - 217
  werkzeug.formparser.FormDataParser.parse_from_environ:
  - 195
  - 200
  - 201
  - 202
  - 203
  werkzeug.formparser.MultiPartParser.__init__:
  - 304
  - 309
  - 310
  werkzeug.formparser.MultiPartParser.get_part_charset:
  - 320
  - 322
  - 323
  - 324
  - 328
  werkzeug.formparser.MultiPartParser.parse:
  - 386
  - 388
  - 391
  - 392
  - 393
  - 394
  - 395
  - 397
  - 399
  - 400
  - 401
  - 404
  - 413
  - 415
  - 359
  - 368
  - 369
  - 370
  - 371
  - 372
  - 377
  - 380
  - 382
  - 383
  werkzeug.formparser.MultiPartParser.start_file_streaming:
  - 336
  - 339
  - 343
  werkzeug.formparser.TStreamFactory.__call__:
  - 47
  werkzeug.formparser._chunk_iter:
  - 419
  - 423
  - 425
  - 428
  - 430
  werkzeug.formparser.default_stream_factory:
  - 64
  - 66
  - 61
  - 62
  - 63
  werkzeug.formparser.parse_form_data:
  - 123
  - 79
  werkzeug.http:
  - 414
  - 573
  - 637
  - 1221
  - 1222
  - 1224
  - 1225
  - 44
  - 685
  - 402
  - 403
  - 405
  - 23
  - 26
  - 572
  - 29
  - 30
  werkzeug.http.COEP:
  - 125
  werkzeug.http.COOP:
  - 132
  werkzeug.http.dump_age:
  - 1068
  - 1074
  - 1076
  - 1077
  - 1079
  - 1081
  - 1084
  werkzeug.http.dump_cookie:
  - 1306
  - 1310
  - 1312
  - 1313
  - 1315
  - 1316
  - 1318
  - 1319
  - 1320
  - 1321
  - 1322
  - 1324
  - 1325
  - 1327
  - 1330
  - 1335
  - 1337
  - 1338
  - 1344
  - 1346
  - 1356
  - 1359
  - 1360
  - 1363
  - 1365
  - 1370
  - 1244
  - 1372
  - 1373
  - 1374
  werkzeug.http.dump_cookie.<lambda1>:
  - 1338
  werkzeug.http.dump_csp_header:
  - 288
  - 297
  werkzeug.http.dump_header:
  - 271
  - 240
  - 274
  - 275
  - 276
  - 277
  - 278
  - 280
  - 282
  - 284
  werkzeug.http.dump_options_header:
  - 224
  - 225
  - 194
  - 227
  - 228
  - 231
  - 232
  - 234
  - 236
  werkzeug.http.generate_etag:
  - 976
  - 981
  werkzeug.http.http_date:
  - 1029
  - 1030
  - 1032
  - 1035
  - 1037
  - 1039
  - 1040
  - 1042
  - 1016
  werkzeug.http.is_byte_range_valid:
  - 1388
  - 1392
  - 1394
  - 1396
  - 1398
  werkzeug.http.is_entity_header:
  - 1170
  - 1163
  werkzeug.http.is_hop_by_hop_header:
  - 1181
  - 1174
  werkzeug.http.is_resource_modified:
  - 1094
  - 1112
  - 1113
  - 1114
  - 1115
  - 1116
  - 1117
  werkzeug.http.parse_accept_header:
  - 577
  - 609
  - 610
  - 612
  - 581
  - 614
  - 616
  - 587
  - 620
  - 622
  - 628
  - 630
  - 634
  - 632
  - 601
  - 602
  - 604
  - 605
  werkzeug.http.parse_age:
  - 1056
  - 1059
  - 1062
  - 1046
  - 1053
  werkzeug.http.parse_cache_control_header:
  - 676
  - 644
  - 677
  - 679
  - 680
  - 682
  - 652
  - 660
  werkzeug.http.parse_content_range_header:
  - 864
  - 897
  - 898
  - 867
  - 871
  - 873
  - 874
  - 878
  - 882
  - 883
  - 853
  - 886
  - 887
  - 890
  - 892
  - 893
  werkzeug.http.parse_cookie:
  - 1216
  - 1218
  - 1188
  - 1210
  - 1211
  - 1215
  werkzeug.http.parse_csp_header:
  - 736
  - 732
  - 708
  - 720
  - 721
  - 723
  - 692
  - 724
  - 728
  - 729
  - 700
  - 733
  - 734
  werkzeug.http.parse_date:
  - 999
  - 1003
  - 1007
  - 1008
  - 985
  werkzeug.http.parse_dict_header:
  - 384
  - 389
  - 391
  - 328
  - 361
  - 362
  - 360
  - 364
  - 393
  - 368
  - 372
  - 375
  - 379
  - 381
  - 383
  werkzeug.http.parse_etags:
  - 960
  - 962
  - 963
  - 964
  - 965
  - 967
  - 968
  - 970
  - 971
  - 972
  - 947
  - 952
  - 953
  - 956
  - 959
  werkzeug.http.parse_if_range_header:
  - 773
  - 781
  - 782
  - 783
  - 784
  - 785
  - 787
  werkzeug.http.parse_list_header:
  - 322
  - 301
  - 318
  - 319
  werkzeug.http.parse_options_header:
  - 516
  - 519
  - 527
  - 528
  - 531
  - 533
  - 535
  - 537
  - 540
  - 418
  - 546
  - 553
  - 556
  - 558
  - 560
  - 562
  - 564
  - 565
  - 474
  - 477
  - 478
  - 479
  - 481
  - 489
  - 490
  - 491
  - 494
  - 495
  - 498
  - 500
  - 503
  - 506
  - 508
  werkzeug.http.parse_range_header:
  - 793
  - 800
  - 805
  - 806
  - 808
  - 809
  - 810
  - 812
  - 813
  - 816
  - 821
  - 822
  - 823
  - 824
  - 827
  - 831
  - 833
  - 835
  - 839
  - 844
  - 846
  werkzeug.http.parse_set_header:
  - 768
  - 769
  - 767
  - 743
  werkzeug.http.quote_etag:
  - 904
  - 912
  - 909
  werkzeug.http.quote_header_value:
  - 160
  - 162
  - 165
  - 168
  - 171
  - 140
  werkzeug.http.remove_entity_headers:
  - 1129
  - 1141
  - 1145
  werkzeug.http.remove_hop_by_hop_headers:
  - 1158
  - 1150
  werkzeug.http.unquote_etag:
  - 934
  - 936
  - 938
  - 941
  - 918
  - 920
  - 924
  werkzeug.http.unquote_header_value:
  - 176
  - 186
  - 188
  werkzeug.local:
  - 19
  - 20
  - 14
  werkzeug.local.Local:
  - 36
  werkzeug.local.Local.__call__:
  - 77
  - 70
  werkzeug.local.Local.__delattr__:
  - 96
  - 98
  - 99
  - 101
  werkzeug.local.Local.__getattr__:
  - 83
  - 85
  werkzeug.local.Local.__init__:
  - 60
  - 62
  - 55
  werkzeug.local.Local.__iter__:
  - 65
  werkzeug.local.Local.__release_local__:
  - 80
  werkzeug.local.Local.__setattr__:
  - 91
  - 93
  werkzeug.local.LocalManager:
  - 187
  werkzeug.local.LocalManager.__init__:
  - 218
  - 213
  - 215
  werkzeug.local.LocalManager.__repr__:
  - 252
  werkzeug.local.LocalManager.cleanup:
  - 224
  - 225
  - 221
  werkzeug.local.LocalManager.make_middleware:
  - 228
  werkzeug.local.LocalManager.make_middleware.application:
  - 235
  werkzeug.local.LocalManager.middleware:
  - 240
  - 249
  werkzeug.local.LocalProxy:
  - 534
  - 535
  - 537
  - 538
  - 542
  - 543
  - 545
  - 546
  - 547
  - 548
  - 549
  - 550
  - 551
  - 552
  - 553
  - 554
  - 555
  - 556
  - 558
  - 559
  - 560
  - 571
  - 572
  - 573
  - 575
  - 576
  - 577
  - 578
  - 579
  - 580
  - 582
  - 583
  - 584
  - 585
  - 586
  - 587
  - 588
  - 589
  - 590
  - 591
  - 592
  - 593
  - 594
  - 595
  - 596
  - 597
  - 598
  - 599
  - 600
  - 601
  - 602
  - 603
  - 604
  - 605
  - 606
  - 607
  - 608
  - 609
  - 610
  - 611
  - 612
  - 613
  - 614
  - 615
  - 616
  - 617
  - 618
  - 619
  - 620
  - 621
  - 622
  - 623
  - 624
  - 625
  - 626
  - 627
  - 628
  - 629
  - 630
  - 631
  - 632
  - 633
  - 634
  - 635
  - 636
  - 637
  - 638
  - 639
  - 640
  - 641
  - 642
  - 643
  - 644
  - 645
  - 646
  - 647
  - 389
  - 469
  werkzeug.local.LocalProxy.<lambda1>:
  - 535
  werkzeug.local.LocalProxy.<lambda3>:
  - 543
  werkzeug.local.LocalProxy.<lambda6>:
  - 571
  werkzeug.local.LocalProxy.<lambda7>:
  - 572
  werkzeug.local.LocalProxy.<lambda8>:
  - 573
  werkzeug.local.LocalProxy.<lambda9>:
  - 575
  werkzeug.local.LocalProxy.__init__:
  - 513
  - 485
  - 488
  - 490
  - 523
  - 493
  - 494
  - 531
  - 532
  - 503
  werkzeug.local.LocalProxy.__init__._get_current_object:
  - 517
  - 521
  - 526
  - 499
  - 508
  - 511
  werkzeug.local.LocalStack:
  - 107
  werkzeug.local.LocalStack.__call__:
  - 183
  - 175
  werkzeug.local.LocalStack.__init__:
  - 128
  - 133
  werkzeug.local.LocalStack.__release_local__:
  - 138
  werkzeug.local.LocalStack.pop:
  - 153
  - 148
  - 157
  - 151
  werkzeug.local.LocalStack.push:
  - 144
  - 141
  - 142
  - 143
  werkzeug.local._ProxyIOp:
  - 352
  werkzeug.local._ProxyIOp.__init__:
  - 363
  werkzeug.local._ProxyIOp.__init__.bind_f:
  - 370
  werkzeug.local._ProxyIOp.__init__.bind_f.i_op:
  - 367
  werkzeug.local._ProxyLookup:
  - 256
  werkzeug.local._ProxyLookup.__call__:
  - 348
  - 343
  werkzeug.local._ProxyLookup.__get__:
  - 320
  - 323
  - 325
  - 328
  - 332
  - 333
  - 335
  - 311
  - 312
  - 318
  werkzeug.local._ProxyLookup.__init__:
  - 282
  - 290
  werkzeug.local._ProxyLookup.__init__.bind_f:
  - 288
  - 296
  werkzeug.local._l_to_r_op:
  - 376
  - 381
  werkzeug.local._l_to_r_op.r_op:
  - 379
  werkzeug.local.release_local:
  - 24
  - 32
  werkzeug.middleware.dispatcher:
  - 1
  - 38
  werkzeug.middleware.dispatcher.DispatcherMiddleware:
  - 45
  werkzeug.middleware.dispatcher.DispatcherMiddleware.__call__:
  - 65
  - 69
  - 73
  - 76
  - 78
  - 81
  werkzeug.middleware.http_proxy:
  - 1
  - 22
  werkzeug.middleware.http_proxy.ProxyMiddleware:
  - 29
  werkzeug.middleware.http_proxy.ProxyMiddleware.__call__:
  - 232
  - 233
  - 236
  - 231
  werkzeug.middleware.http_proxy.ProxyMiddleware.__init__:
  - 98
  werkzeug.middleware.http_proxy.ProxyMiddleware.__init__._set_defaults:
  - 90
  - 91
  - 92
  - 93
  werkzeug.middleware.http_proxy.ProxyMiddleware.proxy_to:
  - 106
  - 108
  werkzeug.middleware.http_proxy.ProxyMiddleware.proxy_to.application:
  - 129
  - 132
  - 133
  - 134
  - 136
  - 139
  - 140
  - 141
  - 142
  - 146
  - 147
  - 150
  - 151
  - 163
  - 166
  - 169
  - 172
  - 174
  - 175
  - 178
  - 180
  - 181
  - 184
  - 186
  - 189
  - 190
  - 192
  - 194
  - 198
  - 200
  - 203
  - 204
  - 205
  - 221
  - 113
  - 117
  - 118
  - 120
  - 122
  - 123
  - 124
  - 125
  - 127
  werkzeug.middleware.http_proxy.ProxyMiddleware.proxy_to.application.read:
  - 216
  - 219
  - 212
  werkzeug.middleware.lint:
  - 1
  - 27
  werkzeug.middleware.lint.ErrorStream.close:
  - 118
  - 119
  werkzeug.middleware.lint.ErrorStream.flush:
  - 111
  werkzeug.middleware.lint.ErrorStream.write:
  - 107
  - 108
  werkzeug.middleware.lint.ErrorStream.writelines:
  - 114
  - 115
  werkzeug.middleware.lint.GuardedIterator.__del__:
  - 216
  - 218
  werkzeug.middleware.lint.GuardedIterator.__init__:
  - 141
  werkzeug.middleware.lint.GuardedIterator.__next__:
  - 162
  - 163
  - 150
  - 151
  - 153
  - 155
  - 156
  werkzeug.middleware.lint.GuardedIterator.close:
  - 169
  - 170
  - 172
  - 174
  - 175
  - 177
  - 178
  - 179
  - 180
  - 183
  - 188
  - 189
  - 194
  - 195
  - 196
  - 201
  - 202
  - 207
  - 208
  werkzeug.middleware.lint.GuardedWrite.__call__:
  - 128
  - 129
  - 130
  werkzeug.middleware.lint.HTTPWarning:
  - 38
  werkzeug.middleware.lint.InputStream.__iter__:
  - 92
  - 94
  - 95
  werkzeug.middleware.lint.InputStream.close:
  - 98
  - 99
  werkzeug.middleware.lint.InputStream.read:
  - 64
  - 69
  - 55
  - 56
  - 63
  werkzeug.middleware.lint.InputStream.readline:
  - 72
  - 73
  - 79
  - 80
  - 88
  werkzeug.middleware.lint.LintMiddleware:
  - 228
  werkzeug.middleware.lint.LintMiddleware.__call__:
  - 387
  - 388
  - 390
  - 391
  - 398
  - 399
  - 400
  - 435
  - 436
  - 437
  - 438
  werkzeug.middleware.lint.LintMiddleware.__call__.checking_start_response:
  - 419
  - 420
  - 430
  - 432
  - 433
  - 412
  - 413
  - 414
  werkzeug.middleware.lint.LintMiddleware.check_environ:
  - 290
  - 291
  - 260
  - 271
  - 272
  - 277
  - 278
  - 280
  - 281
  - 283
  - 284
  - 254
  - 255
  werkzeug.middleware.lint.LintMiddleware.check_headers:
  - 352
  - 353
  - 354
  - 355
  - 363
  - 364
  - 366
  - 368
  - 369
  - 370
  - 350
  werkzeug.middleware.lint.LintMiddleware.check_iterator:
  - 377
  - 378
  werkzeug.middleware.lint.LintMiddleware.check_start_response:
  - 303
  - 304
  - 306
  - 307
  - 309
  - 310
  - 317
  - 319
  - 320
  - 322
  - 323
  - 325
  - 326
  - 327
  - 329
  - 330
  - 333
  - 334
  - 341
  - 342
  - 344
  - 345
  werkzeug.middleware.lint.WSGIWarning:
  - 34
  werkzeug.middleware.lint.check_type:
  - 42
  - 43
  - 44
  werkzeug.middleware.profiler:
  - 1
  - 28
  werkzeug.middleware.profiler.ProfilerMiddleware:
  - 35
  werkzeug.middleware.profiler.ProfilerMiddleware.__call__:
  - 129
  - 130
  - 133
  - 135
  - 137
  - 139
  - 141
  - 143
  - 144
  - 146
  - 147
  - 148
  - 149
  - 150
  - 151
  - 152
  - 153
  - 123
  - 124
  - 125
  - 126
  - 127
  werkzeug.middleware.profiler.ProfilerMiddleware.__call__.catching_start_response:
  - 111
  werkzeug.middleware.profiler.ProfilerMiddleware.__call__.runapp:
  - 115
  - 116
  - 118
  - 120
  - 121
  werkzeug.middleware.proxy_fix:
  - 1
  - 31
  werkzeug.middleware.proxy_fix.ProxyFix:
  - 38
  werkzeug.middleware.proxy_fix.ProxyFix.__call__:
  - 129
  - 134
  - 135
  - 136
  - 137
  - 150
  - 151
  - 154
  - 155
  - 157
  - 160
  - 161
  - 164
  - 165
  - 167
  - 168
  - 169
  - 170
  - 172
  - 173
  - 177
  - 178
  - 180
  - 183
  werkzeug.middleware.proxy_fix.ProxyFix._get_real_value:
  - 121
  - 106
  - 122
  - 119
  werkzeug.middleware.shared_data:
  - 1
  - 36
  werkzeug.middleware.shared_data.SharedDataMiddleware:
  - 43
  werkzeug.middleware.shared_data.SharedDataMiddleware.__call__:
  - 256
  - 258
  - 260
  - 266
  - 267
  - 268
  - 271
  - 273
  - 275
  - 278
  - 279
  - 282
  - 283
  - 230
  - 233
  - 234
  - 235
  - 237
  - 240
  - 243
  - 244
  - 246
  - 249
  - 250
  - 252
  - 253
  - 254
  werkzeug.middleware.shared_data.SharedDataMiddleware.__init__:
  - 128
  - 130
  - 134
  - 136
  - 139
  - 120
  - 121
  - 123
  - 124
  - 125
  - 126
  - 127
  werkzeug.middleware.shared_data.SharedDataMiddleware.__init__.<lambda1>:
  - 139
  werkzeug.middleware.shared_data.SharedDataMiddleware._opener:
  - 151
  werkzeug.middleware.shared_data.SharedDataMiddleware._opener.<lambda1>:
  - 152
  - 153
  - 154
  werkzeug.middleware.shared_data.SharedDataMiddleware.generate_etag:
  - 224
  - 222
  - 223
  werkzeug.middleware.shared_data.SharedDataMiddleware.get_directory_loader.loader:
  - 206
  - 207
  - 209
  - 214
  - 215
  werkzeug.middleware.shared_data.SharedDataMiddleware.get_file_loader:
  - 158
  werkzeug.middleware.shared_data.SharedDataMiddleware.get_file_loader.<lambda1>:
  - 158
  werkzeug.middleware.shared_data.SharedDataMiddleware.get_package_loader:
  - 161
  - 162
  - 163
  werkzeug.middleware.shared_data.SharedDataMiddleware.get_package_loader.loader:
  - 168
  - 171
  - 173
  - 176
  - 179
  - 183
  - 186
  - 191
  werkzeug.middleware.shared_data.SharedDataMiddleware.get_package_loader.loader.<lambda1>:
  - 186
  werkzeug.middleware.shared_data.SharedDataMiddleware.get_package_loader.loader.<lambda2>:
  - 193
  - 194
  - 196
  werkzeug.middleware.shared_data.SharedDataMiddleware.is_allowed:
  - 144
  werkzeug.routing:
  - 1
  werkzeug.routing.converters:
  - 8
  werkzeug.routing.converters.AnyConverter:
  - 86
  werkzeug.routing.converters.AnyConverter.__init__:
  - 100
  - 101
  - 102
  werkzeug.routing.converters.AnyConverter.to_url:
  - 105
  - 106
  - 108
  werkzeug.routing.converters.BaseConverter:
  - 19
  werkzeug.routing.converters.BaseConverter.__init_subclass__:
  - 34
  - 30
  werkzeug.routing.converters.BaseConverter.to_url:
  - 45
  werkzeug.routing.converters.FloatConverter:
  - 199
  werkzeug.routing.converters.FloatConverter.__init__:
  - 227
  werkzeug.routing.converters.IntegerConverter:
  - 174
  werkzeug.routing.converters.NumberConverter:
  - 128
  werkzeug.routing.converters.NumberConverter.__init__:
  - 144
  - 146
  werkzeug.routing.converters.NumberConverter.to_python:
  - 153
  - 155
  - 156
  werkzeug.routing.converters.NumberConverter.to_url:
  - 163
  - 164
  - 165
  werkzeug.routing.converters.PathConverter:
  - 113
  werkzeug.routing.converters.UUIDConverter:
  - 231
  werkzeug.routing.converters.UUIDConverter.to_python:
  - 246
  werkzeug.routing.converters.UUIDConverter.to_url:
  - 249
  werkzeug.routing.converters.UnicodeConverter:
  - 49
  werkzeug.routing.converters.UnicodeConverter.__init__:
  - 73
  - 74
  - 75
  - 77
  - 80
  - 81
  werkzeug.routing.converters.ValidationError:
  - 13
  werkzeug.routing.exceptions:
  - 11
  werkzeug.routing.exceptions.BuildError:
  - 69
  werkzeug.routing.exceptions.BuildError.__init__:
  - 80
  werkzeug.routing.exceptions.BuildError.__str__:
  - 129
  - 130
  - 131
  - 132
  - 133
  - 134
  - 137
  - 138
  - 113
  - 114
  - 115
  - 116
  - 117
  - 118
  - 119
  - 120
  - 125
  - 127
  werkzeug.routing.exceptions.BuildError.closest_rule:
  - 106
  - 107
  werkzeug.routing.exceptions.BuildError.closest_rule._score_rule:
  - 92
  werkzeug.routing.exceptions.BuildError.suggested:
  - 88
  werkzeug.routing.exceptions.RequestAliasRedirect:
  - 60
  werkzeug.routing.exceptions.RequestAliasRedirect.__init__:
  - 63
  werkzeug.routing.exceptions.RequestPath:
  - 50
  werkzeug.routing.exceptions.RequestPath.__init__:
  - 55
  werkzeug.routing.exceptions.RequestRedirect:
  - 29
  werkzeug.routing.exceptions.RequestRedirect.__init__:
  - 38
  werkzeug.routing.exceptions.RequestRedirect.get_response:
  - 46
  werkzeug.routing.exceptions.RoutingException:
  - 21
  werkzeug.routing.exceptions.WebsocketMismatch:
  - 142
  werkzeug.routing.map:
  - 32
  werkzeug.routing.map.Map:
  - 42
  - 87
  werkzeug.routing.map.Map.__init__:
  - 106
  - 109
  - 116
  - 117
  - 118
  - 123
  - 124
  werkzeug.routing.map.Map.__repr__:
  - 378
  - 379
  werkzeug.routing.map.Map._rules:
  - 156
  werkzeug.routing.map.Map.add:
  - 171
  - 176
  - 177
  - 178
  - 179
  - 180
  werkzeug.routing.map.Map.bind:
  - 224
  - 193
  - 226
  - 228
  - 230
  - 234
  - 237
  - 241
  - 222
  - 223
  werkzeug.routing.map.Map.bind_to_environ:
  - 258
  - 299
  - 300
  - 302
  - 303
  - 304
  - 307
  - 310
  - 313
  - 316
  - 318
  - 321
  - 322
  - 323
  - 324
  - 326
  - 332
  - 339
  - 347
  - 348
  - 349
  - 350
  werkzeug.routing.map.Map.bind_to_environ._get_wsgi_string:
  - 344
  - 342
  - 343
  werkzeug.routing.map.Map.is_endpoint_expecting:
  - 135
  - 147
  - 148
  - 149
  - 150
  werkzeug.routing.map.Map.iter_rules:
  - 165
  - 166
  - 167
  - 168
  - 159
  werkzeug.routing.map.Map.update:
  - 362
  - 365
  - 369
  - 372
  - 373
  - 374
  werkzeug.routing.map.Map.update.<lambda1>:
  - 374
  werkzeug.routing.map.MapAdapter:
  - 383
  werkzeug.routing.map.MapAdapter.__init__:
  - 401
  werkzeug.routing.map.MapAdapter._partial_build:
  - 800
  - 801
  - 804
  - 812
  - 813
  - 814
  - 816
  - 818
  - 819
  - 821
  - 794
  werkzeug.routing.map.MapAdapter.allowed_methods:
  - 689
  - 684
  werkzeug.routing.map.MapAdapter.build:
  - 929
  - 837
  - 937
  - 908
  - 940
  - 910
  - 911
  - 944
  - 913
  - 914
  - 915
  - 948
  - 918
  - 951
  - 922
  - 923
  - 927
  werkzeug.routing.map.MapAdapter.dispatch:
  - 466
  - 419
  - 468
  - 463
  werkzeug.routing.map.MapAdapter.encode_query_args:
  - 744
  - 743
  werkzeug.routing.map.MapAdapter.get_default_redirect:
  - 736
  - 737
  - 738
  - 739
  - 724
  - 730
  - 734
  werkzeug.routing.map.MapAdapter.get_host:
  - 707
  - 712
  - 697
  - 701
  - 702
  werkzeug.routing.map.MapAdapter.make_alias_redirect_url:
  - 778
  - 779
  - 782
  - 783
  werkzeug.routing.map.MapAdapter.make_redirect_url:
  - 768
  - 753
  - 757
  - 760
  - 761
  - 766
  - 767
  werkzeug.routing.map.MapAdapter.match:
  - 645
  - 647
  - 649
  - 661
  - 587
  - 588
  - 590
  - 592
  - 594
  - 599
  - 602
  - 605
  - 480
  - 608
  - 490
  - 623
  - 626
  - 500
  - 633
  - 634
  - 635
  - 638
  - 639
  werkzeug.routing.map.MapAdapter.match._handle_match:
  - 642
  - 643
  werkzeug.routing.map.MapAdapter.test:
  - 667
  - 676
  werkzeug.routing.matcher.State:
  - 28
  - 29
  - 22
  - 30
  werkzeug.routing.matcher.StateMachineMatcher.__init__:
  - 35
  werkzeug.routing.matcher.StateMachineMatcher.add:
  - 40
  - 41
  - 42
  - 45
  - 46
  - 53
  werkzeug.routing.matcher.StateMachineMatcher.match:
  - 193
  - 194
  - 195
  - 197
  - 169
  - 76
  - 173
  - 175
  - 177
  - 180
  - 184
  - 188
  - 190
  werkzeug.routing.matcher.StateMachineMatcher.match._match:
  - 128
  - 130
  - 131
  - 132
  - 135
  - 136
  - 139
  - 140
  - 147
  - 148
  - 155
  - 156
  - 157
  - 159
  - 160
  - 161
  - 90
  - 91
  - 92
  - 93
  - 94
  - 102
  - 103
  - 104
  - 107
  - 115
  - 116
  - 117
  - 121
  - 127
  werkzeug.routing.matcher.StateMachineMatcher.update:
  - 67
  werkzeug.routing.matcher.StateMachineMatcher.update._update_state:
  - 64
  - 65
  - 61
  - 62
  - 63
  werkzeug.routing.rules:
  - 67
  - 68
  - 323
  - 325
  - 326
  - 297
  - 45
  - 15
  werkzeug.routing.rules.EndpointPrefix:
  - 208
  werkzeug.routing.rules.EndpointPrefix.get_rules:
  - 225
  - 226
  - 227
  - 229
  werkzeug.routing.rules.Rule:
  - 331
  werkzeug.routing.rules.Rule.__eq__:
  - 910
  werkzeug.routing.rules.Rule.__init__:
  - 512
  - 510
  - 491
  - 492
  - 495
  - 497
  - 498
  - 500
  - 474
  - 509
  - 478
  - 479
  werkzeug.routing.rules.Rule.__repr__:
  - 928
  - 918
  - 919
  - 921
  - 922
  - 923
  - 925
  - 926
  - 927
  werkzeug.routing.rules.Rule._compile_builder:
  - 784
  - 785
  - 787
  - 791
  - 798
  - 799
  - 807
  - 809
  - 811
  - 812
  - 813
  - 814
  - 815
  - 816
  - 821
  - 827
  - 828
  - 830
  - 832
  - 834
  - 837
  - 838
  - 748
  - 749
  - 755
  - 756
  - 757
  - 758
  - 760
  - 762
  werkzeug.routing.rules.Rule._compile_builder._convert:
  - 765
  - 766
  werkzeug.routing.rules.Rule._compile_builder._join:
  - 794
  - 796
  werkzeug.routing.rules.Rule._compile_builder._parts:
  - 771
  - 774
  - 777
  - 778
  - 779
  - 781
  werkzeug.routing.rules.Rule._encode_query_vars:
  - 601
  - 602
  - 604
  - 599
  werkzeug.routing.rules.Rule._get_func_code:
  - 737
  werkzeug.routing.rules.Rule._parse_rule:
  - 641
  - 642
  - 644
  - 645
  - 646
  - 649
  - 651
  - 652
  - 654
  - 657
  - 671
  - 674
  - 679
  - 681
  - 682
  - 684
  - 687
  - 694
  - 695
  - 615
  - 616
  - 617
  - 620
  - 621
  - 622
  - 623
  - 624
  - 626
  - 627
  - 629
  - 631
  - 632
  - 636
  - 637
  werkzeug.routing.rules.Rule.bind:
  - 577
  - 579
  - 581
  - 567
  - 572
  - 575
  werkzeug.routing.rules.Rule.build:
  - 849
  - 850
  - 843
  - 852
  werkzeug.routing.rules.Rule.build_compare_key:
  - 907
  - 903
  werkzeug.routing.rules.Rule.compile:
  - 710
  - 712
  - 717
  - 721
  - 722
  - 724
  - 725
  - 726
  - 729
  - 731
  - 700
  - 703
  werkzeug.routing.rules.Rule.empty:
  - 526
  - 519
  werkzeug.routing.rules.Rule.get_converter:
  - 594
  - 596
  - 590
  werkzeug.routing.rules.Rule.get_empty_kwargs:
  - 529
  - 541
  - 542
  - 543
  werkzeug.routing.rules.Rule.get_rules:
  - 556
  werkzeug.routing.rules.Rule.provides_defaults_for:
  - 857
  - 861
  werkzeug.routing.rules.Rule.refresh:
  - 564
  - 559
  werkzeug.routing.rules.Rule.suitable_for:
  - 896
  - 897
  - 872
  - 878
  - 889
  - 890
  - 895
  werkzeug.routing.rules.RuleFactory:
  - 139
  werkzeug.routing.rules.RuleFactory.get_rules:
  - 145
  werkzeug.routing.rules.RulePart:
  - 29
  werkzeug.routing.rules.RuleTemplate:
  - 233
  werkzeug.routing.rules.RuleTemplate.__call__:
  - 255
  werkzeug.routing.rules.RuleTemplate.__init__:
  - 252
  werkzeug.routing.rules.RuleTemplateFactory:
  - 259
  werkzeug.routing.rules.RuleTemplateFactory.get_rules:
  - 272
  - 273
  - 275
  - 277
  - 278
  - 279
  - 281
  - 282
  - 284
  - 285
  - 286
  - 287
  werkzeug.routing.rules.Subdomain:
  - 151
  werkzeug.routing.rules.Subdomain.get_rules:
  - 176
  - 178
  - 174
  - 175
  werkzeug.routing.rules.Submount:
  - 182
  werkzeug.routing.rules.Submount.__init__:
  - 196
  werkzeug.routing.rules.Submount.get_rules:
  - 200
  - 201
  - 202
  - 204
  werkzeug.routing.rules._find:
  - 96
  - 89
  - 94
  werkzeug.routing.rules._prefix_names:
  - 301
  - 302
  - 303
  - 305
  - 309
  - 310
  werkzeug.routing.rules._pythonize:
  - 100
  - 102
  - 104
  - 107
  - 109
  werkzeug.routing.rules.parse_converter_args:
  - 128
  - 129
  - 131
  - 133
  - 135
  - 118
  - 119
  - 124
  - 125
  - 126
  - 127
  werkzeug.sansio.http:
  - 96
  - 110
  - 14
  werkzeug.sansio.http._cookie_unslash_replace:
  - 114
  - 116
  - 119
  werkzeug.sansio.http.is_resource_modified:
  - 28
  - 44
  - 45
  - 46
  - 50
  - 51
  - 55
  - 56
  - 59
  - 63
  - 65
  - 68
  - 70
  - 73
  - 74
  - 76
  - 77
  - 79
  - 80
  - 84
  - 89
  - 90
  - 91
  werkzeug.sansio.http.parse_cookie:
  - 160
  - 161
  - 164
  - 166
  - 158
  - 142
  - 143
  - 145
  - 146
  - 151
  - 152
  - 153
  - 155
  - 126
  werkzeug.sansio.multipart:
  - 67
  - 66
  - 51
  - 70
  werkzeug.sansio.multipart.MultipartDecoder:
  - 78
  werkzeug.sansio.multipart.MultipartDecoder.__init__:
  - 107
  - 109
  - 116
  - 118
  - 91
  werkzeug.sansio.multipart.MultipartDecoder._parse_data:
  - 258
  - 263
  - 268
  - 269
  - 272
  - 273
  - 274
  - 284
  - 278
  - 279
  - 281
  - 250
  - 251
  - 252
  werkzeug.sansio.multipart.MultipartDecoder._parse_headers:
  - 238
  - 240
  - 241
  - 243
  - 244
  - 245
  - 246
  werkzeug.sansio.multipart.MultipartDecoder.last_newline:
  - 128
  - 130
  - 132
  - 134
  - 126
  werkzeug.sansio.multipart.MultipartDecoder.next_event:
  - 152
  - 153
  - 154
  - 155
  - 159
  - 160
  - 161
  - 167
  - 168
  - 171
  - 172
  - 173
  - 174
  - 178
  - 181
  - 184
  - 187
  - 188
  - 189
  - 190
  - 196
  - 204
  - 210
  - 212
  - 213
  - 215
  - 216
  - 219
  - 220
  - 222
  - 223
  - 225
  - 226
  - 230
  werkzeug.sansio.multipart.MultipartDecoder.receive_data:
  - 137
  - 139
  - 147
  - 141
  werkzeug.sansio.multipart.MultipartEncoder.send_event:
  - 293
  - 296
  - 302
  - 303
  - 304
  - 306
  - 307
  - 308
  - 311
  - 313
  - 317
  - 319
  werkzeug.sansio.multipart.State:
  - 55
  - 56
  - 57
  - 58
  - 59
  - 60
  werkzeug.sansio.request.Request:
  - 513
  - 294
  - 40
  - 491
  - 270
  - 302
  - 501
  - 249
  - 282
  - 315
  - 95
  werkzeug.sansio.request.Request.__init__:
  - 128
  - 137
  - 140
  werkzeug.sansio.request.Request.__repr__:
  - 155
  werkzeug.sansio.request.Request._parse_content_type:
  - 328
  - 329
  - 327
  werkzeug.sansio.request.Request.accept_charsets:
  - 372
  - 375
  werkzeug.sansio.request.Request.accept_encodings:
  - 379
  - 383
  werkzeug.sansio.request.Request.accept_languages:
  - 394
  - 387
  werkzeug.sansio.request.Request.accept_mimetypes:
  - 368
  - 365
  werkzeug.sansio.request.Request.access_route:
  - 181
  - 184
  - 185
  - 186
  - 188
  - 189
  - 190
  werkzeug.sansio.request.Request.args:
  - 171
  - 172
  - 173
  - 159
  werkzeug.sansio.request.Request.authorization:
  - 480
  - 487
  werkzeug.sansio.request.Request.base_url:
  - 214
  - 215
  werkzeug.sansio.request.Request.cache_control:
  - 400
  - 403
  - 404
  werkzeug.sansio.request.Request.content_length:
  - 265
  - 266
  - 267
  - 260
  werkzeug.sansio.request.Request.cookies:
  - 240
  - 242
  - 243
  werkzeug.sansio.request.Request.full_path:
  - 194
  - 195
  werkzeug.sansio.request.Request.host:
  - 234
  - 235
  - 231
  werkzeug.sansio.request.Request.host_url:
  - 226
  - 227
  werkzeug.sansio.request.Request.if_match:
  - 408
  - 412
  werkzeug.sansio.request.Request.if_modified_since:
  - 424
  - 429
  werkzeug.sansio.request.Request.if_none_match:
  - 416
  - 420
  werkzeug.sansio.request.Request.if_range:
  - 449
  - 442
  werkzeug.sansio.request.Request.if_unmodified_since:
  - 433
  - 438
  werkzeug.sansio.request.Request.is_json:
  - 532
  - 533
  - 526
  werkzeug.sansio.request.Request.is_secure:
  - 199
  werkzeug.sansio.request.Request.mimetype:
  - 339
  - 340
  - 334
  werkzeug.sansio.request.Request.mimetype_params:
  - 344
  - 348
  werkzeug.sansio.request.Request.pragma:
  - 353
  - 359
  werkzeug.sansio.request.Request.range:
  - 459
  - 453
  werkzeug.sansio.request.Request.root_url:
  - 219
  - 222
  werkzeug.sansio.request.Request.url:
  - 208
  - 206
  werkzeug.sansio.request.Request.user_agent:
  - 465
  - 474
  werkzeug.sansio.response:
  - 36
  werkzeug.sansio.response.Response:
  - 515
  - 388
  - 401
  - 414
  - 65
  - 326
  - 713
  - 333
  - 462
  - 720
  - 469
  - 727
  - 345
  - 732
  - 476
  - 352
  - 739
  - 746
  - 363
  - 748
  - 749
  - 370
  - 755
  - 757
  - 758
  - 379
  werkzeug.sansio.response.Response.<lambda1>:
  - 748
  werkzeug.sansio.response.Response.<lambda3>:
  - 757
  werkzeug.sansio.response.Response.__init__:
  - 128
  - 130
  - 131
  - 133
  - 135
  - 120
  - 122
  - 123
  - 125
  - 127
  werkzeug.sansio.response.Response.__repr__:
  - 140
  werkzeug.sansio.response.Response._clean_status:
  - 161
  - 162
  - 164
  - 166
  - 169
  - 172
  - 177
  - 183
  werkzeug.sansio.response.Response.access_control_allow_credentials:
  - 708
  - 700
  - 711
  werkzeug.sansio.response.Response.cache_control:
  - 490
  - 501
  - 502
  werkzeug.sansio.response.Response.cache_control.on_update:
  - 496
  - 498
  - 499
  werkzeug.sansio.response.Response.content_range:
  - 545
  - 546
  - 551
  - 553
  - 556
  - 528
  - 541
  werkzeug.sansio.response.Response.content_range.on_update:
  - 536
  - 539
  werkzeug.sansio.response.Response.content_security_policy:
  - 645
  - 646
  - 647
  - 654
  - 656
  - 659
  - 631
  werkzeug.sansio.response.Response.content_security_policy.on_update:
  - 640
  - 643
  werkzeug.sansio.response.Response.content_security_policy_report_only:
  - 678
  - 679
  - 681
  - 682
  - 689
  - 691
  - 694
  - 663
  werkzeug.sansio.response.Response.content_security_policy_report_only.on_update:
  - 673
  - 676
  werkzeug.sansio.response.Response.delete_cookie:
  - 257
  - 271
  werkzeug.sansio.response.Response.get_etag:
  - 513
  - 510
  werkzeug.sansio.response.Response.is_json:
  - 291
  - 292
  - 285
  werkzeug.sansio.response.Response.mimetype:
  - 299
  - 300
  - 302
  - 303
  - 309
  werkzeug.sansio.response.Response.mimetype_params:
  - 313
  - 323
  - 324
  werkzeug.sansio.response.Response.mimetype_params.on_update:
  - 321
  werkzeug.sansio.response.Response.retry_after:
  - 448
  - 452
  - 453
  - 456
  - 457
  - 459
  - 430
  - 439
  - 440
  - 444
  - 446
  werkzeug.sansio.response.Response.set_cookie:
  - 232
  - 202
  - 230
  werkzeug.sansio.response.Response.set_etag:
  - 506
  - 507
  werkzeug.sansio.response.Response.status:
  - 153
  - 158
  werkzeug.sansio.response.Response.status_code:
  - 144
  werkzeug.sansio.response.Response.www_authenticate:
  - 608
  - 610
  - 612
  - 614
  - 589
  - 591
  - 592
  - 624
  - 562
  - 604
  - 606
  werkzeug.sansio.response._set_property:
  - 61
  werkzeug.sansio.response._set_property.fget:
  - 48
  werkzeug.sansio.response._set_property.fget.on_update:
  - 43
  - 45
  - 46
  werkzeug.sansio.response._set_property.fset:
  - 56
  - 59
  - 54
  werkzeug.sansio.utils.get_content_length:
  - 152
  - 161
  - 165
  werkzeug.sansio.utils.get_current_url:
  - 128
  - 129
  - 133
  - 134
  - 136
  - 137
  - 139
  - 141
  - 142
  - 143
  - 112
  - 145
  - 127
  werkzeug.sansio.utils.get_host:
  - 98
  - 99
  - 80
  - 82
  - 55
  - 87
  - 90
  - 93
  - 95
  werkzeug.sansio.utils.host_is_trusted:
  - 32
  - 39
  - 43
  - 12
  - 20
  - 24
  - 28
  - 31
  werkzeug.security:
  - 12
  werkzeug.security._hash_internal:
  - 64
  - 37
  - 59
  - 43
  - 48
  - 49
  - 51
  - 54
  - 57
  - 26
  - 27
  - 28
  - 30
  - 31
  werkzeug.security.check_password_hash:
  - 113
  - 131
  - 127
  werkzeug.security.gen_salt:
  - 18
  - 19
  - 22
  werkzeug.security.generate_password_hash:
  - 108
  - 107
  - 76
  werkzeug.security.safe_join:
  - 160
  - 164
  - 166
  - 135
  - 143
  - 150
  - 151
  - 152
  - 154
  - 155
  - 156
  - 158
  werkzeug.serving:
  - 1
  - 66
  - 68
  - 87
  - 55
  - 60
  - 62
  werkzeug.serving.BaseWSGIServer:
  - 701
  werkzeug.serving.BaseWSGIServer.__init__:
  - 768
  - 775
  - 776
  - 782
  - 784
  - 789
  - 792
  - 793
  - 795
  - 799
  - 800
  - 801
  - 802
  - 803
  - 805
  - 812
  - 721
  - 727
  - 737
  - 738
  - 742
  - 743
  - 745
  - 746
  - 750
  - 756
  - 759
  - 760
  - 764
  - 765
  - 767
  werkzeug.serving.BaseWSGIServer.handle_error:
  - 828
  - 831
  werkzeug.serving.BaseWSGIServer.log:
  - 815
  werkzeug.serving.BaseWSGIServer.log_startup:
  - 865
  - 834
  - 839
  - 842
  - 843
  - 848
  - 849
  - 851
  - 853
  - 856
  - 858
  - 860
  - 863
  werkzeug.serving.BaseWSGIServer.serve_forever:
  - 819
  - 823
  werkzeug.serving.DechunkedInput:
  - 97
  werkzeug.serving.DechunkedInput.read_chunk_len:
  - 113
  - 109
  - 110
  werkzeug.serving.DechunkedInput.readinto:
  - 130
  - 134
  - 139
  - 140
  - 141
  - 142
  - 144
  - 152
  - 148
  - 119
  - 120
  - 151
  - 123
  - 125
  werkzeug.serving.ForkingWSGIServer:
  - 880
  werkzeug.serving.ForkingWSGIServer.__init__:
  - 899
  - 902
  werkzeug.serving.ThreadedWSGIServer:
  - 869
  werkzeug.serving.WSGIRequestHandler:
  - 435
  - 438
  - 159
  werkzeug.serving.WSGIRequestHandler.__getattr__:
  - 416
  - 420
  werkzeug.serving.WSGIRequestHandler.address_string:
  - 426
  - 423
  werkzeug.serving.WSGIRequestHandler.connection_dropped:
  - 410
  werkzeug.serving.WSGIRequestHandler.handle:
  - 396
  - 398
  - 400
  - 402
  - 403
  werkzeug.serving.WSGIRequestHandler.log:
  - 480
  - 477
  - 478
  werkzeug.serving.WSGIRequestHandler.log_error:
  - 470
  werkzeug.serving.WSGIRequestHandler.log_message:
  - 473
  werkzeug.serving.WSGIRequestHandler.log_request:
  - 449
  - 450
  - 452
  - 453
  - 454
  - 456
  - 457
  - 458
  - 459
  - 460
  - 461
  - 462
  - 463
  - 465
  - 467
  - 442
  werkzeug.serving.WSGIRequestHandler.make_environ:
  - 168
  - 171
  - 173
  - 179
  - 184
  - 198
  - 199
  - 201
  - 203
  - 204
  - 205
  - 207
  - 211
  - 212
  - 215
  - 216
  - 217
  - 219
  - 223
  - 225
  - 229
  - 235
  - 236
  - 238
  - 241
  werkzeug.serving.WSGIRequestHandler.run_wsgi:
  - 386
  - 392
  - 377
  - 393
  - 370
  - 372
  - 374
  - 249
  - 250
  - 252
  - 383
  werkzeug.serving.WSGIRequestHandler.run_wsgi.execute:
  - 353
  - 355
  - 356
  - 361
  - 331
  - 364
  - 333
  - 334
  - 335
  - 336
  - 337
  - 338
  - 366
  - 367
  - 346
  - 347
  werkzeug.serving.WSGIRequestHandler.run_wsgi.start_response:
  - 320
  - 324
  - 318
  werkzeug.serving.WSGIRequestHandler.run_wsgi.write:
  - 263
  - 267
  - 270
  - 271
  - 272
  - 273
  - 274
  - 275
  - 283
  - 293
  - 299
  - 300
  - 302
  - 304
  - 305
  - 306
  - 307
  - 309
  - 311
  - 312
  - 314
  werkzeug.serving._ansi_style:
  - 498
  - 486
  werkzeug.serving.generate_adhoc_ssl_context:
  - 608
  - 609
  - 611
  - 612
  - 614
  - 617
  - 621
  - 622
  - 623
  - 598
  - 602
  - 606
  - 607
  werkzeug.serving.generate_adhoc_ssl_pair:
  - 545
  - 548
  - 518
  - 519
  - 524
  - 527
  - 529
  - 530
  - 534
  - 536
  - 539
  - 540
  - 541
  - 542
  - 543
  werkzeug.serving.get_interface_ip:
  - 697
  - 683
  - 691
  - 693
  werkzeug.serving.get_sockaddr:
  - 672
  - 674
  - 668
  - 670
  werkzeug.serving.is_running_from_reloader:
  - 952
  - 957
  werkzeug.serving.is_ssl_error:
  - 649
  - 650
  - 651
  - 652
  werkzeug.serving.load_ssl_context:
  - 640
  - 643
  - 644
  - 630
  werkzeug.serving.make_server:
  - 929
  - 930
  - 934
  - 935
  - 946
  - 917
  - 926
  werkzeug.serving.make_ssl_devcert:
  - 576
  - 583
  - 584
  - 585
  - 586
  - 587
  - 556
  - 590
  - 574
  werkzeug.serving.run_simple:
  - 1072
  - 1075
  - 1078
  - 1080
  - 1083
  - 1086
  - 1088
  - 1091
  - 1093
  - 1104
  - 1105
  - 978
  - 1107
  - 1108
  - 1109
  - 1111
  - 1115
  - 1123
  - 1125
  werkzeug.serving.select_address_family:
  - 656
  - 658
  - 660
  werkzeug.test:
  - 48
  - 175
  werkzeug.test.Client:
  - 774
  werkzeug.test.Client.__init__:
  - 810
  - 812
  - 815
  - 821
  - 823
  werkzeug.test.Client.__repr__:
  - 1200
  werkzeug.test.Client._add_cookies_to_wsgi:
  - 936
  - 943
  - 946
  - 948
  - 949
  - 950
  - 951
  - 954
  - 957
  werkzeug.test.Client._update_cookies_from_response:
  - 962
  - 969
  - 972
  - 973
  - 975
  - 976
  werkzeug.test.Client.delete:
  - 1177
  - 1175
  werkzeug.test.Client.delete_cookie:
  - 928
  - 933
  - 911
  werkzeug.test.Client.get:
  - 1160
  - 1162
  werkzeug.test.Client.get_cookie:
  - 833
  - 842
  - 847
  werkzeug.test.Client.head:
  - 1192
  - 1190
  werkzeug.test.Client.open:
  - 1153
  - 1156
  - 1065
  - 1098
  - 1101
  - 1102
  - 1103
  - 1104
  - 1105
  - 1108
  - 1109
  - 1112
  - 1114
  - 1116
  - 1117
  - 1119
  - 1122
  - 1135
  - 1136
  - 1137
  - 1141
  - 1147
  - 1148
  - 1149
  - 1150
  werkzeug.test.Client.options:
  - 1185
  - 1187
  werkzeug.test.Client.patch:
  - 1180
  - 1182
  werkzeug.test.Client.post:
  - 1165
  - 1167
  werkzeug.test.Client.put:
  - 1170
  - 1172
  werkzeug.test.Client.resolve_redirect:
  - 1028
  - 1029
  - 1031
  - 1033
  - 1041
  - 1043
  - 1048
  - 1049
  - 1054
  - 1056
  - 998
  - 1003
  - 1004
  - 1008
  - 1009
  - 1011
  - 1021
  - 1022
  - 1023
  werkzeug.test.Client.run_wsgi_app:
  - 983
  - 987
  - 988
  - 989
  - 990
  - 991
  werkzeug.test.Client.set_cookie:
  - 899
  - 900
  - 889
  - 859
  - 894
  - 895
  werkzeug.test.Client.trace:
  - 1195
  - 1197
  werkzeug.test.ClientRedirectError:
  - 768
  werkzeug.test.Cookie:
  - 1409
  - 1378
  - 1381
  - 1384
  - 1387
  - 1392
  - 1363
  - 1395
  - 1400
  - 1403
  - 1372
  - 1406
  - 1375
  werkzeug.test.Cookie._from_response_header:
  - 1441
  - 1442
  - 1443
  - 1446
  - 1447
  - 1448
  - 1450
  - 1453
  - 1432
  - 1433
  - 1434
  - 1437
  - 1438
  - 1439
  werkzeug.test.Cookie._matches_request:
  - 1416
  - 1417
  - 1422
  - 1423
  werkzeug.test.Cookie._should_delete:
  - 1463
  werkzeug.test.EnvironBuilder:
  - 289
  - 179
  werkzeug.test.EnvironBuilder.__del__:
  - 645
  werkzeug.test.EnvironBuilder.__init__:
  - 384
  - 385
  - 387
  - 388
  - 389
  - 391
  - 393
  - 319
  - 321
  - 322
  - 325
  - 327
  - 328
  - 330
  - 333
  - 334
  - 335
  - 336
  - 339
  - 340
  - 341
  - 342
  - 344
  - 346
  - 358
  - 359
  - 360
  - 364
  - 366
  - 367
  - 370
  - 372
  - 375
  - 376
  - 378
  - 379
  - 380
  - 381
  - 382
  - 383
  werkzeug.test.EnvironBuilder._add_file_from_data:
  - 434
  - 435
  - 436
  - 438
  werkzeug.test.EnvironBuilder._get_form:
  - 544
  - 531
  - 537
  - 540
  - 542
  - 543
  werkzeug.test.EnvironBuilder._make_base_url:
  - 442
  werkzeug.test.EnvironBuilder._set_form:
  - 556
  - 549
  werkzeug.test.EnvironBuilder.args:
  - 611
  - 612
  - 614
  - 615
  werkzeug.test.EnvironBuilder.base_url:
  - 449
  - 453
  - 458
  - 459
  - 461
  - 446
  werkzeug.test.EnvironBuilder.close:
  - 650
  - 654
  - 657
  - 660
  - 662
  werkzeug.test.EnvironBuilder.content_length:
  - 517
  - 521
  - 525
  - 526
  - 528
  werkzeug.test.EnvironBuilder.content_type:
  - 482
  - 483
  - 467
  - 471
  - 472
  - 473
  - 475
  werkzeug.test.EnvironBuilder.files:
  - 576
  - 569
  - 572
  werkzeug.test.EnvironBuilder.form:
  - 560
  - 561
  - 565
  werkzeug.test.EnvironBuilder.from_environ:
  - 418
  - 419
  - 426
  - 427
  - 398
  - 407
  - 409
  - 410
  - 412
  - 413
  - 415
  werkzeug.test.EnvironBuilder.get_environ:
  - 668
  - 681
  - 682
  - 683
  - 684
  - 685
  - 687
  - 688
  - 689
  - 692
  - 693
  - 694
  - 695
  - 697
  - 700
  - 701
  - 706
  - 707
  - 731
  - 733
  - 734
  - 736
  - 739
  - 740
  - 742
  - 744
  - 745
  - 747
  - 748
  - 750
  - 751
  werkzeug.test.EnvironBuilder.get_environ._path_encode:
  - 704
  werkzeug.test.EnvironBuilder.get_request:
  - 761
  - 756
  - 764
  werkzeug.test.EnvironBuilder.input_stream:
  - 580
  werkzeug.test.EnvironBuilder.mimetype:
  - 489
  - 498
  - 494
  werkzeug.test.EnvironBuilder.mimetype_params:
  - 512
  - 513
  - 502
  werkzeug.test.EnvironBuilder.mimetype_params.on_update:
  - 510
  werkzeug.test.EnvironBuilder.query_string:
  - 600
  - 595
  - 598
  - 599
  werkzeug.test.EnvironBuilder.server_name:
  - 625
  - 626
  werkzeug.test.EnvironBuilder.server_port:
  - 630
  - 631
  - 633
  - 635
  - 639
  werkzeug.test.TestResponse:
  - 1330
  - 1299
  - 1325
  werkzeug.test.TestResponse.__init__:
  - 1346
  werkzeug.test.TestResponse.text:
  - 1353
  - 1358
  werkzeug.test._iter_data:
  - 160
  - 164
  - 165
  - 167
  - 168
  - 169
  - 170
  - 172
  werkzeug.test.create_environ:
  - 1218
  - 1204
  - 1221
  - 1223
  werkzeug.test.encode_multipart:
  - 153
  - 147
  - 156
  werkzeug.test.run_wsgi_app:
  - 1282
  - 1283
  - 1285
  - 1288
  - 1289
  - 1291
  - 1292
  - 1229
  - 1295
  - 1264
  - 1265
  - 1266
  - 1270
  - 1272
  - 1274
  - 1275
  - 1247
  werkzeug.test.run_wsgi_app.start_response:
  - 1255
  werkzeug.test.stream_encode_multipart:
  - 130
  - 132
  - 133
  - 134
  - 135
  - 137
  - 139
  - 140
  - 60
  - 67
  - 68
  - 70
  - 75
  - 100
  - 101
  - 102
  - 103
  - 104
  - 105
  - 106
  - 107
  - 110
  - 114
  - 115
  - 116
  - 118
  - 119
  - 120
  - 124
  - 126
  - 127
  werkzeug.test.stream_encode_multipart.write_binary:
  - 80
  - 81
  - 83
  - 85
  - 86
  - 88
  - 89
  - 90
  werkzeug.testapp:
  - 1
  - 194
  - 191
  werkzeug.testapp._get_werkzeug_version:
  - 185
  - 186
  werkzeug.testapp.iter_sys_path:
  - 96
  - 109
  - 110
  - 111
  - 112
  werkzeug.testapp.iter_sys_path.strip:
  - 99
  - 100
  - 101
  werkzeug.testapp.test_app:
  - 135
  - 137
  - 140
  - 145
  - 146
  - 150
  - 151
  - 152
  - 153
  - 156
  - 158
  - 159
  - 160
  - 161
  - 162
  - 163
  - 166
  - 167
  - 168
  - 171
  - 172
  - 173
  - 174
  - 176
  - 117
  werkzeug.testapp.test_app.<lambda1>:
  - 137
  werkzeug.testapp.test_app.<lambda2>:
  - 150
  werkzeug.urls:
  - 58
  - 171
  - 172
  - 54
  - 55
  - 56
  - 57
  - 26
  werkzeug.urls._codec_error_url_quote:
  - 17
  - 22
  werkzeug.urls._decode_idna:
  - 193
  - 195
  - 197
  - 177
  - 184
  - 191
  werkzeug.urls._make_unquote_part:
  - 34
  - 35
  - 30
  werkzeug.urls._make_unquote_part._unquote_partial:
  - 38
  - 41
  - 42
  - 43
  - 45
  werkzeug.urls._urlencode:
  - 201
  - 203
  werkzeug.urls.iri_to_uri:
  - 160
  - 165
  - 138
  - 141
  - 142
  - 143
  - 145
  - 114
  - 146
  - 150
  - 153
  - 156
  - 157
  - 159
  werkzeug.urls.uri_to_iri:
  - 98
  - 101
  - 102
  - 104
  - 105
  - 110
  - 85
  - 86
  - 87
  - 88
  - 90
  - 91
  - 62
  - 95
  werkzeug.user_agent.UserAgent:
  - 5
  - 21
  - 24
  - 27
  - 30
  werkzeug.user_agent.UserAgent.__bool__:
  - 43
  werkzeug.user_agent.UserAgent.__init__:
  - 34
  werkzeug.user_agent.UserAgent.__repr__:
  - 37
  werkzeug.user_agent.UserAgent.to_header:
  - 46
  werkzeug.utils:
  - 33
  - 35
  - 36
  - 42
  - 43
  - 27
  werkzeug.utils.ImportStringError:
  - 653
  werkzeug.utils.ImportStringError.__init__:
  - 673
  - 674
  - 684
  - 688
  - 666
  - 668
  - 669
  - 670
  werkzeug.utils.ImportStringError.__repr__:
  - 691
  werkzeug.utils.append_slash_redirect:
  - 304
  - 306
  - 311
  - 313
  - 283
  - 316
  werkzeug.utils.cached_property:
  - 48
  werkzeug.utils.cached_property.__delete__:
  - 120
  - 117
  werkzeug.utils.cached_property.__get__:
  - 96
  - 99
  - 101
  - 102
  - 104
  - 106
  - 107
  - 109
  - 112
  werkzeug.utils.cached_property.__init__:
  - 84
  werkzeug.utils.cached_property.__set__:
  - 90
  - 93
  werkzeug.utils.environ_property:
  - 124
  werkzeug.utils.find_modules:
  - 641
  - 643
  - 644
  - 645
  - 646
  - 647
  - 649
  - 622
  - 636
  - 637
  - 638
  werkzeug.utils.get_content_type:
  - 185
  - 186
  - 171
  - 188
  werkzeug.utils.header_property:
  - 151
  werkzeug.utils.import_string:
  - 611
  - 581
  - 593
  - 596
  - 598
  - 603
  - 604
  - 606
  werkzeug.utils.redirect:
  - 264
  - 267
  - 268
  - 245
  werkzeug.utils.secure_filename:
  - 224
  - 225
  - 196
  - 232
  - 235
  - 219
  - 220
  - 222
  - 223
  werkzeug.utils.send_file:
  - 513
  - 515
  - 516
  - 517
  - 518
  - 519
  - 521
  - 523
  - 525
  - 526
  - 532
  - 405
  - 533
  - 414
  - 416
  - 419
  - 423
  - 424
  - 426
  - 428
  - 434
  - 435
  - 437
  - 438
  - 445
  - 447
  - 452
  - 453
  - 455
  - 457
  - 459
  - 460
  - 333
  - 462
  - 468
  - 469
  - 475
  - 479
  - 480
  - 481
  - 482
  - 483
  - 486
  - 488
  - 492
  - 495
  - 497
  - 504
  - 505
  - 507
  - 508
  werkzeug.utils.send_from_directory:
  - 544
  - 577
  - 564
  - 566
  - 571
  - 572
  - 574
  werkzeug.wrappers.request:
  - 26
  werkzeug.wrappers.request.Request:
  - 32
  - 514
  - 355
  - 520
  - 525
  - 530
  werkzeug.wrappers.request.Request.__exit__:
  - 316
  werkzeug.wrappers.request.Request.__init__:
  - 132
  - 119
  - 120
  - 121
  - 122
  - 123
  - 124
  - 125
  - 126
  - 127
  werkzeug.wrappers.request.Request._get_file_stream:
  - 226
  - 207
  werkzeug.wrappers.request.Request._get_stream_for_parsing:
  - 296
  - 297
  - 290
  - 298
  werkzeug.wrappers.request.Request._load_form_data:
  - 257
  - 266
  - 269
  - 270
  - 271
  - 272
  - 280
  - 281
  werkzeug.wrappers.request.Request.application:
  - 188
  - 164
  - 198
  werkzeug.wrappers.request.Request.application.application:
  - 193
  - 195
  - 196
  - 190
  werkzeug.wrappers.request.Request.close:
  - 310
  - 308
  - 309
  - 302
  werkzeug.wrappers.request.Request.data:
  - 368
  - 373
  werkzeug.wrappers.request.Request.files:
  - 497
  - 479
  werkzeug.wrappers.request.Request.form:
  - 445
  - 431
  werkzeug.wrappers.request.Request.from_values:
  - 160
  - 137
  - 156
  - 158
  werkzeug.wrappers.request.Request.get_data:
  - 418
  - 419
  - 420
  - 389
  - 421
  - 422
  - 423
  - 425
  - 394
  - 426
  - 381
  werkzeug.wrappers.request.Request.get_json:
  - 608
  - 579
  - 611
  - 613
  - 616
  - 620
  - 622
  - 626
  - 599
  - 569
  - 602
  - 603
  - 604
  - 574
  werkzeug.wrappers.request.Request.json:
  - 560
  - 546
  werkzeug.wrappers.request.Request.make_form_data_parser:
  - 248
  - 243
  werkzeug.wrappers.request.Request.on_json_loading_failed:
  - 632
  - 644
  werkzeug.wrappers.request.Request.script_root:
  - 502
  werkzeug.wrappers.request.Request.stream:
  - 320
  - 345
  - 351
  werkzeug.wrappers.request.Request.url_root:
  - 509
  werkzeug.wrappers.request.Request.values:
  - 450
  - 460
  - 465
  - 469
  - 470
  - 471
  - 473
  - 475
  werkzeug.wrappers.request.Request.want_form_data_parsed:
  - 240
  - 235
  werkzeug.wrappers.response:
  - 23
  werkzeug.wrappers.response.Response:
  - 40
  - 302
  werkzeug.wrappers.response.Response.__call__:
  - 576
  - 569
  - 577
  werkzeug.wrappers.response.Response.__exit__:
  - 411
  werkzeug.wrappers.response.Response.__init__:
  - 155
  - 172
  - 174
  - 175
  werkzeug.wrappers.response.Response.__repr__:
  - 192
  - 195
  - 191
  werkzeug.wrappers.response.Response._ensure_sequence:
  - 323
  - 325
  - 326
  - 328
  - 333
  - 339
  - 317
  werkzeug.wrappers.response.Response._is_range_request_processable:
  - 640
  - 649
  - 645
  - 647
  werkzeug.wrappers.response.Response._process_range_request:
  - 675
  - 679
  - 683
  - 686
  - 688
  - 691
  - 660
  - 692
  - 694
  - 698
  - 702
  werkzeug.wrappers.response.Response._wrap_range_response:
  - 635
  - 636
  - 637
  werkzeug.wrappers.response.Response.add_etag:
  - 785
  - 786
  - 779
  werkzeug.wrappers.response.Response.calculate_content_length:
  - 314
  - 309
  - 311
  werkzeug.wrappers.response.Response.call_on_close:
  - 187
  - 180
  werkzeug.wrappers.response.Response.close:
  - 396
  - 402
  - 403
  - 404
  - 405
  werkzeug.wrappers.response.Response.force_type:
  - 201
  - 228
  - 229
  - 237
  werkzeug.wrappers.response.Response.freeze:
  - 434
  - 435
  - 436
  - 414
  werkzeug.wrappers.response.Response.from_app:
  - 260
  - 246
  werkzeug.wrappers.response.Response.get_app_iter:
  - 544
  - 545
  - 521
  - 535
  - 541
  werkzeug.wrappers.response.Response.get_data:
  - 263
  - 266
  - 269
  - 281
  - 282
  - 284
  - 285
  werkzeug.wrappers.response.Response.get_json:
  - 614
  - 617
  - 620
  - 622
  - 596
  - 599
  - 602
  werkzeug.wrappers.response.Response.get_wsgi_headers:
  - 515
  - 516
  - 439
  - 462
  - 471
  - 472
  - 473
  - 475
  - 477
  - 480
  - 481
  - 483
  - 485
  - 486
  - 487
  - 492
  - 493
  - 495
  - 499
  - 500
  - 501
  - 508
  werkzeug.wrappers.response.Response.get_wsgi_response:
  - 562
  - 563
  - 564
  - 550
  werkzeug.wrappers.response.Response.is_sequence:
  - 393
  - 387
  werkzeug.wrappers.response.Response.is_streamed:
  - 371
  - 380
  werkzeug.wrappers.response.Response.iter_encoded:
  - 367
  - 359
  werkzeug.wrappers.response.Response.json:
  - 593
  - 588
  werkzeug.wrappers.response.Response.make_conditional:
  - 769
  - 773
  - 774
  - 711
  - 775
  - 750
  - 751
  - 756
  - 757
  - 758
  - 759
  - 761
  - 763
  - 765
  werkzeug.wrappers.response.Response.make_sequence:
  - 353
  - 354
  - 355
  - 356
  - 342
  - 349
  werkzeug.wrappers.response.Response.set_data:
  - 290
  - 296
  - 297
  - 299
  - 300
  werkzeug.wrappers.response.Response.stream:
  - 632
  - 631
  werkzeug.wrappers.response.ResponseStream:
  - 790
  werkzeug.wrappers.response.ResponseStream.flush:
  - 817
  werkzeug.wrappers.response.ResponseStream.isatty:
  - 821
  werkzeug.wrappers.response.ResponseStream.tell:
  - 826
  - 827
  werkzeug.wrappers.response.ResponseStream.write:
  - 802
  - 804
  - 805
  - 806
  - 807
  werkzeug.wrappers.response.ResponseStream.writelines:
  - 810
  - 811
  werkzeug.wrappers.response._iter_encoded:
  - 32
  - 33
  - 34
  - 36
  werkzeug.wsgi:
  - 13
  werkzeug.wsgi.ClosingIterator:
  - 212
  werkzeug.wsgi.ClosingIterator.__init__:
  - 239
  - 240
  - 241
  - 243
  - 246
  - 247
  - 248
  - 249
  werkzeug.wsgi.ClosingIterator.__next__:
  - 256
  werkzeug.wsgi.ClosingIterator.close:
  - 259
  - 260
  werkzeug.wsgi.FileWrapper:
  - 287
  werkzeug.wsgi.FileWrapper.__next__:
  - 332
  - 333
  werkzeug.wsgi.FileWrapper.close:
  - 309
  - 310
  werkzeug.wsgi.FileWrapper.seek:
  - 320
  - 321
  werkzeug.wsgi.FileWrapper.seekable:
  - 313
  - 314
  - 315
  werkzeug.wsgi.FileWrapper.tell:
  - 324
  - 325
  werkzeug.wsgi.LimitedStream:
  - 426
  werkzeug.wsgi.LimitedStream.exhaust:
  - 506
  - 515
  - 516
  werkzeug.wsgi.LimitedStream.is_exhausted:
  - 465
  werkzeug.wsgi.LimitedStream.on_disconnect:
  - 498
  - 484
  werkzeug.wsgi.LimitedStream.on_exhausted:
  - 480
  - 469
  werkzeug.wsgi.LimitedStream.readall:
  - 577
  - 580
  - 583
  - 585
  - 569
  - 570
  - 573
  werkzeug.wsgi.LimitedStream.readinto:
  - 544
  - 547
  - 552
  - 521
  - 554
  - 524
  - 525
  - 557
  - 528
  - 560
  - 530
  - 562
  - 533
  - 535
  - 539
  - 542
  werkzeug.wsgi.LimitedStream.tell:
  - 588
  werkzeug.wsgi._RangeWrapper:
  - 341
  werkzeug.wsgi._RangeWrapper.__init__:
  - 361
  - 370
  - 366
  werkzeug.wsgi._RangeWrapper.__next__:
  - 414
  - 415
  werkzeug.wsgi._RangeWrapper._first_iteration:
  - 387
  - 388
  - 389
  - 393
  - 394
  werkzeug.wsgi._RangeWrapper._next:
  - 400
  - 404
  - 405
  - 406
  - 407
  - 408
  werkzeug.wsgi._RangeWrapper._next_chunk:
  - 378
  - 379
  werkzeug.wsgi._RangeWrapper.close:
  - 421
  - 422
  werkzeug.wsgi._get_server:
  - 72
  - 74
  - 78
  werkzeug.wsgi.get_content_length:
  - 123
  - 115
  - 124
  - 125
  werkzeug.wsgi.get_current_url:
  - 64
  - 66
  - 38
  - 54
  - 57
  - 58
  - 60
  - 61
  - 63
  werkzeug.wsgi.get_host:
  - 89
  - 106
  - 108
  - 109
  werkzeug.wsgi.get_input_stream:
  - 192
  - 194
  - 134
  - 168
  - 169
  - 171
  - 172
  - 177
  - 178
  - 182
  - 183
  - 191
  werkzeug.wsgi.get_path_info:
  - 208
  - 198
  - 207
  werkzeug.wsgi.responder:
  - 19
  - 28
  werkzeug.wsgi.responder.<lambda1>:
  - 28
  werkzeug.wsgi.wrap_file:
  - 281
  - 266
Fuzzer filename: /src/fuzz_query_resolving.py
Inheritance:
  connexion.apps.abstract.AbstractApp: []
  connexion.apps.asynchronous.AsyncASGIApp: []
  connexion.apps.asynchronous.AsyncApi: []
  connexion.apps.asynchronous.AsyncApp:
  - AbstractApp
  connexion.apps.asynchronous.AsyncOperation: []
  connexion.apps.flask.FlaskASGIApp:
  - SpecMiddleware
  connexion.apps.flask.FlaskApi:
  - AbstractRoutingAPI
  connexion.apps.flask.FlaskApp:
  - AbstractApp
  connexion.apps.flask.FlaskOperation: []
  connexion.datastructures.MediaTypeDict:
  - dict
  connexion.decorators.main.ASGIDecorator:
  - BaseDecorator
  connexion.decorators.main.BaseDecorator: []
  connexion.decorators.main.FlaskDecorator:
  - WSGIDecorator
  connexion.decorators.main.StarletteDecorator:
  - ASGIDecorator
  connexion.decorators.main.WSGIDecorator:
  - BaseDecorator
  connexion.decorators.parameter.AsyncParameterDecorator:
  - BaseParameterDecorator
  connexion.decorators.parameter.BaseParameterDecorator: []
  connexion.decorators.parameter.SyncParameterDecorator:
  - BaseParameterDecorator
  connexion.decorators.response.AsyncResponseDecorator:
  - BaseResponseDecorator
  connexion.decorators.response.BaseResponseDecorator: []
  connexion.decorators.response.NoResponseDecorator:
  - BaseResponseDecorator
  connexion.decorators.response.SyncResponseDecorator:
  - BaseResponseDecorator
  connexion.exceptions.BadRequestProblem:
  - ClientProblem
  connexion.exceptions.ClientProblem:
  - ProblemException
  connexion.exceptions.ConnexionException:
  - Exception
  connexion.exceptions.ExtraParameterProblem:
  - BadRequestProblem
  connexion.exceptions.Forbidden:
  - HTTPException
  connexion.exceptions.InternalServerError:
  - ServerError
  connexion.exceptions.InvalidSpecification:
  - ConnexionException
  - ValidationError
  connexion.exceptions.MissingMiddleware:
  - ConnexionException
  connexion.exceptions.NonConformingResponse:
  - InternalServerError
  connexion.exceptions.NonConformingResponseBody:
  - NonConformingResponse
  connexion.exceptions.NonConformingResponseHeaders:
  - NonConformingResponse
  connexion.exceptions.OAuthProblem:
  - Unauthorized
  connexion.exceptions.OAuthResponseProblem:
  - OAuthProblem
  connexion.exceptions.OAuthScopeProblem:
  - Forbidden
  connexion.exceptions.ProblemException:
  - ConnexionException
  - HTTPException
  connexion.exceptions.ResolverError:
  - LookupError
  - ConnexionException
  connexion.exceptions.ResolverProblem:
  - ServerError
  connexion.exceptions.ServerError:
  - ProblemException
  connexion.exceptions.TypeValidationError:
  - BadRequestProblem
  connexion.exceptions.Unauthorized:
  - ClientProblem
  connexion.exceptions.UnsupportedMediaTypeProblem:
  - ClientProblem
  connexion.frameworks.abstract.Framework:
  - Protocol
  connexion.frameworks.flask.Flask:
  - Framework
  connexion.frameworks.flask.FlaskJSONProvider: []
  connexion.frameworks.flask.IntegerConverter: []
  connexion.frameworks.flask.NumberConverter: []
  connexion.frameworks.starlette.FloatConverter: []
  connexion.frameworks.starlette.IntegerConverter: []
  connexion.frameworks.starlette.Starlette:
  - Framework
  connexion.handlers.ResolverErrorHandler: []
  connexion.json_schema.ExtendedSafeLoader: []
  connexion.json_schema.FileHandler: []
  connexion.json_schema.URLHandler: []
  connexion.jsonifier.JSONEncoder: []
  connexion.jsonifier.Jsonifier: []
  connexion.lifecycle.ConnexionRequest:
  - _RequestInterface
  connexion.lifecycle.ConnexionResponse: []
  connexion.lifecycle.WSGIRequest:
  - _RequestInterface
  connexion.lifecycle._RequestInterface: []
  connexion.middleware.abstract.AbstractRoutingAPI:
  - AbstractSpecAPI
  connexion.middleware.abstract.AbstractSpecAPI: []
  connexion.middleware.abstract.MissingOperation:
  - Exception
  connexion.middleware.abstract.RoutedAPI:
  - AbstractSpecAPI
  connexion.middleware.abstract.RoutedMiddleware:
  - SpecMiddleware
  connexion.middleware.abstract.SpecMiddleware: []
  connexion.middleware.context.ContextAPI: []
  connexion.middleware.context.ContextMiddleware: []
  connexion.middleware.context.ContextOperation: []
  connexion.middleware.exceptions.ExceptionMiddleware:
  - StarletteExceptionMiddleware
  connexion.middleware.lifespan.LifespanMiddleware: []
  connexion.middleware.main.API: []
  connexion.middleware.main.ConnexionMiddleware: []
  connexion.middleware.main.MiddlewarePosition: []
  connexion.middleware.main._Options: []
  connexion.middleware.request_validation.MissingValidationOperation:
  - Exception
  connexion.middleware.request_validation.RequestValidationAPI: []
  connexion.middleware.request_validation.RequestValidationMiddleware: []
  connexion.middleware.request_validation.RequestValidationOperation: []
  connexion.middleware.response_validation.ResponseValidationAPI: []
  connexion.middleware.response_validation.ResponseValidationMiddleware: []
  connexion.middleware.response_validation.ResponseValidationOperation: []
  connexion.middleware.routing.RoutingAPI:
  - AbstractRoutingAPI
  connexion.middleware.routing.RoutingMiddleware:
  - SpecMiddleware
  connexion.middleware.routing.RoutingOperation: []
  connexion.middleware.security.MissingSecurityOperation:
  - ProblemException
  connexion.middleware.security.SecurityAPI: []
  connexion.middleware.security.SecurityMiddleware: []
  connexion.middleware.security.SecurityOperation: []
  connexion.middleware.server_error.ServerErrorMiddleware:
  - StarletteServerErrorMiddleware
  connexion.middleware.swagger_ui.SwaggerUIAPI:
  - AbstractSpecAPI
  connexion.middleware.swagger_ui.SwaggerUIMiddleware:
  - SpecMiddleware
  connexion.mock.MockResolver:
  - Resolver
  connexion.operations.abstract.AbstractOperation: []
  connexion.operations.openapi.OpenAPIOperation:
  - AbstractOperation
  connexion.operations.swagger2.Swagger2Operation:
  - AbstractOperation
  connexion.options.SwaggerUIConfig: []
  connexion.options.SwaggerUIOptions: []
  connexion.resolver.MethodResolver:
  - MethodResolverBase
  connexion.resolver.MethodResolverBase:
  - RestyResolver
  connexion.resolver.MethodViewResolver:
  - MethodResolverBase
  connexion.resolver.RelativeResolver:
  - Resolver
  connexion.resolver.Resolution: []
  connexion.resolver.Resolver: []
  connexion.resolver.RestyResolver:
  - Resolver
  connexion.security.AbstractSecurityHandler: []
  connexion.security.ApiKeySecurityHandler:
  - AbstractSecurityHandler
  connexion.security.BasicSecurityHandler:
  - AbstractSecurityHandler
  connexion.security.BearerSecurityHandler:
  - AbstractSecurityHandler
  connexion.security.OAuthSecurityHandler:
  - AbstractSecurityHandler
  connexion.security.SecurityHandlerFactory: []
  connexion.spec.OpenAPISpecification:
  - Specification
  connexion.spec.Specification:
  - Mapping
  connexion.spec.Swagger2Specification:
  - Specification
  connexion.testing.TestContext: []
  connexion.uri_parsing.AbstractURIParser: []
  connexion.uri_parsing.AlwaysMultiURIParser:
  - Swagger2URIParser
  connexion.uri_parsing.FirstValueURIParser:
  - Swagger2URIParser
  connexion.uri_parsing.OpenAPIURIParser:
  - AbstractURIParser
  connexion.uri_parsing.Swagger2URIParser:
  - AbstractURIParser
  connexion.utils.sort_routes.SortableRoute: []
  connexion.utils.yamldumper.NoAnchorDumper: []
  connexion.validators.abstract.AbstractRequestBodyValidator: []
  connexion.validators.abstract.AbstractResponseBodyValidator: []
  connexion.validators.form_data.FormDataValidator:
  - AbstractRequestBodyValidator
  connexion.validators.form_data.MultiPartFormDataValidator:
  - FormDataValidator
  connexion.validators.json.DefaultsJSONRequestBodyValidator:
  - JSONRequestBodyValidator
  connexion.validators.json.JSONRequestBodyValidator:
  - AbstractRequestBodyValidator
  connexion.validators.json.JSONResponseBodyValidator:
  - AbstractResponseBodyValidator
  connexion.validators.json.TextResponseBodyValidator:
  - JSONResponseBodyValidator
  connexion.validators.parameter.ParameterValidator: []
  werkzeug._internal._ColorStreamHandler: []
  werkzeug._internal._DictAccessorProperty: []
  werkzeug._internal._Missing: []
  werkzeug._reloader.ReloaderLoop: []
  werkzeug._reloader.StatReloaderLoop:
  - ReloaderLoop
  werkzeug._reloader.WatchdogReloaderLoop:
  - ReloaderLoop
  werkzeug._reloader.WatchdogReloaderLoop.__init__.EventHandler:
  - PatternMatchingEventHandler
  werkzeug.datastructures.accept.Accept: []
  werkzeug.datastructures.accept.CharsetAccept:
  - Accept
  werkzeug.datastructures.accept.LanguageAccept:
  - Accept
  werkzeug.datastructures.accept.MIMEAccept:
  - Accept
  werkzeug.datastructures.auth.Authorization: []
  werkzeug.datastructures.auth.WWWAuthenticate: []
  werkzeug.datastructures.cache_control.RequestCacheControl:
  - _CacheControl
  werkzeug.datastructures.cache_control.ResponseCacheControl:
  - _CacheControl
  werkzeug.datastructures.cache_control._CacheControl: []
  werkzeug.datastructures.csp.ContentSecurityPolicy: []
  werkzeug.datastructures.etag.ETags: []
  werkzeug.datastructures.file_storage.FileMultiDict: []
  werkzeug.datastructures.file_storage.FileStorage: []
  werkzeug.datastructures.headers.EnvironHeaders:
  - ImmutableHeadersMixin
  - Headers
  werkzeug.datastructures.headers.Headers: []
  werkzeug.datastructures.mixins.ImmutableDictMixin: []
  werkzeug.datastructures.mixins.ImmutableHeadersMixin: []
  werkzeug.datastructures.mixins.ImmutableListMixin: []
  werkzeug.datastructures.mixins.ImmutableMultiDictMixin: []
  werkzeug.datastructures.mixins.UpdateDictMixin: []
  werkzeug.datastructures.range.ContentRange: []
  werkzeug.datastructures.range.IfRange: []
  werkzeug.datastructures.range.Range: []
  werkzeug.datastructures.range._CallbackProperty: []
  werkzeug.datastructures.structures.CallbackDict: []
  werkzeug.datastructures.structures.CombinedMultiDict: []
  werkzeug.datastructures.structures.HeaderSet: []
  werkzeug.datastructures.structures.ImmutableDict: []
  werkzeug.datastructures.structures.ImmutableList:
  - ImmutableListMixin
  werkzeug.datastructures.structures.ImmutableMultiDict: []
  werkzeug.datastructures.structures.ImmutableTypeConversionDict: []
  werkzeug.datastructures.structures.MultiDict: []
  werkzeug.datastructures.structures.TypeConversionDict: []
  werkzeug.datastructures.structures._ImmutableOrderedMultiDict: []
  werkzeug.datastructures.structures._OrderedMultiDict: []
  werkzeug.datastructures.structures._omd_bucket: []
  werkzeug.debug.DebuggedApplication: []
  werkzeug.debug._ConsoleFrame: []
  werkzeug.debug.console.Console: []
  werkzeug.debug.console.HTMLStringO: []
  werkzeug.debug.console.ThreadedStream: []
  werkzeug.debug.console._ConsoleLoader: []
  werkzeug.debug.console._InteractiveConsole: []
  werkzeug.debug.repr.DebugReprGenerator: []
  werkzeug.debug.repr._Helper: []
  werkzeug.debug.tbtools.DebugFrameSummary: []
  werkzeug.debug.tbtools.DebugTraceback: []
  werkzeug.exceptions.Aborter: []
  werkzeug.exceptions.BadGateway:
  - HTTPException
  werkzeug.exceptions.BadHost:
  - BadRequest
  werkzeug.exceptions.BadRequest:
  - HTTPException
  werkzeug.exceptions.BadRequestKeyError:
  - KeyError
  - BadRequest
  werkzeug.exceptions.ClientDisconnected:
  - BadRequest
  werkzeug.exceptions.Conflict:
  - HTTPException
  werkzeug.exceptions.ExpectationFailed:
  - HTTPException
  werkzeug.exceptions.FailedDependency:
  - HTTPException
  werkzeug.exceptions.Forbidden:
  - HTTPException
  werkzeug.exceptions.GatewayTimeout:
  - HTTPException
  werkzeug.exceptions.Gone:
  - HTTPException
  werkzeug.exceptions.HTTPException:
  - Exception
  werkzeug.exceptions.HTTPVersionNotSupported:
  - HTTPException
  werkzeug.exceptions.ImATeapot:
  - HTTPException
  werkzeug.exceptions.InternalServerError:
  - HTTPException
  werkzeug.exceptions.LengthRequired:
  - HTTPException
  werkzeug.exceptions.Locked:
  - HTTPException
  werkzeug.exceptions.MethodNotAllowed:
  - HTTPException
  werkzeug.exceptions.MisdirectedRequest:
  - HTTPException
  werkzeug.exceptions.NotAcceptable:
  - HTTPException
  werkzeug.exceptions.NotFound:
  - HTTPException
  werkzeug.exceptions.NotImplemented:
  - HTTPException
  werkzeug.exceptions.PreconditionFailed:
  - HTTPException
  werkzeug.exceptions.PreconditionRequired:
  - HTTPException
  werkzeug.exceptions.RequestEntityTooLarge:
  - HTTPException
  werkzeug.exceptions.RequestHeaderFieldsTooLarge:
  - HTTPException
  werkzeug.exceptions.RequestTimeout:
  - HTTPException
  werkzeug.exceptions.RequestURITooLarge:
  - HTTPException
  werkzeug.exceptions.RequestedRangeNotSatisfiable:
  - HTTPException
  werkzeug.exceptions.SecurityError:
  - BadRequest
  werkzeug.exceptions.ServiceUnavailable:
  - _RetryAfter
  werkzeug.exceptions.TooManyRequests:
  - _RetryAfter
  werkzeug.exceptions.Unauthorized:
  - HTTPException
  werkzeug.exceptions.UnavailableForLegalReasons:
  - HTTPException
  werkzeug.exceptions.UnprocessableEntity:
  - HTTPException
  werkzeug.exceptions.UnsupportedMediaType:
  - HTTPException
  werkzeug.exceptions._RetryAfter:
  - HTTPException
  werkzeug.formparser.FormDataParser: []
  werkzeug.formparser.MultiPartParser: []
  werkzeug.formparser.TStreamFactory: []
  werkzeug.http.COEP:
  - Enum
  werkzeug.http.COOP:
  - Enum
  werkzeug.local.Local: []
  werkzeug.local.LocalManager: []
  werkzeug.local.LocalProxy: []
  werkzeug.local.LocalStack: []
  werkzeug.local._ProxyIOp:
  - _ProxyLookup
  werkzeug.local._ProxyLookup: []
  werkzeug.middleware.dispatcher.DispatcherMiddleware: []
  werkzeug.middleware.http_proxy.ProxyMiddleware: []
  werkzeug.middleware.lint.ErrorStream: []
  werkzeug.middleware.lint.GuardedIterator: []
  werkzeug.middleware.lint.GuardedWrite: []
  werkzeug.middleware.lint.HTTPWarning:
  - Warning
  werkzeug.middleware.lint.InputStream: []
  werkzeug.middleware.lint.LintMiddleware: []
  werkzeug.middleware.lint.WSGIWarning:
  - Warning
  werkzeug.middleware.profiler.ProfilerMiddleware: []
  werkzeug.middleware.proxy_fix.ProxyFix: []
  werkzeug.middleware.shared_data.SharedDataMiddleware: []
  werkzeug.routing.converters.AnyConverter:
  - BaseConverter
  werkzeug.routing.converters.BaseConverter: []
  werkzeug.routing.converters.FloatConverter:
  - NumberConverter
  werkzeug.routing.converters.IntegerConverter:
  - NumberConverter
  werkzeug.routing.converters.NumberConverter:
  - BaseConverter
  werkzeug.routing.converters.PathConverter:
  - BaseConverter
  werkzeug.routing.converters.UUIDConverter:
  - BaseConverter
  werkzeug.routing.converters.UnicodeConverter:
  - BaseConverter
  werkzeug.routing.converters.ValidationError:
  - ValueError
  werkzeug.routing.exceptions.BuildError:
  - LookupError
  - RoutingException
  werkzeug.routing.exceptions.NoMatch:
  - Exception
  werkzeug.routing.exceptions.RequestAliasRedirect:
  - RoutingException
  werkzeug.routing.exceptions.RequestPath:
  - RoutingException
  werkzeug.routing.exceptions.RequestRedirect:
  - RoutingException
  - HTTPException
  werkzeug.routing.exceptions.RoutingException:
  - Exception
  werkzeug.routing.exceptions.WebsocketMismatch:
  - BadRequest
  werkzeug.routing.map.Map: []
  werkzeug.routing.map.MapAdapter: []
  werkzeug.routing.matcher.SlashRequired:
  - Exception
  werkzeug.routing.matcher.State: []
  werkzeug.routing.matcher.StateMachineMatcher: []
  werkzeug.routing.rules.EndpointPrefix:
  - RuleFactory
  werkzeug.routing.rules.Rule:
  - RuleFactory
  werkzeug.routing.rules.RuleFactory: []
  werkzeug.routing.rules.RulePart: []
  werkzeug.routing.rules.RuleTemplate: []
  werkzeug.routing.rules.RuleTemplateFactory:
  - RuleFactory
  werkzeug.routing.rules.Subdomain:
  - RuleFactory
  werkzeug.routing.rules.Submount:
  - RuleFactory
  werkzeug.routing.rules.Weighting: []
  werkzeug.sansio.multipart.Data:
  - Event
  werkzeug.sansio.multipart.Epilogue:
  - Event
  werkzeug.sansio.multipart.Event: []
  werkzeug.sansio.multipart.Field:
  - Event
  werkzeug.sansio.multipart.File:
  - Event
  werkzeug.sansio.multipart.MultipartDecoder: []
  werkzeug.sansio.multipart.MultipartEncoder: []
  werkzeug.sansio.multipart.NeedData:
  - Event
  werkzeug.sansio.multipart.Preamble:
  - Event
  werkzeug.sansio.multipart.State:
  - Enum
  werkzeug.sansio.request.Request: []
  werkzeug.sansio.response.Response: []
  werkzeug.serving.BaseWSGIServer:
  - HTTPServer
  werkzeug.serving.DechunkedInput: []
  werkzeug.serving.ForkingMixIn: []
  werkzeug.serving.ForkingWSGIServer:
  - BaseWSGIServer
  - ForkingMixIn
  werkzeug.serving.ThreadedWSGIServer:
  - BaseWSGIServer
  werkzeug.serving.WSGIRequestHandler:
  - BaseHTTPRequestHandler
  werkzeug.serving._SslDummy: []
  werkzeug.test.Client: []
  werkzeug.test.ClientRedirectError:
  - Exception
  werkzeug.test.Cookie: []
  werkzeug.test.EnvironBuilder: []
  werkzeug.test.TestResponse:
  - Response
  werkzeug.user_agent.UserAgent: []
  werkzeug.utils.ImportStringError:
  - ImportError
  werkzeug.utils.cached_property:
  - property
  werkzeug.utils.environ_property: []
  werkzeug.utils.header_property: []
  werkzeug.wrappers.request.Request:
  - _SansIORequest
  werkzeug.wrappers.response.Response:
  - _SansIOResponse
  werkzeug.wrappers.response.ResponseStream: []
  werkzeug.wsgi.ClosingIterator: []
  werkzeug.wsgi.FileWrapper: []
  werkzeug.wsgi.LimitedStream: []
  werkzeug.wsgi._RangeWrapper: []
ep:
  func_name: TestOneInput
  module: '...fuzz_query_resolving'
