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.Fuzz
    - '...fuzz_query_resolving.main'
    - atheris.instrument_all
    - 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:
    - found.add
    - werkzeug.datastructures.structures.CombinedMultiDict.lists
    - rv.setdefault
    - werkzeug.datastructures.structures.MultiDict.__init__
    - fdp.ConsumeUnicodeNoSurrogates
    - <builtin>.isinstance
    - werkzeug.datastructures.structures.MultiDict.to_dict
    - fdp.PickValueInList
    - werkzeug.datastructures.structures.MultiDict.items
    - parser.resolve_query
    - werkzeug.datastructures.structures.CombinedMultiDict.items
    - werkzeug.datastructures.structures.CombinedMultiDict._keys_impl
    - werkzeug.datastructures.structures.CombinedMultiDict.__iter__
    - <builtin>.super
    - atheris.FuzzedDataProvider
    - werkzeug.datastructures.structures.MultiDict.__iter__
    - <builtin>.dict
    - d.items
    - <builtin>.set
    - <builtin>.list
    - d.lists
    - rv.items
    - werkzeug.datastructures.structures.MultiDict.lists
    - <builtin>.iter
    - tmp.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 0x7fc3f7968f40>
    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:
    - found.add
    - werkzeug.datastructures.structures.CombinedMultiDict.lists
    - rv.setdefault
    - werkzeug.datastructures.structures.CombinedMultiDict.__iter__
    - <builtin>.super
    - <builtin>.list
    - d.lists
    - d.items
    - rv.items
    - werkzeug.datastructures.structures.MultiDict.lists
    - werkzeug.datastructures.structures.CombinedMultiDict._keys_impl
    - <builtin>.isinstance
    - tmp.setdefault
    - werkzeug.datastructures.structures.MultiDict.__iter__
    - <builtin>.iter
    - werkzeug.datastructures.structures.MultiDict.items
    - werkzeug.datastructures.structures.CombinedMultiDict.items
    - <builtin>.set
    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 0x7fc3f7d31e20>
    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:
    - <builtin>.dict
    - <builtin>.super
    - <builtin>.list
    - werkzeug.datastructures.structures.MultiDict.lists
    - werkzeug.datastructures.structures.MultiDict.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: 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:
    - found.add
    - werkzeug.datastructures.structures.CombinedMultiDict.lists
    - rv.setdefault
    - werkzeug.datastructures.structures.MultiDict.__init__
    - fdp.ConsumeUnicodeNoSurrogates
    - <builtin>.isinstance
    - werkzeug.datastructures.structures.MultiDict.to_dict
    - fdp.PickValueInList
    - werkzeug.datastructures.structures.MultiDict.items
    - parser.resolve_query
    - werkzeug.datastructures.structures.CombinedMultiDict.items
    - werkzeug.datastructures.structures.CombinedMultiDict._keys_impl
    - werkzeug.datastructures.structures.CombinedMultiDict.__iter__
    - <builtin>.super
    - atheris.FuzzedDataProvider
    - werkzeug.datastructures.structures.MultiDict.__iter__
    - <builtin>.dict
    - d.items
    - <builtin>.set
    - <builtin>.list
    - d.lists
    - rv.items
    - werkzeug.datastructures.structures.MultiDict.lists
    - <builtin>.iter
    - tmp.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:
    - found.add
    - werkzeug.datastructures.structures.CombinedMultiDict.lists
    - rv.setdefault
    - werkzeug.datastructures.structures.MultiDict.__init__
    - fdp.ConsumeUnicodeNoSurrogates
    - <builtin>.isinstance
    - fdp.PickValueInList
    - werkzeug.datastructures.structures.MultiDict.to_dict
    - werkzeug.datastructures.structures.MultiDict.items
    - parser.resolve_query
    - werkzeug.datastructures.structures.CombinedMultiDict.items
    - werkzeug.datastructures.structures.CombinedMultiDict._keys_impl
    - werkzeug.datastructures.structures.CombinedMultiDict.__iter__
    - <builtin>.super
    - atheris.FuzzedDataProvider
    - werkzeug.datastructures.structures.MultiDict.__iter__
    - '...fuzz_query_resolving.arbitrary'
    - <builtin>.dict
    - d.items
    - <builtin>.set
    - <builtin>.list
    - d.lists
    - rv.items
    - werkzeug.datastructures.structures.MultiDict.lists
    - <builtin>.iter
    - '...fuzz_query_resolving.fixed_params'
    - tmp.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.Fuzz
    - atheris.instrument_all
    - atheris.Setup
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.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: 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: 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: 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: 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:
    - connexion.apps.flask.FlaskOperation.__init__
    - functools.update_wrapper
    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: 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: ''
    functionUses: 4
    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: 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:
    - connexion.jsonifier.Jsonifier.__init__
    - <builtin>.super
    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 0x7fc3f7f75b80>
    argNames:
    - self
    - json_
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 69
    functionName: connexion.jsonifier.Jsonifier.__init__
    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: 0
    functionLinenumber: -1
    functionName: <builtin>.super
    functionSourceFile: <builtin>
    functionUses: 232
    functionsReached: []
    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 0x7fc3f7c84610>
    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:
    - flask.Blueprint
    - flask.flaskify_endpoint
    - connexion.apps.flask.FlaskApi._set_blueprint
    - <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: 82
    functionName: connexion.apps.flask.FlaskApi._set_blueprint
    functionSourceFile: connexion.apps.flask
    functionUses: 2
    functionsReached:
    - flask.flaskify_endpoint
    - flask.Blueprint
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: connexion.apps.flask
    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
    - 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.__init__
    - connexion.apps.flask.FlaskOperation.from_operation
    - functools.update_wrapper
    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_endpoint
    - flask.flaskify_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: 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: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7fc3f7ac55e0>
    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: connexion.apps.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 0x7fc3f7ac50a0>
    - <ast.Constant object at 0x7fc3f7ac5a60>
    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: 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.Flask
    - a2wsgi.WSGIMiddleware
    - flask.FlaskJSONProvider
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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.jsonifier.Jsonifier.__init__
    - <builtin>.super
    - connexion.apps.flask.FlaskApi.__init__
    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 0x7fc3f805bdf0>
    - <ast.Constant object at 0x7fc3f805b3a0>
    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: connexion.apps.flask
    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:
    - 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:
    - a2wsgi.WSGIMiddleware
    - <builtin>.super
    - flask.Flask
    - flask.FlaskJSONProvider
    - connexion.apps.flask.FlaskASGIApp.__init__
    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 0x7fc3f7fdc2e0>
    - <ast.Constant object at 0x7fc3f7fdca60>
    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: 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: ''
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    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: 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: 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: 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: 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.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: 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: 1
    IfCount: 0
    argCount: 9
    argDefaultValues:
    - <ast.Constant object at 0x7fc3f893fd30>
    - <ast.Constant object at 0x7fc3f893fca0>
    - <ast.Constant object at 0x7fc3f893fd60>
    - <ast.Constant object at 0x7fc3f893f190>
    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:
    - resolver.resolve
    - operation.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: 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: 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: 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: 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 0x7fc3f7d35880>
    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 0x7fc3f726ee20>
    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 0x7fc3f726ec10>
    - <ast.Constant object at 0x7fc3f726ed30>
    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: <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: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc3f8009790>
    - <ast.Constant object at 0x7fc3f8009100>
    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 0x7fc3f80096a0>
    - <ast.Constant object at 0x7fc3f80098b0>
    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:
    - <builtin>.all
    - subtype.endswith
    - connexion.utils.all_json
    - <builtin>.len
    - connexion.utils.is_json_mimetype
    - subtype.split
    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:
    - <builtin>.all
    - subtype.endswith
    - subtype.split
    - connexion.utils.is_json_mimetype
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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.utils
    functionSourceFile: connexion.utils
    functionUses: 0
    functionsReached:
    - typing.no_type_check
    - typing.TypeVar
    - typing.overload
    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:
    - s.lower
    - <builtin>.isinstance
    - <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: <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: <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: 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: 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: <builtin>.int
    functionSourceFile: <builtin>
    functionUses: 104
    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:
    - attr.split
    - importlib.import_module
    - connexion.utils.deep_getattr
    - function_name.rsplit
    - module_name.rsplit
    - functools.reduce
    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: 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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc3f7bf2ca0>
    argNames:
    - function
    - api
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 210
    functionName: connexion.utils.has_coroutine
    functionSourceFile: connexion.utils
    functionUses: 0
    functionsReached:
    - connexion.utils.has_coroutine.iscorofunc
    - <builtin>.hasattr
    - <builtin>.any
    - asyncio.iscoroutinefunction
    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: 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:
    - 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 0x7fc3f7fd1ee0>
    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:
    - key.decode
    - <builtin>.isinstance
    - headers.items
    - value.decode
    - decoded_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: 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:
    - parameter.startswith
    - content_type.split
    - <builtin>.len
    - parameters.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: 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: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fc3f7a9ebb0>
    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:
    - connexion.utils.is_null
    - <builtin>.hasattr
    - connexion.utils.coerce_type.cast_leaves
    - d.items
    - connexion.utils.coerce_type.make_type
    - connexion.utils.is_nullable
    - param_def.get
    - value.strip
    - param.get
    - <builtin>.type
    - param_schema.get
    - converted_params.append
    - TYPE_MAP.get
    - value.split
    linkageType: pythonLinkage
    raised:
    - TypeValidationError
    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.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: 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: 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: 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:
    - d.items
    - connexion.utils.coerce_type.cast_leaves
    - <builtin>.type
    - connexion.utils.coerce_type.make_type
    - 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: <builtin>.type
    functionSourceFile: <builtin>
    functionUses: 88
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: typing.no_type_check
    functionSourceFile: ''
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 2
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - import_name
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 395
    functionName: connexion.utils.get_root_path
    functionSourceFile: connexion.utils
    functionUses: 3
    functionsReached:
    - <builtin>.__import__
    - <builtin>.getattr
    - <builtin>.hasattr
    - importlib.util.find_spec
    - sys.modules.get
    - os.path.dirname
    - loader.get_filename
    - os.getcwd
    - os.path.abspath
    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.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.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: importlib.util.find_spec
    functionSourceFile: importlib
    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: 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: 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: <builtin>.getattr
    functionSourceFile: <builtin>
    functionUses: 119
    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: 453
    functionName: connexion.utils.inspect_function_arguments
    functionSourceFile: connexion.utils
    functionUses: 11
    functionsReached:
    - <builtin>.list
    - inspect.signature
    - <builtin>.any
    - parameters.items
    - 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: 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: 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: 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: 18
    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: 481
    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: 506
    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: 512
    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: 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: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: connexion.utils.sort_routes.<lambda1>
    functionSourceFile: connexion.utils
    functionUses: 0
    functionsReached:
    - connexion.utils.sort_apis_by_basepath.<lambda1>
    - connexion.utils.sort_routes.SortableRoute.__init__
    - starlette.routing.compile_path
    - 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: 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: 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: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - apis
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 518
    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: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - schema
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 528
    functionName: connexion.utils.build_example_from_schema
    functionSourceFile: connexion.utils
    functionUses: 2
    functionsReached:
    - jsf.JSF.generate
    - copy.deepcopy.get
    - copy.deepcopy.items.get
    - <builtin>.range
    - connexion.utils.build_example_from_schema
    - jsf.JSF
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: <builtin>.range
    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: 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: 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:
    - problem_response.update
    - connexion.problem.problem
    - connexion.lifecycle.ConnexionResponse.__init__
    - json.dumps
    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 0x7fc3f80196d0>
    - <ast.Constant object at 0x7fc3f8019580>
    - <ast.Constant object at 0x7fc3f8019310>
    - <ast.Constant object at 0x7fc3f8019a30>
    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:
    - problem_response.update
    - connexion.lifecycle.ConnexionResponse.__init__
    - json.dumps
    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 0x7fc3f7feaeb0>
    - <ast.Constant object at 0x7fc3f7feadf0>
    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 0x7fc3f7ee1460>
    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 0x7fc3f7f231c0>
    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 0x7fc3f80192b0>
    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 0x7fc3f800f970>
    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 0x7fc3f7339040>
    - <ast.Constant object at 0x7fc3f7339670>
    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 0x7fc3f7339e50>
    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 0x7fc3f8200220>
    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 0x7fc3f8200b20>
    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 0x7fc3f8200d00>
    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 0x7fc3f7330bb0>
    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 0x7fc3f73bd550>
    - <ast.Constant object at 0x7fc3f73bdc10>
    - <ast.Constant object at 0x7fc3f73bdbb0>
    - <ast.Constant object at 0x7fc3f7c84d60>
    - <ast.Constant object at 0x7fc3f7c84ac0>
    - <ast.Constant object at 0x7fc3f7c84430>
    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: 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.resolver.Resolver.__init__
    - connexion.middleware.main._Options._resolver_error_handler_factory
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Attribute object at 0x7fc3f8b9c460>
    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:
    - dataclasses.replace
    - changes.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: 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:
    - <builtin>.__import__
    - <builtin>.getattr
    - pathlib.Path.cwd
    - copy.copy
    - <builtin>.hasattr
    - importlib.util.find_spec
    - sys.modules.get
    - connexion.utils.get_root_path
    - loader.get_filename
    - os.path.dirname
    - os.getcwd
    - os.path.abspath
    - spec_dir.is_absolute
    - <builtin>.str
    - 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
    - typing.cast
    - <builtin>.enumerate
    - functools.partial
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <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: functools.partial
    functionSourceFile: functools
    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: typing.cast
    functionSourceFile: typing
    functionUses: 105
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 4
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 315
    functionName: connexion.middleware.main.ConnexionMiddleware._build_middleware_stack
    functionSourceFile: connexion.middleware.main
    functionUses: 1
    functionsReached:
    - connexion.jsonifier.Jsonifier.__init__
    - <builtin>.super
    - <builtin>.list
    - inspect.signature
    - apps.append
    - abc.ABC.add_exception_handler
    - parameters.items
    - connexion.utils.sort_apis_by_basepath
    - connexion.utils.inspect_function_arguments
    - <builtin>.isinstance
    - <builtin>.any
    - <builtin>.sorted
    - connexion.utils.sort_routes
    - connexion.apps.flask.FlaskApi.__init__
    - <builtin>.reversed
    - connexion.apps.flask.FlaskASGIApp.add_api
    - 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: <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: 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:
    - jsonschema.RefResolver
    - specification.open
    - copy.deepcopy.update
    - err.format
    - <builtin>.isinstance
    - jsonschema.RefResolver.resolving
    - connexion.spec.Specification.from_url
    - collections.abc.Mapping.get
    - <builtin>.enumerate
    - <builtin>.str
    - connexion.utils.deep_get
    - pathlib.Path.cwd
    - spec.setdefault
    - yaml.safe_load
    - changes.items
    - connexion.json_schema.resolve_refs
    - collections.abc.Mapping.items
    - connexion.spec.Specification._load_spec_from_file
    - jinja2.Template
    - jsonschema.validators.extend
    - contents.decode
    - connexion.spec.Specification.from_dict.enforce_string_keys
    - copy.deepcopy.items
    - copy.deepcopy.pop
    - connexion.spec.Specification.from_dict
    - connexion.spec.Specification.from_file
    - <builtin>.tuple
    - connexion.spec.Specification._validate_spec
    - pathlib.Path
    - connexion.middleware.main.API.__init__
    - connexion.json_schema.resolve_refs._do_resolve
    - collections.abc.Mapping.startswith
    - connexion.middleware.main._Options.replace
    - connexion.spec.OpenAPISpecification._set_defaults
    - copy.deepcopy.get
    - connexion.spec.Specification.__init__
    - <builtin>.int
    - <builtin>.map
    - connexion.spec.Swagger2Specification._set_defaults
    - connexion.spec.Specification._get_spec_version
    - typing.cast
    - collections.abc.Mapping.relative_to
    - connexion.spec.Specification.load
    - copy.deepcopy
    - version_string.split
    - connexion.spec.create_spec_validator
    - dataclasses.replace
    - validator.validate
    - openapi_yaml.read
    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: 215
    functionName: connexion.spec.Specification.load
    functionSourceFile: connexion.spec
    functionUses: 2
    functionsReached:
    - jsonschema.RefResolver
    - specification.open
    - copy.deepcopy.update
    - err.format
    - <builtin>.isinstance
    - jsonschema.RefResolver.resolving
    - connexion.spec.Specification.from_url
    - collections.abc.Mapping.get
    - <builtin>.enumerate
    - <builtin>.str
    - connexion.utils.deep_get
    - spec.setdefault
    - yaml.safe_load
    - connexion.json_schema.resolve_refs
    - collections.abc.Mapping.items
    - connexion.spec.Specification._load_spec_from_file
    - jinja2.Template
    - jsonschema.validators.extend
    - contents.decode
    - connexion.spec.Specification.from_dict.enforce_string_keys
    - copy.deepcopy.items
    - copy.deepcopy.pop
    - connexion.spec.Specification.from_dict
    - connexion.spec.Specification.from_file
    - <builtin>.tuple
    - connexion.spec.Specification._validate_spec
    - pathlib.Path
    - connexion.json_schema.resolve_refs._do_resolve
    - collections.abc.Mapping.startswith
    - connexion.spec.OpenAPISpecification._set_defaults
    - copy.deepcopy.get
    - connexion.spec.Specification.__init__
    - <builtin>.int
    - <builtin>.map
    - connexion.spec.Swagger2Specification._set_defaults
    - connexion.spec.Specification._get_spec_version
    - copy.deepcopy
    - connexion.spec.create_spec_validator
    - version_string.split
    - validator.validate
    - openapi_yaml.read
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc3f815ca00>
    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:
    - kwargs.setdefault
    - logger.warning
    - kwargs.get
    - uvicorn.run
    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:
    - inspect.signature
    - <builtin>.isinstance
    - <builtin>.sorted
    - <builtin>.reversed
    - connexion.middleware.main.ConnexionMiddleware._build_middleware_stack
    - parameters.values
    - connexion.jsonifier.Jsonifier.__init__
    - a2wsgi.WSGIMiddleware
    - <builtin>.super
    - flask.Flask
    - abc.ABC.add_exception_handler
    - apps.append
    - connexion.apps.flask.FlaskApi.__init__
    - <builtin>.any
    - connexion.utils.sort_routes
    - connexion.apps.flask.FlaskASGIApp.__init__
    - connexion.apps.flask.FlaskASGIApp.add_api
    - <builtin>.list
    - connexion.utils.sort_apis_by_basepath
    - flask.FlaskJSONProvider
    - connexion.utils.inspect_function_arguments
    - parameters.items
    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.set
    - _context.set
    - _receive.set
    - scope.get
    - _operation.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.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: _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: 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: 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: 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 0x7fc3f8331340>
    - <ast.Constant object at 0x7fc3f83318b0>
    - <ast.Constant object at 0x7fc3f8331d30>
    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:
    - connexion.resolver.Resolver.__init__
    - flask.flaskify_endpoint
    - connexion.apps.flask.FlaskApi._set_blueprint
    - <builtin>.super
    - flask.Blueprint
    - connexion.apps.flask.FlaskApi._set_base_path
    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 0x7fc3f8331430>
    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:
    - connexion.frameworks.starlette.starlettify_path
    - connexion.middleware.abstract.AbstractRoutingAPI.add_operation
    - functools.update_wrapper
    - starlette.routing.Router.add_route
    - connexion.middleware.routing.RoutingOperation.__init__
    - <builtin>.super
    - connexion.apps.flask.FlaskApi._framework_path_and_name
    - connexion.apps.flask.FlaskApi._add_operation_internal
    - logger.debug
    - connexion.middleware.routing.RoutingAPI._framework_path_and_name
    - connexion.apps.flask.FlaskApi._add_resolver_error_handler
    - connexion.apps.flask.FlaskOperation.from_operation
    - connexion.middleware.routing.RoutingAPI._add_operation_internal
    - <builtin>.dict
    - logger.error
    - connexion.middleware.routing.RoutingOperation.from_operation
    - connexion.middleware.abstract.AbstractRoutingAPI.add_paths
    - connexion.middleware.abstract.AbstractRoutingAPI.make_operation
    - connexion.middleware.abstract.AbstractRoutingAPI._add_operation_internal
    - method.upper
    - flask.flaskify_endpoint
    - operation.get_path_parameter_types
    - paths.items
    - typing.cast
    - connexion.middleware.abstract.AbstractRoutingAPI._framework_path_and_name
    - connexion.middleware.abstract.AbstractRoutingAPI._handle_add_operation_error
    - spec_operation_cls.from_spec
    - flask.flaskify_path
    - connexion.apps.flask.FlaskOperation.__init__
    - connexion.apps.flask.FlaskApi.make_operation
    - connexion.middleware.routing.RoutingAPI.make_operation
    - functools.partial
    - PATH_PARAMETER.sub
    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 0x7fc3f89a47f0>
    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:
    - connexion.frameworks.starlette.starlettify_path
    - connexion.middleware.abstract.AbstractRoutingAPI.add_operation
    - functools.update_wrapper
    - starlette.routing.Router.add_route
    - connexion.middleware.routing.RoutingOperation.__init__
    - connexion.apps.flask.FlaskApi._framework_path_and_name
    - connexion.apps.flask.FlaskApi._add_operation_internal
    - logger.debug
    - connexion.middleware.routing.RoutingAPI._framework_path_and_name
    - connexion.apps.flask.FlaskApi._add_resolver_error_handler
    - connexion.apps.flask.FlaskOperation.from_operation
    - connexion.middleware.routing.RoutingAPI._add_operation_internal
    - <builtin>.dict
    - logger.error
    - connexion.middleware.routing.RoutingOperation.from_operation
    - connexion.middleware.abstract.AbstractRoutingAPI.make_operation
    - connexion.middleware.abstract.AbstractRoutingAPI._add_operation_internal
    - method.upper
    - flask.flaskify_endpoint
    - operation.get_path_parameter_types
    - paths.items
    - typing.cast
    - connexion.middleware.abstract.AbstractRoutingAPI._framework_path_and_name
    - connexion.middleware.abstract.AbstractRoutingAPI._handle_add_operation_error
    - spec_operation_cls.from_spec
    - flask.flaskify_path
    - connexion.apps.flask.FlaskOperation.__init__
    - connexion.apps.flask.FlaskApi.make_operation
    - connexion.middleware.routing.RoutingAPI.make_operation
    - 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: 0
    functionLinenumber: -1
    functionName: <builtin>.dict
    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: 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:
    - connexion.frameworks.starlette.starlettify_path
    - functools.update_wrapper
    - starlette.routing.Router.add_route
    - connexion.middleware.routing.RoutingOperation.__init__
    - connexion.apps.flask.FlaskApi._framework_path_and_name
    - connexion.apps.flask.FlaskApi._add_operation_internal
    - connexion.middleware.routing.RoutingAPI._framework_path_and_name
    - connexion.apps.flask.FlaskOperation.from_operation
    - connexion.middleware.routing.RoutingAPI._add_operation_internal
    - connexion.middleware.routing.RoutingOperation.from_operation
    - connexion.middleware.abstract.AbstractRoutingAPI.make_operation
    - connexion.middleware.abstract.AbstractRoutingAPI._add_operation_internal
    - flask.flaskify_endpoint
    - operation.get_path_parameter_types
    - connexion.middleware.abstract.AbstractRoutingAPI._framework_path_and_name
    - connexion.apps.flask.FlaskOperation.__init__
    - spec_operation_cls.from_spec
    - flask.flaskify_path
    - connexion.apps.flask.FlaskApi.make_operation
    - connexion.middleware.routing.RoutingAPI.make_operation
    - functools.partial
    - PATH_PARAMETER.sub
    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:
    - method.upper
    - 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: 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: 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: ''
    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: 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: 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: 2
    functionLinenumber: 82
    functionName: connexion.middleware.routing.RoutingAPI._framework_path_and_name
    functionSourceFile: connexion.middleware.routing
    functionUses: 3
    functionsReached:
    - operation.get_path_parameter_types
    - connexion.frameworks.starlette.starlettify_path
    - 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 0x7fc3f7ca33d0>
    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: ''
    functionUses: 4
    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 0x7fc3f7242e20>
    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: 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: 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:
    - starlette.routing.Router.add_route
    - connexion.apps.flask.FlaskApi._add_operation_internal
    - typing.cast
    - connexion.middleware.abstract.AbstractRoutingAPI._add_operation_internal
    - connexion.middleware.routing.RoutingAPI._add_operation_internal
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: method.upper
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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: 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
    - connexion.middleware.abstract.RoutedAPI.add_operation
    - operation_spec_cls.from_spec
    - 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: 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: 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:
    - connexion_context.get
    - logger.debug
    linkageType: pythonLinkage
    raised:
    - MissingOperation
    - MissingMiddleware
    returnType: N/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.http_facts
    functionSourceFile: connexion.http_facts
    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.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:
    - jsonschema.RefResolver
    - copy.deepcopy.update
    - <builtin>.isinstance
    - jsonschema.RefResolver.resolving
    - <builtin>.enumerate
    - connexion.utils.deep_get
    - spec.setdefault
    - connexion.json_schema.resolve_refs
    - jsonschema.validators.extend
    - copy.deepcopy.items
    - copy.deepcopy.pop
    - connexion.spec.Specification._validate_spec
    - connexion.json_schema.resolve_refs._do_resolve
    - connexion.spec.OpenAPISpecification._set_defaults
    - <builtin>.int
    - connexion.spec.Swagger2Specification._set_defaults
    - connexion.spec.create_spec_validator
    - copy.deepcopy
    - validator.validate
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - spec
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 305
    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: 5
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - spec
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 252
    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: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cls
    - spec
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 92
    functionName: connexion.spec.Specification._validate_spec
    functionSourceFile: connexion.spec
    functionUses: 7
    functionsReached:
    - jsonschema.validators.extend
    - validator.validate
    - 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 0x7fc3f79fa490>
    - <ast.Constant object at 0x7fc3f79fa8b0>
    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:
    - copy.deepcopy.items
    - connexion.utils.deep_get
    - jsonschema.RefResolver
    - copy.deepcopy.update
    - <builtin>.int
    - copy.deepcopy.pop
    - <builtin>.isinstance
    - jsonschema.RefResolver.resolving
    - copy.deepcopy
    - <builtin>.enumerate
    - connexion.json_schema.resolve_refs._do_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: 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: 88
    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: 101
    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: 104
    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: 108
    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: 0
    functionLinenumber: 112
    functionName: connexion.spec.Specification.spec
    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: 116
    functionName: connexion.spec.Specification.version
    functionSourceFile: connexion.spec
    functionUses: 0
    functionsReached:
    - <builtin>.tuple
    - copy.deepcopy.get
    - <builtin>.map
    - err.format
    - connexion.spec.Specification._get_spec_version
    - version_string.split
    - collections.abc.Mapping.get
    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: 175
    functionName: connexion.spec.Specification._get_spec_version
    functionSourceFile: connexion.spec
    functionUses: 7
    functionsReached:
    - collections.abc.Mapping.get
    - copy.deepcopy.get
    - <builtin>.map
    - err.format
    - version_string.split
    - <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: 120
    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: 125
    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: 128
    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: 131
    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: 134
    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: 138
    functionName: connexion.spec.Specification._load_spec_from_file
    functionSourceFile: connexion.spec
    functionUses: 4
    functionsReached:
    - contents.decode
    - specification.open
    - yaml.safe_load
    - jinja2.Template
    - openapi_yaml.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: 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: 158
    functionName: connexion.spec.Specification.from_file
    functionSourceFile: connexion.spec
    functionUses: 3
    functionsReached:
    - jsonschema.RefResolver
    - specification.open
    - copy.deepcopy.update
    - err.format
    - <builtin>.isinstance
    - jsonschema.RefResolver.resolving
    - collections.abc.Mapping.get
    - <builtin>.enumerate
    - <builtin>.str
    - connexion.utils.deep_get
    - spec.setdefault
    - yaml.safe_load
    - connexion.json_schema.resolve_refs
    - connexion.spec.Specification._load_spec_from_file
    - collections.abc.Mapping.items
    - jinja2.Template
    - jsonschema.validators.extend
    - contents.decode
    - connexion.spec.Specification.from_dict.enforce_string_keys
    - copy.deepcopy.items
    - copy.deepcopy.pop
    - connexion.spec.Specification.from_dict
    - <builtin>.tuple
    - connexion.spec.Specification._validate_spec
    - pathlib.Path
    - connexion.json_schema.resolve_refs._do_resolve
    - connexion.spec.OpenAPISpecification._set_defaults
    - copy.deepcopy.get
    - connexion.spec.Specification.__init__
    - <builtin>.int
    - <builtin>.map
    - connexion.spec.Swagger2Specification._set_defaults
    - connexion.spec.Specification._get_spec_version
    - copy.deepcopy
    - connexion.spec.create_spec_validator
    - version_string.split
    - validator.validate
    - openapi_yaml.read
    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: 194
    functionName: connexion.spec.Specification.from_dict
    functionSourceFile: connexion.spec
    functionUses: 5
    functionsReached:
    - jsonschema.RefResolver
    - copy.deepcopy.update
    - err.format
    - <builtin>.isinstance
    - jsonschema.RefResolver.resolving
    - collections.abc.Mapping.get
    - <builtin>.enumerate
    - <builtin>.str
    - connexion.utils.deep_get
    - spec.setdefault
    - connexion.json_schema.resolve_refs
    - collections.abc.Mapping.items
    - jsonschema.validators.extend
    - connexion.spec.Specification.from_dict.enforce_string_keys
    - copy.deepcopy.items
    - copy.deepcopy.pop
    - <builtin>.tuple
    - connexion.spec.Specification._validate_spec
    - connexion.json_schema.resolve_refs._do_resolve
    - connexion.spec.OpenAPISpecification._set_defaults
    - copy.deepcopy.get
    - connexion.spec.Specification.__init__
    - <builtin>.int
    - <builtin>.map
    - connexion.spec.Swagger2Specification._set_defaults
    - connexion.spec.Specification._get_spec_version
    - copy.deepcopy
    - connexion.spec.create_spec_validator
    - version_string.split
    - validator.validate
    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: 167
    functionName: connexion.spec.Specification.from_url
    functionSourceFile: connexion.spec
    functionUses: 3
    functionsReached:
    - jsonschema.RefResolver
    - copy.deepcopy.update
    - err.format
    - <builtin>.isinstance
    - jsonschema.RefResolver.resolving
    - collections.abc.Mapping.get
    - <builtin>.enumerate
    - <builtin>.str
    - connexion.utils.deep_get
    - spec.setdefault
    - connexion.json_schema.resolve_refs
    - collections.abc.Mapping.items
    - jsonschema.validators.extend
    - connexion.spec.Specification.from_dict.enforce_string_keys
    - copy.deepcopy.items
    - copy.deepcopy.pop
    - connexion.spec.Specification.from_dict
    - <builtin>.tuple
    - connexion.spec.Specification._validate_spec
    - connexion.json_schema.resolve_refs._do_resolve
    - connexion.spec.OpenAPISpecification._set_defaults
    - copy.deepcopy.get
    - connexion.spec.Specification.__init__
    - <builtin>.int
    - <builtin>.map
    - connexion.spec.Swagger2Specification._set_defaults
    - connexion.spec.Specification._get_spec_version
    - copy.deepcopy
    - connexion.spec.create_spec_validator
    - version_string.split
    - validator.validate
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: <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: <builtin>.tuple
    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: 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: 199
    functionName: connexion.spec.Specification.from_dict.enforce_string_keys
    functionSourceFile: connexion.spec
    functionUses: 6
    functionsReached:
    - connexion.spec.Specification.from_dict.enforce_string_keys
    - collections.abc.Mapping.items
    - <builtin>.isinstance
    - <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: 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: 211
    functionName: connexion.spec.Specification.clone
    functionSourceFile: connexion.spec
    functionUses: 1
    functionsReached:
    - <builtin>.type
    - copy.deepcopy
    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: 225
    functionName: connexion.spec.Specification.with_base_path
    functionSourceFile: connexion.spec
    functionUses: 0
    functionsReached:
    - connexion.spec.Specification.clone
    - <builtin>.type
    - copy.deepcopy
    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: 237
    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: 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: 1
    functionLinenumber: -1
    functionName: connexion.spec.Swagger2Specification
    functionSourceFile: connexion.spec
    functionUses: 0
    functionsReached:
    - json.loads
    - pkgutil.get_data
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: 260
    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: 264
    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: 268
    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: 272
    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: 276
    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: 280
    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: 288
    functionName: connexion.spec.Swagger2Specification.base_path
    functionSourceFile: connexion.spec
    functionUses: 0
    functionsReached:
    - connexion.spec.canonical_base_path
    - copy.deepcopy.get
    - 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: 1
    functionLinenumber: -1
    functionName: connexion.spec.OpenAPISpecification
    functionSourceFile: connexion.spec
    functionUses: 0
    functionsReached:
    - json.loads
    - pkgutil.get_data
    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: 309
    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: 313
    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: 332
    functionName: connexion.spec.OpenAPISpecification.base_path
    functionSourceFile: connexion.spec
    functionUses: 0
    functionsReached:
    - connexion.spec.canonical_base_path
    - copy.deepcopy.get
    - server_vars.items
    - server.pop
    - copy.deepcopy
    - urllib.parse.urlsplit
    - 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: 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: 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: 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 0x7fc3f7ce6520>
    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:
    - connexion.json_schema.FileHandler._uri_to_path
    - os.path.join
    - yaml.load
    - <builtin>.open
    - urllib.request.url2pathname
    - os.path.abspath
    - urllib.parse.urlparse
    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.abspath
    - urllib.parse.urlparse
    - os.path.join
    - urllib.request.url2pathname
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: 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: 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
    - yaml.load
    - contextlib.closing
    - response.raise_for_status
    - io.StringIO
    linkageType: pythonLinkage
    raised: []
    returnType: N/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:
    - copy.deepcopy.items
    - connexion.utils.deep_get
    - copy.deepcopy.update
    - <builtin>.int
    - copy.deepcopy.pop
    - <builtin>.isinstance
    - jsonschema.RefResolver.resolving
    - <builtin>.enumerate
    - connexion.json_schema.resolve_refs._do_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: 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: 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 0x7fc3f7b61130>
    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_controller_name
    - connexion.resolver.RestyResolver.resolve_operation_id_using_rest_semantics
    - operation.path.split
    - <builtin>.super
    - <builtin>.len
    - connexion.resolver.RestyResolver.resolve_operation_id_using_rest_semantics.get_function_name
    - connexion.resolver.RestyResolver.resolve_operation_id_using_rest_semantics.is_var
    - method.lower
    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_controller_name
    - operation.path.split
    - <builtin>.len
    - connexion.resolver.RestyResolver.resolve_operation_id_using_rest_semantics.get_function_name
    - connexion.resolver.RestyResolver.resolve_operation_id_using_rest_semantics.is_var
    - method.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: 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:
    - connexion.resolver.RestyResolver.resolve_operation_id_using_rest_semantics.is_var
    - method.lower
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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_controller_name
    - inflection.camelize
    - connexion.resolver.RestyResolver.resolve_operation_id_using_rest_semantics
    - operation.path.split
    - <builtin>.super
    - operation_id.rsplit
    - <builtin>.len
    - connexion.resolver.RestyResolver.resolve_operation_id_using_rest_semantics.get_function_name
    - connexion.resolver.RestyResolver.resolve_operation_id_using_rest_semantics.is_var
    - method.lower
    - connexion.resolver.RestyResolver.resolve_operation_id
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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:
    - <builtin>.__import__
    - <builtin>.getattr
    - operation_id.rsplit
    - connexion.resolver.MethodResolverBase.resolve_method_from_class
    - view_name.endswith
    - <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:
    - logger.warning
    - <builtin>.super
    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:
    - view_cls.as_view
    - 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: view_cls.as_view
    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.context
    functionSourceFile: connexion.context
    functionUses: 0
    functionsReached:
    - object.__setattr__
    - <builtin>.callable
    - werkzeug.local.LocalProxy.__init__
    - operator.attrgetter
    - <builtin>.isinstance
    - 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: 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 0x7fc3f7bf3580>
    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:
    - operator.attrgetter
    - object.__setattr__
    - <builtin>.callable
    - <builtin>.isinstance
    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
    - starlette.requests.Request
    - connexion.lifecycle.ConnexionRequest.__init__
    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: 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 0x7fc3f7ed55b0>
    - <ast.Constant object at 0x7fc3f7ed5e80>
    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:
    - subtype.endswith
    - flask.request.form.to_dict
    - connexion.utils.is_json_mimetype
    - subtype.split
    - connexion.lifecycle.WSGIRequest.form
    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 0x7fc3f7f95250>
    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:
    - starlette.requests.Request.form
    - connexion.lifecycle.ConnexionRequest._split_form_files
    - <builtin>.isinstance
    - collections.defaultdict
    - form_data.multi_items
    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:
    - starlette.requests.Request.form
    - form_data.multi_items
    - <builtin>.isinstance
    - collections.defaultdict
    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:
    - starlette.requests.Request.form
    - connexion.lifecycle.ConnexionRequest._split_form_files
    - <builtin>.isinstance
    - collections.defaultdict
    - form_data.multi_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: 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:
    - starlette.requests.Request.json
    - subtype.endswith
    - starlette.requests.Request.form
    - connexion.lifecycle.ConnexionRequest._split_form_files
    - <builtin>.isinstance
    - connexion.lifecycle.ConnexionRequest.json
    - connexion.lifecycle.ConnexionRequest.form
    - connexion.utils.is_json_mimetype
    - collections.defaultdict
    - form_data.multi_items
    - subtype.split
    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>.__import__
    - <builtin>.hasattr
    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:
    - io.RawIOBase.readline
    - <builtin>.int
    - 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: 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: 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:
    - werkzeug.serving.DechunkedInput.read_chunk_len
    - <builtin>.int
    - <builtin>.min
    - <builtin>.len
    - line.strip
    - io.RawIOBase.readline
    - io.RawIOBase.read
    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: <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: 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: 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:
    - http.server.BaseHTTPRequestHandler.connection.getpeercert
    - key.upper
    - <builtin>.isinstance
    - http.server.BaseHTTPRequestHandler.server.log
    - http.server.BaseHTTPRequestHandler.headers.items
    - werkzeug.serving.DechunkedInput.__init__
    - <builtin>.str
    - <builtin>.getattr
    - value.replace
    - werkzeug.serving.WSGIRequestHandler.address_string
    - werkzeug.serving.WSGIRequestHandler.port_integer
    - urllib.parse.urlsplit
    - werkzeug._internal._wsgi_encoding_dance
    - urllib.parse.unquote.encode
    - urllib.parse.urlsplit.query.encode
    - urllib.parse.urlsplit.path.encode
    - urllib.parse.unquote
    - ssl.DER_cert_to_PEM_cert
    - http.server.BaseHTTPRequestHandler.path.encode
    - 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: urllib.parse.unquote
    functionSourceFile: urllib
    functionUses: 53
    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.urlsplit.query.encode
    - http.server.BaseHTTPRequestHandler.path.encode
    - urllib.parse.unquote.encode
    - urllib.parse.urlsplit.path.encode
    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: 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: value.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: environ.get
    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: 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:
    - http.server.BaseHTTPRequestHandler.connection.getpeercert
    - new_stack.append
    - http.server.BaseHTTPRequestHandler.send_header
    - key.lower
    - <builtin>.hasattr
    - werkzeug.exceptions.InternalServerError.__init__
    - <builtin>.zip
    - key.upper
    - http.server.BaseHTTPRequestHandler.server.log
    - <builtin>.isinstance
    - werkzeug.serving.WSGIRequestHandler.run_wsgi.write
    - http.server.BaseHTTPRequestHandler.headers.items
    - werkzeug.serving.WSGIRequestHandler.run_wsgi.execute
    - werkzeug.serving.DechunkedInput.__init__
    - header_keys.add
    - werkzeug.debug.tbtools.DebugTraceback.render_traceback_text
    - selector.close
    - <builtin>.str
    - <builtin>.getattr
    - http.server.BaseHTTPRequestHandler.end_headers
    - <builtin>.super
    - value.replace
    - http.server.BaseHTTPRequestHandler.wfile.write
    - werkzeug.debug.tbtools._process_traceback
    - werkzeug.serving.WSGIRequestHandler.address_string
    - itertools.islice
    - traceback.TracebackException.from_exception
    - werkzeug.serving.WSGIRequestHandler.port_integer
    - <builtin>.len
    - werkzeug.debug.tbtools.DebugFrameSummary.__init__
    - urllib.parse.urlsplit
    - werkzeug._internal._wsgi_encoding_dance
    - werkzeug.debug.tbtools.DebugTraceback.__init__
    - urllib.parse.unquote.encode
    - http.server.BaseHTTPRequestHandler.wfile.flush
    - werkzeug.serving.WSGIRequestHandler.make_environ
    - environ.get
    - http.server.BaseHTTPRequestHandler.send_response
    - http.server.BaseHTTPRequestHandler.server.app
    - <builtin>.hex
    - traceback.walk_tb
    - <builtin>.set
    - selector.select
    - application_iter.close
    - http.server.BaseHTTPRequestHandler.headers.get
    - selector.register
    - urllib.parse.urlsplit.query.encode
    - <builtin>.int
    - f.f_locals.get
    - werkzeug.serving.WSGIRequestHandler.connection_dropped
    - selectors.DefaultSelector
    - http.server.BaseHTTPRequestHandler.rfile.read
    - urllib.parse.urlsplit.path.encode
    - typing.cast
    - urllib.parse.unquote
    - ssl.DER_cert_to_PEM_cert
    - http.server.BaseHTTPRequestHandler.path.encode
    - 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.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:
    - status_sent.split
    - http.server.BaseHTTPRequestHandler.send_header
    - http.server.BaseHTTPRequestHandler.end_headers
    - key.lower
    - http.server.BaseHTTPRequestHandler.wfile.flush
    - http.server.BaseHTTPRequestHandler.wfile.write
    - <builtin>.int
    - <builtin>.isinstance
    - <builtin>.len
    - header_keys.add
    - http.server.BaseHTTPRequestHandler.send_response
    - <builtin>.hex
    - <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: 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: <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: 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: key.lower
    functionSourceFile: <builtin>
    functionUses: 39
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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 0x7fc3f80d8cd0>
    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:
    - http.server.BaseHTTPRequestHandler.send_header
    - key.lower
    - <builtin>.hasattr
    - werkzeug.exceptions.InternalServerError.__init__
    - <builtin>.isinstance
    - werkzeug.serving.WSGIRequestHandler.run_wsgi.write
    - header_keys.add
    - selector.close
    - http.server.BaseHTTPRequestHandler.end_headers
    - <builtin>.super
    - http.server.BaseHTTPRequestHandler.wfile.write
    - <builtin>.len
    - http.server.BaseHTTPRequestHandler.wfile.flush
    - http.server.BaseHTTPRequestHandler.send_response
    - <builtin>.hex
    - http.server.BaseHTTPRequestHandler.server.app
    - <builtin>.set
    - selector.select
    - application_iter.close
    - selector.register
    - <builtin>.int
    - selectors.DefaultSelector
    - http.server.BaseHTTPRequestHandler.rfile.read
    - 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: 1
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fc3f89a0ee0>
    - <ast.Constant object at 0x7fc3f89a0c70>
    - <ast.Constant object at 0x7fc3f89a0640>
    argNames:
    - self
    - description
    - response
    - original_exception
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 752
    functionName: werkzeug.exceptions.InternalServerError.__init__
    functionSourceFile: werkzeug.exceptions
    functionUses: 2
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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 0x7fc3f8000670>
    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 0x7fc3f7d0f160>
    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:
    - <builtin>.getattr
    - new_stack.append
    - <builtin>.super
    - werkzeug.debug.tbtools._process_traceback
    - f.f_locals.get
    - itertools.islice
    - <builtin>.zip
    - traceback.TracebackException.from_exception
    - typing.cast
    - werkzeug.debug.tbtools.DebugFrameSummary.__init__
    - traceback.walk_tb
    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: 272
    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:
    - _logger.addHandler
    - logging.getLogger
    - logger.getEffectiveLevel
    - <builtin>.isinstance
    - werkzeug.serving.WSGIRequestHandler.log
    - werkzeug._internal._log
    - <builtin>.getattr
    - <builtin>.super
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - werkzeug.serving.WSGIRequestHandler.address_string
    - werkzeug.serving.WSGIRequestHandler.log_error
    - colorama.AnsiToWin32
    - http.server.BaseHTTPRequestHandler.log_date_time_string
    - werkzeug._internal._ColorStreamHandler.__init__
    - werkzeug._internal._has_level_handler
    - <builtin>.any
    - werkzeug.serving.is_ssl_error
    - werkzeug.serving.WSGIRequestHandler.connection_dropped
    - sys.exc_info
    - typing.cast
    - _logger.setLevel
    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 0x7fc3f809f550>
    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:
    - werkzeug._internal._log
    - <builtin>.getattr
    - http.server.BaseHTTPRequestHandler.log_date_time_string
    - <builtin>.super
    - _logger.addHandler
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - logging.getLogger
    - werkzeug.serving.WSGIRequestHandler.address_string
    - logger.getEffectiveLevel
    - werkzeug._internal._ColorStreamHandler.__init__
    - werkzeug._internal._has_level_handler
    - werkzeug.serving.WSGIRequestHandler.log
    - <builtin>.any
    - colorama.AnsiToWin32
    - _logger.setLevel
    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
    - name.startswith
    - <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: 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:
    - <builtin>.ord
    - str.maketrans
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc3f7c00a00>
    - <ast.Constant object at 0x7fc3f7c00df0>
    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:
    - urllib.parse.urlsplit.hostname.encode
    - werkzeug.serving._ansi_style
    - _logger.addHandler
    - logging.getLogger
    - werkzeug.urls._make_unquote_part._unquote_partial
    - logger.getEffectiveLevel
    - werkzeug.serving.WSGIRequestHandler.log
    - parts.append
    - <builtin>.str
    - werkzeug._internal._log
    - part.decode
    - <builtin>.getattr
    - <builtin>.super
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - werkzeug.serving.WSGIRequestHandler.address_string
    - colorama.AnsiToWin32
    - urllib.parse.urlsplit
    - werkzeug.urls._decode_idna
    - http.server.BaseHTTPRequestHandler.requestline.translate
    - werkzeug.urls.uri_to_iri
    - urllib.parse.urlunsplit
    - http.server.BaseHTTPRequestHandler.log_date_time_string
    - out.append
    - werkzeug._internal._ColorStreamHandler.__init__
    - werkzeug._internal._has_level_handler
    - <builtin>.any
    - pattern.split
    - data.decode
    - <builtin>.next
    - data.split
    - <builtin>.iter
    - urllib.parse.unquote
    - _logger.setLevel
    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:
    - part.decode
    - urllib.parse.urlsplit.hostname.encode
    - urllib.parse.unquote
    - urllib.parse.urlunsplit
    - out.append
    - <builtin>.next
    - werkzeug.urls._make_unquote_part._unquote_partial
    - pattern.split
    - parts.append
    - data.split
    - urllib.parse.urlsplit
    - <builtin>.iter
    - data.decode
    - werkzeug.urls._decode_idna
    linkageType: pythonLinkage
    raised: []
    returnType: N/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:
    - werkzeug._internal._log
    - <builtin>.getattr
    - http.server.BaseHTTPRequestHandler.log_date_time_string
    - <builtin>.super
    - _logger.addHandler
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - logging.getLogger
    - werkzeug.serving.WSGIRequestHandler.address_string
    - logger.getEffectiveLevel
    - werkzeug._internal._ColorStreamHandler.__init__
    - werkzeug._internal._has_level_handler
    - <builtin>.any
    - colorama.AnsiToWin32
    - _logger.setLevel
    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:
    - werkzeug._internal._log
    - <builtin>.getattr
    - http.server.BaseHTTPRequestHandler.log_date_time_string
    - <builtin>.super
    - _logger.addHandler
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - logging.getLogger
    - werkzeug.serving.WSGIRequestHandler.address_string
    - logger.getEffectiveLevel
    - werkzeug._internal._ColorStreamHandler.__init__
    - werkzeug._internal._has_level_handler
    - werkzeug.serving.WSGIRequestHandler.log
    - <builtin>.any
    - colorama.AnsiToWin32
    - _logger.setLevel
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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:
    - <builtin>.getattr
    - <builtin>.super
    - _logger.addHandler
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - logging.getLogger
    - logger.getEffectiveLevel
    - werkzeug._internal._ColorStreamHandler.__init__
    - werkzeug._internal._has_level_handler
    - <builtin>.any
    - colorama.AnsiToWin32
    - _logger.setLevel
    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 0x7fc3f7d12a00>
    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.ExtendedKeyUsage
    - cryptography.x509.random_serial_number
    - cryptography.x509.Name
    - datetime.timedelta
    - datetime.datetime.now
    - cryptography.hazmat.backends.default_backend
    - cryptography.hazmat.primitives.asymmetric.rsa.generate_private_key
    - cryptography.x509.NameAttribute
    - cryptography.x509.CertificateBuilder
    - cryptography.x509.SubjectAlternativeName
    - pkey.public_key
    - cryptography.hazmat.primitives.hashes.SHA256
    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: 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: datetime.timedelta
    functionSourceFile: datetime
    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: 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 0x7fc3f7c49190>
    - <ast.Constant object at 0x7fc3f7c49d30>
    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.ExtendedKeyUsage
    - cryptography.hazmat.primitives.serialization.NoEncryption
    - cryptography.x509.Name
    - datetime.timedelta
    - cert.public_bytes
    - cryptography.x509.random_serial_number
    - datetime.datetime.now
    - werkzeug.serving.generate_adhoc_ssl_pair
    - cryptography.hazmat.backends.default_backend
    - cryptography.hazmat.primitives.asymmetric.rsa.generate_private_key
    - pkey.private_bytes
    - cryptography.x509.NameAttribute
    - cryptography.x509.CertificateBuilder
    - f.write
    - cryptography.x509.SubjectAlternativeName
    - <builtin>.open
    - pkey.public_key
    - cryptography.hazmat.primitives.hashes.SHA256
    linkageType: pythonLinkage
    raised: []
    returnType: N/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:
    - datetime.timedelta
    - cert.public_bytes
    - ctx.load_cert_chain
    - cryptography.x509.ExtendedKeyUsage
    - pkey.private_bytes
    - os.close
    - tempfile.mkstemp
    - cryptography.x509.CertificateBuilder
    - ssl.SSLContext
    - cryptography.x509.SubjectAlternativeName
    - werkzeug.serving.load_ssl_context
    - os.write
    - atexit.register
    - cryptography.hazmat.primitives.hashes.SHA256
    - cryptography.hazmat.primitives.serialization.NoEncryption
    - cryptography.x509.Name
    - cryptography.x509.random_serial_number
    - cryptography.hazmat.backends.default_backend
    - cryptography.hazmat.primitives.asymmetric.rsa.generate_private_key
    - datetime.datetime.now
    - werkzeug.serving.generate_adhoc_ssl_pair
    - cryptography.x509.NameAttribute
    - pkey.public_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: 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 0x7fc3f86f9550>
    - <ast.Constant object at 0x7fc3f86f9910>
    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:
    - os.path.abspath
    - host.partition
    - socket.getaddrinfo
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.connect
    - s.getsockname
    - socket.socket
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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 0x7fc3f829c8b0>
    - <ast.Constant object at 0x7fc3f829c490>
    - <ast.Constant object at 0x7fc3f829cb50>
    - <ast.Constant object at 0x7fc3f829c280>
    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:
    - datetime.timedelta
    - http.server.HTTPServer.server_bind
    - cert.public_bytes
    - <builtin>.hasattr
    - <builtin>.isinstance
    - importlib.metadata.version
    - werkzeug.serving.select_address_family
    - os.path.abspath
    - ctx.load_cert_chain
    - cryptography.x509.ExtendedKeyUsage
    - os.path.exists
    - <builtin>.super
    - socket.fromfd
    - pkey.private_bytes
    - werkzeug.serving.generate_adhoc_ssl_context
    - tempfile.mkstemp
    - os.close
    - cryptography.x509.CertificateBuilder
    - ssl.SSLContext
    - cryptography.x509.SubjectAlternativeName
    - host.partition
    - atexit.register
    - werkzeug.serving.load_ssl_context
    - os.write
    - http.server.HTTPServer.server_close
    - host.startswith
    - cryptography.hazmat.primitives.hashes.SHA256
    - <builtin>.print
    - cryptography.hazmat.primitives.serialization.NoEncryption
    - cryptography.x509.Name
    - cryptography.x509.random_serial_number
    - <builtin>.vars
    - cryptography.hazmat.backends.default_backend
    - cryptography.hazmat.primitives.asymmetric.rsa.generate_private_key
    - werkzeug.serving.get_sockaddr
    - os.unlink
    - datetime.datetime.now
    - sys.exit
    - werkzeug.serving.generate_adhoc_ssl_pair
    - <builtin>.int
    - cryptography.x509.NameAttribute
    - typing.cast
    - http.server.HTTPServer.server_activate
    - pkey.public_key
    - ssl_context.wrap_socket
    - socket.getaddrinfo
    linkageType: pythonLinkage
    raised: []
    returnType: N/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:
    - werkzeug._internal._log
    - <builtin>.getattr
    - <builtin>.super
    - _logger.addHandler
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - logging.getLogger
    - logger.getEffectiveLevel
    - werkzeug._internal._ColorStreamHandler.__init__
    - werkzeug._internal._has_level_handler
    - <builtin>.any
    - colorama.AnsiToWin32
    - _logger.setLevel
    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 0x7fc3f82fd2e0>
    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._internal._log
    - <builtin>.getattr
    - s.getsockname
    - messages.append
    - werkzeug.serving._ansi_style
    - <builtin>.super
    - socket.socket
    - _logger.addHandler
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - logging.getLogger
    - s.connect
    - logger.getEffectiveLevel
    - werkzeug._internal._ColorStreamHandler.__init__
    - werkzeug._internal._has_level_handler
    - <builtin>.any
    - colorama.AnsiToWin32
    - _logger.setLevel
    - werkzeug.serving.get_interface_ip
    linkageType: pythonLinkage
    raised: []
    returnType: N/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 0x7fc3f7d0ff40>
    - <ast.Constant object at 0x7fc3f7d0f1c0>
    - <ast.Constant object at 0x7fc3f7d0f250>
    - <ast.Constant object at 0x7fc3f7d0f6a0>
    - <ast.Constant object at 0x7fc3f7d0f9a0>
    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 0x7fc3f8044b20>
    - <ast.Constant object at 0x7fc3f8044520>
    - <ast.Constant object at 0x7fc3f8044160>
    - <ast.Constant object at 0x7fc3f7a09d60>
    - <ast.Constant object at 0x7fc3f7a09490>
    - <ast.Constant object at 0x7fc3f7a09940>
    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:
    - datetime.timedelta
    - http.server.HTTPServer.server_bind
    - werkzeug.serving.BaseWSGIServer.__init__
    - cert.public_bytes
    - <builtin>.hasattr
    - <builtin>.isinstance
    - importlib.metadata.version
    - werkzeug.serving.select_address_family
    - os.path.abspath
    - ctx.load_cert_chain
    - cryptography.x509.ExtendedKeyUsage
    - os.path.exists
    - <builtin>.super
    - socket.fromfd
    - pkey.private_bytes
    - werkzeug.serving.generate_adhoc_ssl_context
    - tempfile.mkstemp
    - os.close
    - cryptography.x509.CertificateBuilder
    - ssl.SSLContext
    - cryptography.x509.SubjectAlternativeName
    - host.partition
    - werkzeug.serving.ForkingWSGIServer.__init__
    - atexit.register
    - werkzeug.serving.load_ssl_context
    - os.write
    - http.server.HTTPServer.server_close
    - host.startswith
    - cryptography.hazmat.primitives.hashes.SHA256
    - <builtin>.print
    - cryptography.hazmat.primitives.serialization.NoEncryption
    - cryptography.x509.Name
    - cryptography.x509.random_serial_number
    - <builtin>.vars
    - cryptography.hazmat.backends.default_backend
    - cryptography.hazmat.primitives.asymmetric.rsa.generate_private_key
    - werkzeug.serving.get_sockaddr
    - os.unlink
    - datetime.datetime.now
    - sys.exit
    - werkzeug.serving.generate_adhoc_ssl_pair
    - <builtin>.int
    - cryptography.x509.NameAttribute
    - typing.cast
    - http.server.HTTPServer.server_activate
    - pkey.public_key
    - ssl_context.wrap_socket
    - socket.getaddrinfo
    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 0x7fc3f7b2adf0>
    - <ast.Constant object at 0x7fc3f7b2aa90>
    - <ast.Constant object at 0x7fc3f7b2ac10>
    - <ast.Constant object at 0x7fc3f7b2ad90>
    - <ast.Constant object at 0x7fc3f7b2aee0>
    - <ast.Constant object at 0x7fc3f7b2a1c0>
    - <ast.Constant object at 0x7fc3f7b2aeb0>
    - <ast.Constant object at 0x7fc3f7b2a8e0>
    - <ast.Constant object at 0x7fc3f7b2a880>
    - <ast.Constant object at 0x7fc3f7b2aa60>
    - <ast.Constant object at 0x7fc3f7b2af10>
    - <ast.Constant object at 0x7fc3f7b2a940>
    - <ast.Constant object at 0x7fc3f7b2ac70>
    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:
    - http.server.HTTPServer.server_bind
    - s.getsockname
    - werkzeug.serving._ansi_style
    - logging.getLogger
    - s.connect
    - <builtin>.isinstance
    - <builtin>.str
    - werkzeug._internal._log
    - signal.signal
    - os.path.exists
    - werkzeug.debug.DebuggedApplication.__init__
    - pkey.private_bytes
    - werkzeug.middleware.shared_data.SharedDataMiddleware.__init__
    - werkzeug.serving.is_running_from_reloader
    - ssl.SSLContext
    - werkzeug.serving.load_ssl_context
    - os.write
    - cryptography.x509.Name
    - werkzeug.serving.BaseWSGIServer.log_startup
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_directory_loader
    - werkzeug._reloader.run_with_reloader
    - reloader.run
    - os.unlink
    - werkzeug.serving.make_server
    - secrets.choice
    - os.environ.get
    - http.server.HTTPServer.server_activate
    - termios.tcsetattr
    - threading.Thread
    - <builtin>.hasattr
    - os.path.abspath
    - ctx.load_cert_chain
    - <builtin>.super
    - werkzeug.serving.generate_adhoc_ssl_context
    - host.partition
    - cryptography.hazmat.primitives.serialization.NoEncryption
    - cryptography.hazmat.backends.default_backend
    - http.server.HTTPServer.fileno
    - cryptography.hazmat.primitives.asymmetric.rsa.generate_private_key
    - importlib.util.find_spec
    - werkzeug._internal._ColorStreamHandler.__init__
    - werkzeug._internal._has_level_handler
    - werkzeug.serving.BaseWSGIServer.serve_forever
    - werkzeug.serving.generate_adhoc_ssl_pair
    - cryptography.x509.NameAttribute
    - datetime.timedelta
    - os.path.isfile
    - _logger.addHandler
    - srv.socket.set_inheritable
    - reloader.restart_with_reloader
    - importlib.metadata.version
    - werkzeug.serving.get_interface_ip
    - <builtin>.getattr
    - socket.socket
    - sys.stdin.isatty
    - socket.fromfd
    - tempfile.mkstemp
    - os.close
    - cryptography.x509.CertificateBuilder
    - cryptography.x509.SubjectAlternativeName
    - werkzeug.serving.ForkingWSGIServer.__init__
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_file_loader
    - atexit.register
    - http.server.HTTPServer.server_close
    - <builtin>.print
    - t.start
    - werkzeug._reloader.ensure_echo_on
    - werkzeug.serving.get_sockaddr
    - datetime.datetime.now
    - sys.exit
    - <builtin>.int
    - typing.cast
    - pkey.public_key
    - cryptography.hazmat.primitives.hashes.SHA256
    - socket.getaddrinfo
    - application.trusted_hosts.append
    - werkzeug.serving.BaseWSGIServer.__init__
    - cert.public_bytes
    - logger.getEffectiveLevel
    - werkzeug.serving.select_address_family
    - cryptography.x509.ExtendedKeyUsage
    - messages.append
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - exports.items
    - werkzeug.security.gen_salt
    - colorama.AnsiToWin32
    - host.startswith
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_package_loader
    - spec.loader.get_resource_reader
    - termios.tcgetattr
    - cryptography.x509.random_serial_number
    - <builtin>.vars
    - <builtin>.any
    - multiprocessing.Value
    - <builtin>.range
    - _logger.setLevel
    - ssl_context.wrap_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 0x7fc3f80c3880>
    - <ast.Constant object at 0x7fc3f80c3070>
    - <ast.BinOp object at 0x7fc3f80c3e20>
    - <ast.Constant object at 0x7fc3f80c3190>
    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:
    - os.path.isfile
    - spec.loader.get_resource_reader
    - datetime.datetime.now
    - importlib.util.find_spec
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_directory_loader
    - <builtin>.isinstance
    - exports.items
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_file_loader
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_package_loader
    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 0x7fc3f79e9ac0>
    - <ast.Constant object at 0x7fc3f79e9820>
    - <ast.Constant object at 0x7fc3f79e90a0>
    - <ast.Constant object at 0x7fc3f79e9f70>
    - <ast.Constant object at 0x7fc3f79e9ee0>
    - <ast.Constant object at 0x7fc3f79e95e0>
    - <ast.Constant object at 0x7fc3f79e9c40>
    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:
    - werkzeug._internal._log
    - <builtin>.getattr
    - colorama.AnsiToWin32
    - <builtin>.super
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - _logger.addHandler
    - logging.getLogger
    - secrets.choice
    - os.environ.get
    - logger.getEffectiveLevel
    - werkzeug._internal._ColorStreamHandler.__init__
    - multiprocessing.Value
    - werkzeug._internal._has_level_handler
    - <builtin>.any
    - werkzeug.security.gen_salt
    - <builtin>.range
    - _logger.setLevel
    linkageType: pythonLinkage
    raised: []
    returnType: N/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 0x7fc3f7a203a0>
    - <ast.Constant object at 0x7fc3f7a20760>
    - <ast.Constant object at 0x7fc3f7a20d00>
    - <ast.Constant object at 0x7fc3f7a20b20>
    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: 436
    functionName: werkzeug._reloader.run_with_reloader
    functionSourceFile: werkzeug._reloader
    functionUses: 2
    functionsReached:
    - sys.stdin.isatty
    - sys.exit
    - os.environ.get
    - reloader.restart_with_reloader
    - t.start
    - termios.tcsetattr
    - reloader.run
    - termios.tcgetattr
    - werkzeug._reloader.ensure_echo_on
    - threading.Thread
    - signal.signal
    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>.__import__
    - <builtin>.hasattr
    - <builtin>.tuple
    - prefix.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: 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: 43
    functionName: werkzeug._reloader._iter_module_paths
    functionSourceFile: werkzeug._reloader
    functionUses: 5
    functionsReached:
    - <builtin>.getattr
    - os.path.isfile
    - <builtin>.list
    - sys.modules.values
    - os.path.dirname
    - 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: sys.modules.values
    functionSourceFile: sys
    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.path.isfile
    functionSourceFile: os
    functionUses: 16
    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: 63
    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: 68
    functionName: werkzeug._reloader._find_stat_paths
    functionSourceFile: werkzeug._reloader
    functionUses: 1
    functionsReached:
    - os.path.join
    - paths.update
    - os.path.isfile
    - fnmatch.filter
    - sys.modules.values
    - os.walk
    - os.path.abspath
    - paths.difference_update
    - <builtin>.getattr
    - itertools.chain
    - root.startswith
    - os.path.dirname
    - name.endswith
    - os.path.basename
    - werkzeug._reloader._iter_module_paths
    - werkzeug._reloader._remove_by_pattern
    - dirs.clear
    - <builtin>.set
    - <builtin>.list
    - paths.add
    - 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: itertools.chain
    functionSourceFile: itertools
    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: 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: 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: 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:
    - os.path.join
    - os.path.isfile
    - fnmatch.filter
    - sys.modules.values
    - <builtin>.sorted
    - pathlib.PurePath
    - os.path.abspath
    - dirs.add
    - paths.difference_update
    - <builtin>.getattr
    - itertools.chain
    - os.path.dirname
    - rv.add
    - werkzeug._reloader._iter_module_paths
    - werkzeug._reloader._remove_by_pattern
    - werkzeug._reloader._find_common_roots
    - node.clear
    - <builtin>.set
    - werkzeug._reloader._find_common_roots._walk
    - <builtin>.list
    - node.setdefault
    - name.startswith
    - node.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: 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:
    - werkzeug._reloader._find_common_roots._walk
    - os.path.join
    - node.setdefault
    - <builtin>.sorted
    - node.clear
    - rv.add
    - pathlib.PurePath
    - node.items
    - <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: 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:
    - werkzeug._reloader._find_common_roots._walk
    - os.path.join
    - node.items
    - rv.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: 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:
    - <builtin>.getattr
    - os.path.exists
    - os.path.isfile
    - typing.cast
    - rv.extend
    - rv.append
    - os.path.abspath
    - os.path.basename
    - os.path.splitext
    - rv.pop
    - py_module.lstrip
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: 0
    IfCount: 0
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fc3f7f28640>
    - <ast.Constant object at 0x7fc3f7f28be0>
    - <ast.Constant object at 0x7fc3f7f28130>
    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:
    - os.path.abspath
    - <builtin>.set
    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: 4
    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:
    - os.path.isfile
    - _logger.addHandler
    - logging.getLogger
    - logger.getEffectiveLevel
    - subprocess.call
    - os.path.abspath
    - py_module.lstrip
    - werkzeug._internal._log
    - <builtin>.getattr
    - os.path.exists
    - <builtin>.super
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - colorama.AnsiToWin32
    - os.path.basename
    - os.path.splitext
    - rv.pop
    - werkzeug._internal._ColorStreamHandler.__init__
    - werkzeug._internal._has_level_handler
    - <builtin>.any
    - rv.extend
    - typing.cast
    - werkzeug._reloader._get_args_for_reloading
    - _logger.setLevel
    - os.environ.copy
    - rv.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: 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:
    - werkzeug._internal._log
    - <builtin>.getattr
    - werkzeug._reloader.ReloaderLoop.log_reload
    - <builtin>.super
    - _logger.setLevel
    - sys.exit
    - _logger.addHandler
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - logging.getLogger
    - logger.getEffectiveLevel
    - werkzeug._internal._ColorStreamHandler.__init__
    - werkzeug._internal._has_level_handler
    - <builtin>.any
    - colorama.AnsiToWin32
    - os.path.abspath
    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:
    - werkzeug._internal._log
    - <builtin>.getattr
    - <builtin>.super
    - _logger.setLevel
    - _logger.addHandler
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - logging.getLogger
    - logger.getEffectiveLevel
    - werkzeug._internal._ColorStreamHandler.__init__
    - werkzeug._internal._has_level_handler
    - <builtin>.any
    - colorama.AnsiToWin32
    - os.path.abspath
    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.path.join
    - paths.update
    - os.path.isfile
    - fnmatch.filter
    - sys.modules.values
    - _logger.addHandler
    - os.walk
    - logging.getLogger
    - logger.getEffectiveLevel
    - os.path.abspath
    - werkzeug._internal._log
    - <builtin>.getattr
    - paths.difference_update
    - werkzeug._reloader.ReloaderLoop.log_reload
    - <builtin>.super
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - itertools.chain
    - root.startswith
    - os.path.dirname
    - werkzeug._reloader.ReloaderLoop.trigger_reload
    - os.stat
    - name.endswith
    - colorama.AnsiToWin32
    - os.path.basename
    - werkzeug._reloader._iter_module_paths
    - werkzeug._reloader._find_stat_paths
    - werkzeug._reloader._remove_by_pattern
    - dirs.clear
    - werkzeug._internal._ColorStreamHandler.__init__
    - werkzeug._internal._has_level_handler
    - <builtin>.any
    - <builtin>.set
    - <builtin>.list
    - sys.exit
    - paths.add
    - name.startswith
    - _logger.setLevel
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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:
    - threading.Event
    - os.path.isdir
    - <builtin>.super
    - watchdog.observers.Observer.__name__.lower
    - watchdog.observers.Observer
    - watchdog.events.PatternMatchingEventHandler.__init__
    - reloader_name.endswith
    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:
    - werkzeug._internal._log
    - <builtin>.getattr
    - werkzeug._reloader.ReloaderLoop.log_reload
    - <builtin>.super
    - _logger.setLevel
    - _logger.addHandler
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - logging.getLogger
    - logger.getEffectiveLevel
    - werkzeug._internal._ColorStreamHandler.__init__
    - werkzeug._internal._has_level_handler
    - <builtin>.any
    - colorama.AnsiToWin32
    - os.path.abspath
    - werkzeug._reloader.WatchdogReloaderLoop.trigger_reload
    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: 358
    functionName: werkzeug._reloader.WatchdogReloaderLoop.trigger_reload
    functionSourceFile: werkzeug._reloader
    functionUses: 1
    functionsReached:
    - werkzeug._internal._log
    - <builtin>.getattr
    - werkzeug._reloader.ReloaderLoop.log_reload
    - <builtin>.super
    - _logger.setLevel
    - _logger.addHandler
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - logging.getLogger
    - logger.getEffectiveLevel
    - werkzeug._internal._ColorStreamHandler.__init__
    - werkzeug._internal._has_level_handler
    - <builtin>.any
    - colorama.AnsiToWin32
    - 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: 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: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: threading.Event
    functionSourceFile: threading
    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: 365
    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: 370
    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: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 374
    functionName: werkzeug._reloader.WatchdogReloaderLoop.run
    functionSourceFile: werkzeug._reloader
    functionUses: 0
    functionsReached:
    - watchdog.observers.Observer.schedule
    - os.path.join
    - os.path.isfile
    - fnmatch.filter
    - sys.modules.values
    - werkzeug._reloader.WatchdogReloaderLoop.run_step
    - <builtin>.sorted
    - pathlib.PurePath
    - os.path.abspath
    - dirs.add
    - paths.difference_update
    - <builtin>.getattr
    - itertools.chain
    - os.path.dirname
    - rv.add
    - werkzeug._reloader._iter_module_paths
    - werkzeug._reloader._remove_by_pattern
    - werkzeug._reloader._find_common_roots
    - node.clear
    - werkzeug._reloader._find_watchdog_paths
    - <builtin>.set
    - werkzeug._reloader._find_common_roots._walk
    - to_delete.discard
    - watchdog.observers.Observer.unschedule
    - <builtin>.list
    - sys.exit
    - node.setdefault
    - name.startswith
    - node.items
    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: 380
    functionName: werkzeug._reloader.WatchdogReloaderLoop.run_step
    functionSourceFile: werkzeug._reloader
    functionUses: 1
    functionsReached:
    - watchdog.observers.Observer.schedule
    - os.path.join
    - os.path.isfile
    - fnmatch.filter
    - sys.modules.values
    - <builtin>.sorted
    - pathlib.PurePath
    - os.path.abspath
    - dirs.add
    - paths.difference_update
    - <builtin>.getattr
    - itertools.chain
    - os.path.dirname
    - rv.add
    - werkzeug._reloader._iter_module_paths
    - werkzeug._reloader._remove_by_pattern
    - werkzeug._reloader._find_common_roots
    - node.clear
    - werkzeug._reloader._find_watchdog_paths
    - to_delete.discard
    - werkzeug._reloader._find_common_roots._walk
    - <builtin>.set
    - watchdog.observers.Observer.unschedule
    - <builtin>.list
    - node.setdefault
    - name.startswith
    - node.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: 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: 417
    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
    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: 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: 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:
    - subprocess.Popen.communicate
    - winreg.QueryValueEx
    - guid.encode
    - werkzeug.debug.get_machine_id._generate
    - subprocess.Popen
    - f.readline
    - match.group
    - winreg.OpenKey
    - <builtin>.open
    - re.search
    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:
    - subprocess.Popen.communicate
    - winreg.QueryValueEx
    - guid.encode
    - match.group
    - subprocess.Popen
    - f.readline
    - winreg.OpenKey
    - <builtin>.open
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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: 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: 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:
    - <builtin>.super
    - werkzeug.debug.console.Console.__init__
    - werkzeug.debug.console._ConsoleLoader.__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 0x7fc3f7add3d0>
    - <ast.Constant object at 0x7fc3f7add880>
    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._InteractiveConsole.__init__
    - werkzeug.debug.console._ConsoleLoader.__init__
    - <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
    - code
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 138
    functionName: werkzeug.debug._ConsoleFrame.eval
    functionSourceFile: werkzeug.debug
    functionUses: 0
    functionsReached:
    - werkzeug.debug.console.Console.eval
    - markupsafe.escape
    - code.InteractiveInterpreter.buffer.append
    - werkzeug.debug.console.HTMLStringO.__init__
    - werkzeug.debug.console._InteractiveConsole.runsource
    - <builtin>.super
    - _stream.set
    - <builtin>.isinstance
    - werkzeug.debug.console.ThreadedStream.fetch
    - _stream.get
    - typing.cast
    - stream.reset
    - source.rstrip
    - code.InteractiveInterpreter.set
    - werkzeug.debug.console.ThreadedStream.push
    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:
    - code.InteractiveInterpreter.buffer.append
    - markupsafe.escape
    - werkzeug.debug.console.HTMLStringO.__init__
    - werkzeug.debug.console._InteractiveConsole.runsource
    - <builtin>.super
    - _stream.set
    - <builtin>.isinstance
    - werkzeug.debug.console.ThreadedStream.fetch
    - _stream.get
    - typing.cast
    - stream.reset
    - source.rstrip
    - code.InteractiveInterpreter.set
    - werkzeug.debug.console.ThreadedStream.push
    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:
    - guid.encode
    - getpass.getuser
    - werkzeug.debug.get_machine_id._generate
    - <builtin>.isinstance
    - sys.modules.get
    - winreg.OpenKey
    - h.hexdigest
    - <builtin>.str
    - <builtin>.getattr
    - hashlib.sha1
    - winreg.QueryValueEx
    - itertools.chain
    - <builtin>.type
    - subprocess.Popen
    - pin.replace
    - <builtin>.len
    - uuid.getnode
    - subprocess.Popen.communicate
    - werkzeug.debug.get_machine_id
    - h.update
    - <builtin>.open
    - <builtin>.int
    - os.environ.get
    - itertools.chain.encode
    - f.readline
    - match.group
    - typing.cast
    - <builtin>.range
    - re.search
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - length
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 28
    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: multiprocessing.Value
    functionSourceFile: multiprocessing
    functionUses: 6
    functionsReached: []
    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: 4
    functionLinenumber: 321
    functionName: werkzeug.debug.DebuggedApplication.pin
    functionSourceFile: werkzeug.debug
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - guid.encode
    - getpass.getuser
    - werkzeug.debug.get_machine_id._generate
    - <builtin>.isinstance
    - sys.modules.get
    - winreg.OpenKey
    - h.hexdigest
    - <builtin>.str
    - werkzeug.debug.get_pin_and_cookie_name
    - <builtin>.getattr
    - hashlib.sha1
    - winreg.QueryValueEx
    - itertools.chain
    - <builtin>.type
    - subprocess.Popen
    - pin.replace
    - <builtin>.len
    - uuid.getnode
    - werkzeug.debug.get_machine_id
    - subprocess.Popen.communicate
    - h.update
    - <builtin>.open
    - <builtin>.int
    - os.environ.get
    - itertools.chain.encode
    - f.readline
    - match.group
    - typing.cast
    - <builtin>.range
    - re.search
    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: 329
    functionName: werkzeug.debug.DebuggedApplication.pin_cookie_name
    functionSourceFile: werkzeug.debug
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - guid.encode
    - getpass.getuser
    - werkzeug.debug.get_machine_id._generate
    - <builtin>.isinstance
    - sys.modules.get
    - winreg.OpenKey
    - h.hexdigest
    - <builtin>.str
    - werkzeug.debug.get_pin_and_cookie_name
    - <builtin>.getattr
    - hashlib.sha1
    - winreg.QueryValueEx
    - itertools.chain
    - <builtin>.type
    - subprocess.Popen
    - pin.replace
    - <builtin>.len
    - uuid.getnode
    - werkzeug.debug.get_machine_id
    - subprocess.Popen.communicate
    - h.update
    - <builtin>.open
    - <builtin>.int
    - os.environ.get
    - itertools.chain.encode
    - f.readline
    - match.group
    - typing.cast
    - <builtin>.range
    - re.search
    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: 336
    functionName: werkzeug.debug.DebuggedApplication.debug_application
    functionSourceFile: werkzeug.debug
    functionUses: 1
    functionsReached:
    - hostname.endswith
    - logging.getLogger
    - <builtin>.isinstance
    - <builtin>.sorted
    - header.get
    - <builtin>.str
    - werkzeug._internal._log
    - werkzeug.debug.DebuggedApplication.__init__
    - re.sub
    - itertools.islice
    - werkzeug.middleware.shared_data.SharedDataMiddleware.__init__
    - werkzeug.debug.tbtools.DebugFrameSummary.__init__
    - ref.partition
    - sys_path.append
    - textwrap.wrap
    - <builtin>.repr
    - time.time
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_directory_loader
    - x.startswith
    - werkzeug.testapp.iter_sys_path
    - werkzeug.debug.tbtools.DebugTraceback.render_traceback_html
    - _cookie_unslash_re.sub
    - secrets.choice
    - os.environ.get
    - werkzeug.wsgi._RangeWrapper.close
    - werkzeug.debug.hash_pin
    - frame.render_html
    - ref.startswith
    - <builtin>.hasattr
    - os.path.abspath
    - wsgi_env.append
    - <builtin>.super
    - <builtin>.sum
    - out.append
    - importlib.util.find_spec
    - werkzeug._internal._ColorStreamHandler.__init__
    - werkzeug._internal._has_level_handler
    - ck.strip
    - <builtin>.list
    - werkzeug.wrappers.response.Response.set_data
    - werkzeug.sansio.http.parse_cookie
    - os.path.expanduser
    - os.path.isfile
    - os.path.isdir
    - _logger.addHandler
    - cookie.encode
    - importlib.metadata.version
    - <builtin>.reversed
    - <builtin>.getattr
    - werkzeug.debug.tbtools._process_traceback
    - werkzeug.http.parse_cookie
    - traceback.TracebackException.from_exception
    - os.getcwd
    - <builtin>.len
    - <builtin>.id
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_file_loader
    - _cookie_re.findall
    - markupsafe.escape.splitlines
    - werkzeug.testapp._get_werkzeug_version
    - werkzeug.wrappers.response.Response.__init__
    - rows.append
    - traceback.walk_tb
    - datetime.datetime.now
    - <builtin>.int
    - f.f_locals.get
    - val.split
    - req.environ.items
    - os.path.normpath
    - typing.cast
    - werkzeug.debug.DebuggedApplication.check_host_trust
    - werkzeug.sansio.utils.host_is_trusted
    - os.path.join
    - new_stack.append
    - css.append
    - cv.strip
    - logger.getEffectiveLevel
    - <builtin>.zip
    - python_eggs.append
    - werkzeug.debug.tbtools.DebugTraceback.render_traceback_text
    - markupsafe.escape
    - hashlib.sha1
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - value.encode
    - exports.items
    - werkzeug.security.gen_salt
    - colorama.AnsiToWin32
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_package_loader
    - spec.loader.get_resource_reader
    - werkzeug.debug.tbtools.DebugTraceback.render_debugger_html
    - werkzeug.debug.tbtools.DebugTraceback.__init__
    - row_parts.append
    - multiprocessing.Value
    - <builtin>.any
    - werkzeug.debug.DebuggedApplication.check_pin_trust
    - <builtin>.bool
    - werkzeug.testapp.iter_sys_path.strip
    - hostname.partition
    - werkzeug.wrappers.response.Response.close
    - <builtin>.range
    - _logger.setLevel
    - werkzeug.testapp.test_app
    - environ.get
    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:
    - os.path.join
    - os.path.isdir
    - css.append
    - <builtin>.sorted
    - <builtin>.isinstance
    - importlib.metadata.version
    - os.path.abspath
    - python_eggs.append
    - wsgi_env.append
    - <builtin>.str
    - markupsafe.escape
    - <builtin>.super
    - value.encode
    - os.getcwd
    - <builtin>.len
    - sys_path.append
    - textwrap.wrap
    - markupsafe.escape.splitlines
    - werkzeug.testapp._get_werkzeug_version
    - <builtin>.repr
    - x.startswith
    - werkzeug.wrappers.response.Response.__init__
    - werkzeug.testapp.iter_sys_path
    - werkzeug.testapp.iter_sys_path.strip
    - req.environ.items
    - werkzeug.wrappers.response.Response.set_data
    - os.path.normpath
    - os.path.expanduser
    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: 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: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - environ
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 437
    functionName: werkzeug.debug.DebuggedApplication.check_pin_trust
    functionSourceFile: werkzeug.debug
    functionUses: 4
    functionsReached:
    - hashlib.sha1
    - _cookie_unslash_re.sub
    - out.append
    - <builtin>.int
    - cv.strip
    - werkzeug.http.parse_cookie
    - val.split
    - cookie.encode
    - <builtin>.isinstance
    - time.time
    - header.get
    - typing.cast
    - werkzeug.sansio.http.parse_cookie
    - <builtin>.len
    - ck.strip
    - _cookie_re.findall
    - werkzeug.debug.hash_pin
    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: 464
    functionName: werkzeug.debug.DebuggedApplication.check_host_trust
    functionSourceFile: werkzeug.debug
    functionUses: 6
    functionsReached:
    - ref.startswith
    - hostname.partition
    - hostname.endswith
    - <builtin>.isinstance
    - environ.get
    - werkzeug.sansio.utils.host_is_trusted
    - ref.partition
    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: 327
    functionName: werkzeug.debug.tbtools.DebugTraceback.render_debugger_html
    functionSourceFile: werkzeug.debug.tbtools
    functionUses: 2
    functionsReached:
    - <builtin>.sum
    - markupsafe.escape
    - row_parts.append
    - werkzeug.debug.tbtools.DebugTraceback.render_traceback_html
    - <builtin>.list
    - re.sub
    - typing.cast
    - rows.append
    - <builtin>.len
    - <builtin>.reversed
    - frame.render_html
    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 0x7fc3f82ecca0>
    - <ast.Constant object at 0x7fc3f82ec4c0>
    - <ast.Constant object at 0x7fc3f82ec910>
    - <ast.Constant object at 0x7fc3f82ecb50>
    - <ast.Constant object at 0x7fc3f82ecdc0>
    - <ast.Constant object at 0x7fc3f82ec760>
    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:
    - <builtin>.super
    - value.encode
    - werkzeug.wrappers.response.Response.set_data
    - <builtin>.isinstance
    - <builtin>.len
    - <builtin>.str
    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: 384
    functionName: werkzeug.debug.DebuggedApplication.execute_command
    functionSourceFile: werkzeug.debug
    functionUses: 1
    functionsReached:
    - ref.startswith
    - exit_stack.enter_context
    - hostname.endswith
    - contextlib.ExitStack
    - werkzeug.exceptions.HTTPException.__init__
    - <builtin>.isinstance
    - <builtin>.str
    - <builtin>.super
    - value.encode
    - <builtin>.len
    - <builtin>.id
    - ref.partition
    - werkzeug.wrappers.response.Response.__init__
    - frame.eval
    - hostname.partition
    - werkzeug.wrappers.response.Response.set_data
    - werkzeug.debug.DebuggedApplication.check_host_trust
    - environ.get
    - werkzeug.sansio.utils.host_is_trusted
    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 0x7fc3f81fe490>
    - <ast.Constant object at 0x7fc3f81feb80>
    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: 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: 402
    functionName: werkzeug.debug.DebuggedApplication.display_console
    functionSourceFile: werkzeug.debug
    functionUses: 1
    functionsReached:
    - ref.startswith
    - hostname.endswith
    - cv.strip
    - werkzeug.exceptions.HTTPException.__init__
    - cookie.encode
    - <builtin>.isinstance
    - header.get
    - <builtin>.str
    - werkzeug.debug.console.Console.__init__
    - hashlib.sha1
    - <builtin>.super
    - value.encode
    - werkzeug.http.parse_cookie
    - <builtin>.len
    - _cookie_re.findall
    - ref.partition
    - <builtin>.dict
    - out.append
    - time.time
    - werkzeug.wrappers.response.Response.__init__
    - werkzeug.debug._ConsoleFrame.__init__
    - environ.get
    - ck.strip
    - werkzeug.debug.DebuggedApplication.check_pin_trust
    - <builtin>.bool
    - _cookie_unslash_re.sub
    - hostname.partition
    - <builtin>.int
    - werkzeug.debug.console._ConsoleLoader.__init__
    - val.split
    - werkzeug.wrappers.response.Response.set_data
    - werkzeug.debug.tbtools.render_console_html
    - typing.cast
    - werkzeug.sansio.http.parse_cookie
    - ns.setdefault
    - werkzeug.debug.DebuggedApplication.check_host_trust
    - werkzeug.debug.console._InteractiveConsole.__init__
    - werkzeug.sansio.utils.host_is_trusted
    - werkzeug.debug.hash_pin
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: 442
    functionName: werkzeug.debug.tbtools.render_console_html
    functionSourceFile: ''
    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: 420
    functionName: werkzeug.debug.DebuggedApplication.get_resource
    functionSourceFile: werkzeug.debug
    functionUses: 1
    functionsReached:
    - simple.encode
    - os.path.join
    - headers.set
    - path.encode
    - <builtin>.hasattr
    - werkzeug.exceptions.HTTPException.__init__
    - rv.make_conditional
    - pkgutil.get_data
    - io.BytesIO
    - <builtin>.isinstance
    - os.path.abspath
    - mimetypes.guess_type
    - <builtin>.str
    - <builtin>.callable
    - unicodedata.normalize
    - zlib.adler32
    - <builtin>.super
    - value.encode
    - werkzeug.wsgi.wrap_file
    - werkzeug.utils.send_file
    - rv.headers.pop
    - os.stat
    - <builtin>.len
    - os.path.basename
    - io.BytesIO.close
    - time.time
    - werkzeug.wrappers.response.Response.__init__
    - <builtin>.open
    - download_name.encode
    - rv.set_etag
    - <builtin>.int
    - urllib.parse.quote
    - werkzeug.wrappers.response.Response.set_data
    - typing.cast
    - io.BytesIO.getbuffer
    - 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: 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: io.BytesIO
    functionSourceFile: io
    functionUses: 42
    functionsReached: []
    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 0x7fc3f7b399d0>
    - <ast.Constant object at 0x7fc3f7b395e0>
    - <ast.Constant object at 0x7fc3f7b39760>
    - <ast.Constant object at 0x7fc3f7b393d0>
    - <ast.Constant object at 0x7fc3f7b394f0>
    - <ast.Constant object at 0x7fc3f7b397c0>
    - <ast.Constant object at 0x7fc3f7b39730>
    - <ast.Constant object at 0x7fc3f7b39610>
    - <ast.Constant object at 0x7fc3f7b390d0>
    - <ast.Constant object at 0x7fc3f7b39910>
    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: 312
    functionName: werkzeug.utils.send_file
    functionSourceFile: werkzeug.utils
    functionUses: 3
    functionsReached:
    - simple.encode
    - os.path.join
    - headers.set
    - path.encode
    - <builtin>.hasattr
    - rv.make_conditional
    - <builtin>.isinstance
    - os.path.abspath
    - mimetypes.guess_type
    - <builtin>.str
    - <builtin>.callable
    - unicodedata.normalize
    - zlib.adler32
    - <builtin>.super
    - value.encode
    - werkzeug.wsgi.wrap_file
    - rv.headers.pop
    - os.stat
    - <builtin>.len
    - os.path.basename
    - io.BytesIO.close
    - time.time
    - werkzeug.wrappers.response.Response.__init__
    - <builtin>.open
    - download_name.encode
    - rv.set_etag
    - <builtin>.int
    - urllib.parse.quote
    - werkzeug.wrappers.response.Response.set_data
    - typing.cast
    - io.BytesIO.getbuffer
    - environ.get
    linkageType: pythonLinkage
    raised:
    - ValueError
    - TypeError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc3f81886a0>
    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_unslash_re.sub
    - out.append
    - cv.strip
    - cookie.encode
    - <builtin>.isinstance
    - header.get
    - typing.cast
    - werkzeug.sansio.http.parse_cookie
    - <builtin>.len
    - ck.strip
    - _cookie_re.findall
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: 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.partition
    - hostname.endswith
    - <builtin>.isinstance
    - 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: 1
    functionLinenumber: 467
    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: 474
    functionName: werkzeug.debug.DebuggedApplication.pin_auth
    functionSourceFile: werkzeug.debug
    functionUses: 1
    functionsReached:
    - _cookie_slash_re.sub
    - ref.startswith
    - hostname.endswith
    - werkzeug.http.http_date
    - cv.strip
    - werkzeug.exceptions.HTTPException.__init__
    - json.dumps
    - cookie.encode
    - <builtin>.isinstance
    - header.get
    - multiprocessing.Value.get_lock
    - buf.append
    - <builtin>.str
    - datetime.time
    - time.sleep
    - hashlib.sha1
    - <builtin>.super
    - value.encode
    - werkzeug.http.parse_cookie
    - werkzeug.debug.DebuggedApplication._fail_pin_auth
    - key.encode
    - pin.replace
    - time.mktime.astimezone
    - <builtin>.len
    - samesite.title
    - werkzeug.sansio.response.Response.set_cookie
    - _cookie_no_quote_re.fullmatch
    - time.mktime.replace
    - _cookie_re.findall
    - ref.partition
    - datetime.datetime.combine
    - out.append
    - time.time
    - werkzeug.wrappers.response.Response.__init__
    - entered_pin.strip
    - domain.partition
    - ck.strip
    - werkzeug.http.dump_cookie
    - werkzeug.debug.DebuggedApplication.check_pin_trust
    - werkzeug.sansio.response.Response.delete_cookie
    - _cookie_unslash_re.sub
    - hostname.partition
    - datetime.datetime.now
    - warnings.warn
    - <builtin>.int
    - email.utils.format_datetime
    - urllib.parse.quote
    - werkzeug.wrappers.response.Response.set_data
    - val.split
    - werkzeug._internal._dt_as_utc
    - typing.cast
    - time.mktime
    - email.utils.formatdate
    - werkzeug.sansio.http.parse_cookie
    - werkzeug.debug.hash_pin
    - werkzeug.debug.DebuggedApplication.check_host_trust
    - environ.get
    - werkzeug.sansio.utils.host_is_trusted
    - max_age.total_seconds
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 11
    argDefaultValues:
    - <ast.Constant object at 0x7fc3f79e99d0>
    - <ast.Constant object at 0x7fc3f79e9b20>
    - <ast.Constant object at 0x7fc3f79e9a00>
    - <ast.Constant object at 0x7fc3f79e9cd0>
    - <ast.Constant object at 0x7fc3f79e91c0>
    - <ast.Constant object at 0x7fc3f79e9040>
    - <ast.Constant object at 0x7fc3f79e9fa0>
    - <ast.Constant object at 0x7fc3f79e9be0>
    - <ast.Constant object at 0x7fc3f79e9ca0>
    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:
    - _cookie_slash_re.sub
    - werkzeug.http.http_date
    - <builtin>.isinstance
    - buf.append
    - datetime.time
    - value.encode
    - key.encode
    - time.mktime.astimezone
    - samesite.title
    - <builtin>.len
    - _cookie_no_quote_re.fullmatch
    - time.mktime.replace
    - datetime.datetime.combine
    - domain.partition
    - werkzeug.http.dump_cookie
    - datetime.datetime.now
    - warnings.warn
    - <builtin>.int
    - email.utils.format_datetime
    - urllib.parse.quote
    - werkzeug._internal._dt_as_utc
    - time.mktime
    - email.utils.formatdate
    - max_age.total_seconds
    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 0x7fc3f7e5ad00>
    - <ast.Constant object at 0x7fc3f7e5a0a0>
    - <ast.Constant object at 0x7fc3f7e5a670>
    - <ast.Constant object at 0x7fc3f7e5a5e0>
    - <ast.Constant object at 0x7fc3f7e5a0d0>
    - <ast.Constant object at 0x7fc3f7e5ac40>
    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:
    - _cookie_slash_re.sub
    - werkzeug.http.http_date
    - <builtin>.isinstance
    - buf.append
    - datetime.time
    - value.encode
    - key.encode
    - time.mktime.astimezone
    - samesite.title
    - <builtin>.len
    - _cookie_no_quote_re.fullmatch
    - werkzeug.sansio.response.Response.set_cookie
    - time.mktime.replace
    - datetime.datetime.combine
    - domain.partition
    - werkzeug.http.dump_cookie
    - datetime.datetime.now
    - warnings.warn
    - <builtin>.int
    - email.utils.format_datetime
    - urllib.parse.quote
    - werkzeug._internal._dt_as_utc
    - time.mktime
    - email.utils.formatdate
    - max_age.total_seconds
    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: 528
    functionName: werkzeug.debug.DebuggedApplication.log_pin_request
    functionSourceFile: werkzeug.debug
    functionUses: 1
    functionsReached:
    - ref.startswith
    - hostname.endswith
    - _logger.addHandler
    - logging.getLogger
    - werkzeug.exceptions.HTTPException.__init__
    - logger.getEffectiveLevel
    - <builtin>.isinstance
    - <builtin>.str
    - werkzeug._internal._log
    - <builtin>.getattr
    - <builtin>.super
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - value.encode
    - <builtin>.len
    - colorama.AnsiToWin32
    - ref.partition
    - werkzeug._internal._ColorStreamHandler.__init__
    - werkzeug.wrappers.response.Response.__init__
    - werkzeug._internal._has_level_handler
    - <builtin>.any
    - hostname.partition
    - werkzeug.wrappers.response.Response.set_data
    - _logger.setLevel
    - werkzeug.debug.DebuggedApplication.check_host_trust
    - environ.get
    - werkzeug.sansio.utils.host_is_trusted
    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: 540
    functionName: werkzeug.debug.DebuggedApplication.__call__
    functionSourceFile: werkzeug.debug
    functionUses: 0
    functionsReached:
    - exit_stack.enter_context
    - hostname.endswith
    - logging.getLogger
    - json.dumps
    - <builtin>.isinstance
    - <builtin>.sorted
    - header.get
    - mimetypes.guess_type
    - <builtin>.str
    - werkzeug._internal._log
    - werkzeug.debug.DebuggedApplication.__init__
    - <builtin>.callable
    - unicodedata.normalize
    - re.sub
    - itertools.islice
    - werkzeug.middleware.shared_data.SharedDataMiddleware.__init__
    - rv.headers.pop
    - os.stat
    - werkzeug.debug.tbtools.DebugFrameSummary.__init__
    - os.path.basename
    - ref.partition
    - sys_path.append
    - textwrap.wrap
    - <builtin>.repr
    - time.time
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_directory_loader
    - x.startswith
    - download_name.encode
    - werkzeug.testapp.iter_sys_path
    - werkzeug.debug.tbtools.DebugTraceback.render_traceback_html
    - _cookie_unslash_re.sub
    - werkzeug.sansio.response.Response.delete_cookie
    - secrets.choice
    - os.environ.get
    - werkzeug._internal._dt_as_utc
    - werkzeug.debug.DebuggedApplication.pin_auth
    - werkzeug.wsgi._RangeWrapper.close
    - werkzeug.datastructures.headers.EnvironHeaders.__init__
    - werkzeug.debug.hash_pin
    - frame.render_html
    - ref.startswith
    - <builtin>.hasattr
    - contextlib.ExitStack
    - werkzeug.http.http_date
    - werkzeug.exceptions.HTTPException.__init__
    - rv.make_conditional
    - os.path.abspath
    - buf.append
    - werkzeug.debug.DebuggedApplication.display_console
    - wsgi_env.append
    - time.sleep
    - <builtin>.super
    - werkzeug.debug.DebuggedApplication._fail_pin_auth
    - time.mktime.astimezone
    - pin.replace
    - samesite.title
    - werkzeug.sansio.response.Response.set_cookie
    - time.mktime.replace
    - <builtin>.dict
    - <builtin>.sum
    - datetime.datetime.combine
    - out.append
    - importlib.util.find_spec
    - werkzeug._internal._ColorStreamHandler.__init__
    - werkzeug._internal._has_level_handler
    - werkzeug._internal._wsgi_decoding_dance
    - ck.strip
    - <builtin>.list
    - werkzeug.debug.DebuggedApplication.get_resource
    - werkzeug.wrappers.response.Response.set_data
    - time.mktime
    - werkzeug.sansio.http.parse_cookie
    - io.BytesIO.getbuffer
    - os.path.expanduser
    - werkzeug.debug.console._InteractiveConsole.__init__
    - max_age.total_seconds
    - simple.encode
    - os.path.isfile
    - path.encode
    - s.encode
    - os.path.isdir
    - _logger.addHandler
    - cookie.encode
    - io.BytesIO
    - importlib.metadata.version
    - <builtin>.reversed
    - multiprocessing.Value.get_lock
    - datetime.time
    - <builtin>.getattr
    - zlib.adler32
    - werkzeug.debug.tbtools._process_traceback
    - werkzeug.http.parse_cookie
    - werkzeug.utils.send_file
    - traceback.TracebackException.from_exception
    - os.getcwd
    - <builtin>.len
    - <builtin>.id
    - _cookie_no_quote_re.fullmatch
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_file_loader
    - _cookie_re.findall
    - markupsafe.escape.splitlines
    - werkzeug.testapp._get_werkzeug_version
    - werkzeug.wrappers.response.Response.__init__
    - rows.append
    - werkzeug.debug._ConsoleFrame.__init__
    - frame.eval
    - <builtin>.open
    - werkzeug.http.dump_cookie
    - werkzeug.wrappers.request.Request.__init__
    - traceback.walk_tb
    - rv.set_etag
    - datetime.datetime.now
    - <builtin>.int
    - f.f_locals.get
    - req.environ.items
    - urllib.parse.quote
    - os.path.normpath
    - val.split
    - werkzeug.debug.DebuggedApplication.execute_command
    - werkzeug.debug.DebuggedApplication.log_pin_request
    - werkzeug.debug.tbtools.render_console_html
    - typing.cast
    - email.utils.formatdate
    - ns.setdefault
    - werkzeug.debug.DebuggedApplication.check_host_trust
    - werkzeug.sansio.utils.host_is_trusted
    - os.path.join
    - new_stack.append
    - headers.set
    - _cookie_slash_re.sub
    - css.append
    - cv.strip
    - logger.getEffectiveLevel
    - <builtin>.zip
    - pkgutil.get_data
    - python_eggs.append
    - werkzeug.debug.tbtools.DebugTraceback.render_traceback_text
    - markupsafe.escape
    - werkzeug.debug.console.Console.__init__
    - hashlib.sha1
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - value.encode
    - werkzeug.wsgi.wrap_file
    - exports.items
    - key.encode
    - werkzeug.security.gen_salt
    - colorama.AnsiToWin32
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_package_loader
    - spec.loader.get_resource_reader
    - werkzeug.debug.tbtools.DebugTraceback.render_debugger_html
    - io.BytesIO.close
    - werkzeug.debug.tbtools.DebugTraceback.__init__
    - row_parts.append
    - multiprocessing.Value
    - <builtin>.any
    - entered_pin.strip
    - domain.partition
    - <builtin>.bool
    - werkzeug.debug.DebuggedApplication.check_pin_trust
    - werkzeug.debug.DebuggedApplication.debug_application
    - werkzeug.testapp.iter_sys_path.strip
    - hostname.partition
    - warnings.warn
    - werkzeug.debug.console._ConsoleLoader.__init__
    - email.utils.format_datetime
    - werkzeug.wrappers.response.Response.close
    - <builtin>.range
    - _logger.setLevel
    - werkzeug.testapp.test_app
    - environ.get
    - werkzeug.wsgi._get_server
    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 0x7fc3f7b03490>
    - <ast.Constant object at 0x7fc3f7b03250>
    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:
    - s.encode
    - <builtin>.super
    - <builtin>.int
    - werkzeug.datastructures.headers.EnvironHeaders.__init__
    - werkzeug._internal._wsgi_decoding_dance
    - environ.get
    - werkzeug.wsgi._get_server
    linkageType: 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: 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: 36
    functionName: werkzeug.security._hash_internal
    functionSourceFile: werkzeug.security
    functionUses: 2
    functionsReached:
    - salt.encode
    - <builtin>.int
    - <builtin>.map
    - method.split
    - <builtin>.len
    - hashlib.pbkdf2_hmac
    - password.encode
    - hashlib.scrypt
    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: 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 0x7fc3f80a0cd0>
    - <ast.Constant object at 0x7fc3f80a0430>
    argNames:
    - password
    - method
    - salt_length
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 84
    functionName: werkzeug.security.generate_password_hash
    functionSourceFile: werkzeug.security
    functionUses: 0
    functionsReached:
    - werkzeug.security._hash_internal
    - hashlib.scrypt
    - salt.encode
    - <builtin>.int
    - secrets.choice
    - <builtin>.map
    - <builtin>.range
    - <builtin>.len
    - werkzeug.security.gen_salt
    - hashlib.pbkdf2_hmac
    - password.encode
    - method.split
    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: 123
    functionName: werkzeug.security.check_password_hash
    functionSourceFile: werkzeug.security
    functionUses: 0
    functionsReached:
    - werkzeug.security._hash_internal
    - salt.encode
    - <builtin>.int
    - hmac.compare_digest
    - pwhash.split
    - <builtin>.map
    - method.split
    - <builtin>.len
    - hashlib.pbkdf2_hmac
    - password.encode
    - hashlib.scrypt
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: 145
    functionName: werkzeug.security.safe_join
    functionSourceFile: werkzeug.security
    functionUses: 3
    functionsReached:
    - filename.startswith
    - posixpath.normpath
    - os.path.isabs
    - posixpath.join
    - <builtin>.any
    - filename.partition
    - 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: 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: filename.partition
    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: 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: 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: 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.request
    functionSourceFile: werkzeug.wrappers.request
    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:
    - environ
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 69
    functionName: werkzeug.wsgi._get_server
    functionSourceFile: werkzeug.wsgi
    functionUses: 23
    functionsReached:
    - <builtin>.int
    - environ.get
    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: 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:
    - urllib.parse.urlsplit.hostname.encode
    - stream.getvalue
    - s.encode
    - io.BytesIO.seek
    - werkzeug.test.EnvironBuilder.__init__
    - <builtin>.hasattr
    - werkzeug.urls._urlencode
    - stream.tell
    - urllib.parse.urlencode
    - key.upper
    - <builtin>.isinstance
    - io.BytesIO
    - event.name.encode
    - werkzeug.http.quote_header_value
    - collections.defaultdict
    - werkzeug.test.EnvironBuilder.close
    - random.random
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - mimetypes.guess_type
    - <builtin>.str
    - <builtin>.getattr
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - werkzeug.test.EnvironBuilder.get_request
    - <builtin>.super
    - stream.write
    - token_chars.issuperset
    - value.encode
    - data.items
    - headers.remove
    - io.BytesIO.tell
    - werkzeug.datastructures.auth.Authorization.__init__
    - werkzeug.datastructures.auth.Authorization.to_header
    - <builtin>.len
    - new_stream.write
    - werkzeug.http.dump_header
    - name.lower
    - urllib.parse.urlsplit
    - items.append
    - collections.defaultdict.items
    - werkzeug._internal._wsgi_encoding_dance
    - f.close
    - werkzeug.test.stream_encode_multipart
    - data.read
    - urllib.parse.unquote.encode
    - urllib.parse.urlunsplit
    - time.time
    - werkzeug.urls.iri_to_uri
    - werkzeug.test.EnvironBuilder.get_environ
    - result.update
    - werkzeug._internal._wsgi_decoding_dance
    - werkzeug.test._iter_data
    - headers.update
    - werkzeug.wrappers.request.Request.__init__
    - werkzeug.test.stream_encode_multipart.write_binary
    - tempfile.TemporaryFile
    - urllib.parse.urlsplit.query.encode
    - data.encode
    - event.filename.encode
    - value_str.replace
    - base64.b64encode
    - <builtin>.int
    - urllib.parse.quote
    - urllib.parse.urlsplit.path.encode
    - stream.seek
    - typing.cast
    - boundary.encode
    - werkzeug.datastructures.headers.EnvironHeaders.__init__
    - http.server.BaseHTTPRequestHandler.path.encode
    - environ.get
    - werkzeug.wsgi._get_server
    - headers.to_wsgi_list
    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 0x7fc3f7ccc760>
    - <ast.Constant object at 0x7fc3f7ccc4f0>
    - <ast.Constant object at 0x7fc3f7ccc730>
    - <ast.Constant object at 0x7fc3f7ccc1c0>
    - <ast.Constant object at 0x7fc3f7cccf40>
    - <ast.Constant object at 0x7fc3f7ccc130>
    - <ast.Constant object at 0x7fc3f7cccc70>
    - <ast.Constant object at 0x7fc3f7ccca30>
    - <ast.Constant object at 0x7fc3f7ccc790>
    - <ast.Constant object at 0x7fc3f7ccc0d0>
    - <ast.Constant object at 0x7fc3f7ccc6a0>
    - <ast.Constant object at 0x7fc3f7ccc970>
    - <ast.Constant object at 0x7fc3f7ccc7f0>
    - <ast.Constant object at 0x7fc3f7ccc1f0>
    - <ast.Constant object at 0x7fc3f7ccc910>
    - <ast.Constant object at 0x7fc3f7ccc7c0>
    - <ast.Constant object at 0x7fc3f7ccc280>
    - <ast.Constant object at 0x7fc3f7cccee0>
    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:
    - urllib.parse.urlsplit.hostname.encode
    - <builtin>.hasattr
    - <builtin>.isinstance
    - io.BytesIO
    - werkzeug.http.quote_header_value
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - <builtin>.str
    - token_chars.issuperset
    - data.items
    - werkzeug.datastructures.auth.Authorization.__init__
    - werkzeug.datastructures.auth.Authorization.to_header
    - <builtin>.len
    - urllib.parse.urlsplit
    - werkzeug.http.dump_header
    - items.append
    - data.read
    - urllib.parse.urlunsplit
    - werkzeug.urls.iri_to_uri
    - werkzeug.test._iter_data
    - data.encode
    - value_str.replace
    - base64.b64encode
    - urllib.parse.quote
    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 0x7fc3f7f75a90>
    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:
    - stream.getvalue
    - s.encode
    - io.BytesIO.seek
    - stream.tell
    - werkzeug.urls._urlencode
    - urllib.parse.urlencode
    - key.upper
    - io.BytesIO
    - <builtin>.isinstance
    - event.name.encode
    - collections.defaultdict
    - random.random
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - mimetypes.guess_type
    - <builtin>.str
    - <builtin>.getattr
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - <builtin>.super
    - stream.write
    - value.encode
    - data.items
    - headers.remove
    - io.BytesIO.tell
    - <builtin>.len
    - new_stream.write
    - name.lower
    - collections.defaultdict.items
    - werkzeug._internal._wsgi_encoding_dance
    - werkzeug.test.stream_encode_multipart
    - urllib.parse.unquote.encode
    - time.time
    - werkzeug.test.EnvironBuilder.get_environ
    - result.update
    - werkzeug._internal._wsgi_decoding_dance
    - werkzeug.test._iter_data
    - headers.update
    - werkzeug.wrappers.request.Request.__init__
    - werkzeug.test.stream_encode_multipart.write_binary
    - tempfile.TemporaryFile
    - urllib.parse.urlsplit.query.encode
    - event.filename.encode
    - <builtin>.int
    - urllib.parse.urlsplit.path.encode
    - stream.seek
    - typing.cast
    - boundary.encode
    - werkzeug.datastructures.headers.EnvironHeaders.__init__
    - http.server.BaseHTTPRequestHandler.path.encode
    - environ.get
    - werkzeug.wsgi._get_server
    - headers.to_wsgi_list
    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:
    - typing.cast
    - 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: 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:
    - os.path.join
    - os.path.isdir
    - s.encode
    - css.append
    - <builtin>.sorted
    - <builtin>.isinstance
    - importlib.metadata.version
    - os.path.abspath
    - python_eggs.append
    - wsgi_env.append
    - <builtin>.str
    - markupsafe.escape
    - <builtin>.super
    - value.encode
    - os.getcwd
    - <builtin>.len
    - sys_path.append
    - textwrap.wrap
    - markupsafe.escape.splitlines
    - werkzeug.testapp._get_werkzeug_version
    - <builtin>.repr
    - e.get_response
    - x.startswith
    - werkzeug.wrappers.response.Response.__init__
    - werkzeug._internal._wsgi_decoding_dance
    - werkzeug.testapp.iter_sys_path
    - werkzeug.wrappers.request.Request.__init__
    - werkzeug.testapp.iter_sys_path.strip
    - <builtin>.int
    - req.environ.items
    - werkzeug.wrappers.response.Response.set_data
    - os.path.normpath
    - typing.cast
    - werkzeug.datastructures.headers.EnvironHeaders.__init__
    - werkzeug.testapp.test_app
    - os.path.expanduser
    - environ.get
    - werkzeug.wsgi._get_server
    linkageType: pythonLinkage
    raised: []
    returnType: N/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 0x7fc3f7b2a160>
    - <ast.Constant object at 0x7fc3f7b2a490>
    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.TemporaryFile
    - tempfile.SpooledTemporaryFile
    - werkzeug.formparser.default_stream_factory
    - io.BytesIO
    - 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 0x7fc3f7d12760>
    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:
    - tempfile.TemporaryFile
    - typing.cast
    - io.BytesIO
    - tempfile.SpooledTemporaryFile
    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:
    - <builtin>.getattr
    - io.BytesIO
    - werkzeug.wrappers.request.Request.make_form_data_parser
    - werkzeug.wrappers.request.Request._get_stream_for_parsing
    - parser.parse
    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: 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:
    - mapping.items
    - value.close
    - <builtin>.isinstance
    - werkzeug.datastructures.structures.iter_multi_items
    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:
    - mapping.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: 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:
    - value.close
    - mapping.items
    - werkzeug.datastructures.structures.iter_multi_items
    - <builtin>.isinstance
    - 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:
    - werkzeug.utils.cached_property
    - typing.overload
    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:
    - <builtin>.int
    - _plain_int_re.fullmatch
    - value.strip
    - io.BytesIO
    - typing.cast
    - werkzeug.wsgi.get_input_stream
    - <builtin>.max
    - werkzeug.wsgi.get_content_length
    - werkzeug.wsgi.LimitedStream.__init__
    - environ.get
    - werkzeug.sansio.utils.get_content_length
    - werkzeug._internal._plain_int
    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 0x7fc3f73556d0>
    - <ast.Constant object at 0x7fc3f7355fa0>
    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:
    - <builtin>.int
    - _plain_int_re.fullmatch
    - value.strip
    - io.BytesIO
    - typing.cast
    - <builtin>.max
    - werkzeug.wsgi.get_content_length
    - werkzeug.wsgi.LimitedStream.__init__
    - environ.get
    - werkzeug.sansio.utils.get_content_length
    - 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:
    - <builtin>.getattr
    - werkzeug.wrappers.request.Request._load_form_data
    - rv.decode
    - io.BytesIO
    - werkzeug.wrappers.request.Request.make_form_data_parser
    - werkzeug.wrappers.request.Request._get_stream_for_parsing
    - parser.parse
    - 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 0x7fc3f7f287f0>
    - <ast.Constant object at 0x7fc3f7f283d0>
    - <ast.Constant object at 0x7fc3f7f28970>
    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:
    - <builtin>.getattr
    - werkzeug.wrappers.request.Request._load_form_data
    - io.BytesIO
    - werkzeug.wrappers.request.Request.make_form_data_parser
    - werkzeug.wrappers.request.Request._get_stream_for_parsing
    - parser.parse
    - rv.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: 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:
    - <builtin>.getattr
    - werkzeug.wrappers.request.Request._load_form_data
    - io.BytesIO
    - werkzeug.wrappers.request.Request.make_form_data_parser
    - werkzeug.wrappers.request.Request._get_stream_for_parsing
    - parser.parse
    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:
    - found.add
    - werkzeug.datastructures.structures.CombinedMultiDict.lists
    - rv.setdefault
    - werkzeug.datastructures.structures.MultiDict.__init__
    - <builtin>.isinstance
    - werkzeug.datastructures.structures.MultiDict.items
    - werkzeug.datastructures.structures.CombinedMultiDict.items
    - werkzeug.datastructures.structures.CombinedMultiDict._keys_impl
    - werkzeug.datastructures.structures.CombinedMultiDict.__iter__
    - <builtin>.super
    - werkzeug.datastructures.structures.MultiDict.__iter__
    - werkzeug.datastructures.structures.CombinedMultiDict.__init__
    - args.append
    - d.items
    - <builtin>.set
    - <builtin>.list
    - d.lists
    - rv.items
    - werkzeug.datastructures.structures.MultiDict.lists
    - sources.append
    - <builtin>.iter
    - tmp.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 0x7fc3f7c69ee0>
    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>.list
    - <builtin>.super
    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:
    - <builtin>.getattr
    - werkzeug.wrappers.request.Request._load_form_data
    - io.BytesIO
    - werkzeug.wrappers.request.Request.make_form_data_parser
    - werkzeug.wrappers.request.Request._get_stream_for_parsing
    - parser.parse
    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:
    - <builtin>.getattr
    - werkzeug.wrappers.request.Request._load_form_data
    - rv.decode
    - werkzeug.wrappers.request.Request.on_json_loading_failed
    - io.BytesIO
    - werkzeug.wrappers.request.Request.make_form_data_parser
    - werkzeug.wrappers.request.Request._get_stream_for_parsing
    - parser.parse
    - werkzeug.wrappers.request.Request.get_json
    - 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 0x7fc3f731e8e0>
    - <ast.Constant object at 0x7fc3f731efa0>
    - <ast.Constant object at 0x7fc3f731eb50>
    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:
    - <builtin>.getattr
    - werkzeug.wrappers.request.Request._load_form_data
    - rv.decode
    - werkzeug.wrappers.request.Request.on_json_loading_failed
    - io.BytesIO
    - werkzeug.wrappers.request.Request.make_form_data_parser
    - werkzeug.wrappers.request.Request._get_stream_for_parsing
    - parser.parse
    - 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 0x7fc3f7d12fd0>
    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 0x7fc3f7e5a3a0>
    - <ast.Constant object at 0x7fc3f7e5a130>
    - <ast.Constant object at 0x7fc3f7e5aeb0>
    - <ast.Constant object at 0x7fc3f7e5a700>
    - <ast.Constant object at 0x7fc3f7e5a4c0>
    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:
    - m.group
    - <builtin>.isinstance
    - werkzeug.datastructures.headers.Headers.__init__
    - match.end
    - BLANK_LINE_RE.search
    - werkzeug.wsgi.get_input_stream
    - <builtin>.max
    - data.splitlines
    - <builtin>.str
    - werkzeug.formparser._chunk_iter
    - re.compile
    - werkzeug.sansio.multipart.MultipartDecoder._parse_data
    - <builtin>.bytes
    - werkzeug.wsgi.get_content_length
    - werkzeug.datastructures.headers.Headers.extend
    - werkzeug.sansio.multipart.MultipartDecoder.__init__
    - werkzeug.datastructures.structures.iter_multi_items
    - werkzeug.formparser.MultiPartParser.get_part_charset
    - line.strip
    - headers.get
    - rest.find
    - tempfile.TemporaryFile
    - headers.append
    - werkzeug.sansio.multipart.MultipartDecoder._parse_headers
    - match.group
    - werkzeug.http.parse_options_header
    - _continuation_re.search
    - value.partition
    - re.escape
    - werkzeug.formparser.FormDataParser._parse_urlencoded
    - werkzeug.formparser.FormDataParser._parse_multipart
    - match.start
    - io.BytesIO.append
    - parameters.get
    - files.append
    - encoding.lower
    - data.rindex
    - werkzeug._internal._plain_int
    - mapping.items
    - <builtin>.min
    - werkzeug.formparser.FormDataParser.parse_from_environ
    - werkzeug.formparser.MultiPartParser.__init__
    - werkzeug.sansio.multipart.MultipartDecoder._last_partial_boundary_index
    - io.BytesIO.seek
    - io.BytesIO
    - parts.append
    - werkzeug.wsgi.LimitedStream.__init__
    - _charset_value_re.match
    - <builtin>.getattr
    - options.get
    - event.headers.get
    - _parameter_key_re.match
    - stream.read
    - <builtin>.len
    - os.fsdecode
    - werkzeug.formparser.FormDataParser.parse
    - value.strip
    - _plain_int_re.fullmatch
    - werkzeug.sansio.multipart.MultipartDecoder.next_event
    - _parameter_token_value_re.match
    - name.strip
    - match.groups
    - urllib.parse.parse_qsl
    - <builtin>.int
    - werkzeug.sansio.multipart.MultipartDecoder.receive_data
    - typing.cast
    - werkzeug.formparser.MultiPartParser.parse
    - werkzeug.sansio.utils.get_content_length
    - io.BytesIO.write
    - extra.get
    - werkzeug.formparser.FormDataParser.__init__
    - HEADER_CONTINUATION_RE.sub
    - <builtin>.bytearray
    - werkzeug.datastructures.file_storage.FileStorage.__init__
    - tempfile.SpooledTemporaryFile
    - m.end
    - fields.append
    - LINE_BREAK_RE.match
    - werkzeug.formparser.default_stream_factory
    - line.decode
    - werkzeug.formparser.MultiPartParser.start_file_streaming
    - urllib.parse.unquote
    - environ.get
    - rest.strip
    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 0x7fc3f809ce20>
    - <ast.Constant object at 0x7fc3f809cd30>
    - <ast.Constant object at 0x7fc3f809cf10>
    - <ast.Constant object at 0x7fc3f809c370>
    - <ast.Constant object at 0x7fc3f809cf40>
    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:
    - m.group
    - <builtin>.isinstance
    - werkzeug.datastructures.headers.Headers.__init__
    - match.end
    - BLANK_LINE_RE.search
    - werkzeug.wsgi.get_input_stream
    - <builtin>.max
    - data.splitlines
    - <builtin>.str
    - werkzeug.formparser._chunk_iter
    - re.compile
    - werkzeug.sansio.multipart.MultipartDecoder._parse_data
    - <builtin>.bytes
    - werkzeug.wsgi.get_content_length
    - werkzeug.datastructures.headers.Headers.extend
    - werkzeug.sansio.multipart.MultipartDecoder.__init__
    - werkzeug.datastructures.structures.iter_multi_items
    - werkzeug.formparser.MultiPartParser.get_part_charset
    - line.strip
    - headers.get
    - rest.find
    - tempfile.TemporaryFile
    - headers.append
    - werkzeug.sansio.multipart.MultipartDecoder._parse_headers
    - match.group
    - werkzeug.http.parse_options_header
    - _continuation_re.search
    - value.partition
    - re.escape
    - werkzeug.formparser.FormDataParser._parse_urlencoded
    - werkzeug.formparser.FormDataParser._parse_multipart
    - match.start
    - io.BytesIO.append
    - parameters.get
    - files.append
    - encoding.lower
    - data.rindex
    - werkzeug._internal._plain_int
    - mapping.items
    - <builtin>.min
    - werkzeug.formparser.MultiPartParser.__init__
    - werkzeug.sansio.multipart.MultipartDecoder._last_partial_boundary_index
    - io.BytesIO.seek
    - io.BytesIO
    - parts.append
    - werkzeug.wsgi.LimitedStream.__init__
    - _charset_value_re.match
    - <builtin>.getattr
    - options.get
    - event.headers.get
    - _parameter_key_re.match
    - stream.read
    - <builtin>.len
    - os.fsdecode
    - werkzeug.formparser.FormDataParser.parse
    - value.strip
    - _plain_int_re.fullmatch
    - werkzeug.sansio.multipart.MultipartDecoder.next_event
    - _parameter_token_value_re.match
    - name.strip
    - match.groups
    - urllib.parse.parse_qsl
    - <builtin>.int
    - werkzeug.sansio.multipart.MultipartDecoder.receive_data
    - typing.cast
    - werkzeug.formparser.MultiPartParser.parse
    - werkzeug.sansio.utils.get_content_length
    - io.BytesIO.write
    - extra.get
    - HEADER_CONTINUATION_RE.sub
    - <builtin>.bytearray
    - werkzeug.datastructures.file_storage.FileStorage.__init__
    - tempfile.SpooledTemporaryFile
    - m.end
    - fields.append
    - LINE_BREAK_RE.match
    - werkzeug.formparser.default_stream_factory
    - line.decode
    - werkzeug.formparser.MultiPartParser.start_file_streaming
    - urllib.parse.unquote
    - environ.get
    - rest.strip
    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:
    - <builtin>.int
    - value.strip
    - <builtin>.max
    - werkzeug._internal._plain_int
    - environ.get
    - werkzeug.sansio.utils.get_content_length
    - _plain_int_re.fullmatch
    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:
    - rest.find
    - m.group
    - options.get
    - match.groups
    - m.end
    - _parameter_token_value_re.match
    - _continuation_re.search
    - _parameter_key_re.match
    - value.partition
    - match.start
    - encoding.lower
    - parts.append
    - <builtin>.len
    - urllib.parse.unquote
    - rest.strip
    - value.strip
    - _charset_value_re.match
    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 0x7fc3f735f220>
    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:
    - m.group
    - io.BytesIO.seek
    - werkzeug.http.parse_options_header
    - _continuation_re.search
    - werkzeug.formparser.MultiPartParser.parse
    - value.partition
    - <builtin>.isinstance
    - io.BytesIO
    - werkzeug.datastructures.headers.Headers.__init__
    - match.end
    - BLANK_LINE_RE.search
    - parts.append
    - <builtin>.max
    - re.escape
    - data.splitlines
    - io.BytesIO.write
    - werkzeug.formparser.FormDataParser._parse_urlencoded
    - _charset_value_re.match
    - <builtin>.str
    - werkzeug.formparser.FormDataParser._parse_multipart
    - <builtin>.getattr
    - options.get
    - werkzeug.formparser._chunk_iter
    - re.compile
    - extra.get
    - werkzeug.sansio.multipart.MultipartDecoder._parse_data
    - event.headers.get
    - <builtin>.bytes
    - _parameter_key_re.match
    - stream.read
    - parameters.get
    - HEADER_CONTINUATION_RE.sub
    - match.start
    - io.BytesIO.append
    - files.append
    - <builtin>.len
    - os.fsdecode
    - <builtin>.bytearray
    - encoding.lower
    - value.strip
    - _plain_int_re.fullmatch
    - werkzeug.datastructures.headers.Headers.extend
    - werkzeug.datastructures.file_storage.FileStorage.__init__
    - werkzeug.sansio.multipart.MultipartDecoder.next_event
    - data.rindex
    - tempfile.SpooledTemporaryFile
    - m.end
    - fields.append
    - _parameter_token_value_re.match
    - werkzeug.sansio.multipart.MultipartDecoder.__init__
    - werkzeug.datastructures.structures.iter_multi_items
    - LINE_BREAK_RE.match
    - name.strip
    - werkzeug.formparser.default_stream_factory
    - werkzeug.formparser.MultiPartParser.get_part_charset
    - line.strip
    - headers.get
    - werkzeug._internal._plain_int
    - rest.find
    - line.decode
    - tempfile.TemporaryFile
    - headers.append
    - mapping.items
    - match.groups
    - urllib.parse.parse_qsl
    - <builtin>.int
    - werkzeug.sansio.multipart.MultipartDecoder.receive_data
    - <builtin>.min
    - werkzeug.sansio.multipart.MultipartDecoder._parse_headers
    - match.group
    - typing.cast
    - werkzeug.formparser.MultiPartParser.start_file_streaming
    - urllib.parse.unquote
    - werkzeug.formparser.MultiPartParser.__init__
    - rest.strip
    - werkzeug.sansio.multipart.MultipartDecoder._last_partial_boundary_index
    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:
    - m.group
    - io.BytesIO.seek
    - werkzeug.http.parse_options_header
    - _continuation_re.search
    - werkzeug.formparser.MultiPartParser.parse
    - value.partition
    - <builtin>.isinstance
    - io.BytesIO
    - werkzeug.datastructures.headers.Headers.__init__
    - match.end
    - BLANK_LINE_RE.search
    - parts.append
    - <builtin>.max
    - re.escape
    - data.splitlines
    - io.BytesIO.write
    - _charset_value_re.match
    - <builtin>.str
    - <builtin>.getattr
    - options.get
    - werkzeug.formparser._chunk_iter
    - re.compile
    - extra.get
    - werkzeug.sansio.multipart.MultipartDecoder._parse_data
    - event.headers.get
    - <builtin>.bytes
    - _parameter_key_re.match
    - parameters.get
    - HEADER_CONTINUATION_RE.sub
    - match.start
    - io.BytesIO.append
    - files.append
    - <builtin>.len
    - os.fsdecode
    - <builtin>.bytearray
    - encoding.lower
    - value.strip
    - _plain_int_re.fullmatch
    - werkzeug.datastructures.headers.Headers.extend
    - werkzeug.sansio.multipart.MultipartDecoder.next_event
    - werkzeug.datastructures.file_storage.FileStorage.__init__
    - data.rindex
    - tempfile.SpooledTemporaryFile
    - m.end
    - fields.append
    - _parameter_token_value_re.match
    - werkzeug.sansio.multipart.MultipartDecoder.__init__
    - werkzeug.datastructures.structures.iter_multi_items
    - LINE_BREAK_RE.match
    - name.strip
    - werkzeug.formparser.default_stream_factory
    - werkzeug.formparser.MultiPartParser.get_part_charset
    - line.strip
    - headers.get
    - werkzeug._internal._plain_int
    - rest.find
    - line.decode
    - tempfile.TemporaryFile
    - headers.append
    - match.groups
    - mapping.items
    - <builtin>.int
    - werkzeug.sansio.multipart.MultipartDecoder.receive_data
    - <builtin>.min
    - werkzeug.sansio.multipart.MultipartDecoder._parse_headers
    - match.group
    - typing.cast
    - werkzeug.formparser.MultiPartParser.start_file_streaming
    - urllib.parse.unquote
    - werkzeug.formparser.MultiPartParser.__init__
    - rest.strip
    - werkzeug.sansio.multipart.MultipartDecoder._last_partial_boundary_index
    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 0x7fc3f7da51c0>
    - <ast.Constant object at 0x7fc3f7da5f10>
    - <ast.Constant object at 0x7fc3f7b86c40>
    - <ast.BinOp object at 0x7fc3f7b86a30>
    - <ast.Constant object at 0x7fc3f7b86820>
    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: 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: 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:
    - m.group
    - io.BytesIO.seek
    - werkzeug.http.parse_options_header
    - _continuation_re.search
    - value.partition
    - <builtin>.isinstance
    - io.BytesIO
    - werkzeug.datastructures.headers.Headers.__init__
    - match.end
    - BLANK_LINE_RE.search
    - parts.append
    - <builtin>.max
    - re.escape
    - data.splitlines
    - io.BytesIO.write
    - _charset_value_re.match
    - <builtin>.str
    - <builtin>.getattr
    - options.get
    - werkzeug.formparser._chunk_iter
    - re.compile
    - extra.get
    - werkzeug.sansio.multipart.MultipartDecoder._parse_data
    - event.headers.get
    - <builtin>.bytes
    - _parameter_key_re.match
    - parameters.get
    - HEADER_CONTINUATION_RE.sub
    - match.start
    - io.BytesIO.append
    - files.append
    - <builtin>.len
    - os.fsdecode
    - <builtin>.bytearray
    - encoding.lower
    - value.strip
    - _plain_int_re.fullmatch
    - werkzeug.datastructures.headers.Headers.extend
    - werkzeug.datastructures.file_storage.FileStorage.__init__
    - werkzeug.sansio.multipart.MultipartDecoder.next_event
    - data.rindex
    - tempfile.SpooledTemporaryFile
    - m.end
    - fields.append
    - _parameter_token_value_re.match
    - werkzeug.sansio.multipart.MultipartDecoder.__init__
    - werkzeug.datastructures.structures.iter_multi_items
    - LINE_BREAK_RE.match
    - name.strip
    - werkzeug.formparser.default_stream_factory
    - werkzeug.formparser.MultiPartParser.get_part_charset
    - line.strip
    - headers.get
    - werkzeug._internal._plain_int
    - rest.find
    - line.decode
    - tempfile.TemporaryFile
    - headers.append
    - match.groups
    - mapping.items
    - <builtin>.int
    - werkzeug.sansio.multipart.MultipartDecoder.receive_data
    - <builtin>.min
    - werkzeug.sansio.multipart.MultipartDecoder._parse_headers
    - match.group
    - typing.cast
    - werkzeug.formparser.MultiPartParser.start_file_streaming
    - urllib.parse.unquote
    - rest.strip
    - werkzeug.sansio.multipart.MultipartDecoder._last_partial_boundary_index
    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:
    - m.group
    - werkzeug.http.parse_options_header
    - _continuation_re.search
    - value.partition
    - parts.append
    - _charset_value_re.match
    - options.get
    - _parameter_key_re.match
    - parameters.get
    - match.start
    - <builtin>.len
    - encoding.lower
    - value.strip
    - m.end
    - _parameter_token_value_re.match
    - headers.get
    - rest.find
    - match.groups
    - urllib.parse.unquote
    - rest.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: 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.TemporaryFile
    - tempfile.SpooledTemporaryFile
    - _plain_int_re.fullmatch
    - <builtin>.int
    - event.headers.get
    - werkzeug.formparser.default_stream_factory
    - io.BytesIO
    - typing.cast
    - werkzeug._internal._plain_int
    - 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: event.headers.get
    functionSourceFile: <builtin>
    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:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 199
    functionName: werkzeug._internal._plain_int
    functionSourceFile: werkzeug._internal
    functionUses: 20
    functionsReached:
    - _plain_int_re.fullmatch
    - <builtin>.int
    - value.strip
    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 0x7fc3f802d880>
    argNames:
    - self
    - boundary
    - max_form_memory_size
    - max_parts
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 87
    functionName: werkzeug.sansio.multipart.MultipartDecoder.__init__
    functionSourceFile: werkzeug.sansio.multipart
    functionUses: 5
    functionsReached:
    - re.compile
    - <builtin>.bytearray
    - 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: 127
    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: 140
    functionName: werkzeug.sansio.multipart.MultipartDecoder.next_event
    functionSourceFile: werkzeug.sansio.multipart
    functionUses: 5
    functionsReached:
    - m.group
    - werkzeug.http.parse_options_header
    - _continuation_re.search
    - value.partition
    - <builtin>.isinstance
    - match.end
    - BLANK_LINE_RE.search
    - parts.append
    - <builtin>.max
    - data.splitlines
    - _charset_value_re.match
    - options.get
    - extra.get
    - werkzeug.sansio.multipart.MultipartDecoder._parse_data
    - <builtin>.bytes
    - _parameter_key_re.match
    - match.start
    - HEADER_CONTINUATION_RE.sub
    - <builtin>.len
    - encoding.lower
    - value.strip
    - data.rindex
    - m.end
    - _parameter_token_value_re.match
    - LINE_BREAK_RE.match
    - name.strip
    - line.strip
    - rest.find
    - line.decode
    - headers.append
    - match.groups
    - <builtin>.min
    - werkzeug.sansio.multipart.MultipartDecoder._parse_headers
    - match.group
    - typing.cast
    - urllib.parse.unquote
    - rest.strip
    - werkzeug.sansio.multipart.MultipartDecoder._last_partial_boundary_index
    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 0x7fc3f87f2b80>
    - <ast.Constant object at 0x7fc3f87f2040>
    - <ast.Constant object at 0x7fc3f87f2820>
    - <ast.Constant object at 0x7fc3f87f29a0>
    - <ast.Constant object at 0x7fc3f87f2400>
    - <ast.Constant object at 0x7fc3f87f2d90>
    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:
    - <builtin>.getattr
    - werkzeug.datastructures.headers.Headers.extend
    - mapping.items
    - werkzeug.datastructures.structures.iter_multi_items
    - io.BytesIO
    - werkzeug.datastructures.headers.Headers.__init__
    - <builtin>.isinstance
    - os.fsdecode
    - <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: 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.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:
    - inspect.cleandoc
    - parts.append
    - <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: 0
    functionLinenumber: -1
    functionName: <builtin>.property
    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: 2
    functionLinenumber: -1
    functionName: werkzeug.datastructures.cache_control._CacheControl
    functionSourceFile: werkzeug.datastructures.cache_control
    functionUses: 0
    functionsReached:
    - <builtin>.property
    - <builtin>.staticmethod
    - inspect.cleandoc
    - parts.append
    - werkzeug.datastructures.cache_control.cache_control_property
    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 0x7fc3f807be80>
    - <ast.Constant object at 0x7fc3f807b550>
    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: 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:
    - werkzeug.datastructures.cache_control._CacheControl.to_header
    - 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: 1
    functionLinenumber: 150
    functionName: werkzeug.datastructures.cache_control._CacheControl.__repr__
    functionSourceFile: werkzeug.datastructures.cache_control
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    - <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>.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: 2
    functionLinenumber: -1
    functionName: werkzeug.datastructures.cache_control.RequestCacheControl
    functionSourceFile: werkzeug.datastructures.cache_control
    functionUses: 0
    functionsReached:
    - inspect.cleandoc
    - parts.append
    - <builtin>.property
    - werkzeug.datastructures.cache_control.cache_control_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:
    - inspect.cleandoc
    - parts.append
    - <builtin>.property
    - werkzeug.datastructures.cache_control.cache_control_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.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 0x7fc3f7b2ad60>
    - <ast.Constant object at 0x7fc3f7b2a4c0>
    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.quote_etag
    - http.http_date
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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
    - werkzeug.datastructures.range.IfRange.to_header
    - http.http_date
    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: 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: 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
    - werkzeug.datastructures.range.ContentRange.set
    - <builtin>.min
    - werkzeug.datastructures.range.ContentRange.__init__
    - <builtin>.len
    - werkzeug.datastructures.range.Range.range_for_length
    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 0x7fc3f731eeb0>
    - <ast.Constant object at 0x7fc3f731eac0>
    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: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ranges.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: 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
    - werkzeug.datastructures.range.Range.range_for_length
    - <builtin>.min
    - <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: 2
    functionLinenumber: 113
    functionName: werkzeug.datastructures.range.Range.__str__
    functionSourceFile: werkzeug.datastructures.range
    functionUses: 0
    functionsReached:
    - ranges.append
    - werkzeug.datastructures.range.Range.to_header
    - <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: 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 0x7fc3f7b03640>
    - <ast.Constant object at 0x7fc3f7b033d0>
    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: 0
    functionLinenumber: -1
    functionName: werkzeug.datastructures.auth
    functionSourceFile: werkzeug.datastructures.auth
    functionUses: 0
    functionsReached: []
    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 0x7fc3f7a77880>
    - <ast.Constant object at 0x7fc3f7a778b0>
    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: werkzeug.datastructures.auth
    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
    - 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 0x7fc3f7b1e250>
    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: 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:
    - result.append
    - rest.rstrip
    - werkzeug.http.parse_dict_header
    - match.groups
    - key.strip
    - urllib.parse.unquote.strip
    - rest.strip
    - scheme.lower
    - urllib.request.parse_http_list
    - value.partition
    - encoding.lower
    - werkzeug.datastructures.auth.Authorization.__init__
    - base64.b64decode
    - <builtin>.len
    - urllib.parse.unquote
    - werkzeug.http.parse_list_header
    - item.partition
    - _charset_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: 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: 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: 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: 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: 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
    - match.groups
    - key.strip
    - urllib.parse.unquote.strip
    - urllib.request.parse_http_list
    - <builtin>.len
    - urllib.parse.unquote
    - result.append
    - encoding.lower
    - werkzeug.http.parse_list_header
    - _charset_value_re.match
    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:
    - value_str.replace
    - base64.b64encode
    - token_chars.issuperset
    - <builtin>.isinstance
    - werkzeug.http.quote_header_value
    - werkzeug.http.dump_header
    - items.append
    - <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: base64.b64encode
    functionSourceFile: base64
    functionUses: 17
    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:
    - value_str.replace
    - token_chars.issuperset
    - <builtin>.isinstance
    - werkzeug.http.quote_header_value
    - items.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: 4
    functionLinenumber: 136
    functionName: werkzeug.datastructures.auth.Authorization.__str__
    functionSourceFile: werkzeug.datastructures.auth
    functionUses: 0
    functionsReached:
    - value_str.replace
    - base64.b64encode
    - token_chars.issuperset
    - <builtin>.isinstance
    - werkzeug.datastructures.auth.Authorization.to_header
    - werkzeug.http.quote_header_value
    - werkzeug.http.dump_header
    - items.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: 4
    functionLinenumber: 139
    functionName: werkzeug.datastructures.auth.Authorization.__repr__
    functionSourceFile: werkzeug.datastructures.auth
    functionUses: 0
    functionsReached:
    - value_str.replace
    - base64.b64encode
    - token_chars.issuperset
    - <builtin>.isinstance
    - werkzeug.datastructures.auth.Authorization.to_header
    - werkzeug.http.quote_header_value
    - werkzeug.http.dump_header
    - items.append
    - <builtin>.str
    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 0x7fc3f7968f40>
    - <ast.Constant object at 0x7fc3f7968f70>
    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:
    - werkzeug.datastructures.structures.CallbackDict.__init__
    - auth_type.lower
    - <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: 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.sansio.response.Response.www_authenticate.on_update
    - werkzeug.datastructures.auth.WWWAuthenticate._trigger_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 0x7fc3f731b8e0>
    - <ast.Constant object at 0x7fc3f731b340>
    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: 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: 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.sansio.response.Response.www_authenticate.on_update
    - werkzeug.datastructures.auth.WWWAuthenticate._trigger_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:
    - werkzeug.sansio.response.Response.www_authenticate.on_update
    - werkzeug.datastructures.structures.CallbackDict.__init__
    - werkzeug.datastructures.auth.WWWAuthenticate._trigger_on_update
    - <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.auth.WWWAuthenticate.parameters.<lambda1>
    functionSourceFile: werkzeug.datastructures.auth
    functionUses: 0
    functionsReached:
    - werkzeug.sansio.response.Response.www_authenticate.on_update
    - werkzeug.datastructures.auth.WWWAuthenticate._trigger_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.sansio.response.Response.www_authenticate.on_update
    - werkzeug.datastructures.auth.WWWAuthenticate._trigger_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.sansio.response.Response.www_authenticate.on_update
    - werkzeug.datastructures.auth.WWWAuthenticate._trigger_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.sansio.response.Response.www_authenticate.on_update
    - werkzeug.datastructures.auth.WWWAuthenticate._trigger_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 0x7fc3f79e9370>
    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: 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:
    - werkzeug.http.parse_dict_header
    - auth_type.lower
    - urllib.request.parse_http_list
    - value.partition
    - result.append
    - _charset_value_re.match
    - <builtin>.super
    - urllib.parse.unquote.strip
    - scheme.lower
    - <builtin>.len
    - rest.rstrip
    - encoding.lower
    - werkzeug.http.parse_list_header
    - key.strip
    - item.partition
    - match.groups
    - werkzeug.datastructures.auth.WWWAuthenticate.__init__
    - werkzeug.datastructures.structures.CallbackDict.__init__
    - urllib.parse.unquote
    - rest.strip
    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:
    - value_str.replace
    - token_chars.issuperset
    - <builtin>.isinstance
    - werkzeug.http.quote_header_value
    - werkzeug.http.dump_header
    - items.append
    - <builtin>.str
    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 0x7fc3f7ed5af0>
    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: items.append
    functionSourceFile: <builtin>
    functionUses: 28
    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:
    - value_str.replace
    - token_chars.issuperset
    - werkzeug.datastructures.auth.WWWAuthenticate.to_header
    - <builtin>.isinstance
    - werkzeug.http.quote_header_value
    - werkzeug.http.dump_header
    - items.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: 3
    functionLinenumber: 316
    functionName: werkzeug.datastructures.auth.WWWAuthenticate.__repr__
    functionSourceFile: werkzeug.datastructures.auth
    functionUses: 0
    functionsReached:
    - value_str.replace
    - werkzeug.datastructures.auth.WWWAuthenticate._trigger_on_update
    - token_chars.issuperset
    - werkzeug.datastructures.auth.WWWAuthenticate.to_header
    - <builtin>.isinstance
    - werkzeug.datastructures.auth.WWWAuthenticate.type
    - werkzeug.http.quote_header_value
    - werkzeug.http.dump_header
    - werkzeug.sansio.response.Response.www_authenticate.on_update
    - items.append
    - <builtin>.str
    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:
    - <builtin>.frozenset
    - typing.overload
    - re.compile
    - typing.TypeVar
    - _cookie_slash_map.update
    - v.to_bytes
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.frozenset
    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: re.compile
    functionSourceFile: re
    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: 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: 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:
    - value_str.replace
    - token_chars.issuperset
    - segments.append
    - werkzeug.http.quote_header_value
    - options.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: 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: 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:
    - result.append
    - <builtin>.len
    - urllib.request.parse_http_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: 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: 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: _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: 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: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 2
    IfCount: 6
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc3f80ee160>
    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:
    - werkzeug.datastructures.accept.Accept.__init__
    - m.group
    - werkzeug.http.parse_options_header
    - _continuation_re.search
    - urllib.request.parse_http_list
    - <builtin>.float
    - value.partition
    - <builtin>.isinstance
    - <builtin>.sorted
    - werkzeug.http.quote_header_value
    - parts.append
    - options.items
    - result.append
    - options.pop
    - _charset_value_re.match
    - <builtin>.str
    - options.get
    - _q_value_re.fullmatch
    - <builtin>.super
    - token_chars.issuperset
    - _parameter_key_re.match
    - match.start
    - <builtin>.len
    - encoding.lower
    - value.strip
    - werkzeug.http.parse_list_header
    - werkzeug.http.dump_options_header
    - m.end
    - _parameter_token_value_re.match
    - rest.find
    - value_str.replace
    - match.groups
    - segments.append
    - typing.cast
    - urllib.parse.unquote
    - rest.strip
    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 0x7fc3f7add6a0>
    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 0x7fc3f7c9ca60>
    - <ast.Constant object at 0x7fc3f7c9ca30>
    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:
    - werkzeug.http.parse_dict_header
    - match.groups
    - <builtin>.super
    - key.strip
    - urllib.parse.unquote.strip
    - urllib.request.parse_http_list
    - encoding.lower
    - typing.cast
    - werkzeug.datastructures.cache_control._CacheControl.__init__
    - <builtin>.len
    - urllib.parse.unquote
    - result.append
    - item.partition
    - werkzeug.http.parse_list_header
    - _charset_value_re.match
    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 0x7fc3f7d35a00>
    - <ast.Constant object at 0x7fc3f7d35a30>
    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
    - value.split
    - typing.cast
    - items.append
    - value.strip
    - directive.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: 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 0x7fc3f7b8bc70>
    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:
    - result.append
    - <builtin>.len
    - urllib.request.parse_http_list
    - werkzeug.http.parse_list_header
    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:
    - email.utils.parsedate_to_datetime
    - werkzeug.http.unquote_etag
    - dt.replace
    - etag.startswith
    - etag.strip
    - werkzeug.http.parse_date
    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:
    - email.utils.parsedate_to_datetime
    - dt.replace
    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: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 2
    IfCount: 8
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc3f7ca3df0>
    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
    - item.strip
    - ranges.append
    - value.strip
    - item.split
    - <builtin>.int
    - _plain_int_re.fullmatch
    - end_str.strip
    - item.startswith
    - begin_str.strip
    - werkzeug._internal._plain_int
    - value.split
    - units.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: 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: 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: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 1
    IfCount: 7
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc3f8020d30>
    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:
    - werkzeug.http.is_byte_range_valid
    - rng.split
    - <builtin>.int
    - value.strip
    - _plain_int_re.fullmatch
    - rangedef.split
    - 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 0x7fc3f8304520>
    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
    - strong.append
    - _etag_re.match
    - match.groups
    - match.end
    - <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: 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.hexdigest
    - 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: 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 0x7fc3f7b61130>
    argNames:
    - timestamp
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1013
    functionName: werkzeug.http.http_date
    functionSourceFile: werkzeug.http
    functionUses: 10
    functionsReached:
    - datetime.time
    - datetime.datetime.combine
    - email.utils.format_datetime
    - <builtin>.isinstance
    - werkzeug._internal._dt_as_utc
    - time.mktime.astimezone
    - email.utils.formatdate
    - time.mktime
    - 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 0x7fc3f7f75490>
    argNames:
    - value
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1045
    functionName: werkzeug.http.parse_age
    functionSourceFile: werkzeug.http
    functionUses: 0
    functionsReached:
    - datetime.timedelta
    - <builtin>.int
    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 0x7fc3f7f75fa0>
    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 0x7fc3f7bf2df0>
    - <ast.Constant object at 0x7fc3f7bf2cd0>
    - <ast.Constant object at 0x7fc3f7bf2220>
    - <ast.Constant object at 0x7fc3f7bf2730>
    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:
    - _etag_re.match
    - werkzeug.http.parse_etags
    - email.utils.parsedate_to_datetime
    - werkzeug.sansio.http.is_resource_modified
    - <builtin>.isinstance
    - werkzeug.datastructures.etag.ETags.contains_weak
    - match.end
    - werkzeug.http.unquote_etag
    - hashlib.sha1
    - werkzeug.http.parse_if_range_header
    - werkzeug.datastructures.etag.ETags.is_weak
    - time.mktime.astimezone
    - <builtin>.len
    - time.mktime.replace
    - etag.strip
    - weak.append
    - werkzeug.datastructures.etag.ETags.contains
    - etag.startswith
    - dt.replace
    - werkzeug.http.parse_date
    - strong.append
    - match.groups
    - hashlib.sha1.hexdigest
    - werkzeug.http.generate_etag
    - werkzeug._internal._dt_as_utc
    - werkzeug.datastructures.etag.ETags.is_strong
    - environ.get
    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 0x7fc3f7d28730>
    - <ast.Constant object at 0x7fc3f7d28820>
    - <ast.Constant object at 0x7fc3f7d28eb0>
    - <ast.Constant object at 0x7fc3f7d28a60>
    - <ast.Constant object at 0x7fc3f7d28220>
    - <ast.Constant object at 0x7fc3f7d28e50>
    - <ast.Constant object at 0x7fc3f7d28be0>
    - <ast.Constant object at 0x7fc3f7d281f0>
    - <ast.Constant object at 0x7fc3f7d28cd0>
    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:
    - _etag_re.match
    - werkzeug.http.parse_etags
    - email.utils.parsedate_to_datetime
    - <builtin>.isinstance
    - werkzeug.datastructures.etag.ETags.contains_weak
    - match.end
    - hashlib.sha1
    - werkzeug.http.parse_if_range_header
    - werkzeug.datastructures.etag.ETags.is_weak
    - time.mktime.astimezone
    - <builtin>.len
    - time.mktime.replace
    - etag.strip
    - weak.append
    - werkzeug.datastructures.etag.ETags.contains
    - etag.startswith
    - dt.replace
    - werkzeug.http.parse_date
    - strong.append
    - match.groups
    - hashlib.sha1.hexdigest
    - werkzeug.http.generate_etag
    - werkzeug._internal._dt_as_utc
    - werkzeug.datastructures.etag.ETags.is_strong
    - werkzeug.http.unquote_etag
    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 0x7fc3f7fd1910>
    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:
    - x.lower
    - header.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: 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: 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 0x7fc3f82197f0>
    - <ast.Constant object at 0x7fc3f8219250>
    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_unslash_re.sub
    - out.append
    - cv.strip
    - typing.cast
    - <builtin>.len
    - ck.strip
    - _cookie_re.findall
    linkageType: pythonLinkage
    raised: []
    returnType: N/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 0x7fc3f8330d30>
    - <ast.Constant object at 0x7fc3f8330ac0>
    - <ast.Constant object at 0x7fc3f8330be0>
    - <ast.Constant object at 0x7fc3f8330910>
    - <ast.Constant object at 0x7fc3f83305b0>
    - <ast.Constant object at 0x7fc3f8330640>
    - <ast.Constant object at 0x7fc3f8330a90>
    - <ast.Constant object at 0x7fc3f8330880>
    - <ast.Constant object at 0x7fc3f83304f0>
    - <ast.Constant object at 0x7fc3f8330a30>
    - <ast.Constant object at 0x7fc3f8330c40>
    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:
    - _cookie_slash_re.sub
    - werkzeug.http.http_date
    - <builtin>.isinstance
    - buf.append
    - datetime.time
    - value.encode
    - key.encode
    - time.mktime.astimezone
    - samesite.title
    - <builtin>.len
    - _cookie_no_quote_re.fullmatch
    - time.mktime.replace
    - datetime.datetime.combine
    - domain.partition
    - datetime.datetime.now
    - warnings.warn
    - <builtin>.int
    - email.utils.format_datetime
    - urllib.parse.quote
    - werkzeug._internal._dt_as_utc
    - time.mktime
    - email.utils.formatdate
    - max_age.total_seconds
    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: 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: 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: 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: 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: 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_strong
    - werkzeug.datastructures.etag.ETags.is_weak
    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: ''
    functionUses: 10
    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:
    - m.group
    - <builtin>.int
    - <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.TypeVar
    - typing.overload
    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: 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: 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: 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.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: 1
    argDefaultValues: []
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 37
    functionName: werkzeug._internal._get_environ
    functionSourceFile: werkzeug._internal
    functionUses: 7
    functionsReached:
    - <builtin>.getattr
    - <builtin>.isinstance
    - <builtin>.type
    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: 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: _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 0x7fc3f89a4cd0>
    - <ast.Constant object at 0x7fc3f89a42b0>
    - <ast.Constant object at 0x7fc3f89a48b0>
    - <ast.Constant object at 0x7fc3f89a4820>
    - <ast.Constant object at 0x7fc3f89a4070>
    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
    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: 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:
    - _mime_split_re.split
    - werkzeug.datastructures.accept.MIMEAccept._specificity
    - <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: 2
    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:
    - value.lower
    - item.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: 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: 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.Accept.quality
    - werkzeug.datastructures.accept._normalize_lang
    - werkzeug.datastructures.accept._normalize_mime
    - list.__getitem__
    - _locale_delim_re.split
    - werkzeug.datastructures.accept.LanguageAccept._value_matches
    - codecs.lookup
    - <builtin>.isinstance
    - <builtin>.sorted
    - werkzeug.datastructures.accept.CharsetAccept._value_matches._normalize
    - name.lower
    - werkzeug.datastructures.accept.MIMEAccept._value_matches
    - value.lower
    - _mime_split_re.split
    - werkzeug.datastructures.accept.CharsetAccept._value_matches
    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._normalize_lang
    - werkzeug.datastructures.accept._normalize_mime
    - _locale_delim_re.split
    - werkzeug.datastructures.accept.LanguageAccept._value_matches
    - codecs.lookup
    - <builtin>.sorted
    - werkzeug.datastructures.accept.CharsetAccept._value_matches._normalize
    - name.lower
    - werkzeug.datastructures.accept.MIMEAccept._value_matches
    - value.lower
    - _mime_split_re.split
    - werkzeug.datastructures.accept.CharsetAccept._value_matches
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 7
    functionsReached:
    - value.lower
    - _locale_delim_re.split
    - werkzeug.datastructures.accept._normalize_lang
    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: 343
    functionName: werkzeug.datastructures.accept.CharsetAccept._value_matches
    functionSourceFile: werkzeug.datastructures.accept
    functionUses: 7
    functionsReached:
    - codecs.lookup
    - werkzeug.datastructures.accept.CharsetAccept._value_matches._normalize
    - name.lower
    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: 7
    functionsReached:
    - value.lower
    - <builtin>.sorted
    - _mime_split_re.split
    - werkzeug.datastructures.accept._normalize_mime
    linkageType: pythonLinkage
    raised:
    - ValueError
    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._normalize_lang
    - werkzeug.datastructures.accept._normalize_mime
    - _locale_delim_re.split
    - werkzeug.datastructures.accept.LanguageAccept._value_matches
    - codecs.lookup
    - <builtin>.sorted
    - werkzeug.datastructures.accept.CharsetAccept._value_matches._normalize
    - name.lower
    - werkzeug.datastructures.accept.MIMEAccept._value_matches
    - value.lower
    - _mime_split_re.split
    - werkzeug.datastructures.accept.CharsetAccept._value_matches
    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._normalize_lang
    - werkzeug.datastructures.accept._normalize_mime
    - _locale_delim_re.split
    - werkzeug.datastructures.accept.LanguageAccept._value_matches
    - codecs.lookup
    - <builtin>.isinstance
    - <builtin>.sorted
    - werkzeug.datastructures.accept.CharsetAccept._value_matches._normalize
    - list.index
    - name.lower
    - werkzeug.datastructures.accept.MIMEAccept._value_matches
    - value.lower
    - _mime_split_re.split
    - werkzeug.datastructures.accept.CharsetAccept._value_matches
    - <builtin>.enumerate
    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.Accept.index
    - werkzeug.datastructures.accept._normalize_lang
    - werkzeug.datastructures.accept._normalize_mime
    - _locale_delim_re.split
    - list.index
    - codecs.lookup
    - <builtin>.sorted
    - <builtin>.isinstance
    - werkzeug.datastructures.accept.CharsetAccept._value_matches._normalize
    - werkzeug.datastructures.accept.LanguageAccept._value_matches
    - name.lower
    - werkzeug.datastructures.accept.MIMEAccept._value_matches
    - value.lower
    - _mime_split_re.split
    - werkzeug.datastructures.accept.CharsetAccept._value_matches
    - <builtin>.enumerate
    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:
    - result.append
    - werkzeug.datastructures.accept.Accept.to_header
    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: 1
    functionsReached:
    - werkzeug.datastructures.accept._normalize_lang
    - werkzeug.datastructures.accept._normalize_mime
    - _locale_delim_re.split
    - werkzeug.datastructures.accept.LanguageAccept._value_matches
    - codecs.lookup
    - <builtin>.sorted
    - werkzeug.datastructures.accept.CharsetAccept._value_matches._normalize
    - name.lower
    - werkzeug.datastructures.accept.MIMEAccept._value_matches
    - value.lower
    - _mime_split_re.split
    - werkzeug.datastructures.accept.CharsetAccept._value_matches
    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 0x7fc3f820f0d0>
    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: 0
    functionsReached:
    - werkzeug.datastructures.accept.Accept._best_single_match
    - werkzeug.datastructures.accept._normalize_lang
    - werkzeug.datastructures.accept.MIMEAccept._specificity
    - werkzeug.datastructures.accept._normalize_mime
    - _locale_delim_re.split
    - werkzeug.datastructures.accept.LanguageAccept._value_matches
    - codecs.lookup
    - werkzeug.datastructures.accept.CharsetAccept._value_matches._normalize
    - <builtin>.sorted
    - name.lower
    - werkzeug.datastructures.accept.CharsetAccept._value_matches
    - werkzeug.datastructures.accept.MIMEAccept._value_matches
    - value.lower
    - _mime_split_re.split
    - <builtin>.tuple
    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: 8
    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: 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: 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: 8
    functionsReached:
    - value.lower
    - _locale_delim_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: _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 0x7fc3f7f95cd0>
    argNames:
    - self
    - matches
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 290
    functionName: werkzeug.datastructures.accept.LanguageAccept.best_match
    functionSourceFile: werkzeug.datastructures.accept
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.accept.Accept.__init__
    - <builtin>.super
    - _locale_delim_re.split
    - <builtin>.next
    - <builtin>.sorted
    - <builtin>.isinstance
    - item.startswith
    - werkzeug.datastructures.accept.LanguageAccept.best_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: <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: 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: 8
    functionsReached:
    - codecs.lookup
    - 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: codecs.lookup
    functionSourceFile: codecs
    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: name.lower
    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: 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 0x7fc3f7339d30>
    - <ast.Constant object at 0x7fc3f7339ee0>
    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: 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:
    - d.lists
    - rv.setdefault
    - rv.items
    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>.list
    - <builtin>.super
    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 0x7fc3f809c940>
    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 0x7fc3f7a09430>
    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:
    - found.add
    - d.items
    - <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: 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:
    - <builtin>.set
    - <builtin>.iter
    - werkzeug.datastructures.structures.CombinedMultiDict._keys_impl
    linkageType: pythonLinkage
    raised: []
    returnType: N/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:
    - <builtin>.list
    - <builtin>.dict
    - <builtin>.super
    - werkzeug.datastructures.structures.MultiDict.lists
    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>.len
    - <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: 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 0x7fc3f79e9ca0>
    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>.list
    - result.append
    - <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
    - 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>.list
    - <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 0x7fc3f809c070>
    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 0x7fc3f809c3a0>
    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>.list
    - <builtin>.super
    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 0x7fc3f7d31670>
    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:
    - <builtin>.dict
    - <builtin>.super
    - <builtin>.list
    - werkzeug.datastructures.structures.MultiDict.deepcopy
    - werkzeug.datastructures.structures.MultiDict.lists
    - werkzeug.datastructures.structures.MultiDict.to_dict
    - werkzeug.datastructures.structures.MultiDict.items
    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:
    - werkzeug.datastructures.structures.MultiDict.add
    - <builtin>.super
    - 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: 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
    - werkzeug.datastructures.structures.MultiDict.copy
    - rv.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: rv.update
    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: []
    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.add
    - <builtin>.super
    - mapping.items
    - werkzeug.datastructures.structures.iter_multi_items
    - <builtin>.isinstance
    - werkzeug.datastructures.structures.MultiDict.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 0x7fc3f8000280>
    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>.len
    - <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: 1
    functionLinenumber: 508
    functionName: werkzeug.datastructures.structures.MultiDict.popitem
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <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
    - 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:
    - <builtin>.dict
    - <builtin>.super
    - <builtin>.list
    - werkzeug.datastructures.structures.MultiDict.deepcopy
    - werkzeug.datastructures.structures.MultiDict.lists
    - werkzeug.datastructures.structures.MultiDict.to_dict
    - werkzeug.datastructures.structures.MultiDict.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: 2
    functionLinenumber: 545
    functionName: werkzeug.datastructures.structures.MultiDict.__repr__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - <builtin>.type
    - werkzeug.datastructures.structures.MultiDict.items
    - <builtin>.super
    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 0x7fc3f8334dc0>
    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:
    - dict.setdefault
    - werkzeug.datastructures.structures._omd_bucket.__init__
    - <builtin>.super
    - mapping.items
    - werkzeug.datastructures.structures._OrderedMultiDict.add
    - warnings.warn
    - werkzeug.datastructures.structures.iter_multi_items
    - <builtin>.isinstance
    - werkzeug.datastructures.structures._OrderedMultiDict.update
    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:
    - dict.setdefault
    - werkzeug.datastructures.structures._omd_bucket.__init__
    - mapping.items
    - werkzeug.datastructures.structures._OrderedMultiDict.add
    - werkzeug.datastructures.structures.iter_multi_items
    - <builtin>.isinstance
    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:
    - dict.__getitem__
    - werkzeug.datastructures.structures._OrderedMultiDict.lists
    - <builtin>.next
    - other.items
    - werkzeug.datastructures.structures._OrderedMultiDict.getlist
    - returned_keys.add
    - <builtin>.isinstance
    - werkzeug.datastructures.structures._OrderedMultiDict.items
    - <builtin>.iter
    - <builtin>.len
    - result.append
    - other.getlist
    - <builtin>.set
    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 0x7fc3f7cc8b20>
    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: <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: 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:
    - dict.__getitem__
    - werkzeug.datastructures.structures._OrderedMultiDict.getlist
    - returned_keys.add
    - result.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: 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:
    - <builtin>.list
    - returned_keys.add
    - <builtin>.type
    - werkzeug.datastructures.structures._OrderedMultiDict.items
    - <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: 653
    functionName: werkzeug.datastructures.structures._OrderedMultiDict.__getstate__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - <builtin>.list
    - werkzeug.datastructures.structures._OrderedMultiDict.items
    - returned_keys.add
    - <builtin>.set
    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:
    - werkzeug.datastructures.structures._OrderedMultiDict.add
    - dict.setdefault
    - 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:
    - bucket.unlink
    - dict.setdefault
    - werkzeug.datastructures.structures._omd_bucket.__init__
    - werkzeug.datastructures.structures._OrderedMultiDict.add
    - dict.pop
    - 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 0x7fc3f80d7f70>
    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
    - returned_keys.add
    - <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: 3
    functionLinenumber: 677
    functionName: werkzeug.datastructures.structures._OrderedMultiDict.__iter__
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.structures._OrderedMultiDict.keys
    - returned_keys.add
    - werkzeug.datastructures.structures._OrderedMultiDict.items
    - <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: 2
    functionLinenumber: 680
    functionName: werkzeug.datastructures.structures._OrderedMultiDict.values
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.structures._OrderedMultiDict.items
    - 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: 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 0x7fc3f7c54700>
    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:
    - dict.__getitem__
    - werkzeug.datastructures.structures._OrderedMultiDict.lists
    - werkzeug.datastructures.structures._OrderedMultiDict.getlist
    - returned_keys.add
    - result.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: 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:
    - bucket.unlink
    - dict.setdefault
    - werkzeug.datastructures.structures._omd_bucket.__init__
    - werkzeug.datastructures.structures._OrderedMultiDict.add
    - dict.pop
    - 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 0x7fc3f80e7550>
    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 0x7fc3f7c69ac0>
    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 0x7fc3f7c72580>
    - <ast.Constant object at 0x7fc3f7c72190>
    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 0x7fc3f7b81a30>
    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: 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:
    - <builtin>.set
    - werkzeug.datastructures.structures.CombinedMultiDict._keys_impl
    linkageType: pythonLinkage
    raised: []
    returnType: N/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:
    - found.add
    - d.items
    - werkzeug.datastructures.structures.CombinedMultiDict.items
    - <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.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:
    - d.lists
    - werkzeug.datastructures.structures.CombinedMultiDict.lists
    - rv.setdefault
    - rv.items
    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:
    - found.add
    - werkzeug.datastructures.structures.CombinedMultiDict.lists
    - rv.setdefault
    - werkzeug.datastructures.structures.MultiDict.__init__
    - <builtin>.isinstance
    - werkzeug.datastructures.structures.MultiDict.items
    - werkzeug.datastructures.structures.CombinedMultiDict.items
    - werkzeug.datastructures.structures.CombinedMultiDict._keys_impl
    - werkzeug.datastructures.structures.CombinedMultiDict.__iter__
    - <builtin>.super
    - werkzeug.datastructures.structures.MultiDict.__iter__
    - d.items
    - <builtin>.set
    - <builtin>.list
    - d.lists
    - rv.items
    - werkzeug.datastructures.structures.MultiDict.lists
    - <builtin>.iter
    - tmp.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:
    - <builtin>.set
    - <builtin>.len
    - werkzeug.datastructures.structures.CombinedMultiDict._keys_impl
    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:
    - found.add
    - werkzeug.datastructures.structures.CombinedMultiDict.lists
    - rv.setdefault
    - werkzeug.datastructures.structures.MultiDict.__init__
    - <builtin>.isinstance
    - werkzeug.datastructures.structures.MultiDict.items
    - werkzeug.datastructures.structures.CombinedMultiDict.items
    - werkzeug.datastructures.structures.CombinedMultiDict._keys_impl
    - werkzeug.datastructures.structures.CombinedMultiDict.__iter__
    - <builtin>.super
    - werkzeug.datastructures.structures.MultiDict.__iter__
    - d.items
    - <builtin>.set
    - <builtin>.list
    - d.lists
    - rv.items
    - werkzeug.datastructures.structures.MultiDict.lists
    - <builtin>.iter
    - tmp.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 0x7fc3f7fd7250>
    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:
    - dict.setdefault
    - werkzeug.datastructures.structures._omd_bucket.__init__
    - <builtin>.super
    - mapping.items
    - werkzeug.datastructures.structures._OrderedMultiDict.add
    - 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: 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:
    - dict.setdefault
    - werkzeug.datastructures.structures._omd_bucket.__init__
    - <builtin>.super
    - mapping.items
    - werkzeug.datastructures.structures._OrderedMultiDict.add
    - warnings.warn
    - werkzeug.datastructures.structures._OrderedMultiDict.__init__
    - werkzeug.datastructures.structures.iter_multi_items
    - <builtin>.isinstance
    - werkzeug.datastructures.structures._OrderedMultiDict.update
    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 0x7fc3f81fea60>
    - <ast.Constant object at 0x7fc3f81fe4c0>
    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:
    - header.lower
    - <builtin>.enumerate
    - 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:
    - werkzeug.datastructures.structures.HeaderSet.remove
    - header.lower
    - <builtin>.enumerate
    - 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
    - header
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1131
    functionName: werkzeug.datastructures.structures.HeaderSet.find
    functionSourceFile: werkzeug.datastructures.structures
    functionUses: 1
    functionsReached:
    - header.lower
    - item.lower
    - <builtin>.enumerate
    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:
    - werkzeug.datastructures.structures.HeaderSet.find
    - header.lower
    - item.lower
    - <builtin>.enumerate
    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 0x7fc3f7355430>
    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>.tuple
    - <builtin>.hash
    linkageType: pythonLinkage
    raised: []
    returnType: N/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>.list
    - <builtin>.type
    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 0x7fc3f7d1aa30>
    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 0x7fc3f7b611c0>
    - <ast.Constant object at 0x7fc3f7b61a90>
    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 0x7fc3f81e2340>
    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:
    - instance.__init__
    - <builtin>.super
    - 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:
    - werkzeug.datastructures.mixins.ImmutableDictMixin._iter_hashitems
    - <builtin>.frozenset
    - <builtin>.hash
    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 0x7fc3f8331790>
    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 0x7fc3f8e57970>
    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>.list
    - <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: 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 0x7fc3f79fa370>
    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 0x7fc3f7d2b700>
    - <ast.Name object at 0x7fc3f7d2b9d0>
    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:
    - <builtin>.super
    - werkzeug.datastructures.mixins.UpdateDictMixin.__ior__
    - werkzeug.datastructures.mixins.UpdateDictMixin.clear
    - werkzeug.datastructures.mixins.UpdateDictMixin.update
    - werkzeug.datastructures.mixins.UpdateDictMixin.__setitem__
    - werkzeug.datastructures.mixins.UpdateDictMixin.popitem
    - werkzeug.datastructures.mixins.UpdateDictMixin.__delitem__
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7fc3f7fb9e20>
    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: 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: 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: 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: 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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc3f7355ac0>
    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:
    - typing.overload
    - functools.update_wrapper
    - 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 0x7fc3f7d745e0>
    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: 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:
    - <builtin>.property
    - werkzeug.datastructures.csp.csp_property
    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 0x7fc3f7d74340>
    - <ast.Constant object at 0x7fc3f7d74250>
    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: 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.datastructures.csp.ContentSecurityPolicy.to_header
    - 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: 1
    functionLinenumber: 98
    functionName: werkzeug.datastructures.csp.ContentSecurityPolicy.__repr__
    functionSourceFile: werkzeug.datastructures.csp
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    - <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.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 0x7fc3f7a77460>
    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:
    - mapping.items
    - <builtin>.isinstance
    - werkzeug.datastructures.headers.Headers.extend
    - werkzeug.datastructures.structures.iter_multi_items
    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
    - k.lower
    - werkzeug.datastructures.headers.Headers.get
    - key.lower
    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 0x7fc3f79685b0>
    - <ast.Constant object at 0x7fc3f7968400>
    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:
    - k.lower
    - werkzeug.datastructures.headers.Headers._get_key
    - key.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:
    - _plain_int_re.fullmatch
    - <builtin>.int
    - 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
    - http.parse_options_header
    - werkzeug.datastructures.file_storage.FileStorage._parse_content_type
    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
    - http.parse_options_header
    - werkzeug.datastructures.file_storage.FileStorage._parse_content_type
    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 0x7fc3f8331c10>
    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:
    - os.fspath.close
    - <builtin>.hasattr
    - shutil.copyfileobj
    - <builtin>.isinstance
    - <builtin>.open
    - os.fspath
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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 0x7fc3f7ed5100>
    - <ast.Constant object at 0x7fc3f7ed5e50>
    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:
    - <builtin>.getattr
    - werkzeug.datastructures.headers.Headers.extend
    - werkzeug.datastructures.file_storage.FileStorage.__init__
    - mapping.items
    - werkzeug.datastructures.structures.iter_multi_items
    - io.BytesIO
    - werkzeug.datastructures.headers.Headers.__init__
    - <builtin>.isinstance
    - <builtin>.open
    - os.fsdecode
    - os.fspath
    - 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: 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: 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 0x7fc3f79e9250>
    argNames:
    - kwargs
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 225
    functionName: werkzeug.datastructures.headers.Headers.extend
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 10
    functionsReached:
    - mapping.items
    - <builtin>.isinstance
    - werkzeug.datastructures.structures.iter_multi_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
    - werkzeug.datastructures.headers.Headers._get_key
    - k.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 90
    functionName: werkzeug.datastructures.headers.Headers._get_key
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 9
    functionsReached:
    - k.lower
    - key.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:
    - old_key.lower
    - werkzeug.datastructures.headers._options_header_vkw
    - kw.items
    - key.lower
    - k.replace
    - <builtin>.map
    - <builtin>.isinstance
    - http.dump_options_header
    - <builtin>.iter
    - _newline_re.search
    - werkzeug.datastructures.headers._str_header_value
    - werkzeug.datastructures.headers.Headers.set
    - <builtin>.enumerate
    - <builtin>.str
    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:
    - old_key.lower
    - kw.items
    - werkzeug.datastructures.headers._options_header_vkw
    - key.lower
    - k.replace
    - <builtin>.isinstance
    - http.dump_options_header
    - <builtin>.iter
    - werkzeug.datastructures.headers._str_header_value
    - _newline_re.search
    - <builtin>.enumerate
    - <builtin>.str
    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 0x7fc3f82ec820>
    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:
    - werkzeug.datastructures.headers.Headers.__iter__
    - key.lower
    - k.lower
    - <builtin>.iter
    - 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: 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:
    - werkzeug.datastructures.headers.Headers.__iter__
    - key.lower
    - k.lower
    - <builtin>.iter
    - result.append
    - werkzeug.datastructures.headers.Headers.getlist
    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 0x7fc3f8200670>
    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:
    - werkzeug.datastructures.headers.Headers.__iter__
    - <builtin>.iter
    - key.lower
    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 0x7fc3f804e5e0>
    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:
    - werkzeug.datastructures.headers.Headers.items
    - werkzeug.datastructures.headers.Headers.__iter__
    - <builtin>.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:
    - werkzeug.datastructures.headers.Headers.items
    - werkzeug.datastructures.headers.Headers.__iter__
    - <builtin>.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:
    - key.lower
    - k.lower
    - new.append
    - <builtin>.isinstance
    - werkzeug.datastructures.headers.Headers._del_key
    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:
    - k.lower
    - new.append
    - 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
    - key.lower
    - new.append
    - k.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 0x7fc3f81fa100>
    - <ast.Name object at 0x7fc3f81faf70>
    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:
    - key.lower
    - k.lower
    - new.append
    - <builtin>.isinstance
    - werkzeug.datastructures.headers.Headers._get_key
    - werkzeug.datastructures.headers.Headers.remove
    - werkzeug.datastructures.headers.Headers._del_key
    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:
    - k.lower
    - werkzeug.datastructures.headers.Headers._get_key
    - key.lower
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 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:
    - werkzeug.datastructures.headers._options_header_vkw
    - kw.items
    - k.replace
    - <builtin>.isinstance
    - http.dump_options_header
    - werkzeug.datastructures.headers._str_header_value
    - _newline_re.search
    - <builtin>.str
    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:
    - k.replace
    - http.dump_options_header
    - kw.items
    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
    - _newline_re.search
    - <builtin>.str
    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: 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:
    - old_key.lower
    - key.lower
    - k.replace
    - <builtin>.isinstance
    - <builtin>.enumerate
    - <builtin>.str
    - k.lower
    - new.append
    - werkzeug.datastructures.headers.Headers.add
    - werkzeug.datastructures.headers.Headers.remove
    - werkzeug.datastructures.headers._options_header_vkw
    - http.dump_options_header
    - werkzeug.datastructures.headers.Headers._del_key
    - kw.items
    - <builtin>.next
    - <builtin>.iter
    - _newline_re.search
    - werkzeug.datastructures.headers._str_header_value
    - werkzeug.datastructures.headers.Headers.set
    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:
    - old_key.lower
    - kw.items
    - werkzeug.datastructures.headers._options_header_vkw
    - key.lower
    - k.lower
    - k.replace
    - <builtin>.isinstance
    - werkzeug.datastructures.headers.Headers._get_key
    - http.dump_options_header
    - <builtin>.iter
    - _newline_re.search
    - werkzeug.datastructures.headers._str_header_value
    - werkzeug.datastructures.headers.Headers.set
    - <builtin>.enumerate
    - <builtin>.str
    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:
    - werkzeug.datastructures.headers.Headers.__iter__
    - old_key.lower
    - key.lower
    - k.replace
    - <builtin>.isinstance
    - result.append
    - <builtin>.enumerate
    - <builtin>.str
    - k.lower
    - new.append
    - werkzeug.datastructures.headers.Headers.add
    - werkzeug.datastructures.headers.Headers.remove
    - werkzeug.datastructures.headers._options_header_vkw
    - http.dump_options_header
    - werkzeug.datastructures.headers.Headers.setlist
    - werkzeug.datastructures.headers.Headers._del_key
    - kw.items
    - <builtin>.next
    - <builtin>.iter
    - _newline_re.search
    - werkzeug.datastructures.headers._str_header_value
    - werkzeug.datastructures.headers.Headers.set
    - werkzeug.datastructures.headers.Headers.getlist
    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:
    - werkzeug.datastructures.headers._options_header_vkw
    - old_key.lower
    - kw.items
    - key.lower
    - k.replace
    - <builtin>.isinstance
    - werkzeug.datastructures.headers.Headers.set
    - http.dump_options_header
    - <builtin>.iter
    - werkzeug.datastructures.headers._str_header_value
    - _newline_re.search
    - <builtin>.enumerate
    - <builtin>.str
    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 0x7fc3f816b4f0>
    argNames:
    - kwargs
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 489
    functionName: werkzeug.datastructures.headers.Headers.update
    functionSourceFile: werkzeug.datastructures.headers
    functionUses: 1
    functionsReached:
    - arg.keys
    - arg.getlist
    - <builtin>.isinstance
    - arg.items
    - kwargs.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: 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
    - werkzeug.datastructures.headers.Headers.copy
    - rv.update
    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:
    - arg.keys
    - arg.getlist
    - <builtin>.isinstance
    - werkzeug.datastructures.headers.Headers.update
    - arg.items
    - kwargs.items
    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>.list
    - <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: 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:
    - key.upper
    - <builtin>.isinstance
    - werkzeug.datastructures.headers.EnvironHeaders._get_key
    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:
    - key.upper
    - <builtin>.isinstance
    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: 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: 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: 2
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: werkzeug.exceptions
    functionSourceFile: werkzeug.exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.dict
    - default_exceptions.get
    - werkzeug.exceptions.Aborter.__init__
    - <builtin>.globals
    - werkzeug.exceptions._find_exceptions
    - <builtin>.issubclass
    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 0x7fc3f81fefa0>
    - <ast.Constant object at 0x7fc3f81fed00>
    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: 3
    functionsReached:
    - markupsafe.Markup
    - markupsafe.escape
    - markupsafe.escape.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: markupsafe.Markup
    functionSourceFile: markupsafe
    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: 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: 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 0x7fc3f80009d0>
    - <ast.Constant object at 0x7fc3f8000730>
    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: 2
    functionsReached:
    - markupsafe.escape
    - werkzeug.exceptions.HTTPException.get_description
    - markupsafe.Markup
    - markupsafe.escape.replace
    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 0x7fc3f8000340>
    - <ast.Constant object at 0x7fc3f8000070>
    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: 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.exceptions.HTTPException
    functionSourceFile: werkzeug.exceptions
    functionUses: 0
    functionsReached:
    - typing.overload
    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 0x7fc3f7f23e50>
    - <ast.Constant object at 0x7fc3f7f238e0>
    argNames:
    - self
    - environ
    - scope
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 144
    functionName: werkzeug.exceptions.HTTPException.get_response
    functionSourceFile: werkzeug.exceptions
    functionUses: 1
    functionsReached:
    - markupsafe.escape.replace
    - werkzeug.exceptions.HTTPException.get_headers
    - <builtin>.isinstance
    - werkzeug.exceptions.HTTPException.get_description
    - <builtin>.str
    - <builtin>.getattr
    - markupsafe.escape
    - <builtin>.super
    - value.encode
    - werkzeug.exceptions.HTTPException.get_body
    - <builtin>.type
    - <builtin>.len
    - markupsafe.Markup
    - werkzeug.exceptions.MethodNotAllowed.get_headers
    - werkzeug.exceptions.RequestedRangeNotSatisfiable.get_headers
    - werkzeug.wrappers.response.Response.__init__
    - werkzeug._internal._get_environ
    - headers.append
    - werkzeug.wrappers.response.Response.set_data
    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 0x7fc3f892d280>
    - <ast.Constant object at 0x7fc3f892d5b0>
    argNames:
    - self
    - environ
    - scope
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 549
    functionName: werkzeug.exceptions.RequestedRangeNotSatisfiable.get_headers
    functionSourceFile: werkzeug.exceptions
    functionUses: 2
    functionsReached:
    - headers.append
    - <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 0x7fc3f7c690d0>
    - <ast.Constant object at 0x7fc3f7c699d0>
    argNames:
    - self
    - environ
    - scope
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 389
    functionName: werkzeug.exceptions.MethodNotAllowed.get_headers
    functionSourceFile: werkzeug.exceptions
    functionUses: 2
    functionsReached:
    - headers.append
    - <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
    - environ
    - start_response
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 169
    functionName: werkzeug.exceptions.HTTPException.__call__
    functionSourceFile: werkzeug.exceptions
    functionUses: 0
    functionsReached:
    - markupsafe.escape.replace
    - <builtin>.isinstance
    - werkzeug.exceptions.HTTPException.get_headers
    - werkzeug.exceptions.HTTPException.get_description
    - <builtin>.str
    - <builtin>.getattr
    - markupsafe.escape
    - <builtin>.super
    - value.encode
    - werkzeug.exceptions.HTTPException.get_body
    - <builtin>.type
    - <builtin>.len
    - markupsafe.Markup
    - werkzeug.exceptions.MethodNotAllowed.get_headers
    - werkzeug.exceptions.HTTPException.get_response
    - werkzeug.utils.redirect
    - werkzeug.wrappers.response.Response.__init__
    - werkzeug.exceptions.RequestedRangeNotSatisfiable.get_headers
    - werkzeug._internal._get_environ
    - headers.append
    - werkzeug.routing.exceptions.RequestRedirect.get_response
    - werkzeug.wrappers.response.Response.set_data
    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 0x7fc3f81889a0>
    - <ast.Constant object at 0x7fc3f8188460>
    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:
    - markupsafe.escape
    - <builtin>.super
    - value.encode
    - werkzeug.utils.redirect
    - werkzeug.wrappers.response.Response.set_data
    - <builtin>.isinstance
    - werkzeug.wrappers.response.Response.__init__
    - <builtin>.len
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 181
    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: 185
    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 0x7fc3f7355cd0>
    argNames:
    - self
    - arg
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 214
    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: 230
    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 0x7fc3f72409d0>
    - <ast.Constant object at 0x7fc3f72403a0>
    - <ast.Constant object at 0x7fc3f72408b0>
    argNames:
    - self
    - description
    - response
    - www_authenticate
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 310
    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 0x7fc3f7240430>
    - <ast.Constant object at 0x7fc3f7240610>
    argNames:
    - self
    - environ
    - scope
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 325
    functionName: werkzeug.exceptions.Unauthorized.get_headers
    functionSourceFile: werkzeug.exceptions
    functionUses: 0
    functionsReached:
    - headers.extend
    - <builtin>.str
    - <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: 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 0x7fc3f7c69430>
    - <ast.Constant object at 0x7fc3f7c69af0>
    - <ast.Constant object at 0x7fc3f7c695e0>
    argNames:
    - self
    - valid_methods
    - description
    - response
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 378
    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: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: headers.append
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    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 0x7fc3f892d040>
    - <ast.Constant object at 0x7fc3f892d550>
    - <ast.Constant object at 0x7fc3f892d730>
    - <ast.Constant object at 0x7fc3f892dd60>
    argNames:
    - self
    - length
    - units
    - description
    - response
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 535
    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 0x7fc3f81d6a30>
    - <ast.Constant object at 0x7fc3f81d6100>
    - <ast.Constant object at 0x7fc3f81d61c0>
    argNames:
    - self
    - description
    - response
    - retry_after
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 662
    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 0x7fc3f7fd7550>
    - <ast.Constant object at 0x7fc3f7fd7d30>
    argNames:
    - self
    - environ
    - scope
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 671
    functionName: werkzeug.exceptions._RetryAfter.get_headers
    functionSourceFile: werkzeug.exceptions
    functionUses: 0
    functionsReached:
    - datetime.time
    - datetime.datetime.combine
    - headers.append
    - <builtin>.super
    - werkzeug.http.http_date
    - email.utils.format_datetime
    - <builtin>.isinstance
    - werkzeug._internal._dt_as_utc
    - time.mktime.astimezone
    - time.mktime
    - email.utils.formatdate
    - time.mktime.replace
    - <builtin>.str
    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: 838
    functionName: werkzeug.exceptions._find_exceptions
    functionSourceFile: werkzeug.exceptions
    functionUses: 1
    functionsReached:
    - default_exceptions.get
    - <builtin>.globals
    - <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: 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: <builtin>.issubclass
    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: 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 0x7fc3f7d0f520>
    - <ast.Constant object at 0x7fc3f7d0f430>
    argNames:
    - self
    - mapping
    - extra
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 865
    functionName: werkzeug.exceptions.Aborter.__init__
    functionSourceFile: werkzeug.exceptions
    functionUses: 1
    functionsReached:
    - <builtin>.dict
    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: 876
    functionName: werkzeug.exceptions.Aborter.__call__
    functionSourceFile: werkzeug.exceptions
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - HTTPException
    - LookupError
    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: 890
    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 0x7fc3f86f9c70>
    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
    - urllib.request.parse_http_list
    - <builtin>.len
    - werkzeug.http.parse_set_header
    - werkzeug.http.parse_list_header
    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:
    - value_str.replace
    - token_chars.issuperset
    - <builtin>.isinstance
    - werkzeug.http.quote_header_value
    - werkzeug.http.dump_header
    - items.append
    - <builtin>.str
    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 0x7fc3f79686a0>
    - <ast.Constant object at 0x7fc3f7968af0>
    - <ast.Constant object at 0x7fc3f7968b50>
    - <ast.Constant object at 0x7fc3f7968580>
    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:
    - werkzeug.utils.get_content_type
    - <builtin>.isinstance
    - mimetype.startswith
    - mimetype.endswith
    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: 163
    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: 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:
    - <builtin>.int
    - werkzeug.sansio.response.Response._clean_status
    - value.partition
    - <builtin>.isinstance
    - value.strip
    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:
    - value.partition
    - <builtin>.isinstance
    - <builtin>.int
    - value.strip
    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: 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:
    - ct.split
    - mimetype.endswith
    - mimetype.startswith
    - werkzeug.utils.get_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: ct.split
    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: 2
    functionLinenumber: 312
    functionName: werkzeug.sansio.response.Response.mimetype_params
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - rest.find
    - m.group
    - options.get
    - match.groups
    - werkzeug.http.parse_options_header
    - m.end
    - _parameter_token_value_re.match
    - _continuation_re.search
    - _parameter_key_re.match
    - value.partition
    - match.start
    - encoding.lower
    - parts.append
    - <builtin>.len
    - urllib.parse.unquote
    - rest.strip
    - value.strip
    - _charset_value_re.match
    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.dump_options_header
    - value_str.replace
    - token_chars.issuperset
    - segments.append
    - werkzeug.http.quote_header_value
    - options.items
    - <builtin>.str
    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.time
    - datetime.timedelta
    - datetime.datetime.combine
    - datetime.datetime.now
    - werkzeug.http.parse_date
    - <builtin>.int
    - werkzeug.http.http_date
    - email.utils.parsedate_to_datetime
    - email.utils.format_datetime
    - <builtin>.isinstance
    - werkzeug._internal._dt_as_utc
    - time.mktime.astimezone
    - time.mktime
    - email.utils.formatdate
    - time.mktime.replace
    - dt.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: 2
    functionLinenumber: -1
    functionName: werkzeug.sansio.response.Response
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - <builtin>.property
    - werkzeug.sansio.response._set_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:
    - werkzeug.http.parse_dict_header
    - <builtin>.super
    - match.groups
    - key.strip
    - urllib.parse.unquote.strip
    - urllib.request.parse_http_list
    - werkzeug.http.parse_cache_control_header
    - encoding.lower
    - typing.cast
    - werkzeug.datastructures.cache_control._CacheControl.__init__
    - <builtin>.len
    - urllib.parse.unquote
    - result.append
    - item.partition
    - werkzeug.http.parse_list_header
    - _charset_value_re.match
    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 0x7fc3f8940d90>
    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:
    - werkzeug.http.is_byte_range_valid
    - rng.split
    - werkzeug.http.parse_content_range_header
    - _plain_int_re.fullmatch
    - <builtin>.int
    - value.strip
    - <builtin>.isinstance
    - rangedef.split
    - value.to_header
    - 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:
    - werkzeug.http.parse_dict_header
    - auth_type.lower
    - urllib.request.parse_http_list
    - value.partition
    - <builtin>.isinstance
    - werkzeug.http.quote_header_value
    - werkzeug.datastructures.auth.WWWAuthenticate.from_header
    - result.append
    - _charset_value_re.match
    - <builtin>.str
    - <builtin>.super
    - token_chars.issuperset
    - werkzeug.datastructures.auth.WWWAuthenticate.to_header
    - urllib.parse.unquote.strip
    - scheme.lower
    - <builtin>.len
    - rest.rstrip
    - werkzeug.http.dump_header
    - items.append
    - encoding.lower
    - werkzeug.http.parse_list_header
    - key.strip
    - item.partition
    - item.to_header
    - value_str.replace
    - match.groups
    - werkzeug.datastructures.auth.WWWAuthenticate.__init__
    - werkzeug.datastructures.structures.CallbackDict.__init__
    - urllib.parse.unquote
    - rest.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.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: 2
    functionLinenumber: 651
    functionName: werkzeug.sansio.response.Response.content_security_policy
    functionSourceFile: werkzeug.sansio.response
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - werkzeug.http.parse_csp_header
    - werkzeug.datastructures.csp.ContentSecurityPolicy.__init__
    - policy.strip
    - <builtin>.isinstance
    - value.split
    - typing.cast
    - value.to_header
    - items.append
    - value.strip
    - directive.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: 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:
    - <builtin>.super
    - werkzeug.http.parse_csp_header
    - werkzeug.datastructures.csp.ContentSecurityPolicy.__init__
    - policy.strip
    - <builtin>.isinstance
    - value.split
    - typing.cast
    - value.to_header
    - items.append
    - value.strip
    - directive.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: 1
    functionLinenumber: -1
    functionName: werkzeug.utils
    functionSourceFile: werkzeug.utils
    functionUses: 0
    functionsReached:
    - re.compile
    - typing.TypeVar
    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 0x7fc3f7242730>
    - <ast.Constant object at 0x7fc3f7242d60>
    argNames:
    - self
    - fget
    - name
    - doc
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 71
    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: 82
    functionName: werkzeug.utils.cached_property.__set__
    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: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.setattr
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    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 0x7fc3f7355340>
    argNames:
    - self
    - obj
    - type
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 88
    functionName: werkzeug.utils.cached_property.__get__
    functionSourceFile: werkzeug.utils
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - obj_dict.get
    - <builtin>.setattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 109
    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: 139
    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: 146
    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: 188
    functionName: werkzeug.utils.secure_filename
    functionSourceFile: werkzeug.utils
    functionUses: 0
    functionsReached:
    - _filename_ascii_strip_re.sub
    - filename.split
    - unicodedata.normalize
    - filename.encode
    - filename.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: 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 0x7fc3f7c69760>
    - <ast.Constant object at 0x7fc3f7c69df0>
    argNames:
    - location
    - code
    - Response
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 235
    functionName: werkzeug.utils.redirect
    functionSourceFile: werkzeug.utils
    functionUses: 3
    functionsReached:
    - markupsafe.escape
    - <builtin>.super
    - value.encode
    - werkzeug.wrappers.response.Response.set_data
    - <builtin>.isinstance
    - werkzeug.wrappers.response.Response.__init__
    - <builtin>.len
    - <builtin>.str
    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 0x7fc3f7f9be20>
    argNames:
    - environ
    - code
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 275
    functionName: werkzeug.utils.append_slash_redirect
    functionSourceFile: werkzeug.utils
    functionUses: 0
    functionsReached:
    - markupsafe.escape
    - <builtin>.super
    - value.encode
    - werkzeug.utils.redirect
    - werkzeug.wrappers.response.Response.set_data
    - <builtin>.isinstance
    - werkzeug.wrappers.response.Response.__init__
    - <builtin>.len
    - environ.get
    - <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: 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: 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 0x7fc3f7b617c0>
    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: 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: 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: 531
    functionName: werkzeug.utils.send_from_directory
    functionSourceFile: werkzeug.utils
    functionUses: 0
    functionsReached:
    - simple.encode
    - os.path.join
    - headers.set
    - os.path.isfile
    - path.encode
    - <builtin>.hasattr
    - rv.make_conditional
    - <builtin>.isinstance
    - filename.partition
    - parts.append
    - os.path.abspath
    - mimetypes.guess_type
    - <builtin>.str
    - <builtin>.callable
    - unicodedata.normalize
    - werkzeug.security.safe_join
    - zlib.adler32
    - <builtin>.super
    - value.encode
    - werkzeug.wsgi.wrap_file
    - werkzeug.utils.send_file
    - rv.headers.pop
    - os.stat
    - <builtin>.len
    - os.path.basename
    - io.BytesIO.close
    - posixpath.normpath
    - posixpath.join
    - time.time
    - werkzeug.wrappers.response.Response.__init__
    - <builtin>.any
    - <builtin>.open
    - download_name.encode
    - rv.set_etag
    - filename.startswith
    - os.path.isabs
    - <builtin>.int
    - urllib.parse.quote
    - werkzeug.wrappers.response.Response.set_data
    - typing.cast
    - io.BytesIO.getbuffer
    - environ.get
    - os.fspath
    linkageType: pythonLinkage
    raised:
    - NotFound
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc3f8334730>
    argNames:
    - import_name
    - silent
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 573
    functionName: werkzeug.utils.import_string
    functionSourceFile: werkzeug.utils
    functionUses: 2
    functionsReached:
    - <builtin>.__import__
    - <builtin>.getattr
    - import_name.replace
    - <builtin>.globals
    - import_name.rsplit
    - <builtin>.locals
    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: 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 0x7fc3f7f70730>
    - <ast.Constant object at 0x7fc3f7f70670>
    argNames:
    - import_path
    - include_packages
    - recursive
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 612
    functionName: werkzeug.utils.find_modules
    functionSourceFile: werkzeug.utils
    functionUses: 0
    functionsReached:
    - <builtin>.__import__
    - <builtin>.getattr
    - import_name.replace
    - <builtin>.globals
    - import_name.rsplit
    - werkzeug.utils.find_modules
    - pkgutil.iter_modules
    - werkzeug.utils.import_string
    - <builtin>.locals
    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: 653
    functionName: werkzeug.utils.ImportStringError.__init__
    functionSourceFile: werkzeug.utils
    functionUses: 0
    functionsReached:
    - <builtin>.__import__
    - <builtin>.getattr
    - <builtin>.super
    - import_name.replace
    - <builtin>.globals
    - import_name.rsplit
    - werkzeug.utils.import_string
    - track.append
    - tracked.append
    - <builtin>.type
    - <builtin>.locals
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 683
    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: 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:
    - werkzeug.wsgi._RangeWrapper.__next__
    - <builtin>.next
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <builtin>.isinstance
    - item.encode
    - <builtin>.len
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wsgi._RangeWrapper.__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: 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_chunk
    - <builtin>.len
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - werkzeug.wsgi._RangeWrapper._next
    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:
    - <builtin>.sum
    - werkzeug.wsgi._RangeWrapper.__next__
    - werkzeug.wrappers.response._iter_encoded
    - <builtin>.next
    - werkzeug.wrappers.response.Response.iter_encoded
    - <builtin>.map
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <builtin>.isinstance
    - <builtin>.type
    - item.encode
    - <builtin>.len
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wsgi._RangeWrapper.__iter__
    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.wsgi._RangeWrapper.__next__
    - werkzeug.wrappers.response._iter_encoded
    - <builtin>.next
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <builtin>.isinstance
    - item.encode
    - <builtin>.len
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wsgi._RangeWrapper.__iter__
    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 0x7fc3f82007c0>
    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:
    - <builtin>.isinstance
    - <builtin>.str
    - <builtin>.getattr
    - werkzeug.wsgi.ClosingIterator.__init__
    - <builtin>.callable
    - <builtin>.super
    - value.encode
    - itertools.chain
    - <builtin>.type
    - <builtin>.len
    - werkzeug.wsgi.ClosingIterator.__iter__
    - werkzeug.wrappers.response.Response.__init__
    - werkzeug._internal._get_environ
    - werkzeug.wsgi.ClosingIterator.__next__
    - buffer.append
    - <builtin>.list
    - werkzeug.test.run_wsgi_app
    - werkzeug.wrappers.response.Response.set_data
    - typing.cast
    - <builtin>.iter
    - functools.partial
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 3
    IfCount: 5
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7fc3f7d0f820>
    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:
    - <builtin>.isinstance
    - <builtin>.str
    - <builtin>.getattr
    - werkzeug.wsgi.ClosingIterator.__init__
    - <builtin>.callable
    - <builtin>.super
    - value.encode
    - itertools.chain
    - <builtin>.type
    - <builtin>.len
    - werkzeug.wsgi.ClosingIterator.__iter__
    - werkzeug.wrappers.response.Response.__init__
    - werkzeug._internal._get_environ
    - werkzeug.wsgi.ClosingIterator.__next__
    - buffer.append
    - <builtin>.list
    - werkzeug.wrappers.response.Response.set_data
    - typing.cast
    - <builtin>.iter
    - functools.partial
    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 0x7fc3f79e9d90>
    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:
    - <builtin>.isinstance
    - <builtin>.str
    - <builtin>.getattr
    - werkzeug.wsgi.ClosingIterator.__init__
    - <builtin>.callable
    - <builtin>.super
    - value.encode
    - itertools.chain
    - <builtin>.type
    - <builtin>.len
    - werkzeug.wsgi.ClosingIterator.__iter__
    - werkzeug.wrappers.response.Response.__init__
    - werkzeug._internal._get_environ
    - werkzeug.wsgi.ClosingIterator.__next__
    - buffer.append
    - <builtin>.list
    - werkzeug.test.run_wsgi_app
    - werkzeug.wrappers.response.Response.set_data
    - typing.cast
    - <builtin>.iter
    - functools.partial
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: werkzeug.wrappers.response.Response
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 0
    functionsReached:
    - <builtin>.property
    - werkzeug.utils.cached_property
    - typing.overload
    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 0x7fc3f7e5aca0>
    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:
    - <builtin>.getattr
    - werkzeug.wsgi._RangeWrapper.__next__
    - <builtin>.list
    - werkzeug.wrappers.response.Response._ensure_sequence
    - werkzeug.wrappers.response._iter_encoded
    - <builtin>.next
    - werkzeug.wrappers.response.Response.iter_encoded
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <builtin>.isinstance
    - item.encode
    - werkzeug.wrappers.response.Response.call_on_close
    - werkzeug.wrappers.response.Response.make_sequence
    - <builtin>.len
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wsgi._RangeWrapper.__iter__
    - rv.decode
    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 0x7fc3f81fa040>
    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:
    - <builtin>.getattr
    - werkzeug.wsgi._RangeWrapper.__next__
    - <builtin>.list
    - werkzeug.wrappers.response._iter_encoded
    - <builtin>.next
    - werkzeug.wrappers.response.Response.iter_encoded
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <builtin>.isinstance
    - item.encode
    - werkzeug.wrappers.response.Response.call_on_close
    - werkzeug.wrappers.response.Response.make_sequence
    - <builtin>.len
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wsgi._RangeWrapper.__iter__
    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:
    - <builtin>.sum
    - <builtin>.getattr
    - werkzeug.wsgi._RangeWrapper.__next__
    - <builtin>.list
    - werkzeug.wrappers.response.Response._ensure_sequence
    - werkzeug.wrappers.response._iter_encoded
    - <builtin>.next
    - werkzeug.wrappers.response.Response.iter_encoded
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <builtin>.isinstance
    - item.encode
    - werkzeug.wrappers.response.Response.call_on_close
    - werkzeug.wrappers.response.Response.make_sequence
    - <builtin>.len
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wsgi._RangeWrapper.__iter__
    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:
    - <builtin>.getattr
    - werkzeug.wsgi._RangeWrapper.__next__
    - <builtin>.list
    - werkzeug.wrappers.response._iter_encoded
    - <builtin>.next
    - werkzeug.wrappers.response.Response.iter_encoded
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <builtin>.isinstance
    - item.encode
    - werkzeug.wrappers.response.Response.call_on_close
    - <builtin>.len
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wsgi._RangeWrapper.__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: 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: 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:
    - werkzeug.wrappers.response.Response.close
    - <builtin>.hasattr
    - 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:
    - werkzeug.wsgi._RangeWrapper.__next__
    - werkzeug.wrappers.response.Response._ensure_sequence
    - <builtin>.isinstance
    - werkzeug.wsgi._RangeWrapper._next
    - <builtin>.str
    - <builtin>.getattr
    - hashlib.sha1
    - item.encode
    - werkzeug.wrappers.response.Response.make_sequence
    - <builtin>.len
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - werkzeug.wsgi._RangeWrapper.__iter__
    - werkzeug.http.quote_etag
    - <builtin>.sum
    - werkzeug.wrappers.response.Response.get_data
    - werkzeug.sansio.response.Response.set_etag
    - werkzeug.wrappers.response._iter_encoded
    - werkzeug.wrappers.response.Response.iter_encoded
    - werkzeug.wrappers.response.Response.call_on_close
    - rv.decode
    - werkzeug.wrappers.response.Response.add_etag
    - <builtin>.list
    - <builtin>.next
    - hashlib.sha1.hexdigest
    - <builtin>.map
    - werkzeug.http.generate_etag
    - werkzeug.wsgi._RangeWrapper._next_chunk
    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 0x7fc3f7c00790>
    - <ast.Constant object at 0x7fc3f7c00be0>
    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:
    - werkzeug.wsgi._RangeWrapper.__next__
    - werkzeug.wrappers.response.Response._ensure_sequence
    - <builtin>.isinstance
    - werkzeug.wsgi._RangeWrapper._next
    - <builtin>.getattr
    - hashlib.sha1
    - item.encode
    - werkzeug.wrappers.response.Response.make_sequence
    - <builtin>.len
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - werkzeug.wsgi._RangeWrapper.__iter__
    - werkzeug.http.quote_etag
    - werkzeug.wrappers.response.Response.get_data
    - werkzeug.sansio.response.Response.set_etag
    - werkzeug.wrappers.response._iter_encoded
    - werkzeug.wrappers.response.Response.iter_encoded
    - werkzeug.wrappers.response.Response.call_on_close
    - rv.decode
    - <builtin>.list
    - hashlib.sha1.hexdigest
    - <builtin>.next
    - werkzeug.http.generate_etag
    - werkzeug.wsgi._RangeWrapper._next_chunk
    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:
    - urllib.parse.urlsplit.hostname.encode
    - werkzeug.wsgi._RangeWrapper.__next__
    - ref.startswith
    - key.lower
    - hostname.endswith
    - werkzeug.urls._make_unquote_part._unquote_partial
    - host.endswith
    - <builtin>.isinstance
    - parts.append
    - werkzeug.wsgi._RangeWrapper._next
    - urllib.parse.urljoin
    - <builtin>.str
    - werkzeug.wsgi.get_host
    - part.decode
    - headers.remove
    - path.lstrip
    - x.lower
    - item.encode
    - <builtin>.len
    - urllib.parse.urlsplit
    - werkzeug.sansio.utils.get_host
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - werkzeug.wsgi._RangeWrapper.__iter__
    - werkzeug.http.is_entity_header
    - ref.partition
    - root_path.rstrip
    - werkzeug.urls._decode_idna
    - <builtin>.sum
    - werkzeug.urls.uri_to_iri
    - urllib.parse.urlunsplit
    - out.append
    - werkzeug.wrappers.response._iter_encoded
    - werkzeug.wrappers.response.Response.iter_encoded
    - werkzeug.sansio.utils.get_current_url
    - werkzeug.urls.iri_to_uri
    - pattern.split
    - werkzeug.sansio.utils.host_is_trusted
    - data.decode
    - url.append
    - werkzeug.http.remove_entity_headers
    - header.lower
    - werkzeug.wsgi.get_current_url
    - hostname.partition
    - <builtin>.next
    - <builtin>.int
    - urllib.parse.quote
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <builtin>.iter
    - data.split
    - urllib.parse.unquote
    - environ.get
    - werkzeug.wsgi._get_server
    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.quote
    - urllib.parse.urlunsplit
    - urllib.parse.urlsplit
    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 0x7fc3f81e2c70>
    - <ast.Constant object at 0x7fc3f81e2610>
    - <ast.Constant object at 0x7fc3f81e2a00>
    - <ast.Constant object at 0x7fc3f81e29a0>
    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:
    - urllib.parse.urlsplit.hostname.encode
    - ref.startswith
    - hostname.endswith
    - werkzeug.urls._make_unquote_part._unquote_partial
    - werkzeug.wsgi._get_server
    - host.endswith
    - <builtin>.isinstance
    - parts.append
    - werkzeug.wsgi.get_host
    - part.decode
    - path.lstrip
    - urllib.parse.urlsplit
    - werkzeug.sansio.utils.get_host
    - ref.partition
    - root_path.rstrip
    - werkzeug.urls._decode_idna
    - werkzeug.urls.uri_to_iri
    - urllib.parse.urlunsplit
    - out.append
    - werkzeug.sansio.utils.get_current_url
    - pattern.split
    - data.decode
    - url.append
    - hostname.partition
    - <builtin>.next
    - <builtin>.int
    - urllib.parse.quote
    - data.split
    - <builtin>.iter
    - urllib.parse.unquote
    - environ.get
    - werkzeug.sansio.utils.host_is_trusted
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: 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.wsgi.ClosingIterator.__init__
    - <builtin>.getattr
    - werkzeug.wsgi._RangeWrapper.__next__
    - <builtin>.callable
    - <builtin>.list
    - werkzeug.wrappers.response._iter_encoded
    - <builtin>.next
    - werkzeug.wrappers.response.Response.iter_encoded
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <builtin>.isinstance
    - item.encode
    - typing.cast
    - <builtin>.iter
    - <builtin>.len
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wsgi._RangeWrapper.__iter__
    - functools.partial
    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 0x7fc3f72400d0>
    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>.getattr
    - <builtin>.callable
    - <builtin>.list
    - typing.cast
    - <builtin>.iter
    - functools.partial
    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:
    - urllib.parse.urlsplit.hostname.encode
    - werkzeug.wsgi._RangeWrapper.__next__
    - ref.startswith
    - key.lower
    - hostname.endswith
    - werkzeug.urls._make_unquote_part._unquote_partial
    - functools.partial
    - host.endswith
    - <builtin>.isinstance
    - parts.append
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wrappers.response.Response.get_app_iter
    - urllib.parse.urljoin
    - <builtin>.str
    - werkzeug.wsgi.get_host
    - werkzeug.wsgi.ClosingIterator.__init__
    - <builtin>.getattr
    - part.decode
    - <builtin>.callable
    - headers.remove
    - path.lstrip
    - x.lower
    - item.encode
    - <builtin>.len
    - urllib.parse.urlsplit
    - werkzeug.sansio.utils.get_host
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - werkzeug.wsgi._RangeWrapper.__iter__
    - werkzeug.http.is_entity_header
    - ref.partition
    - root_path.rstrip
    - werkzeug.urls._decode_idna
    - <builtin>.sum
    - werkzeug.urls.uri_to_iri
    - urllib.parse.urlunsplit
    - out.append
    - werkzeug.wrappers.response._iter_encoded
    - werkzeug.wrappers.response.Response.iter_encoded
    - werkzeug.sansio.utils.get_current_url
    - werkzeug.urls.iri_to_uri
    - pattern.split
    - werkzeug.sansio.utils.host_is_trusted
    - data.decode
    - url.append
    - werkzeug.http.remove_entity_headers
    - header.lower
    - werkzeug.wsgi.get_current_url
    - hostname.partition
    - <builtin>.list
    - <builtin>.next
    - werkzeug.wrappers.response.Response.get_wsgi_headers
    - <builtin>.int
    - urllib.parse.quote
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - typing.cast
    - <builtin>.iter
    - data.split
    - urllib.parse.unquote
    - environ.get
    - werkzeug.wsgi._get_server
    - headers.to_wsgi_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: headers.to_wsgi_list
    functionSourceFile: <builtin>
    functionUses: 16
    functionsReached: []
    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:
    - urllib.parse.urlsplit.hostname.encode
    - werkzeug.wsgi._RangeWrapper.__next__
    - ref.startswith
    - key.lower
    - hostname.endswith
    - werkzeug.urls._make_unquote_part._unquote_partial
    - functools.partial
    - host.endswith
    - <builtin>.isinstance
    - parts.append
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wrappers.response.Response.get_app_iter
    - urllib.parse.urljoin
    - <builtin>.str
    - werkzeug.wsgi.get_host
    - werkzeug.wsgi.ClosingIterator.__init__
    - <builtin>.getattr
    - part.decode
    - <builtin>.callable
    - headers.remove
    - path.lstrip
    - x.lower
    - item.encode
    - <builtin>.len
    - werkzeug.wrappers.response.Response.get_wsgi_response
    - urllib.parse.urlsplit
    - werkzeug.sansio.utils.get_host
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - werkzeug.wsgi._RangeWrapper.__iter__
    - werkzeug.http.is_entity_header
    - ref.partition
    - root_path.rstrip
    - werkzeug.urls._decode_idna
    - <builtin>.sum
    - werkzeug.urls.uri_to_iri
    - urllib.parse.urlunsplit
    - out.append
    - werkzeug.wrappers.response._iter_encoded
    - werkzeug.wrappers.response.Response.iter_encoded
    - werkzeug.sansio.utils.get_current_url
    - werkzeug.urls.iri_to_uri
    - pattern.split
    - werkzeug.sansio.utils.host_is_trusted
    - data.decode
    - url.append
    - werkzeug.http.remove_entity_headers
    - header.lower
    - werkzeug.wsgi.get_current_url
    - hostname.partition
    - <builtin>.list
    - <builtin>.next
    - werkzeug.wrappers.response.Response.get_wsgi_headers
    - <builtin>.int
    - urllib.parse.quote
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - typing.cast
    - <builtin>.iter
    - data.split
    - urllib.parse.unquote
    - environ.get
    - werkzeug.wsgi._get_server
    - headers.to_wsgi_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: 11
    functionLinenumber: 587
    functionName: werkzeug.wrappers.response.Response.json
    functionSourceFile: werkzeug.wrappers.response
    functionUses: 0
    functionsReached:
    - werkzeug.wsgi._RangeWrapper.__next__
    - werkzeug.wrappers.response.Response._ensure_sequence
    - <builtin>.isinstance
    - werkzeug.wsgi._RangeWrapper._next
    - <builtin>.getattr
    - item.encode
    - werkzeug.wrappers.response.Response.make_sequence
    - <builtin>.len
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - werkzeug.wsgi._RangeWrapper.__iter__
    - werkzeug.wrappers.response.Response.get_data
    - werkzeug.wrappers.response.Response.get_json
    - werkzeug.wrappers.response._iter_encoded
    - werkzeug.wrappers.response.Response.iter_encoded
    - werkzeug.wrappers.response.Response.call_on_close
    - rv.decode
    - <builtin>.list
    - <builtin>.next
    - werkzeug.wsgi._RangeWrapper._next_chunk
    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 0x7fc3f809fc10>
    - <ast.Constant object at 0x7fc3f809fbe0>
    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:
    - <builtin>.getattr
    - werkzeug.wrappers.response.Response.get_data
    - werkzeug.wsgi._RangeWrapper.__next__
    - <builtin>.list
    - werkzeug.wrappers.response.Response._ensure_sequence
    - werkzeug.wrappers.response._iter_encoded
    - <builtin>.next
    - werkzeug.wrappers.response.Response.iter_encoded
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <builtin>.isinstance
    - item.encode
    - werkzeug.wrappers.response.Response.call_on_close
    - werkzeug.wrappers.response.Response.make_sequence
    - <builtin>.len
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wsgi._RangeWrapper.__iter__
    - rv.decode
    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:
    - werkzeug.wsgi._RangeWrapper.__init__
    - <builtin>.hasattr
    - <builtin>.iter
    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 0x7fc3f80e7d00>
    - <ast.Constant object at 0x7fc3f80e73a0>
    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:
    - _etag_re.match
    - werkzeug.http.parse_etags
    - email.utils.parsedate_to_datetime
    - werkzeug.sansio.http.is_resource_modified
    - <builtin>.isinstance
    - werkzeug.datastructures.etag.ETags.contains_weak
    - match.end
    - werkzeug.http.unquote_etag
    - hashlib.sha1
    - werkzeug.http.is_resource_modified
    - werkzeug.http.parse_if_range_header
    - werkzeug.datastructures.etag.ETags.is_weak
    - time.mktime.astimezone
    - <builtin>.len
    - time.mktime.replace
    - etag.strip
    - weak.append
    - werkzeug.datastructures.etag.ETags.contains
    - etag.startswith
    - dt.replace
    - werkzeug.http.parse_date
    - strong.append
    - match.groups
    - hashlib.sha1.hexdigest
    - werkzeug.http.generate_etag
    - werkzeug._internal._dt_as_utc
    - werkzeug.datastructures.etag.ETags.is_strong
    - environ.get
    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:
    - _etag_re.match
    - werkzeug.http.parse_range_header
    - rng.split
    - item.strip
    - werkzeug.http.parse_etags
    - <builtin>.hasattr
    - werkzeug.wrappers.response.Response._is_range_request_processable
    - email.utils.parsedate_to_datetime
    - werkzeug.sansio.http.is_resource_modified
    - <builtin>.isinstance
    - werkzeug.datastructures.etag.ETags.contains_weak
    - match.end
    - werkzeug.http.unquote_etag
    - value.split
    - <builtin>.str
    - hashlib.sha1
    - werkzeug.http.is_resource_modified
    - http.is_byte_range_valid
    - werkzeug.http.parse_if_range_header
    - werkzeug.datastructures.etag.ETags.is_weak
    - werkzeug.datastructures.range.Range.range_for_length
    - time.mktime.astimezone
    - end_str.strip
    - <builtin>.len
    - item.startswith
    - time.mktime.replace
    - value.strip
    - _plain_int_re.fullmatch
    - werkzeug.wrappers.response.Response._wrap_range_response
    - etag.strip
    - weak.append
    - werkzeug.datastructures.etag.ETags.contains
    - werkzeug.datastructures.range.Range.to_content_range_header
    - etag.startswith
    - werkzeug._internal._plain_int
    - dt.replace
    - werkzeug.http.parse_date
    - strong.append
    - match.groups
    - ranges.append
    - hashlib.sha1.hexdigest
    - <builtin>.int
    - item.split
    - <builtin>.min
    - werkzeug.http.generate_etag
    - werkzeug._internal._dt_as_utc
    - werkzeug.datastructures.etag.ETags.is_strong
    - <builtin>.iter
    - begin_str.strip
    - werkzeug.wsgi._RangeWrapper.__init__
    - environ.get
    - units.strip
    linkageType: pythonLinkage
    raised:
    - RequestedRangeNotSatisfiable
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7fc3f8299160>
    - <ast.Constant object at 0x7fc3f82994c0>
    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.http.parse_etags
    - <builtin>.isinstance
    - match.end
    - werkzeug.datastructures.etag.ETags.contains_weak
    - werkzeug.wsgi._RangeWrapper._next
    - value.split
    - <builtin>.str
    - http.is_byte_range_valid
    - werkzeug.datastructures.etag.ETags.is_weak
    - item.encode
    - item.startswith
    - werkzeug.wrappers.response.Response._wrap_range_response
    - weak.append
    - werkzeug.wrappers.response.Response.iter_encoded
    - etag.startswith
    - hashlib.sha1.hexdigest
    - item.split
    - werkzeug._internal._dt_as_utc
    - werkzeug.datastructures.etag.ETags.is_strong
    - <builtin>.hasattr
    - werkzeug.wrappers.response.Response._is_range_request_processable
    - werkzeug.http.http_date
    - time.mktime.astimezone
    - time.mktime.replace
    - <builtin>.sum
    - datetime.datetime.combine
    - werkzeug.datastructures.etag.ETags.contains
    - werkzeug._internal._get_environ
    - werkzeug._internal._plain_int
    - dt.replace
    - <builtin>.list
    - <builtin>.next
    - <builtin>.min
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - time.mktime
    - werkzeug.datastructures.range.Range.range_for_length
    - werkzeug.http.parse_range_header
    - werkzeug.wsgi._RangeWrapper.__next__
    - werkzeug.wrappers.response.Response._ensure_sequence
    - werkzeug.sansio.http.is_resource_modified
    - datetime.time
    - <builtin>.getattr
    - werkzeug.http.is_resource_modified
    - <builtin>.type
    - <builtin>.len
    - end_str.strip
    - werkzeug.wsgi._RangeWrapper.__iter__
    - value.strip
    - _plain_int_re.fullmatch
    - werkzeug.wrappers.response._iter_encoded
    - werkzeug.datastructures.range.Range.to_content_range_header
    - match.groups
    - ranges.append
    - <builtin>.int
    - werkzeug.http.generate_etag
    - email.utils.formatdate
    - <builtin>.iter
    - werkzeug.wsgi._RangeWrapper.__init__
    - werkzeug.http.unquote_etag
    - _etag_re.match
    - item.strip
    - email.utils.parsedate_to_datetime
    - hashlib.sha1
    - werkzeug.http.parse_if_range_header
    - werkzeug.wrappers.response.Response.make_sequence
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - etag.strip
    - werkzeug.wrappers.response.Response.call_on_close
    - werkzeug.http.parse_date
    - strong.append
    - werkzeug.wrappers.response.Response._process_range_request
    - werkzeug.wrappers.response.Response.calculate_content_length
    - email.utils.format_datetime
    - begin_str.strip
    - environ.get
    - units.strip
    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:
    - <builtin>.getattr
    - werkzeug.wsgi._RangeWrapper.__next__
    - <builtin>.list
    - werkzeug.wrappers.response.Response._ensure_sequence
    - werkzeug.wrappers.response._iter_encoded
    - <builtin>.next
    - werkzeug.wrappers.response.Response.iter_encoded
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <builtin>.isinstance
    - item.encode
    - werkzeug.wrappers.response.Response.call_on_close
    - werkzeug.wrappers.response.Response.make_sequence
    - <builtin>.len
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wsgi._RangeWrapper.__iter__
    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:
    - <builtin>.getattr
    - werkzeug.wsgi._RangeWrapper.__next__
    - <builtin>.list
    - werkzeug.wrappers.response.Response._ensure_sequence
    - werkzeug.wrappers.response._iter_encoded
    - <builtin>.next
    - werkzeug.wrappers.response.Response.iter_encoded
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <builtin>.isinstance
    - item.encode
    - werkzeug.wrappers.response.Response.call_on_close
    - werkzeug.wrappers.response.Response.make_sequence
    - werkzeug.wrappers.response.ResponseStream.write
    - <builtin>.len
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wsgi._RangeWrapper.__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: 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:
    - <builtin>.sum
    - <builtin>.getattr
    - werkzeug.wsgi._RangeWrapper.__next__
    - <builtin>.list
    - werkzeug.wrappers.response.Response._ensure_sequence
    - werkzeug.wrappers.response._iter_encoded
    - <builtin>.next
    - werkzeug.wrappers.response.Response.iter_encoded
    - <builtin>.map
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <builtin>.isinstance
    - item.encode
    - werkzeug.wrappers.response.Response.call_on_close
    - werkzeug.wrappers.response.Response.make_sequence
    - <builtin>.len
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wsgi._RangeWrapper.__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: 830
    functionName: werkzeug.wrappers.response.ResponseStream.encoding
    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: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: werkzeug.urls
    functionSourceFile: werkzeug.urls
    functionUses: 0
    functionsReached:
    - werkzeug.urls._make_unquote_part
    - re.compile
    - codecs.register_error
    - urllib.parse.uses_netloc.append
    - <builtin>.bytes
    - <builtin>.ord
    - <builtin>.sorted
    - <builtin>.range
    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>.ord
    - <builtin>.sorted
    - re.compile
    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:
    - out.append
    - <builtin>.next
    - pattern.split
    - <builtin>.iter
    - 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: pattern.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: <builtin>.bytes
    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:
    - domain
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 175
    functionName: werkzeug.urls._decode_idna
    functionSourceFile: werkzeug.urls
    functionUses: 23
    functionsReached:
    - part.decode
    - urllib.parse.urlsplit.hostname.encode
    - data.split
    - parts.append
    - data.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: 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.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: 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.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: 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 0x7fc3f7fdc6d0>
    - <ast.BinOp object at 0x7fc3f7fdc490>
    - <ast.Constant object at 0x7fc3f7fdc670>
    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:
    - stream.getvalue
    - stream.tell
    - io.BytesIO
    - <builtin>.isinstance
    - event.name.encode
    - random.random
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - mimetypes.guess_type
    - <builtin>.str
    - <builtin>.getattr
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - stream.write
    - value.encode
    - data.items
    - new_stream.write
    - <builtin>.len
    - name.lower
    - time.time
    - werkzeug.test._iter_data
    - headers.update
    - werkzeug.test.stream_encode_multipart.write_binary
    - tempfile.TemporaryFile
    - event.filename.encode
    - stream.seek
    - typing.cast
    - boundary.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: 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:
    - tempfile.TemporaryFile
    - stream.getvalue
    - stream.write
    - typing.cast
    - <builtin>.len
    - new_stream.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: 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: 294
    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: 298
    functionName: werkzeug.sansio.multipart.MultipartEncoder.send_event
    functionSourceFile: werkzeug.sansio.multipart
    functionUses: 16
    functionsReached:
    - event.filename.encode
    - <builtin>.isinstance
    - typing.cast
    - event.name.encode
    - <builtin>.len
    - name.lower
    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: 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 0x7fc3f820f040>
    argNames:
    - values
    - boundary
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 144
    functionName: werkzeug.test.encode_multipart
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - stream.getvalue
    - stream.tell
    - io.BytesIO
    - <builtin>.isinstance
    - event.name.encode
    - random.random
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - mimetypes.guess_type
    - <builtin>.str
    - <builtin>.getattr
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - stream.write
    - value.encode
    - data.items
    - stream.read
    - new_stream.write
    - <builtin>.len
    - name.lower
    - werkzeug.test.stream_encode_multipart
    - time.time
    - werkzeug.test._iter_data
    - headers.update
    - werkzeug.test.stream_encode_multipart.write_binary
    - tempfile.TemporaryFile
    - event.filename.encode
    - stream.seek
    - typing.cast
    - boundary.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: 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: 1
    functionLinenumber: -1
    functionName: werkzeug.test.EnvironBuilder
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - urllib.parse.urlsplit.query.setter
    - <builtin>.staticmethod
    - io.BytesIO.setter
    - urllib.parse.urlunsplit.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: 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:
    - werkzeug.test.EnvironBuilder._make_base_url
    - urllib.parse.urlsplit.hostname.encode
    - s.encode
    - werkzeug.test.EnvironBuilder.__init__
    - <builtin>.hasattr
    - <builtin>.isinstance
    - io.BytesIO
    - werkzeug.http.quote_header_value
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - <builtin>.str
    - token_chars.issuperset
    - data.items
    - werkzeug.datastructures.auth.Authorization.__init__
    - werkzeug.datastructures.auth.Authorization.to_header
    - <builtin>.len
    - urllib.parse.urlsplit
    - werkzeug.http.dump_header
    - items.append
    - urllib.parse.urlunsplit.rstrip
    - data.read
    - out.update
    - urllib.parse.urlunsplit
    - headers.pop
    - werkzeug.urls.iri_to_uri
    - werkzeug._internal._wsgi_decoding_dance
    - werkzeug.test._iter_data
    - data.encode
    - value_str.replace
    - base64.b64encode
    - 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: 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
    - urllib.parse.urlunsplit.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: 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.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
    - urllib.parse.urlunsplit
    - urllib.parse.urlsplit
    - script_root.rstrip
    - urllib.parse.urlunsplit.rstrip
    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
    - 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:
    - rest.find
    - m.group
    - options.get
    - match.groups
    - werkzeug.http.parse_options_header
    - m.end
    - _parameter_token_value_re.match
    - _continuation_re.search
    - _parameter_key_re.match
    - value.partition
    - match.start
    - encoding.lower
    - parts.append
    - <builtin>.len
    - urllib.parse.unquote
    - rest.strip
    - value.strip
    - _charset_value_re.match
    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.dump_options_header
    - value_str.replace
    - token_chars.issuperset
    - segments.append
    - werkzeug.http.quote_header_value
    - options.items
    - <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
    - 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: 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
    - werkzeug.test.EnvironBuilder._get_form
    - werkzeug.test.EnvironBuilder._set_form
    - <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: 575
    functionName: werkzeug.test.EnvironBuilder.files
    functionSourceFile: werkzeug.test
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    - werkzeug.test.EnvironBuilder._get_form
    - werkzeug.test.EnvironBuilder._set_form
    - <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
    - 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: 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:
    - stream.getvalue
    - io.BytesIO.seek
    - urllib.parse.urlencode
    - stream.tell
    - werkzeug.urls._urlencode
    - key.upper
    - io.BytesIO
    - <builtin>.isinstance
    - event.name.encode
    - collections.defaultdict
    - random.random
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - mimetypes.guess_type
    - <builtin>.str
    - <builtin>.getattr
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - stream.write
    - value.encode
    - data.items
    - headers.remove
    - io.BytesIO.tell
    - <builtin>.len
    - new_stream.write
    - name.lower
    - collections.defaultdict.items
    - werkzeug._internal._wsgi_encoding_dance
    - werkzeug.test.stream_encode_multipart
    - urllib.parse.unquote.encode
    - time.time
    - result.update
    - werkzeug.test._iter_data
    - headers.update
    - werkzeug.test.stream_encode_multipart.write_binary
    - tempfile.TemporaryFile
    - urllib.parse.urlsplit.query.encode
    - event.filename.encode
    - urllib.parse.urlsplit.path.encode
    - stream.seek
    - typing.cast
    - boundary.encode
    - http.server.BaseHTTPRequestHandler.path.encode
    - headers.to_wsgi_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: 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:
    - urllib.parse.urlsplit.query.encode
    - urllib.parse.unquote.encode
    - urllib.parse.urlsplit.path.encode
    - urllib.parse.unquote
    - http.server.BaseHTTPRequestHandler.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: 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 0x7fc3f7f75e80>
    - <ast.Constant object at 0x7fc3f7f75100>
    - <ast.Constant object at 0x7fc3f7f75fa0>
    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>.type
    - typing.cast
    - <builtin>.issubclass
    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 0x7fc3f7a9ef40>
    - <ast.Constant object at 0x7fc3f7a9e730>
    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 0x7fc3f86e8880>
    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:
    - _cookie_slash_re.sub
    - email.utils.parsedate_to_datetime
    - werkzeug.http.http_date
    - cv.strip
    - cookie.encode
    - <builtin>.isinstance
    - header.get
    - buf.append
    - datetime.time
    - header.partition
    - params.get
    - value.encode
    - werkzeug.http.parse_cookie
    - key.encode
    - time.mktime.astimezone
    - samesite.title
    - parameters_str.split
    - _cookie_no_quote_re.fullmatch
    - <builtin>.len
    - urllib.parse.urlsplit.path.rpartition
    - werkzeug.test.Cookie._from_response_header
    - time.mktime.replace
    - _cookie_re.findall
    - value.strip
    - datetime.datetime.combine
    - out.append
    - key.strip
    - domain.partition
    - ck.strip
    - werkzeug.http.dump_cookie
    - item.partition
    - dt.replace
    - werkzeug.http.parse_date
    - _cookie_unslash_re.sub
    - datetime.datetime.now
    - warnings.warn
    - <builtin>.int
    - <builtin>.next
    - v.strip
    - email.utils.format_datetime
    - urllib.parse.quote
    - werkzeug._internal._dt_as_utc
    - time.mktime
    - email.utils.formatdate
    - werkzeug.sansio.http.parse_cookie
    - typing.cast
    - max_age.total_seconds
    - k.strip
    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:
    - email.utils.parsedate_to_datetime
    - cv.strip
    - cookie.encode
    - <builtin>.isinstance
    - header.get
    - header.partition
    - params.get
    - werkzeug.http.parse_cookie
    - parameters_str.split
    - <builtin>.len
    - urllib.parse.urlsplit.path.rpartition
    - _cookie_re.findall
    - value.strip
    - out.append
    - key.strip
    - ck.strip
    - item.partition
    - dt.replace
    - werkzeug.http.parse_date
    - _cookie_unslash_re.sub
    - <builtin>.next
    - v.strip
    - <builtin>.int
    - typing.cast
    - werkzeug.sansio.http.parse_cookie
    - k.strip
    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:
    - environ.pop
    - urllib.parse.urlsplit.hostname.encode
    - ref.startswith
    - hostname.endswith
    - werkzeug.urls._make_unquote_part._unquote_partial
    - werkzeug.wsgi._get_server
    - host.endswith
    - <builtin>.isinstance
    - c._matches_request
    - parts.append
    - werkzeug.wsgi.get_host
    - part.decode
    - c._to_request_header
    - path.lstrip
    - urllib.parse.urlsplit
    - werkzeug.sansio.utils.get_host
    - ref.partition
    - root_path.rstrip
    - werkzeug.urls._decode_idna
    - werkzeug.urls.uri_to_iri
    - urllib.parse.urlunsplit
    - out.append
    - werkzeug.sansio.utils.get_current_url
    - pattern.split
    - data.decode
    - url.append
    - werkzeug.wsgi.get_current_url
    - hostname.partition
    - <builtin>.next
    - <builtin>.int
    - urllib.parse.quote
    - data.split
    - <builtin>.iter
    - urllib.parse.unquote
    - environ.get
    - werkzeug.sansio.utils.host_is_trusted
    linkageType: pythonLinkage
    raised: []
    returnType: N/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:
    - email.utils.parsedate_to_datetime
    - cv.strip
    - cookie.encode
    - <builtin>.isinstance
    - header.get
    - header.partition
    - params.get
    - werkzeug.http.parse_cookie
    - parameters_str.split
    - <builtin>.len
    - urllib.parse.urlsplit.path.rpartition
    - werkzeug.test.Cookie._from_response_header
    - _cookie_re.findall
    - value.strip
    - out.append
    - key.strip
    - ck.strip
    - item.partition
    - dt.replace
    - werkzeug.http.parse_date
    - _cookie_unslash_re.sub
    - <builtin>.next
    - v.strip
    - <builtin>.int
    - typing.cast
    - werkzeug.sansio.http.parse_cookie
    - k.strip
    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 0x7fc3f80a0250>
    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:
    - environ.pop
    - urllib.parse.urlsplit.hostname.encode
    - ref.startswith
    - hostname.endswith
    - email.utils.parsedate_to_datetime
    - werkzeug.urls._make_unquote_part._unquote_partial
    - cv.strip
    - werkzeug.wsgi._get_server
    - cookie.encode
    - host.endswith
    - <builtin>.isinstance
    - c._matches_request
    - header.get
    - parts.append
    - werkzeug.test.Client._update_cookies_from_response
    - werkzeug.wsgi.get_host
    - part.decode
    - header.partition
    - werkzeug.test.Client._add_cookies_to_wsgi
    - params.get
    - c._to_request_header
    - werkzeug.http.parse_cookie
    - path.lstrip
    - parameters_str.split
    - <builtin>.len
    - urllib.parse.urlsplit
    - urllib.parse.urlsplit.path.rpartition
    - werkzeug.test.Cookie._from_response_header
    - werkzeug.sansio.utils.get_host
    - _cookie_re.findall
    - value.strip
    - ref.partition
    - werkzeug.urls._decode_idna
    - root_path.rstrip
    - werkzeug.urls.uri_to_iri
    - urllib.parse.urlunsplit
    - werkzeug.test.Client.run_wsgi_app
    - out.append
    - key.strip
    - werkzeug.sansio.utils.get_current_url
    - pattern.split
    - ck.strip
    - item.partition
    - data.decode
    - dt.replace
    - werkzeug.http.parse_date
    - url.append
    - urllib.parse.unquote
    - werkzeug.wsgi.get_current_url
    - _cookie_unslash_re.sub
    - hostname.partition
    - <builtin>.next
    - v.strip
    - <builtin>.int
    - urllib.parse.quote
    - typing.cast
    - werkzeug.sansio.http.parse_cookie
    - data.split
    - <builtin>.iter
    - environ.get
    - werkzeug.sansio.utils.host_is_trusted
    - k.strip
    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 0x7fc3f8088e20>
    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:
    - urllib.parse.urlsplit.hostname.encode
    - hostname.endswith
    - werkzeug.urls._urlencode
    - werkzeug.urls._make_unquote_part._unquote_partial
    - <builtin>.isinstance
    - header.get
    - werkzeug.http.quote_header_value
    - mimetypes.guess_type
    - <builtin>.str
    - werkzeug.wsgi.get_host
    - token_chars.issuperset
    - path.lstrip
    - werkzeug.datastructures.auth.Authorization.to_header
    - werkzeug.sansio.utils.get_host
    - collections.defaultdict.items
    - ref.partition
    - werkzeug.test.stream_encode_multipart
    - time.time
    - url.append
    - werkzeug.test.stream_encode_multipart.write_binary
    - tempfile.TemporaryFile
    - data.encode
    - _cookie_unslash_re.sub
    - v.strip
    - werkzeug.test.EnvironBuilder.from_environ
    - boundary.encode
    - response.make_sequence
    - data.split
    - werkzeug.datastructures.headers.EnvironHeaders.__init__
    - werkzeug.test.EnvironBuilder._make_base_url
    - path.split
    - redirects.add
    - ref.startswith
    - builder.headers.pop
    - <builtin>.hasattr
    - key.upper
    - c._matches_request
    - event.name.encode
    - collections.defaultdict
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - part.decode
    - werkzeug.test.EnvironBuilder.get_request
    - params.get
    - <builtin>.super
    - stream.write
    - c._to_request_header
    - data.items
    - werkzeug.test.Client.open
    - werkzeug.datastructures.auth.Authorization.__init__
    - urllib.parse.urlsplit
    - werkzeug.http.dump_header
    - items.append
    - werkzeug._internal._wsgi_encoding_dance
    - f.close
    - urllib.parse.urlunsplit.rstrip
    - werkzeug.urls._decode_idna
    - urllib.parse.urlunsplit
    - out.append
    - arg.get_request
    - werkzeug._internal._wsgi_decoding_dance
    - ck.strip
    - <builtin>.tuple
    - item.partition
    - dt.replace
    - <builtin>.set
    - data.decode
    - urllib.parse.urlsplit.query.encode
    - <builtin>.next
    - response.close
    - werkzeug.sansio.http.parse_cookie
    - history.append
    - s.encode
    - io.BytesIO.seek
    - werkzeug.test.EnvironBuilder.__init__
    - stream.tell
    - cookie.encode
    - host.endswith
    - io.BytesIO
    - parts.append
    - werkzeug.test.Client._update_cookies_from_response
    - random.random
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - <builtin>.getattr
    - werkzeug.test.Client._add_cookies_to_wsgi
    - werkzeug.http.parse_cookie
    - <builtin>.len
    - new_stream.write
    - builder.server_name.split
    - urllib.parse.urlsplit.path.rpartition
    - builder.script_root.split
    - _cookie_re.findall
    - value.strip
    - root_path.rstrip
    - data.read
    - werkzeug.urls.uri_to_iri
    - urllib.parse.unquote.encode
    - werkzeug.test.Client.run_wsgi_app
    - headers.pop
    - werkzeug.urls.iri_to_uri
    - pattern.split
    - werkzeug.wrappers.request.Request.__init__
    - werkzeug.test.Client.resolve_redirect
    - werkzeug.wsgi.get_current_url
    - base64.b64encode
    - <builtin>.int
    - urllib.parse.quote
    - typing.cast
    - <builtin>.iter
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.sansio.utils.host_is_trusted
    - headers.to_wsgi_list
    - k.strip
    - environ.pop
    - stream.getvalue
    - urllib.parse.urlencode
    - email.utils.parsedate_to_datetime
    - cv.strip
    - builder.input_stream.close
    - werkzeug.test.EnvironBuilder.close
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - header.partition
    - response.call_on_close
    - value.encode
    - headers.remove
    - io.BytesIO.tell
    - parameters_str.split
    - name.lower
    - werkzeug.test.Cookie._from_response_header
    - out.update
    - netloc.split
    - key.strip
    - werkzeug.sansio.utils.get_current_url
    - werkzeug.test.EnvironBuilder.get_environ
    - result.update
    - werkzeug.test._iter_data
    - headers.update
    - werkzeug.http.parse_date
    - event.filename.encode
    - value_str.replace
    - hostname.partition
    - urllib.parse.urlsplit.path.encode
    - stream.seek
    - urllib.parse.unquote
    - environ.get
    - werkzeug.wsgi._get_server
    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:
    - urllib.parse.urlsplit.hostname.encode
    - hostname.endswith
    - werkzeug.urls._urlencode
    - werkzeug.urls._make_unquote_part._unquote_partial
    - <builtin>.isinstance
    - header.get
    - werkzeug.http.quote_header_value
    - mimetypes.guess_type
    - <builtin>.str
    - werkzeug.wsgi.get_host
    - token_chars.issuperset
    - path.lstrip
    - werkzeug.datastructures.auth.Authorization.to_header
    - werkzeug.sansio.utils.get_host
    - collections.defaultdict.items
    - ref.partition
    - werkzeug.test.stream_encode_multipart
    - time.time
    - url.append
    - werkzeug.test.stream_encode_multipart.write_binary
    - tempfile.TemporaryFile
    - data.encode
    - _cookie_unslash_re.sub
    - v.strip
    - werkzeug.test.EnvironBuilder.from_environ
    - boundary.encode
    - response.make_sequence
    - data.split
    - werkzeug.datastructures.headers.EnvironHeaders.__init__
    - redirects.add
    - path.split
    - werkzeug.test.EnvironBuilder._make_base_url
    - ref.startswith
    - builder.headers.pop
    - <builtin>.hasattr
    - key.upper
    - c._matches_request
    - event.name.encode
    - collections.defaultdict
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - part.decode
    - werkzeug.test.EnvironBuilder.get_request
    - params.get
    - <builtin>.super
    - stream.write
    - c._to_request_header
    - data.items
    - werkzeug.test.Client.open
    - werkzeug.datastructures.auth.Authorization.__init__
    - werkzeug.http.dump_header
    - urllib.parse.urlsplit
    - items.append
    - werkzeug._internal._wsgi_encoding_dance
    - f.close
    - werkzeug.urls._decode_idna
    - urllib.parse.urlunsplit.rstrip
    - urllib.parse.urlunsplit
    - out.append
    - arg.get_request
    - werkzeug._internal._wsgi_decoding_dance
    - ck.strip
    - <builtin>.tuple
    - item.partition
    - dt.replace
    - <builtin>.set
    - data.decode
    - urllib.parse.urlsplit.query.encode
    - <builtin>.next
    - response.close
    - werkzeug.sansio.http.parse_cookie
    - history.append
    - s.encode
    - io.BytesIO.seek
    - werkzeug.test.EnvironBuilder.__init__
    - stream.tell
    - cookie.encode
    - host.endswith
    - io.BytesIO
    - parts.append
    - werkzeug.test.Client._update_cookies_from_response
    - random.random
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - <builtin>.getattr
    - werkzeug.test.Client._add_cookies_to_wsgi
    - werkzeug.http.parse_cookie
    - <builtin>.len
    - new_stream.write
    - builder.server_name.split
    - urllib.parse.urlsplit.path.rpartition
    - builder.script_root.split
    - _cookie_re.findall
    - value.strip
    - root_path.rstrip
    - data.read
    - werkzeug.urls.uri_to_iri
    - urllib.parse.unquote.encode
    - werkzeug.test.Client.run_wsgi_app
    - headers.pop
    - werkzeug.urls.iri_to_uri
    - pattern.split
    - werkzeug.wrappers.request.Request.__init__
    - werkzeug.test.Client.resolve_redirect
    - werkzeug.wsgi.get_current_url
    - base64.b64encode
    - <builtin>.int
    - urllib.parse.quote
    - typing.cast
    - <builtin>.iter
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.sansio.utils.host_is_trusted
    - headers.to_wsgi_list
    - k.strip
    - environ.pop
    - stream.getvalue
    - urllib.parse.urlencode
    - email.utils.parsedate_to_datetime
    - cv.strip
    - werkzeug.test.EnvironBuilder.close
    - builder.input_stream.close
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - header.partition
    - response.call_on_close
    - value.encode
    - headers.remove
    - io.BytesIO.tell
    - parameters_str.split
    - name.lower
    - werkzeug.test.Cookie._from_response_header
    - out.update
    - netloc.split
    - key.strip
    - werkzeug.sansio.utils.get_current_url
    - werkzeug.test.EnvironBuilder.get_environ
    - result.update
    - werkzeug.test._iter_data
    - headers.update
    - werkzeug.http.parse_date
    - event.filename.encode
    - value_str.replace
    - hostname.partition
    - urllib.parse.urlsplit.path.encode
    - stream.seek
    - urllib.parse.unquote
    - environ.get
    - werkzeug.wsgi._get_server
    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: 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:
    - urllib.parse.urlsplit.hostname.encode
    - hostname.endswith
    - werkzeug.urls._urlencode
    - werkzeug.urls._make_unquote_part._unquote_partial
    - <builtin>.isinstance
    - header.get
    - werkzeug.http.quote_header_value
    - mimetypes.guess_type
    - <builtin>.str
    - werkzeug.wsgi.get_host
    - token_chars.issuperset
    - path.lstrip
    - werkzeug.datastructures.auth.Authorization.to_header
    - werkzeug.sansio.utils.get_host
    - collections.defaultdict.items
    - ref.partition
    - werkzeug.test.stream_encode_multipart
    - time.time
    - url.append
    - werkzeug.test.stream_encode_multipart.write_binary
    - tempfile.TemporaryFile
    - data.encode
    - _cookie_unslash_re.sub
    - v.strip
    - werkzeug.test.EnvironBuilder.from_environ
    - boundary.encode
    - response.make_sequence
    - data.split
    - werkzeug.datastructures.headers.EnvironHeaders.__init__
    - redirects.add
    - path.split
    - werkzeug.test.EnvironBuilder._make_base_url
    - ref.startswith
    - builder.headers.pop
    - <builtin>.hasattr
    - key.upper
    - c._matches_request
    - event.name.encode
    - collections.defaultdict
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - part.decode
    - werkzeug.test.EnvironBuilder.get_request
    - params.get
    - <builtin>.super
    - stream.write
    - c._to_request_header
    - data.items
    - werkzeug.test.Client.open
    - werkzeug.datastructures.auth.Authorization.__init__
    - urllib.parse.urlsplit
    - werkzeug.http.dump_header
    - items.append
    - werkzeug._internal._wsgi_encoding_dance
    - f.close
    - werkzeug.urls._decode_idna
    - urllib.parse.urlunsplit.rstrip
    - urllib.parse.urlunsplit
    - out.append
    - arg.get_request
    - werkzeug._internal._wsgi_decoding_dance
    - ck.strip
    - <builtin>.tuple
    - item.partition
    - dt.replace
    - <builtin>.set
    - data.decode
    - urllib.parse.urlsplit.query.encode
    - <builtin>.next
    - response.close
    - werkzeug.sansio.http.parse_cookie
    - history.append
    - s.encode
    - io.BytesIO.seek
    - werkzeug.test.EnvironBuilder.__init__
    - stream.tell
    - cookie.encode
    - host.endswith
    - io.BytesIO
    - parts.append
    - werkzeug.test.Client._update_cookies_from_response
    - random.random
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - <builtin>.getattr
    - werkzeug.test.Client._add_cookies_to_wsgi
    - werkzeug.http.parse_cookie
    - <builtin>.len
    - new_stream.write
    - builder.server_name.split
    - urllib.parse.urlsplit.path.rpartition
    - builder.script_root.split
    - _cookie_re.findall
    - value.strip
    - root_path.rstrip
    - data.read
    - werkzeug.urls.uri_to_iri
    - urllib.parse.unquote.encode
    - werkzeug.test.Client.run_wsgi_app
    - headers.pop
    - werkzeug.urls.iri_to_uri
    - pattern.split
    - werkzeug.wrappers.request.Request.__init__
    - werkzeug.test.Client.resolve_redirect
    - werkzeug.wsgi.get_current_url
    - base64.b64encode
    - <builtin>.int
    - urllib.parse.quote
    - typing.cast
    - <builtin>.iter
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.sansio.utils.host_is_trusted
    - headers.to_wsgi_list
    - k.strip
    - environ.pop
    - stream.getvalue
    - urllib.parse.urlencode
    - email.utils.parsedate_to_datetime
    - cv.strip
    - werkzeug.test.EnvironBuilder.close
    - builder.input_stream.close
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - header.partition
    - response.call_on_close
    - value.encode
    - headers.remove
    - io.BytesIO.tell
    - parameters_str.split
    - name.lower
    - werkzeug.test.Cookie._from_response_header
    - out.update
    - netloc.split
    - key.strip
    - werkzeug.sansio.utils.get_current_url
    - werkzeug.test.EnvironBuilder.get_environ
    - result.update
    - werkzeug.test._iter_data
    - headers.update
    - werkzeug.http.parse_date
    - event.filename.encode
    - value_str.replace
    - hostname.partition
    - urllib.parse.urlsplit.path.encode
    - stream.seek
    - urllib.parse.unquote
    - environ.get
    - werkzeug.wsgi._get_server
    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:
    - urllib.parse.urlsplit.hostname.encode
    - hostname.endswith
    - werkzeug.urls._urlencode
    - werkzeug.urls._make_unquote_part._unquote_partial
    - <builtin>.isinstance
    - header.get
    - werkzeug.http.quote_header_value
    - mimetypes.guess_type
    - <builtin>.str
    - werkzeug.wsgi.get_host
    - token_chars.issuperset
    - path.lstrip
    - werkzeug.datastructures.auth.Authorization.to_header
    - werkzeug.sansio.utils.get_host
    - collections.defaultdict.items
    - ref.partition
    - werkzeug.test.stream_encode_multipart
    - time.time
    - url.append
    - werkzeug.test.stream_encode_multipart.write_binary
    - tempfile.TemporaryFile
    - data.encode
    - _cookie_unslash_re.sub
    - v.strip
    - werkzeug.test.EnvironBuilder.from_environ
    - boundary.encode
    - response.make_sequence
    - data.split
    - werkzeug.datastructures.headers.EnvironHeaders.__init__
    - redirects.add
    - path.split
    - werkzeug.test.EnvironBuilder._make_base_url
    - ref.startswith
    - builder.headers.pop
    - <builtin>.hasattr
    - key.upper
    - c._matches_request
    - event.name.encode
    - collections.defaultdict
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - part.decode
    - werkzeug.test.EnvironBuilder.get_request
    - params.get
    - <builtin>.super
    - stream.write
    - c._to_request_header
    - data.items
    - werkzeug.test.Client.open
    - werkzeug.datastructures.auth.Authorization.__init__
    - urllib.parse.urlsplit
    - werkzeug.http.dump_header
    - items.append
    - werkzeug._internal._wsgi_encoding_dance
    - f.close
    - werkzeug.urls._decode_idna
    - urllib.parse.urlunsplit.rstrip
    - urllib.parse.urlunsplit
    - out.append
    - arg.get_request
    - werkzeug._internal._wsgi_decoding_dance
    - ck.strip
    - <builtin>.tuple
    - item.partition
    - dt.replace
    - <builtin>.set
    - data.decode
    - urllib.parse.urlsplit.query.encode
    - <builtin>.next
    - response.close
    - werkzeug.sansio.http.parse_cookie
    - history.append
    - s.encode
    - io.BytesIO.seek
    - werkzeug.test.EnvironBuilder.__init__
    - stream.tell
    - cookie.encode
    - host.endswith
    - io.BytesIO
    - parts.append
    - werkzeug.test.Client._update_cookies_from_response
    - random.random
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - <builtin>.getattr
    - werkzeug.test.Client._add_cookies_to_wsgi
    - werkzeug.http.parse_cookie
    - <builtin>.len
    - new_stream.write
    - builder.server_name.split
    - urllib.parse.urlsplit.path.rpartition
    - builder.script_root.split
    - _cookie_re.findall
    - value.strip
    - root_path.rstrip
    - data.read
    - werkzeug.urls.uri_to_iri
    - urllib.parse.unquote.encode
    - werkzeug.test.Client.run_wsgi_app
    - headers.pop
    - werkzeug.urls.iri_to_uri
    - pattern.split
    - werkzeug.wrappers.request.Request.__init__
    - werkzeug.test.Client.resolve_redirect
    - werkzeug.wsgi.get_current_url
    - base64.b64encode
    - <builtin>.int
    - urllib.parse.quote
    - typing.cast
    - <builtin>.iter
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.sansio.utils.host_is_trusted
    - headers.to_wsgi_list
    - k.strip
    - environ.pop
    - stream.getvalue
    - urllib.parse.urlencode
    - email.utils.parsedate_to_datetime
    - cv.strip
    - werkzeug.test.EnvironBuilder.close
    - builder.input_stream.close
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - header.partition
    - response.call_on_close
    - value.encode
    - headers.remove
    - io.BytesIO.tell
    - parameters_str.split
    - name.lower
    - werkzeug.test.Cookie._from_response_header
    - out.update
    - netloc.split
    - key.strip
    - werkzeug.sansio.utils.get_current_url
    - werkzeug.test.EnvironBuilder.get_environ
    - result.update
    - werkzeug.test._iter_data
    - headers.update
    - werkzeug.http.parse_date
    - event.filename.encode
    - value_str.replace
    - hostname.partition
    - urllib.parse.urlsplit.path.encode
    - stream.seek
    - urllib.parse.unquote
    - environ.get
    - werkzeug.wsgi._get_server
    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:
    - urllib.parse.urlsplit.hostname.encode
    - hostname.endswith
    - werkzeug.urls._urlencode
    - werkzeug.urls._make_unquote_part._unquote_partial
    - <builtin>.isinstance
    - header.get
    - werkzeug.http.quote_header_value
    - mimetypes.guess_type
    - <builtin>.str
    - werkzeug.wsgi.get_host
    - token_chars.issuperset
    - path.lstrip
    - werkzeug.datastructures.auth.Authorization.to_header
    - werkzeug.sansio.utils.get_host
    - collections.defaultdict.items
    - ref.partition
    - werkzeug.test.stream_encode_multipart
    - time.time
    - url.append
    - werkzeug.test.stream_encode_multipart.write_binary
    - tempfile.TemporaryFile
    - data.encode
    - _cookie_unslash_re.sub
    - v.strip
    - werkzeug.test.EnvironBuilder.from_environ
    - boundary.encode
    - response.make_sequence
    - data.split
    - werkzeug.datastructures.headers.EnvironHeaders.__init__
    - redirects.add
    - path.split
    - werkzeug.test.EnvironBuilder._make_base_url
    - ref.startswith
    - builder.headers.pop
    - <builtin>.hasattr
    - key.upper
    - c._matches_request
    - event.name.encode
    - collections.defaultdict
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - part.decode
    - werkzeug.test.EnvironBuilder.get_request
    - params.get
    - <builtin>.super
    - stream.write
    - c._to_request_header
    - data.items
    - werkzeug.test.Client.open
    - werkzeug.datastructures.auth.Authorization.__init__
    - urllib.parse.urlsplit
    - werkzeug.http.dump_header
    - items.append
    - werkzeug._internal._wsgi_encoding_dance
    - f.close
    - werkzeug.urls._decode_idna
    - urllib.parse.urlunsplit.rstrip
    - urllib.parse.urlunsplit
    - out.append
    - arg.get_request
    - werkzeug._internal._wsgi_decoding_dance
    - ck.strip
    - <builtin>.tuple
    - item.partition
    - dt.replace
    - <builtin>.set
    - data.decode
    - urllib.parse.urlsplit.query.encode
    - <builtin>.next
    - response.close
    - werkzeug.sansio.http.parse_cookie
    - history.append
    - s.encode
    - io.BytesIO.seek
    - werkzeug.test.EnvironBuilder.__init__
    - stream.tell
    - cookie.encode
    - host.endswith
    - io.BytesIO
    - parts.append
    - werkzeug.test.Client._update_cookies_from_response
    - random.random
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - <builtin>.getattr
    - werkzeug.test.Client._add_cookies_to_wsgi
    - werkzeug.http.parse_cookie
    - <builtin>.len
    - new_stream.write
    - builder.server_name.split
    - urllib.parse.urlsplit.path.rpartition
    - builder.script_root.split
    - _cookie_re.findall
    - value.strip
    - root_path.rstrip
    - data.read
    - werkzeug.urls.uri_to_iri
    - urllib.parse.unquote.encode
    - werkzeug.test.Client.run_wsgi_app
    - headers.pop
    - werkzeug.urls.iri_to_uri
    - pattern.split
    - werkzeug.wrappers.request.Request.__init__
    - werkzeug.test.Client.resolve_redirect
    - werkzeug.wsgi.get_current_url
    - base64.b64encode
    - <builtin>.int
    - urllib.parse.quote
    - typing.cast
    - <builtin>.iter
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.sansio.utils.host_is_trusted
    - headers.to_wsgi_list
    - k.strip
    - environ.pop
    - stream.getvalue
    - urllib.parse.urlencode
    - email.utils.parsedate_to_datetime
    - cv.strip
    - werkzeug.test.EnvironBuilder.close
    - builder.input_stream.close
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - header.partition
    - response.call_on_close
    - value.encode
    - headers.remove
    - io.BytesIO.tell
    - parameters_str.split
    - name.lower
    - werkzeug.test.Cookie._from_response_header
    - out.update
    - netloc.split
    - key.strip
    - werkzeug.sansio.utils.get_current_url
    - werkzeug.test.EnvironBuilder.get_environ
    - result.update
    - werkzeug.test._iter_data
    - headers.update
    - werkzeug.http.parse_date
    - event.filename.encode
    - value_str.replace
    - hostname.partition
    - urllib.parse.urlsplit.path.encode
    - stream.seek
    - urllib.parse.unquote
    - environ.get
    - werkzeug.wsgi._get_server
    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:
    - urllib.parse.urlsplit.hostname.encode
    - hostname.endswith
    - werkzeug.urls._urlencode
    - werkzeug.urls._make_unquote_part._unquote_partial
    - <builtin>.isinstance
    - header.get
    - werkzeug.http.quote_header_value
    - mimetypes.guess_type
    - <builtin>.str
    - werkzeug.wsgi.get_host
    - token_chars.issuperset
    - path.lstrip
    - werkzeug.datastructures.auth.Authorization.to_header
    - werkzeug.sansio.utils.get_host
    - collections.defaultdict.items
    - ref.partition
    - werkzeug.test.stream_encode_multipart
    - time.time
    - url.append
    - werkzeug.test.stream_encode_multipart.write_binary
    - tempfile.TemporaryFile
    - data.encode
    - _cookie_unslash_re.sub
    - v.strip
    - werkzeug.test.EnvironBuilder.from_environ
    - boundary.encode
    - response.make_sequence
    - data.split
    - werkzeug.datastructures.headers.EnvironHeaders.__init__
    - redirects.add
    - path.split
    - werkzeug.test.EnvironBuilder._make_base_url
    - ref.startswith
    - builder.headers.pop
    - <builtin>.hasattr
    - key.upper
    - c._matches_request
    - event.name.encode
    - collections.defaultdict
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - part.decode
    - werkzeug.test.EnvironBuilder.get_request
    - params.get
    - <builtin>.super
    - stream.write
    - c._to_request_header
    - data.items
    - werkzeug.test.Client.open
    - werkzeug.datastructures.auth.Authorization.__init__
    - urllib.parse.urlsplit
    - werkzeug.http.dump_header
    - items.append
    - werkzeug._internal._wsgi_encoding_dance
    - f.close
    - werkzeug.urls._decode_idna
    - urllib.parse.urlunsplit.rstrip
    - urllib.parse.urlunsplit
    - out.append
    - arg.get_request
    - werkzeug._internal._wsgi_decoding_dance
    - ck.strip
    - <builtin>.tuple
    - item.partition
    - dt.replace
    - <builtin>.set
    - data.decode
    - urllib.parse.urlsplit.query.encode
    - <builtin>.next
    - response.close
    - werkzeug.sansio.http.parse_cookie
    - history.append
    - s.encode
    - io.BytesIO.seek
    - werkzeug.test.EnvironBuilder.__init__
    - stream.tell
    - cookie.encode
    - host.endswith
    - io.BytesIO
    - parts.append
    - werkzeug.test.Client._update_cookies_from_response
    - random.random
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - <builtin>.getattr
    - werkzeug.test.Client._add_cookies_to_wsgi
    - werkzeug.http.parse_cookie
    - <builtin>.len
    - new_stream.write
    - builder.server_name.split
    - urllib.parse.urlsplit.path.rpartition
    - builder.script_root.split
    - _cookie_re.findall
    - value.strip
    - root_path.rstrip
    - data.read
    - werkzeug.urls.uri_to_iri
    - urllib.parse.unquote.encode
    - werkzeug.test.Client.run_wsgi_app
    - headers.pop
    - werkzeug.urls.iri_to_uri
    - pattern.split
    - werkzeug.wrappers.request.Request.__init__
    - werkzeug.test.Client.resolve_redirect
    - werkzeug.wsgi.get_current_url
    - base64.b64encode
    - <builtin>.int
    - urllib.parse.quote
    - typing.cast
    - <builtin>.iter
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.sansio.utils.host_is_trusted
    - headers.to_wsgi_list
    - k.strip
    - environ.pop
    - stream.getvalue
    - urllib.parse.urlencode
    - email.utils.parsedate_to_datetime
    - cv.strip
    - werkzeug.test.EnvironBuilder.close
    - builder.input_stream.close
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - header.partition
    - response.call_on_close
    - value.encode
    - headers.remove
    - io.BytesIO.tell
    - parameters_str.split
    - name.lower
    - werkzeug.test.Cookie._from_response_header
    - out.update
    - netloc.split
    - key.strip
    - werkzeug.sansio.utils.get_current_url
    - werkzeug.test.EnvironBuilder.get_environ
    - result.update
    - werkzeug.test._iter_data
    - headers.update
    - werkzeug.http.parse_date
    - event.filename.encode
    - value_str.replace
    - hostname.partition
    - urllib.parse.urlsplit.path.encode
    - stream.seek
    - urllib.parse.unquote
    - environ.get
    - werkzeug.wsgi._get_server
    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:
    - urllib.parse.urlsplit.hostname.encode
    - hostname.endswith
    - werkzeug.urls._urlencode
    - werkzeug.urls._make_unquote_part._unquote_partial
    - <builtin>.isinstance
    - header.get
    - werkzeug.http.quote_header_value
    - mimetypes.guess_type
    - <builtin>.str
    - werkzeug.wsgi.get_host
    - token_chars.issuperset
    - path.lstrip
    - werkzeug.datastructures.auth.Authorization.to_header
    - werkzeug.sansio.utils.get_host
    - collections.defaultdict.items
    - ref.partition
    - werkzeug.test.stream_encode_multipart
    - time.time
    - url.append
    - werkzeug.test.stream_encode_multipart.write_binary
    - tempfile.TemporaryFile
    - data.encode
    - _cookie_unslash_re.sub
    - v.strip
    - werkzeug.test.EnvironBuilder.from_environ
    - boundary.encode
    - response.make_sequence
    - data.split
    - werkzeug.datastructures.headers.EnvironHeaders.__init__
    - redirects.add
    - path.split
    - werkzeug.test.EnvironBuilder._make_base_url
    - ref.startswith
    - builder.headers.pop
    - <builtin>.hasattr
    - key.upper
    - c._matches_request
    - event.name.encode
    - collections.defaultdict
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - part.decode
    - werkzeug.test.EnvironBuilder.get_request
    - params.get
    - <builtin>.super
    - stream.write
    - c._to_request_header
    - data.items
    - werkzeug.test.Client.open
    - werkzeug.datastructures.auth.Authorization.__init__
    - urllib.parse.urlsplit
    - werkzeug.http.dump_header
    - items.append
    - werkzeug._internal._wsgi_encoding_dance
    - f.close
    - werkzeug.urls._decode_idna
    - urllib.parse.urlunsplit.rstrip
    - urllib.parse.urlunsplit
    - out.append
    - arg.get_request
    - werkzeug._internal._wsgi_decoding_dance
    - ck.strip
    - <builtin>.tuple
    - item.partition
    - dt.replace
    - <builtin>.set
    - data.decode
    - urllib.parse.urlsplit.query.encode
    - <builtin>.next
    - response.close
    - werkzeug.sansio.http.parse_cookie
    - history.append
    - s.encode
    - io.BytesIO.seek
    - werkzeug.test.EnvironBuilder.__init__
    - stream.tell
    - cookie.encode
    - host.endswith
    - io.BytesIO
    - parts.append
    - werkzeug.test.Client._update_cookies_from_response
    - random.random
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - <builtin>.getattr
    - werkzeug.test.Client._add_cookies_to_wsgi
    - werkzeug.http.parse_cookie
    - <builtin>.len
    - new_stream.write
    - builder.server_name.split
    - urllib.parse.urlsplit.path.rpartition
    - builder.script_root.split
    - _cookie_re.findall
    - value.strip
    - root_path.rstrip
    - data.read
    - werkzeug.urls.uri_to_iri
    - urllib.parse.unquote.encode
    - werkzeug.test.Client.run_wsgi_app
    - headers.pop
    - werkzeug.urls.iri_to_uri
    - pattern.split
    - werkzeug.wrappers.request.Request.__init__
    - werkzeug.test.Client.resolve_redirect
    - werkzeug.wsgi.get_current_url
    - base64.b64encode
    - <builtin>.int
    - urllib.parse.quote
    - typing.cast
    - <builtin>.iter
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.sansio.utils.host_is_trusted
    - headers.to_wsgi_list
    - k.strip
    - environ.pop
    - stream.getvalue
    - urllib.parse.urlencode
    - email.utils.parsedate_to_datetime
    - cv.strip
    - werkzeug.test.EnvironBuilder.close
    - builder.input_stream.close
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - header.partition
    - response.call_on_close
    - value.encode
    - headers.remove
    - io.BytesIO.tell
    - parameters_str.split
    - name.lower
    - werkzeug.test.Cookie._from_response_header
    - out.update
    - netloc.split
    - key.strip
    - werkzeug.sansio.utils.get_current_url
    - werkzeug.test.EnvironBuilder.get_environ
    - result.update
    - werkzeug.test._iter_data
    - headers.update
    - werkzeug.http.parse_date
    - event.filename.encode
    - value_str.replace
    - hostname.partition
    - urllib.parse.urlsplit.path.encode
    - stream.seek
    - urllib.parse.unquote
    - environ.get
    - werkzeug.wsgi._get_server
    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:
    - urllib.parse.urlsplit.hostname.encode
    - hostname.endswith
    - werkzeug.urls._urlencode
    - werkzeug.urls._make_unquote_part._unquote_partial
    - <builtin>.isinstance
    - header.get
    - werkzeug.http.quote_header_value
    - mimetypes.guess_type
    - <builtin>.str
    - werkzeug.wsgi.get_host
    - token_chars.issuperset
    - path.lstrip
    - werkzeug.datastructures.auth.Authorization.to_header
    - werkzeug.sansio.utils.get_host
    - collections.defaultdict.items
    - ref.partition
    - werkzeug.test.stream_encode_multipart
    - time.time
    - url.append
    - werkzeug.test.stream_encode_multipart.write_binary
    - tempfile.TemporaryFile
    - data.encode
    - _cookie_unslash_re.sub
    - v.strip
    - werkzeug.test.EnvironBuilder.from_environ
    - boundary.encode
    - response.make_sequence
    - data.split
    - werkzeug.datastructures.headers.EnvironHeaders.__init__
    - redirects.add
    - path.split
    - werkzeug.test.EnvironBuilder._make_base_url
    - ref.startswith
    - builder.headers.pop
    - <builtin>.hasattr
    - key.upper
    - c._matches_request
    - event.name.encode
    - collections.defaultdict
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - part.decode
    - werkzeug.test.EnvironBuilder.get_request
    - params.get
    - <builtin>.super
    - stream.write
    - c._to_request_header
    - data.items
    - werkzeug.test.Client.open
    - werkzeug.datastructures.auth.Authorization.__init__
    - urllib.parse.urlsplit
    - werkzeug.http.dump_header
    - items.append
    - werkzeug._internal._wsgi_encoding_dance
    - f.close
    - werkzeug.urls._decode_idna
    - urllib.parse.urlunsplit.rstrip
    - urllib.parse.urlunsplit
    - out.append
    - arg.get_request
    - werkzeug._internal._wsgi_decoding_dance
    - ck.strip
    - <builtin>.tuple
    - item.partition
    - dt.replace
    - <builtin>.set
    - data.decode
    - urllib.parse.urlsplit.query.encode
    - <builtin>.next
    - response.close
    - werkzeug.sansio.http.parse_cookie
    - history.append
    - s.encode
    - io.BytesIO.seek
    - werkzeug.test.EnvironBuilder.__init__
    - stream.tell
    - cookie.encode
    - host.endswith
    - io.BytesIO
    - parts.append
    - werkzeug.test.Client._update_cookies_from_response
    - random.random
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - <builtin>.getattr
    - werkzeug.test.Client._add_cookies_to_wsgi
    - werkzeug.http.parse_cookie
    - <builtin>.len
    - new_stream.write
    - builder.server_name.split
    - urllib.parse.urlsplit.path.rpartition
    - builder.script_root.split
    - _cookie_re.findall
    - value.strip
    - root_path.rstrip
    - data.read
    - werkzeug.urls.uri_to_iri
    - urllib.parse.unquote.encode
    - werkzeug.test.Client.run_wsgi_app
    - headers.pop
    - werkzeug.urls.iri_to_uri
    - pattern.split
    - werkzeug.wrappers.request.Request.__init__
    - werkzeug.test.Client.resolve_redirect
    - werkzeug.wsgi.get_current_url
    - base64.b64encode
    - <builtin>.int
    - urllib.parse.quote
    - typing.cast
    - <builtin>.iter
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.sansio.utils.host_is_trusted
    - headers.to_wsgi_list
    - k.strip
    - environ.pop
    - stream.getvalue
    - urllib.parse.urlencode
    - email.utils.parsedate_to_datetime
    - cv.strip
    - werkzeug.test.EnvironBuilder.close
    - builder.input_stream.close
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - header.partition
    - response.call_on_close
    - value.encode
    - headers.remove
    - io.BytesIO.tell
    - parameters_str.split
    - name.lower
    - werkzeug.test.Cookie._from_response_header
    - out.update
    - netloc.split
    - key.strip
    - werkzeug.sansio.utils.get_current_url
    - werkzeug.test.EnvironBuilder.get_environ
    - result.update
    - werkzeug.test._iter_data
    - headers.update
    - werkzeug.http.parse_date
    - event.filename.encode
    - value_str.replace
    - hostname.partition
    - urllib.parse.urlsplit.path.encode
    - stream.seek
    - urllib.parse.unquote
    - environ.get
    - werkzeug.wsgi._get_server
    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:
    - urllib.parse.urlsplit.hostname.encode
    - hostname.endswith
    - werkzeug.urls._urlencode
    - werkzeug.urls._make_unquote_part._unquote_partial
    - <builtin>.isinstance
    - header.get
    - werkzeug.http.quote_header_value
    - mimetypes.guess_type
    - <builtin>.str
    - werkzeug.wsgi.get_host
    - token_chars.issuperset
    - path.lstrip
    - werkzeug.datastructures.auth.Authorization.to_header
    - werkzeug.sansio.utils.get_host
    - collections.defaultdict.items
    - ref.partition
    - werkzeug.test.stream_encode_multipart
    - time.time
    - url.append
    - werkzeug.test.stream_encode_multipart.write_binary
    - tempfile.TemporaryFile
    - data.encode
    - _cookie_unslash_re.sub
    - v.strip
    - werkzeug.test.EnvironBuilder.from_environ
    - boundary.encode
    - response.make_sequence
    - data.split
    - werkzeug.datastructures.headers.EnvironHeaders.__init__
    - redirects.add
    - path.split
    - werkzeug.test.EnvironBuilder._make_base_url
    - ref.startswith
    - builder.headers.pop
    - <builtin>.hasattr
    - key.upper
    - c._matches_request
    - event.name.encode
    - collections.defaultdict
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - part.decode
    - werkzeug.test.EnvironBuilder.get_request
    - params.get
    - <builtin>.super
    - stream.write
    - c._to_request_header
    - data.items
    - werkzeug.test.Client.open
    - werkzeug.datastructures.auth.Authorization.__init__
    - urllib.parse.urlsplit
    - werkzeug.http.dump_header
    - items.append
    - werkzeug._internal._wsgi_encoding_dance
    - f.close
    - werkzeug.urls._decode_idna
    - urllib.parse.urlunsplit.rstrip
    - urllib.parse.urlunsplit
    - out.append
    - arg.get_request
    - werkzeug._internal._wsgi_decoding_dance
    - ck.strip
    - <builtin>.tuple
    - item.partition
    - dt.replace
    - <builtin>.set
    - data.decode
    - urllib.parse.urlsplit.query.encode
    - <builtin>.next
    - response.close
    - werkzeug.sansio.http.parse_cookie
    - history.append
    - s.encode
    - io.BytesIO.seek
    - werkzeug.test.EnvironBuilder.__init__
    - stream.tell
    - cookie.encode
    - host.endswith
    - io.BytesIO
    - parts.append
    - werkzeug.test.Client._update_cookies_from_response
    - random.random
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - <builtin>.getattr
    - werkzeug.test.Client._add_cookies_to_wsgi
    - werkzeug.http.parse_cookie
    - <builtin>.len
    - new_stream.write
    - builder.server_name.split
    - urllib.parse.urlsplit.path.rpartition
    - builder.script_root.split
    - _cookie_re.findall
    - value.strip
    - root_path.rstrip
    - data.read
    - werkzeug.urls.uri_to_iri
    - urllib.parse.unquote.encode
    - werkzeug.test.Client.run_wsgi_app
    - headers.pop
    - werkzeug.urls.iri_to_uri
    - pattern.split
    - werkzeug.wrappers.request.Request.__init__
    - werkzeug.test.Client.resolve_redirect
    - werkzeug.wsgi.get_current_url
    - base64.b64encode
    - <builtin>.int
    - urllib.parse.quote
    - typing.cast
    - <builtin>.iter
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.sansio.utils.host_is_trusted
    - headers.to_wsgi_list
    - k.strip
    - environ.pop
    - stream.getvalue
    - urllib.parse.urlencode
    - email.utils.parsedate_to_datetime
    - cv.strip
    - werkzeug.test.EnvironBuilder.close
    - builder.input_stream.close
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - header.partition
    - response.call_on_close
    - value.encode
    - headers.remove
    - io.BytesIO.tell
    - parameters_str.split
    - name.lower
    - werkzeug.test.Cookie._from_response_header
    - out.update
    - netloc.split
    - key.strip
    - werkzeug.sansio.utils.get_current_url
    - werkzeug.test.EnvironBuilder.get_environ
    - result.update
    - werkzeug.test._iter_data
    - headers.update
    - werkzeug.http.parse_date
    - event.filename.encode
    - value_str.replace
    - hostname.partition
    - urllib.parse.urlsplit.path.encode
    - stream.seek
    - urllib.parse.unquote
    - environ.get
    - werkzeug.wsgi._get_server
    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:
    - urllib.parse.urlsplit.hostname.encode
    - hostname.endswith
    - werkzeug.urls._urlencode
    - werkzeug.urls._make_unquote_part._unquote_partial
    - <builtin>.isinstance
    - header.get
    - werkzeug.http.quote_header_value
    - mimetypes.guess_type
    - <builtin>.str
    - werkzeug.wsgi.get_host
    - token_chars.issuperset
    - path.lstrip
    - werkzeug.datastructures.auth.Authorization.to_header
    - werkzeug.sansio.utils.get_host
    - collections.defaultdict.items
    - ref.partition
    - werkzeug.test.stream_encode_multipart
    - time.time
    - url.append
    - werkzeug.test.stream_encode_multipart.write_binary
    - tempfile.TemporaryFile
    - data.encode
    - _cookie_unslash_re.sub
    - v.strip
    - werkzeug.test.EnvironBuilder.from_environ
    - boundary.encode
    - response.make_sequence
    - data.split
    - werkzeug.datastructures.headers.EnvironHeaders.__init__
    - redirects.add
    - path.split
    - werkzeug.test.EnvironBuilder._make_base_url
    - ref.startswith
    - builder.headers.pop
    - <builtin>.hasattr
    - key.upper
    - c._matches_request
    - event.name.encode
    - collections.defaultdict
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - part.decode
    - werkzeug.test.EnvironBuilder.get_request
    - params.get
    - <builtin>.super
    - stream.write
    - c._to_request_header
    - data.items
    - werkzeug.test.Client.open
    - werkzeug.datastructures.auth.Authorization.__init__
    - urllib.parse.urlsplit
    - werkzeug.http.dump_header
    - items.append
    - werkzeug._internal._wsgi_encoding_dance
    - f.close
    - werkzeug.urls._decode_idna
    - urllib.parse.urlunsplit.rstrip
    - urllib.parse.urlunsplit
    - out.append
    - arg.get_request
    - werkzeug._internal._wsgi_decoding_dance
    - ck.strip
    - <builtin>.tuple
    - item.partition
    - dt.replace
    - <builtin>.set
    - data.decode
    - urllib.parse.urlsplit.query.encode
    - <builtin>.next
    - response.close
    - werkzeug.sansio.http.parse_cookie
    - history.append
    - s.encode
    - io.BytesIO.seek
    - werkzeug.test.EnvironBuilder.__init__
    - stream.tell
    - cookie.encode
    - host.endswith
    - io.BytesIO
    - parts.append
    - werkzeug.test.Client._update_cookies_from_response
    - random.random
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - <builtin>.getattr
    - werkzeug.test.Client._add_cookies_to_wsgi
    - werkzeug.http.parse_cookie
    - <builtin>.len
    - new_stream.write
    - builder.server_name.split
    - urllib.parse.urlsplit.path.rpartition
    - builder.script_root.split
    - _cookie_re.findall
    - value.strip
    - root_path.rstrip
    - data.read
    - werkzeug.urls.uri_to_iri
    - urllib.parse.unquote.encode
    - werkzeug.test.Client.run_wsgi_app
    - headers.pop
    - werkzeug.urls.iri_to_uri
    - pattern.split
    - werkzeug.wrappers.request.Request.__init__
    - werkzeug.test.Client.resolve_redirect
    - werkzeug.wsgi.get_current_url
    - base64.b64encode
    - <builtin>.int
    - urllib.parse.quote
    - typing.cast
    - <builtin>.iter
    - http.server.BaseHTTPRequestHandler.path.encode
    - werkzeug.sansio.utils.host_is_trusted
    - headers.to_wsgi_list
    - k.strip
    - environ.pop
    - stream.getvalue
    - urllib.parse.urlencode
    - email.utils.parsedate_to_datetime
    - cv.strip
    - werkzeug.test.EnvironBuilder.close
    - builder.input_stream.close
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - header.partition
    - response.call_on_close
    - value.encode
    - headers.remove
    - io.BytesIO.tell
    - parameters_str.split
    - name.lower
    - werkzeug.test.Cookie._from_response_header
    - out.update
    - netloc.split
    - key.strip
    - werkzeug.sansio.utils.get_current_url
    - werkzeug.test.EnvironBuilder.get_environ
    - result.update
    - werkzeug.test._iter_data
    - headers.update
    - werkzeug.http.parse_date
    - event.filename.encode
    - value_str.replace
    - hostname.partition
    - urllib.parse.urlsplit.path.encode
    - stream.seek
    - urllib.parse.unquote
    - environ.get
    - werkzeug.wsgi._get_server
    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:
    - urllib.parse.urlsplit.hostname.encode
    - stream.getvalue
    - io.BytesIO.seek
    - werkzeug.test.EnvironBuilder.__init__
    - <builtin>.hasattr
    - werkzeug.urls._urlencode
    - stream.tell
    - urllib.parse.urlencode
    - key.upper
    - <builtin>.isinstance
    - io.BytesIO
    - event.name.encode
    - werkzeug.http.quote_header_value
    - collections.defaultdict
    - werkzeug.test.EnvironBuilder.close
    - random.random
    - werkzeug.sansio.multipart.MultipartEncoder.send_event
    - werkzeug.test.EnvironBuilder._add_file_from_data
    - mimetypes.guess_type
    - <builtin>.str
    - <builtin>.getattr
    - werkzeug.sansio.multipart.MultipartEncoder.__init__
    - stream.write
    - token_chars.issuperset
    - value.encode
    - data.items
    - headers.remove
    - io.BytesIO.tell
    - werkzeug.datastructures.auth.Authorization.__init__
    - werkzeug.datastructures.auth.Authorization.to_header
    - <builtin>.len
    - new_stream.write
    - werkzeug.http.dump_header
    - name.lower
    - urllib.parse.urlsplit
    - items.append
    - collections.defaultdict.items
    - werkzeug._internal._wsgi_encoding_dance
    - f.close
    - werkzeug.test.stream_encode_multipart
    - data.read
    - urllib.parse.unquote.encode
    - urllib.parse.urlunsplit
    - time.time
    - werkzeug.urls.iri_to_uri
    - werkzeug.test.EnvironBuilder.get_environ
    - result.update
    - werkzeug.test._iter_data
    - headers.update
    - werkzeug.test.stream_encode_multipart.write_binary
    - tempfile.TemporaryFile
    - urllib.parse.urlsplit.query.encode
    - data.encode
    - event.filename.encode
    - value_str.replace
    - base64.b64encode
    - urllib.parse.quote
    - urllib.parse.urlsplit.path.encode
    - stream.seek
    - typing.cast
    - boundary.encode
    - http.server.BaseHTTPRequestHandler.path.encode
    - headers.to_wsgi_list
    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 0x7fc3f7d0f310>
    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: 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: 1
    IfCount: 0
    argCount: 7
    argDefaultValues:
    - <ast.Tuple object at 0x7fc3f7c49b80>
    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:
    - <builtin>.getattr
    - werkzeug.wrappers.response.Response.get_data
    - werkzeug.wsgi._RangeWrapper.__next__
    - <builtin>.list
    - werkzeug.wrappers.response.Response._ensure_sequence
    - werkzeug.wrappers.response._iter_encoded
    - <builtin>.next
    - werkzeug.wrappers.response.Response.iter_encoded
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <builtin>.isinstance
    - item.encode
    - werkzeug.wrappers.response.Response.call_on_close
    - werkzeug.wrappers.response.Response.make_sequence
    - <builtin>.len
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - werkzeug.wsgi._RangeWrapper._next
    - werkzeug.wsgi._RangeWrapper.__iter__
    - rv.decode
    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: 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: 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: 226
    functionName: werkzeug.sansio.multipart.MultipartDecoder._parse_headers
    functionSourceFile: werkzeug.sansio.multipart
    functionUses: 6
    functionsReached:
    - line.decode
    - headers.append
    - name.strip
    - HEADER_CONTINUATION_RE.sub
    - line.strip
    - data.splitlines
    - 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: extra.get
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - data
    - start
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 239
    functionName: werkzeug.sansio.multipart.MultipartDecoder._parse_data
    functionSourceFile: werkzeug.sansio.multipart
    functionUses: 6
    functionsReached:
    - data.rindex
    - <builtin>.min
    - LINE_BREAK_RE.match
    - <builtin>.bytes
    - match.start
    - match.end
    - typing.cast
    - match.group
    - <builtin>.len
    - werkzeug.sansio.multipart.MultipartDecoder._last_partial_boundary_index
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.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: LINE_BREAK_RE.match
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 269
    functionName: werkzeug.sansio.multipart.MultipartDecoder._last_partial_boundary_index
    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: 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: 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: 1
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc3f7ee1e20>
    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:
    - ref.startswith
    - hostname.endswith
    - hostname.partition
    - <builtin>.int
    - werkzeug.wsgi._get_server
    - host.endswith
    - <builtin>.isinstance
    - werkzeug.sansio.utils.get_host
    - environ.get
    - werkzeug.sansio.utils.host_is_trusted
    - 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 0x7fc3f83340a0>
    - <ast.Constant object at 0x7fc3f8334340>
    - <ast.Constant object at 0x7fc3f8334d90>
    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:
    - urllib.parse.urlsplit.hostname.encode
    - werkzeug.urls._make_unquote_part._unquote_partial
    - parts.append
    - part.decode
    - path.lstrip
    - urllib.parse.urlsplit
    - root_path.rstrip
    - werkzeug.urls._decode_idna
    - werkzeug.urls.uri_to_iri
    - urllib.parse.urlunsplit
    - out.append
    - pattern.split
    - data.decode
    - url.append
    - <builtin>.next
    - urllib.parse.quote
    - data.split
    - <builtin>.iter
    - 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 0x7fc3f7d12310>
    - <ast.Constant object at 0x7fc3f7d12910>
    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.partition
    - hostname.endswith
    - host.endswith
    - <builtin>.isinstance
    - werkzeug.sansio.utils.host_is_trusted
    - 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 0x7fc3f7cc8eb0>
    - <ast.Constant object at 0x7fc3f7cc8f10>
    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
    - value.strip
    - <builtin>.max
    - werkzeug._internal._plain_int
    - _plain_int_re.fullmatch
    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 0x7fc3f809c5b0>
    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: 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:
    - local.__release_local__
    - <builtin>.hasattr
    - werkzeug.local.release_local
    - werkzeug.wrappers.response.Response.close
    - 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:
    - werkzeug.local.release_local
    - 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 0x7fc3f7b61820>
    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:
    - werkzeug.wsgi._RangeWrapper._next_chunk
    - <builtin>.next
    - <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._next_chunk
    - <builtin>.next
    - werkzeug.wsgi._RangeWrapper._first_iteration
    - <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 0x7fc3f7f33370>
    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:
    - werkzeug.wsgi.LimitedStream.readall
    - <builtin>.bytes
    - io.RawIOBase.read
    - <builtin>.bytearray
    - werkzeug.wsgi.LimitedStream.on_exhausted
    - out.extend
    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
    - io.RawIOBase.read
    - <builtin>.bytearray
    - werkzeug.wsgi.LimitedStream.on_exhausted
    - 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
    - <builtin>.min
    - werkzeug.wsgi.LimitedStream.on_disconnect
    - <builtin>.len
    - <builtin>.bytearray
    - werkzeug.wsgi.LimitedStream.on_exhausted
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: 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: 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 0x7fc3f81e29d0>
    - <ast.Constant object at 0x7fc3f81e2c40>
    - <ast.Constant object at 0x7fc3f81e2370>
    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: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7fc3f7330310>
    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: 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: 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:
    - werkzeug.datastructures.etag.ETags.contains
    - werkzeug.datastructures.etag.ETags.is_weak
    - werkzeug.datastructures.etag.ETags.contains_weak
    - werkzeug.datastructures.etag.ETags.is_strong
    - werkzeug.http.unquote_etag
    - 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 0x7fc3f7355700>
    - <ast.Constant object at 0x7fc3f73551f0>
    - <ast.Constant object at 0x7fc3f73556a0>
    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:
    - hashlib.sha1.hexdigest
    - hashlib.sha1
    - werkzeug.http.generate_etag
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: 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: 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: 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: 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: 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:
    - path.lstrip
    - method.upper
    - root_path.rstrip
    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:
    - result.append
    - <builtin>.len
    - urllib.request.parse_http_list
    - werkzeug.http.parse_list_header
    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:
    - urllib.parse.urlsplit.hostname.encode
    - werkzeug.urls._make_unquote_part._unquote_partial
    - parts.append
    - part.decode
    - path.lstrip
    - urllib.parse.urlsplit
    - root_path.rstrip
    - werkzeug.urls._decode_idna
    - werkzeug.urls.uri_to_iri
    - urllib.parse.urlunsplit
    - out.append
    - werkzeug.sansio.utils.get_current_url
    - pattern.split
    - data.decode
    - url.append
    - <builtin>.next
    - urllib.parse.quote
    - data.split
    - <builtin>.iter
    - 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:
    - urllib.parse.urlsplit.hostname.encode
    - werkzeug.urls._make_unquote_part._unquote_partial
    - parts.append
    - part.decode
    - path.lstrip
    - urllib.parse.urlsplit
    - root_path.rstrip
    - werkzeug.urls._decode_idna
    - werkzeug.urls.uri_to_iri
    - urllib.parse.urlunsplit
    - out.append
    - werkzeug.sansio.utils.get_current_url
    - pattern.split
    - data.decode
    - url.append
    - <builtin>.next
    - urllib.parse.quote
    - data.split
    - <builtin>.iter
    - 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:
    - urllib.parse.urlsplit.hostname.encode
    - werkzeug.urls._make_unquote_part._unquote_partial
    - parts.append
    - part.decode
    - path.lstrip
    - urllib.parse.urlsplit
    - root_path.rstrip
    - werkzeug.urls._decode_idna
    - werkzeug.urls.uri_to_iri
    - urllib.parse.urlunsplit
    - out.append
    - werkzeug.sansio.utils.get_current_url
    - pattern.split
    - data.decode
    - url.append
    - <builtin>.next
    - urllib.parse.quote
    - data.split
    - <builtin>.iter
    - 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:
    - urllib.parse.urlsplit.hostname.encode
    - werkzeug.urls._make_unquote_part._unquote_partial
    - parts.append
    - part.decode
    - path.lstrip
    - urllib.parse.urlsplit
    - root_path.rstrip
    - werkzeug.urls._decode_idna
    - werkzeug.urls.uri_to_iri
    - urllib.parse.urlunsplit
    - out.append
    - werkzeug.sansio.utils.get_current_url
    - pattern.split
    - data.decode
    - url.append
    - <builtin>.next
    - urllib.parse.quote
    - data.split
    - <builtin>.iter
    - 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.partition
    - hostname.endswith
    - host.endswith
    - <builtin>.isinstance
    - werkzeug.sansio.utils.get_host
    - werkzeug.sansio.utils.host_is_trusted
    - 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_unslash_re.sub
    - out.append
    - cv.strip
    - typing.cast
    - <builtin>.len
    - werkzeug.sansio.http.parse_cookie
    - ck.strip
    - _cookie_re.findall
    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:
    - _plain_int_re.fullmatch
    - <builtin>.int
    - <builtin>.max
    - werkzeug._internal._plain_int
    - werkzeug.sansio.utils.get_content_length
    - value.strip
    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:
    - m.group
    - <builtin>.hasattr
    - werkzeug.http.parse_options_header
    - _continuation_re.search
    - value.partition
    - parts.append
    - _charset_value_re.match
    - options.get
    - _parameter_key_re.match
    - match.start
    - <builtin>.len
    - encoding.lower
    - value.strip
    - m.end
    - _parameter_token_value_re.match
    - rest.find
    - match.groups
    - urllib.parse.unquote
    - rest.strip
    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:
    - m.group
    - <builtin>.hasattr
    - werkzeug.http.parse_options_header
    - _continuation_re.search
    - werkzeug.sansio.request.Request._parse_content_type
    - value.partition
    - parts.append
    - _charset_value_re.match
    - options.get
    - _parameter_key_re.match
    - match.start
    - <builtin>.len
    - encoding.lower
    - value.strip
    - m.end
    - _parameter_token_value_re.match
    - rest.find
    - match.groups
    - urllib.parse.unquote
    - rest.strip
    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:
    - m.group
    - <builtin>.hasattr
    - werkzeug.http.parse_options_header
    - _continuation_re.search
    - werkzeug.sansio.request.Request._parse_content_type
    - value.partition
    - parts.append
    - _charset_value_re.match
    - options.get
    - _parameter_key_re.match
    - match.start
    - <builtin>.len
    - encoding.lower
    - value.strip
    - m.end
    - _parameter_token_value_re.match
    - rest.find
    - match.groups
    - urllib.parse.unquote
    - rest.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: 352
    functionName: werkzeug.sansio.request.Request.pragma
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - result.append
    - urllib.request.parse_http_list
    - <builtin>.len
    - werkzeug.http.parse_set_header
    - werkzeug.http.parse_list_header
    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:
    - werkzeug.datastructures.accept.Accept.__init__
    - m.group
    - werkzeug.http.parse_options_header
    - _continuation_re.search
    - urllib.request.parse_http_list
    - <builtin>.float
    - value.partition
    - <builtin>.isinstance
    - <builtin>.sorted
    - werkzeug.http.quote_header_value
    - parts.append
    - options.items
    - result.append
    - options.pop
    - _charset_value_re.match
    - <builtin>.str
    - options.get
    - _q_value_re.fullmatch
    - <builtin>.super
    - token_chars.issuperset
    - _parameter_key_re.match
    - match.start
    - <builtin>.len
    - encoding.lower
    - value.strip
    - werkzeug.http.parse_list_header
    - werkzeug.http.dump_options_header
    - m.end
    - _parameter_token_value_re.match
    - rest.find
    - werkzeug.http.parse_accept_header
    - value_str.replace
    - match.groups
    - segments.append
    - typing.cast
    - urllib.parse.unquote
    - rest.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: 4
    functionLinenumber: 371
    functionName: werkzeug.sansio.request.Request.accept_charsets
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.accept.Accept.__init__
    - m.group
    - werkzeug.http.parse_options_header
    - _continuation_re.search
    - urllib.request.parse_http_list
    - <builtin>.float
    - value.partition
    - <builtin>.isinstance
    - <builtin>.sorted
    - werkzeug.http.quote_header_value
    - parts.append
    - options.items
    - result.append
    - options.pop
    - _charset_value_re.match
    - <builtin>.str
    - options.get
    - _q_value_re.fullmatch
    - <builtin>.super
    - token_chars.issuperset
    - _parameter_key_re.match
    - match.start
    - <builtin>.len
    - encoding.lower
    - value.strip
    - werkzeug.http.parse_list_header
    - werkzeug.http.dump_options_header
    - m.end
    - _parameter_token_value_re.match
    - rest.find
    - werkzeug.http.parse_accept_header
    - value_str.replace
    - match.groups
    - segments.append
    - typing.cast
    - urllib.parse.unquote
    - rest.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: 4
    functionLinenumber: 378
    functionName: werkzeug.sansio.request.Request.accept_encodings
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.accept.Accept.__init__
    - m.group
    - werkzeug.http.parse_options_header
    - _continuation_re.search
    - urllib.request.parse_http_list
    - <builtin>.float
    - value.partition
    - <builtin>.isinstance
    - <builtin>.sorted
    - werkzeug.http.quote_header_value
    - parts.append
    - options.items
    - result.append
    - options.pop
    - _charset_value_re.match
    - <builtin>.str
    - options.get
    - _q_value_re.fullmatch
    - <builtin>.super
    - token_chars.issuperset
    - _parameter_key_re.match
    - match.start
    - <builtin>.len
    - encoding.lower
    - value.strip
    - werkzeug.http.parse_list_header
    - werkzeug.http.dump_options_header
    - m.end
    - _parameter_token_value_re.match
    - rest.find
    - werkzeug.http.parse_accept_header
    - value_str.replace
    - match.groups
    - segments.append
    - typing.cast
    - urllib.parse.unquote
    - rest.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: 4
    functionLinenumber: 386
    functionName: werkzeug.sansio.request.Request.accept_languages
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - werkzeug.datastructures.accept.Accept.__init__
    - m.group
    - werkzeug.http.parse_options_header
    - _continuation_re.search
    - urllib.request.parse_http_list
    - <builtin>.float
    - value.partition
    - <builtin>.isinstance
    - <builtin>.sorted
    - werkzeug.http.quote_header_value
    - parts.append
    - options.items
    - result.append
    - options.pop
    - _charset_value_re.match
    - <builtin>.str
    - options.get
    - _q_value_re.fullmatch
    - <builtin>.super
    - token_chars.issuperset
    - _parameter_key_re.match
    - match.start
    - <builtin>.len
    - encoding.lower
    - value.strip
    - werkzeug.http.parse_list_header
    - werkzeug.http.dump_options_header
    - m.end
    - _parameter_token_value_re.match
    - rest.find
    - werkzeug.http.parse_accept_header
    - value_str.replace
    - match.groups
    - segments.append
    - typing.cast
    - urllib.parse.unquote
    - rest.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: 4
    functionLinenumber: 399
    functionName: werkzeug.sansio.request.Request.cache_control
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - werkzeug.http.parse_dict_header
    - <builtin>.super
    - match.groups
    - key.strip
    - urllib.parse.unquote.strip
    - urllib.request.parse_http_list
    - werkzeug.http.parse_cache_control_header
    - encoding.lower
    - typing.cast
    - werkzeug.datastructures.cache_control._CacheControl.__init__
    - <builtin>.len
    - urllib.parse.unquote
    - result.append
    - item.partition
    - werkzeug.http.parse_list_header
    - _charset_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: 2
    functionLinenumber: 407
    functionName: werkzeug.sansio.request.Request.if_match
    functionSourceFile: werkzeug.sansio.request
    functionUses: 0
    functionsReached:
    - weak.append
    - strong.append
    - _etag_re.match
    - werkzeug.http.parse_etags
    - match.groups
    - match.end
    - <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:
    - weak.append
    - strong.append
    - _etag_re.match
    - werkzeug.http.parse_etags
    - match.groups
    - match.end
    - <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:
    - email.utils.parsedate_to_datetime
    - dt.replace
    - werkzeug.http.parse_date
    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:
    - email.utils.parsedate_to_datetime
    - dt.replace
    - werkzeug.http.parse_date
    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:
    - email.utils.parsedate_to_datetime
    - werkzeug.http.parse_if_range_header
    - werkzeug.http.unquote_etag
    - dt.replace
    - etag.startswith
    - etag.strip
    - werkzeug.http.parse_date
    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:
    - werkzeug.http.parse_range_header
    - rng.split
    - item.strip
    - ranges.append
    - value.strip
    - item.split
    - <builtin>.int
    - _plain_int_re.fullmatch
    - end_str.strip
    - item.startswith
    - begin_str.strip
    - werkzeug._internal._plain_int
    - value.split
    - units.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: 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:
    - werkzeug.http.parse_dict_header
    - werkzeug.datastructures.auth.Authorization.from_header
    - urllib.request.parse_http_list
    - value.partition
    - base64.b64decode
    - result.append
    - _charset_value_re.match
    - urllib.parse.unquote.strip
    - scheme.lower
    - werkzeug.datastructures.auth.Authorization.__init__
    - <builtin>.len
    - rest.rstrip
    - encoding.lower
    - werkzeug.http.parse_list_header
    - key.strip
    - item.partition
    - match.groups
    - urllib.parse.unquote
    - rest.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: 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.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: 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:
    - datetime.datetime.now
    - importlib.util.find_spec
    - 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: 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
    - 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>.int
    - os.path.getmtime
    - <builtin>.open
    - datetime.datetime.fromtimestamp
    - os.path.getsize
    linkageType: pythonLinkage
    raised: []
    returnType: N/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:
    - os.path.basename
    - werkzeug.middleware.shared_data.SharedDataMiddleware._opener
    linkageType: pythonLinkage
    raised: []
    returnType: N/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:
    - filename.startswith
    - werkzeug.security.safe_join
    - posixpath.normpath
    - os.path.isabs
    - posixpath.basename
    - posixpath.join
    - reader.open_resource
    - <builtin>.isinstance
    - <builtin>.any
    - filename.partition
    - 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: 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:
    - datetime.datetime.fromtimestamp
    - os.path.getsize
    - 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:
    - os.path.isfile
    - filename.startswith
    - werkzeug.security.safe_join
    - posixpath.normpath
    - os.path.isabs
    - posixpath.join
    - werkzeug.middleware.shared_data.SharedDataMiddleware._opener
    - <builtin>.any
    - filename.partition
    - parts.append
    - 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
    - mtime.timestamp
    - zlib.adler32
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.http.parse_etags
    - logging.getLogger
    - <builtin>.isinstance
    - <builtin>.sorted
    - werkzeug.datastructures.etag.ETags.contains_weak
    - match.end
    - mimetype.endswith
    - mimetypes.guess_type
    - <builtin>.str
    - werkzeug._internal._log
    - werkzeug.debug.DebuggedApplication.__init__
    - werkzeug.datastructures.etag.ETags.is_weak
    - werkzeug.middleware.shared_data.SharedDataMiddleware.__init__
    - sys_path.append
    - textwrap.wrap
    - weak.append
    - mtime.timestamp
    - <builtin>.repr
    - time.time
    - x.startswith
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_directory_loader
    - werkzeug.testapp.iter_sys_path
    - etag.startswith
    - headers.append
    - hashlib.sha1.hexdigest
    - secrets.choice
    - mimetype.startswith
    - os.environ.get
    - werkzeug._internal._dt_as_utc
    - werkzeug.datastructures.etag.ETags.is_strong
    - werkzeug.http.http_date
    - fnmatch.fnmatch
    - os.path.abspath
    - wsgi_env.append
    - <builtin>.super
    - time.mktime.astimezone
    - time.mktime.replace
    - f.close
    - datetime.datetime.combine
    - werkzeug.datastructures.etag.ETags.contains
    - importlib.util.find_spec
    - werkzeug._internal._ColorStreamHandler.__init__
    - werkzeug._internal._has_level_handler
    - dt.replace
    - werkzeug.wrappers.response.Response.set_data
    - werkzeug.utils.get_content_type
    - time.mktime
    - os.path.expanduser
    - os.path.isfile
    - os.path.isdir
    - werkzeug.wsgi.get_path_info
    - _logger.addHandler
    - werkzeug.sansio.http.is_resource_modified
    - importlib.metadata.version
    - datetime.time
    - <builtin>.getattr
    - werkzeug.http.is_resource_modified
    - zlib.adler32
    - os.getcwd
    - <builtin>.len
    - path.decode
    - headers.extend
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_file_loader
    - markupsafe.escape.splitlines
    - werkzeug.testapp._get_werkzeug_version
    - path.startswith
    - werkzeug.wrappers.response.Response.__init__
    - match.groups
    - datetime.datetime.now
    - req.environ.items
    - werkzeug.http.generate_etag
    - os.path.normpath
    - email.utils.formatdate
    - werkzeug.http.unquote_etag
    - os.path.join
    - _etag_re.match
    - css.append
    - email.utils.parsedate_to_datetime
    - logger.getEffectiveLevel
    - werkzeug.middleware.shared_data.SharedDataMiddleware.__init__.<lambda1>
    - python_eggs.append
    - os.fsencode
    - markupsafe.escape
    - hashlib.sha1
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - value.encode
    - werkzeug.http.parse_if_range_header
    - werkzeug.wsgi.wrap_file
    - exports.items
    - werkzeug.middleware.shared_data.SharedDataMiddleware.generate_etag
    - werkzeug.security.gen_salt
    - colorama.AnsiToWin32
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_package_loader
    - spec.loader.get_resource_reader
    - etag.strip
    - search_path.endswith
    - multiprocessing.Value
    - <builtin>.any
    - werkzeug.http.parse_date
    - strong.append
    - werkzeug.testapp.iter_sys_path.strip
    - email.utils.format_datetime
    - <builtin>.range
    - _logger.setLevel
    - werkzeug.testapp.test_app
    - 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: 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.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 0x7fc3f7f9bbb0>
    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:
    - <builtin>.getattr
    - new_stack.append
    - <builtin>.super
    - werkzeug.debug.tbtools._process_traceback
    - f.f_locals.get
    - itertools.islice
    - <builtin>.zip
    - traceback.TracebackException.from_exception
    - typing.cast
    - werkzeug.debug.tbtools.DebugFrameSummary.__init__
    - traceback.walk_tb
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 365
    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: 265
    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 0x7fc3f7d1ac40>
    argNames:
    - self
    - include_title
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 275
    functionName: werkzeug.debug.tbtools.DebugTraceback.render_traceback_html
    functionSourceFile: werkzeug.debug.tbtools
    functionUses: 6
    functionsReached:
    - <builtin>.sum
    - markupsafe.escape
    - row_parts.append
    - typing.cast
    - rows.append
    - <builtin>.len
    - <builtin>.reversed
    - frame.render_html
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: 377
    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: 381
    functionName: werkzeug.debug.tbtools.DebugFrameSummary.is_library
    functionSourceFile: werkzeug.debug.tbtools
    functionUses: 0
    functionsReached:
    - sysconfig.get_paths
    - traceback.FrameSummary.filename.startswith
    - <builtin>.any
    - os.path.realpath
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 388
    functionName: werkzeug.debug.tbtools.DebugFrameSummary.console
    functionSourceFile: werkzeug.debug.tbtools
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - werkzeug.debug.console.Console.__init__
    - werkzeug.debug.console._ConsoleLoader.__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: 0
    functionLinenumber: 391
    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: 394
    functionName: werkzeug.debug.tbtools.DebugFrameSummary.render_html
    functionSourceFile: werkzeug.debug.tbtools
    functionUses: 0
    functionsReached:
    - rendered_lines.append
    - <builtin>.getattr
    - markupsafe.escape
    - werkzeug.debug.tbtools.DebugFrameSummary.render_html.render_line
    - <builtin>.min
    - <builtin>.len
    - <builtin>.max
    - line.strip
    - linecache.getlines
    - 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: 402
    functionName: werkzeug.debug.tbtools.DebugFrameSummary.render_html.render_line
    functionSourceFile: werkzeug.debug.tbtools
    functionUses: 1
    functionsReached:
    - rendered_lines.append
    - <builtin>.getattr
    - markupsafe.escape
    - <builtin>.len
    - line.strip
    - 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: 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: 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 0x7fc3f7c00850>
    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:
    - markupsafe.escape
    - werkzeug.debug.console.HTMLStringO._write
    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:
    - markupsafe.escape
    - werkzeug.debug.console.HTMLStringO._write
    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:
    - _stream.set
    - <builtin>.isinstance
    - typing.cast
    - werkzeug.debug.console.HTMLStringO.__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: _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.reset
    - _stream.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: _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.DebugReprGenerator.fallback_repr
    - <builtin>.isinstance
    - buf.append
    - werkzeug.debug.repr._sequence_repr_maker.proxy
    - werkzeug.debug.repr.DebugReprGenerator.regex_repr
    - <builtin>.enumerate
    - _ipy.get
    - markupsafe.escape
    - werkzeug.debug.repr.DebugReprGenerator.repr
    - codecs.decode
    - <builtin>.type
    - <builtin>.len
    - buf.extend
    - werkzeug.debug.repr.debug_repr
    - info.strip
    - d.items
    - werkzeug.debug.repr.DebugReprGenerator.dict_repr
    - stream._write
    - werkzeug.debug.repr.DebugReprGenerator.object_repr
    - werkzeug.debug.repr.DebugReprGenerator.__init__
    - werkzeug.debug.repr.DebugReprGenerator.dispatch_repr
    - traceback.format_exception_only
    - sys.displayhook
    - sys.exc_info
    - _stream.get
    - werkzeug.debug.repr.DebugReprGenerator.string_repr
    - werkzeug.debug.repr._add_subclass_info
    linkageType: pythonLinkage
    raised: []
    returnType: N/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:
    - werkzeug.debug.repr.DebugReprGenerator.fallback_repr
    - <builtin>.isinstance
    - werkzeug.debug.repr._sequence_repr_maker.proxy
    - buf.append
    - werkzeug.debug.repr.DebugReprGenerator.regex_repr
    - <builtin>.enumerate
    - markupsafe.escape
    - werkzeug.debug.repr.DebugReprGenerator.repr
    - codecs.decode
    - <builtin>.type
    - <builtin>.len
    - buf.extend
    - info.strip
    - d.items
    - werkzeug.debug.repr.DebugReprGenerator.dict_repr
    - werkzeug.debug.repr.DebugReprGenerator.object_repr
    - werkzeug.debug.repr.DebugReprGenerator.dispatch_repr
    - werkzeug.debug.repr.DebugReprGenerator.__init__
    - traceback.format_exception_only
    - sys.exc_info
    - werkzeug.debug.repr.DebugReprGenerator.string_repr
    - werkzeug.debug.repr._add_subclass_info
    linkageType: pythonLinkage
    raised: []
    returnType: N/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:
    - <builtin>.getattr
    - _stream.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: 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:
    - werkzeug.debug.console._ConsoleLoader.register
    - <builtin>.isinstance
    - werkzeug.debug.console._InteractiveConsole.__init__.compile
    - <builtin>.id
    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:
    - code.InteractiveInterpreter.buffer.append
    - markupsafe.escape
    - werkzeug.debug.console.HTMLStringO.__init__
    - <builtin>.super
    - _stream.set
    - <builtin>.isinstance
    - typing.cast
    - _stream.get
    - stream.reset
    - source.rstrip
    - werkzeug.debug.console.ThreadedStream.fetch
    - werkzeug.debug.console.ThreadedStream.push
    linkageType: pythonLinkage
    raised: []
    returnType: N/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:
    - new_stack.append
    - werkzeug.debug.console._InteractiveConsole.showtraceback
    - <builtin>.zip
    - <builtin>.reversed
    - sys.stdout._write
    - <builtin>.getattr
    - markupsafe.escape
    - <builtin>.super
    - werkzeug.debug.tbtools._process_traceback
    - itertools.islice
    - <builtin>.exec
    - traceback.TracebackException.from_exception
    - <builtin>.len
    - werkzeug.debug.tbtools.DebugFrameSummary.__init__
    - <builtin>.sum
    - werkzeug.debug.tbtools.DebugTraceback.__init__
    - row_parts.append
    - rows.append
    - traceback.walk_tb
    - werkzeug.debug.tbtools.DebugTraceback.render_traceback_html
    - f.f_locals.get
    - sys.exc_info
    - typing.cast
    - frame.render_html
    linkageType: pythonLinkage
    raised: []
    returnType: N/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:
    - new_stack.append
    - <builtin>.zip
    - <builtin>.reversed
    - sys.stdout._write
    - <builtin>.getattr
    - markupsafe.escape
    - <builtin>.super
    - werkzeug.debug.tbtools._process_traceback
    - itertools.islice
    - traceback.TracebackException.from_exception
    - <builtin>.len
    - werkzeug.debug.tbtools.DebugFrameSummary.__init__
    - <builtin>.sum
    - werkzeug.debug.tbtools.DebugTraceback.__init__
    - row_parts.append
    - rows.append
    - traceback.walk_tb
    - werkzeug.debug.tbtools.DebugTraceback.render_traceback_html
    - f.f_locals.get
    - sys.exc_info
    - typing.cast
    - frame.render_html
    linkageType: pythonLinkage
    raised: []
    returnType: N/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 0x7fc3f7355940>
    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:
    - new_stack.append
    - <builtin>.zip
    - <builtin>.reversed
    - sys.stdout._write
    - <builtin>.getattr
    - markupsafe.escape
    - <builtin>.super
    - werkzeug.debug.tbtools._process_traceback
    - itertools.islice
    - traceback.TracebackException.from_exception
    - <builtin>.len
    - werkzeug.debug.tbtools.DebugFrameSummary.__init__
    - <builtin>.sum
    - werkzeug.debug.tbtools.DebugTraceback.__init__
    - row_parts.append
    - rows.append
    - traceback.walk_tb
    - werkzeug.debug.tbtools.DebugTraceback.render_traceback_html
    - f.f_locals.get
    - sys.exc_info
    - typing.cast
    - frame.render_html
    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: 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:
    - re.compile
    - <builtin>.type
    - <builtin>.object
    linkageType: pythonLinkage
    raised: []
    returnType: N/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:
    - werkzeug.debug.repr.DebugReprGenerator.fallback_repr
    - <builtin>.isinstance
    - werkzeug.debug.repr._sequence_repr_maker.proxy
    - buf.append
    - werkzeug.debug.repr.DebugReprGenerator.regex_repr
    - <builtin>.enumerate
    - markupsafe.escape
    - werkzeug.debug.repr.DebugReprGenerator.repr
    - codecs.decode
    - <builtin>.type
    - <builtin>.len
    - buf.extend
    - info.strip
    - d.items
    - werkzeug.debug.repr.DebugReprGenerator.dict_repr
    - werkzeug.debug.repr.DebugReprGenerator.object_repr
    - werkzeug.debug.repr.DebugReprGenerator.dispatch_repr
    - traceback.format_exception_only
    - sys.exc_info
    - werkzeug.debug.repr.DebugReprGenerator.string_repr
    - werkzeug.debug.repr._add_subclass_info
    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 0x7fc3f892dbb0>
    argNames:
    - obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 43
    functionName: werkzeug.debug.repr.dump
    functionSourceFile: werkzeug.debug.repr
    functionUses: 0
    functionsReached:
    - werkzeug.debug.repr.DebugReprGenerator.render_object_dump
    - sys._getframe
    - werkzeug.debug.repr.DebugReprGenerator.fallback_repr
    - <builtin>.isinstance
    - werkzeug.debug.repr.DebugReprGenerator.dump_object
    - sys.stdout._write
    - buf.append
    - werkzeug.debug.repr._sequence_repr_maker.proxy
    - werkzeug.debug.repr.DebugReprGenerator.regex_repr
    - <builtin>.enumerate
    - <builtin>.getattr
    - markupsafe.escape
    - werkzeug.debug.repr.DebugReprGenerator.dump_locals
    - werkzeug.debug.repr.DebugReprGenerator.repr
    - codecs.decode
    - <builtin>.type
    - <builtin>.dir
    - <builtin>.len
    - html_items.append
    - items.append
    - buf.extend
    - info.strip
    - d.items
    - werkzeug.debug.repr.DebugReprGenerator.dict_repr
    - werkzeug.debug.repr.DebugReprGenerator.object_repr
    - werkzeug.debug.repr.DebugReprGenerator.__init__
    - traceback.format_exception_only
    - werkzeug.debug.repr.DebugReprGenerator.dispatch_repr
    - object.__repr__
    - obj.items
    - sys.exc_info
    - werkzeug.debug.repr.DebugReprGenerator.string_repr
    - werkzeug.debug.repr._add_subclass_info
    linkageType: pythonLinkage
    raised: []
    returnType: N/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:
    - werkzeug.debug.repr.DebugReprGenerator.render_object_dump
    - werkzeug.debug.repr.DebugReprGenerator.fallback_repr
    - <builtin>.isinstance
    - buf.append
    - werkzeug.debug.repr._sequence_repr_maker.proxy
    - werkzeug.debug.repr.DebugReprGenerator.regex_repr
    - <builtin>.enumerate
    - markupsafe.escape
    - werkzeug.debug.repr.DebugReprGenerator.repr
    - codecs.decode
    - <builtin>.type
    - <builtin>.len
    - html_items.append
    - buf.extend
    - info.strip
    - d.items
    - werkzeug.debug.repr.DebugReprGenerator.dict_repr
    - werkzeug.debug.repr.DebugReprGenerator.object_repr
    - werkzeug.debug.repr.DebugReprGenerator.dispatch_repr
    - traceback.format_exception_only
    - sys.exc_info
    - werkzeug.debug.repr.DebugReprGenerator.string_repr
    - werkzeug.debug.repr._add_subclass_info
    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:
    - werkzeug.debug.repr.DebugReprGenerator.render_object_dump
    - werkzeug.debug.repr.DebugReprGenerator.fallback_repr
    - <builtin>.isinstance
    - buf.append
    - werkzeug.debug.repr._sequence_repr_maker.proxy
    - werkzeug.debug.repr.DebugReprGenerator.regex_repr
    - <builtin>.enumerate
    - <builtin>.getattr
    - markupsafe.escape
    - werkzeug.debug.repr.DebugReprGenerator.repr
    - codecs.decode
    - <builtin>.type
    - <builtin>.dir
    - <builtin>.len
    - html_items.append
    - items.append
    - buf.extend
    - info.strip
    - d.items
    - werkzeug.debug.repr.DebugReprGenerator.dict_repr
    - werkzeug.debug.repr.DebugReprGenerator.object_repr
    - werkzeug.debug.repr.DebugReprGenerator.dispatch_repr
    - traceback.format_exception_only
    - object.__repr__
    - obj.items
    - sys.exc_info
    - werkzeug.debug.repr.DebugReprGenerator.string_repr
    - werkzeug.debug.repr._add_subclass_info
    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 0x7fc3f7f9b3d0>
    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:
    - _paragraph_re.split
    - <builtin>.len
    - pydoc.help
    - sys.stdout._write
    - sys.stdout.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: 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 0x7fc3f7b396a0>
    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
    - <builtin>.isinstance
    - <builtin>.type
    - werkzeug.debug.repr._add_subclass_info
    - <builtin>.enumerate
    linkageType: 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:
    - werkzeug.debug.repr.DebugReprGenerator.fallback_repr
    - <builtin>.isinstance
    - werkzeug.debug.repr._sequence_repr_maker.proxy
    - buf.append
    - werkzeug.debug.repr.DebugReprGenerator.regex_repr
    - <builtin>.enumerate
    - markupsafe.escape
    - werkzeug.debug.repr.DebugReprGenerator.repr
    - codecs.decode
    - <builtin>.type
    - <builtin>.len
    - buf.extend
    - info.strip
    - d.items
    - werkzeug.debug.repr.DebugReprGenerator.dict_repr
    - werkzeug.debug.repr.DebugReprGenerator.object_repr
    - werkzeug.debug.repr.DebugReprGenerator.dispatch_repr
    - traceback.format_exception_only
    - sys.exc_info
    - werkzeug.debug.repr.DebugReprGenerator.string_repr
    - werkzeug.debug.repr._add_subclass_info
    linkageType: pythonLinkage
    raised: []
    returnType: N/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 0x7fc3f7968f40>
    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:
    - werkzeug.debug.repr.DebugReprGenerator.fallback_repr
    - <builtin>.isinstance
    - buf.append
    - werkzeug.debug.repr._sequence_repr_maker.proxy
    - werkzeug.debug.repr.DebugReprGenerator.regex_repr
    - <builtin>.enumerate
    - markupsafe.escape
    - werkzeug.debug.repr.DebugReprGenerator.repr
    - codecs.decode
    - <builtin>.type
    - <builtin>.len
    - buf.extend
    - info.strip
    - d.items
    - werkzeug.debug.repr.DebugReprGenerator.dict_repr
    - werkzeug.debug.repr.DebugReprGenerator.object_repr
    - werkzeug.debug.repr.DebugReprGenerator.dispatch_repr
    - traceback.format_exception_only
    - sys.exc_info
    - werkzeug.debug.repr.DebugReprGenerator.string_repr
    - werkzeug.debug.repr._add_subclass_info
    linkageType: pythonLinkage
    raised: []
    returnType: N/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 0x7fc3f80eee50>
    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:
    - werkzeug.debug.repr.DebugReprGenerator.fallback_repr
    - <builtin>.isinstance
    - werkzeug.debug.repr._sequence_repr_maker.proxy
    - buf.append
    - werkzeug.debug.repr.DebugReprGenerator.regex_repr
    - <builtin>.enumerate
    - markupsafe.escape
    - werkzeug.debug.repr.DebugReprGenerator.repr
    - codecs.decode
    - <builtin>.type
    - <builtin>.len
    - buf.extend
    - info.strip
    - d.items
    - werkzeug.debug.repr.DebugReprGenerator.dict_repr
    - werkzeug.debug.repr.DebugReprGenerator.object_repr
    - werkzeug.debug.repr.DebugReprGenerator.dispatch_repr
    - traceback.format_exception_only
    - sys.exc_info
    - werkzeug.debug.repr.DebugReprGenerator.string_repr
    - werkzeug.debug.repr._add_subclass_info
    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:
    - werkzeug.debug.repr.DebugReprGenerator.fallback_repr
    - <builtin>.isinstance
    - werkzeug.debug.repr._sequence_repr_maker.proxy
    - buf.append
    - werkzeug.debug.repr.DebugReprGenerator.regex_repr
    - <builtin>.enumerate
    - markupsafe.escape
    - werkzeug.debug.repr.DebugReprGenerator.repr
    - codecs.decode
    - <builtin>.type
    - <builtin>.len
    - buf.extend
    - info.strip
    - d.items
    - werkzeug.debug.repr.DebugReprGenerator.dict_repr
    - werkzeug.debug.repr.DebugReprGenerator.object_repr
    - werkzeug.debug.repr.DebugReprGenerator.dispatch_repr
    - traceback.format_exception_only
    - sys.exc_info
    - werkzeug.debug.repr.DebugReprGenerator.string_repr
    - werkzeug.debug.repr._add_subclass_info
    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:
    - werkzeug.debug.repr.DebugReprGenerator.fallback_repr
    - <builtin>.isinstance
    - werkzeug.debug.repr._sequence_repr_maker.proxy
    - buf.append
    - werkzeug.debug.repr.DebugReprGenerator.regex_repr
    - <builtin>.enumerate
    - markupsafe.escape
    - werkzeug.debug.repr.DebugReprGenerator.repr
    - codecs.decode
    - <builtin>.type
    - <builtin>.len
    - buf.extend
    - info.strip
    - d.items
    - werkzeug.debug.repr.DebugReprGenerator.dict_repr
    - werkzeug.debug.repr.DebugReprGenerator.object_repr
    - werkzeug.debug.repr.DebugReprGenerator.dispatch_repr
    - traceback.format_exception_only
    - sys.exc_info
    - werkzeug.debug.repr.DebugReprGenerator.string_repr
    - werkzeug.debug.repr._add_subclass_info
    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:
    - markupsafe.escape
    - sys.exc_info
    - traceback.format_exception_only
    - info.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: 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 0x7fc3f7330400>
    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: 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 0x7fc3f7c9c1c0>
    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:
    - object.__setattr__
    - contextvars.ContextVar
    - <builtin>.id
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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__
    - <builtin>.callable
    - werkzeug.local.LocalProxy.__init__
    - operator.attrgetter
    - <builtin>.isinstance
    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 0x7fc3f7ca3160>
    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:
    - contextvars.ContextVar
    - <builtin>.id
    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 0x7fc3f86e2ee0>
    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__
    - <builtin>.callable
    - werkzeug.local.LocalProxy.__init__
    - operator.attrgetter
    - <builtin>.isinstance
    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 0x7fc3f7dabee0>
    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>.list
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - 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:
    - werkzeug.wsgi.ClosingIterator.__init__
    - <builtin>.getattr
    - <builtin>.callable
    - <builtin>.list
    - typing.cast
    - <builtin>.iter
    - functools.partial
    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:
    - werkzeug.local.LocalManager.make_middleware
    - functools.update_wrapper
    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 0x7fc3f7d35490>
    - <ast.Constant object at 0x7fc3f7d35d30>
    - <ast.Constant object at 0x7fc3f7d35640>
    - <ast.Constant object at 0x7fc3f7d35700>
    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.index.__get__
    - operator.delitem.__get__
    - operator.lshift.__get__
    - operator.floordiv.__get__
    - operator.truediv.__get__
    - operator.contains.__get__
    - operator.and_.__get__
    - operator.ge.__get__
    - operator.gt.__get__
    - operator.length_hint.__get__
    - math.ceil.__get__
    - operator.mod.__get__
    - operator.matmul.__get__
    - <builtin>.type
    - operator.add.__get__
    - copy.deepcopy.__get__
    - operator.mul.__get__
    - operator.sub.__get__
    - operator.pos.__get__
    - operator.le.__get__
    - operator.lt.__get__
    - operator.ne.__get__
    - math.trunc.__get__
    - operator.xor.__get__
    - math.floor.__get__
    - operator.setitem.__get__
    - operator.eq.__get__
    - operator.neg.__get__
    - operator.or_.__get__
    - operator.rshift.__get__
    - operator.invert.__get__
    - functools.partial
    - operator.getitem.__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.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: 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.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.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: 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: 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.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.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: 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: 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.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.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.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: 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.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.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: 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.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.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.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: 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.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: 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.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.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.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.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.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.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: 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 0x7fc3f7cc66d0>
    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.index.__get__
    - operator.delitem.__get__
    - operator.lshift.__get__
    - werkzeug.local._ProxyIOp.__init__.bind_f
    - operator.floordiv.__get__
    - operator.truediv.__get__
    - operator.contains.__get__
    - operator.and_.__get__
    - operator.ge.__get__
    - <builtin>.getattr
    - operator.gt.__get__
    - operator.length_hint.__get__
    - math.ceil.__get__
    - operator.mod.__get__
    - operator.matmul.__get__
    - <builtin>.type
    - operator.add.__get__
    - copy.deepcopy.__get__
    - operator.mul.__get__
    - operator.sub.__get__
    - instance._get_current_object
    - operator.pos.__get__
    - operator.le.__get__
    - operator.lt.__get__
    - operator.ne.__get__
    - werkzeug.local._ProxyLookup.__init__.bind_f
    - math.trunc.__get__
    - operator.xor.__get__
    - math.floor.__get__
    - operator.setitem.__get__
    - operator.eq.__get__
    - operator.neg.__get__
    - operator.or_.__get__
    - operator.rshift.__get__
    - operator.invert.__get__
    - functools.partial
    - operator.getitem.__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:
    - operator.index.__get__
    - operator.delitem.__get__
    - <builtin>.hasattr
    - operator.lshift.__get__
    - werkzeug.local._ProxyIOp.__init__.bind_f
    - operator.floordiv.__get__
    - operator.truediv.__get__
    - operator.contains.__get__
    - operator.and_.__get__
    - operator.ge.__get__
    - <builtin>.getattr
    - operator.gt.__get__
    - operator.length_hint.__get__
    - math.ceil.__get__
    - operator.mod.__get__
    - werkzeug.local._ProxyLookup.__get__
    - operator.matmul.__get__
    - <builtin>.type
    - operator.add.__get__
    - werkzeug.local._ProxyLookup.__init__
    - copy.deepcopy.__get__
    - operator.mul.__get__
    - operator.sub.__get__
    - instance._get_current_object
    - operator.pos.__get__
    - operator.le.__get__
    - operator.lt.__get__
    - operator.ne.__get__
    - werkzeug.local._ProxyLookup.__init__.bind_f
    - math.trunc.__get__
    - operator.xor.__get__
    - math.floor.__get__
    - operator.setitem.__get__
    - operator.eq.__get__
    - operator.neg.__get__
    - operator.or_.__get__
    - operator.rshift.__get__
    - operator.invert.__get__
    - functools.partial
    - operator.getitem.__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 0x7fc3f8966430>
    - <ast.Constant object at 0x7fc3f89665e0>
    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.ifloordiv
    - operator.imatmul
    - operator.isub
    - operator.imul
    - operator.iand
    - operator.ipow
    - operator.iadd
    - operator.ixor
    - operator.imod
    - operator.ilshift
    - operator.irshift
    - operator.ior
    - operator.itruediv
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.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.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.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.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.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.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.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.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.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.irshift
    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.itruediv
    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.mod
    - operator.floordiv
    - operator.truediv
    - operator.mul
    - operator.and_
    - operator.xor
    - operator.lshift
    - operator.rshift
    - operator.sub
    - operator.or_
    - operator.matmul
    - operator.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: 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.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.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: 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.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.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.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.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.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.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.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: 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:
    - object.__setattr__
    - werkzeug.local.Local.__init__
    - operator.attrgetter
    - <builtin>.id
    - local.get
    - contextvars.ContextVar
    - werkzeug.local._identity
    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._ProxyIOp.__init__
    - <builtin>.super
    - <builtin>.hasattr
    - typing.cast
    - werkzeug.local._l_to_r_op
    - werkzeug.local._ProxyLookup.__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.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__
    - <builtin>.callable
    - werkzeug.local.LocalProxy.__init__
    - operator.attrgetter
    - <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: connexion.middleware.exceptions
    functionSourceFile: connexion.middleware.exceptions
    functionUses: 0
    functionsReached:
    - logging.getLogger
    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: 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:
    - logger.warning
    - starlette.concurrency.run_in_threadpool
    - connexion.lifecycle.ConnexionResponse.__init__
    - connexion.middleware.server_error.ServerErrorMiddleware.error_response
    - asyncio.iscoroutinefunction
    - logger.error
    - <builtin>.super
    - connexion.middleware.exceptions.ExceptionMiddleware.http_exception
    - connexion.lifecycle.ConnexionRequest.from_starlette_request
    - connexion.exceptions.ProblemException.to_problem
    - json.dumps
    - connexion.problem.problem
    - connexion.exceptions.InternalServerError.__init__
    - cls.__new__
    - starlette.responses.Response
    - http_facts.HTTP_STATUS_CODES.get
    - problem_response.update
    - asyncio.iscoroutine
    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
    - connexion.lifecycle.ConnexionResponse.__init__
    - logger.error
    - json.dumps
    - connexion.problem.problem
    - http_facts.HTTP_STATUS_CODES.get
    - problem_response.update
    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:
    - connexion.lifecycle.ConnexionResponse.__init__
    - logger.error
    - <builtin>.super
    - connexion.exceptions.ProblemException.to_problem
    - json.dumps
    - connexion.problem.problem
    - connexion.exceptions.InternalServerError.__init__
    - problem_response.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: 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:
    - connexion.middleware.exceptions.connexion_wrapper
    - functools.wraps
    - connexion.middleware.exceptions.ExceptionMiddleware.add_exception_handler
    - <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
    - 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:
    - connexion.middleware.exceptions.connexion_wrapper
    - functools.wraps
    - <builtin>.super
    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:
    - logger.warning
    - exc.to_problem
    - 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:
    - connexion.middleware.exceptions.connexion_wrapper
    - 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: 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:
    - connexion.lifecycle.ConnexionResponse.__init__
    - logger.error
    - <builtin>.super
    - connexion.exceptions.ProblemException.to_problem
    - json.dumps
    - connexion.problem.problem
    - connexion.exceptions.InternalServerError.__init__
    - problem_response.update
    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.types
    functionSourceFile: connexion.types
    functionUses: 0
    functionsReached:
    - typing.TypeVar
    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:
    - parameters.split
    - key.decode
    - <builtin>.isinstance
    - headers.items
    - value.decode
    - connexion.utils.split_content_type
    - <builtin>.len
    - parameter.startswith
    - connexion.utils.extract_content_type
    - content_type.split
    - decoded_key.lower
    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:
    - c.lower
    - mime_type.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:
    - c.lower
    - <builtin>.isinstance
    - logger.info
    - decoded_key.lower
    - param_def.get
    - validator.wrap_receive
    - value.decode
    - connexion.utils.split_content_type
    - <builtin>.len
    - parameters.split
    - connexion.middleware.request_validation.RequestValidationOperation.extract_content_type
    - connexion.utils.extract_content_type
    - parameter_validator.validate
    - connexion.utils.is_nullable
    - key.decode
    - headers.items
    - parameter.startswith
    - mime_type.lower
    - content_type.split
    - connexion.middleware.request_validation.RequestValidationOperation.validate_mime_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:
    - <builtin>.str
    - logger.debug
    - <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: 2
    functionLinenumber: 166
    functionName: connexion.middleware.request_validation.RequestValidationAPI.make_operation
    functionSourceFile: connexion.middleware.request_validation
    functionUses: 0
    functionsReached:
    - connexion.middleware.request_validation.RequestValidationOperation.__init__
    - 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: 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:
    - <builtin>.sorted
    - fnmatch.fnmatch
    - <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 0x7fc3f7f38a00>
    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: 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:
    - data.getlist
    - connexion.validators.form_data.FormDataValidator._parse.is_file
    - starlette.datastructures.Headers
    - <builtin>.isinstance
    - data.update
    - starlette.formparsers.FormParser.parse
    - <builtin>.len
    - param_schema.get
    - schema.get
    - connexion.validators.form_data.FormDataValidator._form_parser_cls
    - data.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: 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
    - <builtin>.isinstance
    - connexion.validators.form_data.FormDataValidator._validate_params_strictly
    - connexion.json_schema.format_error_with_path
    - data.keys
    - <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: 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: 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
    - connexion.utils.is_null
    - connexion.uri_parsing.AbstractURIParser._split
    - <builtin>.hasattr
    - connexion.utils.coerce_type.cast_leaves
    - d.items
    - connexion.utils.coerce_type
    - connexion.utils.coerce_type.make_type
    - connexion.utils.is_nullable
    - connexion.uri_parsing.AbstractURIParser._resolve_param_duplicates
    - param_def.get
    - <builtin>.type
    - value.split
    - param.get
    - param_schema.get
    - converted_params.append
    - TYPE_MAP.get
    - 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: params.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:
    - 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:
    - connexion.uri_parsing.OpenAPIURIParser._resolve_param_duplicates
    - <builtin>.all
    - <builtin>.hasattr
    - connexion.utils.coerce_type
    - json.loads
    - delimiter.join
    - converted_params.append
    - QUERY_STRING_DELIMITERS.get
    - value.split
    - connexion.utils.is_null
    - param_def.get
    - <builtin>.type
    - connexion.utils.all_json
    - subtype.split
    - param_defn.get
    - value.strip
    - d.items
    - subtype.endswith
    - connexion.utils.coerce_type.cast_leaves
    - param.get
    - connexion.utils.is_json_mimetype
    - param_schema.get
    - connexion.utils.coerce_type.make_type
    - TYPE_MAP.get
    - connexion.utils.is_nullable
    - encoding.get
    - connexion.uri_parsing.OpenAPIURIParser._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: 226
    functionName: connexion.uri_parsing.OpenAPIURIParser._resolve_param_duplicates
    functionSourceFile: connexion.uri_parsing
    functionUses: 1
    functionsReached:
    - delimiter.join
    - QUERY_STRING_DELIMITERS.get
    - 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: 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:
    - value.split
    - param_defn.get
    - QUERY_STRING_DELIMITERS.get
    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
    - k.split
    - k.startswith
    - connexion.uri_parsing.OpenAPIURIParser._is_deep_object_style_param
    - re.findall
    linkageType: pythonLinkage
    raised: []
    returnType: N/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
    - k.split
    - k.startswith
    - query_data.items
    - dict.fromkeys
    - connexion.uri_parsing.OpenAPIURIParser._is_deep_object_style_param
    - re.findall
    - connexion.uri_parsing.OpenAPIURIParser._make_deep_object
    linkageType: pythonLinkage
    raised: []
    returnType: N/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:
    - key.replace
    - params.items
    - k.split
    - <builtin>.hasattr
    - query_data.items
    - connexion.utils.coerce_type
    - re.findall
    - converted_params.append
    - value.split
    - connexion.uri_parsing.AbstractURIParser.resolve_params
    - connexion.utils.is_null
    - param_def.get
    - connexion.uri_parsing.AbstractURIParser._resolve_param_duplicates
    - <builtin>.type
    - value.strip
    - d.items
    - connexion.utils.coerce_type.cast_leaves
    - param.get
    - dict.fromkeys
    - connexion.uri_parsing.OpenAPIURIParser._is_deep_object_style_param
    - param_schema.get
    - connexion.utils.coerce_type.make_type
    - TYPE_MAP.get
    - connexion.uri_parsing.OpenAPIURIParser._make_deep_object
    - connexion.uri_parsing.OpenAPIURIParser._preprocess_deep_objects
    - k.startswith
    - connexion.uri_parsing.AbstractURIParser._split
    - connexion.utils.is_nullable
    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:
    - params.items
    - <builtin>.hasattr
    - connexion.utils.coerce_type
    - converted_params.append
    - value.split
    - connexion.uri_parsing.AbstractURIParser.resolve_params
    - connexion.utils.is_null
    - param_def.get
    - connexion.uri_parsing.AbstractURIParser._resolve_param_duplicates
    - <builtin>.type
    - value.strip
    - d.items
    - connexion.utils.coerce_type.cast_leaves
    - param.get
    - param_schema.get
    - connexion.utils.coerce_type.make_type
    - TYPE_MAP.get
    - connexion.uri_parsing.AbstractURIParser._split
    - connexion.utils.is_nullable
    linkageType: pythonLinkage
    raised: []
    returnType: N/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:
    - params.items
    - <builtin>.hasattr
    - connexion.utils.coerce_type
    - converted_params.append
    - value.split
    - connexion.uri_parsing.AbstractURIParser.resolve_params
    - connexion.utils.is_null
    - param_def.get
    - connexion.uri_parsing.AbstractURIParser._resolve_param_duplicates
    - <builtin>.type
    - value.strip
    - d.items
    - connexion.utils.coerce_type.cast_leaves
    - param.get
    - param_schema.get
    - connexion.utils.coerce_type.make_type
    - TYPE_MAP.get
    - connexion.uri_parsing.AbstractURIParser._split
    - connexion.utils.is_nullable
    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:
    - params.items
    - <builtin>.hasattr
    - connexion.utils.coerce_type
    - converted_params.append
    - value.split
    - connexion.uri_parsing.AbstractURIParser.resolve_params
    - connexion.utils.is_null
    - param_def.get
    - connexion.uri_parsing.AbstractURIParser._resolve_param_duplicates
    - <builtin>.type
    - value.strip
    - d.items
    - connexion.utils.coerce_type.cast_leaves
    - param.get
    - param_schema.get
    - connexion.utils.coerce_type.make_type
    - TYPE_MAP.get
    - connexion.uri_parsing.AbstractURIParser._split
    - connexion.utils.is_nullable
    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:
    - params.items
    - <builtin>.hasattr
    - connexion.utils.coerce_type
    - converted_params.append
    - value.split
    - connexion.uri_parsing.AbstractURIParser.resolve_params
    - connexion.utils.is_null
    - param_def.get
    - connexion.uri_parsing.AbstractURIParser._resolve_param_duplicates
    - <builtin>.type
    - value.strip
    - d.items
    - connexion.utils.coerce_type.cast_leaves
    - param.get
    - param_schema.get
    - connexion.utils.coerce_type.make_type
    - TYPE_MAP.get
    - connexion.uri_parsing.AbstractURIParser._split
    - connexion.utils.is_nullable
    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: 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:
    - connexion.json_schema.format_error_with_path
    - <builtin>.str
    - logger.info
    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:
    - instance.setdefault
    - 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: 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: 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:
    - scope.copy
    - json.dumps
    - connexion.validators.abstract.AbstractRequestBodyValidator._insert_messages
    - <builtin>.range
    - <builtin>.len
    - copy.deepcopy
    - <builtin>.iter
    - starlette.datastructures.MutableHeaders
    - <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: 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: 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:
    - starlette.datastructures.Headers
    - json.dumps
    - connexion.validators.abstract.AbstractRequestBodyValidator._validate
    - scope.copy
    - starlette.datastructures.Headers.get
    - message.get
    - <builtin>.str
    - messages.append
    - connexion.validators.abstract.AbstractRequestBodyValidator._insert_body
    - <builtin>.len
    - connexion.validators.abstract.AbstractRequestBodyValidator._parse
    - connexion.validators.abstract.AbstractRequestBodyValidator.wrap_receive.stream
    - connexion.validators.abstract.AbstractRequestBodyValidator._insert_messages.receive_
    - <builtin>.next
    - <builtin>.int
    - connexion.validators.abstract.AbstractRequestBodyValidator._insert_messages
    - <builtin>.range
    - copy.deepcopy
    - <builtin>.iter
    - starlette.datastructures.MutableHeaders
    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_
    - <builtin>.next
    - messages.append
    - 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
    - connexion.validators.abstract.AbstractResponseBodyValidator._parse
    - messages.append
    - messages.pop
    - 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: 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.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 0x7fc3f7fd1c70>
    - <ast.Constant object at 0x7fc3f7fd18b0>
    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 0x7fc3f7cccbb0>
    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:
    - jsonschema.Draft4Validator
    - jsonschema.Draft4Validator.validate
    - connexion.utils.is_null
    - <builtin>.hasattr
    - connexion.utils.is_nullable
    - param_def.get
    - param.get
    - copy.deepcopy
    - <builtin>.str
    - value.strip
    - <builtin>.locals
    linkageType: pythonLinkage
    raised: []
    returnType: N/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 0x7fc3f73bdac0>
    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
    - request_params.difference
    - connexion.validators.parameter.ParameterValidator.validate_parameter_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: 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:
    - jsonschema.Draft4Validator
    - jsonschema.Draft4Validator.validate
    - connexion.utils.is_null
    - <builtin>.hasattr
    - connexion.validators.parameter.ParameterValidator.validate_parameter
    - connexion.utils.is_nullable
    - param_def.get
    - param.get
    - copy.deepcopy
    - <builtin>.str
    - value.strip
    - <builtin>.locals
    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:
    - jsonschema.Draft4Validator
    - jsonschema.Draft4Validator.validate
    - connexion.utils.is_null
    - <builtin>.hasattr
    - connexion.validators.parameter.ParameterValidator.validate_parameter
    - connexion.utils.is_nullable
    - param_def.get
    - param.get
    - copy.deepcopy
    - <builtin>.str
    - value.strip
    - <builtin>.locals
    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:
    - jsonschema.Draft4Validator
    - jsonschema.Draft4Validator.validate
    - connexion.utils.is_null
    - <builtin>.hasattr
    - connexion.validators.parameter.ParameterValidator.validate_parameter
    - connexion.utils.is_nullable
    - param_def.get
    - request.headers.get
    - param.get
    - copy.deepcopy
    - <builtin>.locals
    - value.strip
    - <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: 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:
    - jsonschema.Draft4Validator
    - jsonschema.Draft4Validator.validate
    - connexion.utils.is_null
    - <builtin>.hasattr
    - connexion.validators.parameter.ParameterValidator.validate_parameter
    - connexion.utils.is_nullable
    - param_def.get
    - param.get
    - request.cookies.get
    - copy.deepcopy
    - <builtin>.str
    - value.strip
    - <builtin>.locals
    linkageType: pythonLinkage
    raised: []
    returnType: N/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:
    - connexion.validators.parameter.ParameterValidator.validate_header_parameter
    - connexion.validators.parameter.ParameterValidator.validate_parameter_list
    - request_params.difference
    - <builtin>.hasattr
    - connexion.validators.parameter.ParameterValidator.validate_query_parameter
    - connexion.lifecycle.ConnexionRequest.__init__
    - request.cookies.get
    - connexion.validators.parameter.ParameterValidator.validate_request
    - scope.get
    - <builtin>.str
    - jsonschema.Draft4Validator
    - jsonschema.Draft4Validator.validate
    - connexion.utils.is_null
    - connexion.validators.parameter.ParameterValidator.validate_parameter
    - logger.debug
    - param_def.get
    - request.headers.get
    - connexion.validators.parameter.ParameterValidator.validate_query_parameter_list
    - connexion.validators.parameter.ParameterValidator.validate_path_parameter
    - value.strip
    - <builtin>.locals
    - param.get
    - spec_params.extend
    - <builtin>.set
    - connexion.utils.is_nullable
    - starlette.requests.Request
    - connexion.validators.parameter.ParameterValidator.validate_cookie_parameter
    - copy.deepcopy
    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:
    - connexion.validators.parameter.ParameterValidator.validate_header_parameter
    - connexion.validators.parameter.ParameterValidator.validate_parameter_list
    - request_params.difference
    - <builtin>.hasattr
    - connexion.validators.parameter.ParameterValidator.validate_query_parameter
    - request.cookies.get
    - <builtin>.str
    - jsonschema.Draft4Validator
    - jsonschema.Draft4Validator.validate
    - connexion.utils.is_null
    - connexion.validators.parameter.ParameterValidator.validate_parameter
    - param_def.get
    - request.headers.get
    - connexion.validators.parameter.ParameterValidator.validate_query_parameter_list
    - connexion.validators.parameter.ParameterValidator.validate_path_parameter
    - value.strip
    - <builtin>.locals
    - param.get
    - spec_params.extend
    - <builtin>.set
    - connexion.utils.is_nullable
    - connexion.validators.parameter.ParameterValidator.validate_cookie_parameter
    - copy.deepcopy
    linkageType: pythonLinkage
    raised:
    - ExtraParameterProblem
    - BadRequestProblem
    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
    - <builtin>.float
    - <builtin>.isinstance
    - connexion.frameworks.flask.FlaskJSONProvider.default
    - o.isoformat
    - connexion.jsonifier.JSONEncoder.default
    - <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: 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: 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: 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: 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: []
    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:
    - kwargs.setdefault
    - flask.json.dumps
    - json.dumps
    linkageType: pythonLinkage
    raised: []
    returnType: N/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:
    - json.loads
    - <builtin>.isinstance
    - data.decode
    - 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: 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 0x7fc3f7b2a460>
    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:
    - connexion.middleware.exceptions.connexion_wrapper
    - functools.wraps
    - <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.middleware.server_error.ServerErrorMiddleware
    functionSourceFile: connexion.middleware.server_error
    functionUses: 0
    functionsReached:
    - connexion.middleware.exceptions.connexion_wrapper
    - functools.wraps
    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 0x7fc3f7ccc490>
    - <ast.Tuple object at 0x7fc3f7ccc940>
    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: 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.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:
    - connexion.middleware.routing.RoutingOperation.__call__.get_root_path
    - _scope.get
    - original_scope.setdefault
    - extensions.setdefault
    - <builtin>.len
    - scope.get
    - connexion_routing.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: _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: 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
    - connexion.middleware.routing.RoutingOperation.__init__
    - <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 0x7fc3f7242af0>
    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: 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:
    - starlette.routing.Router
    - connexion.middleware.routing.RoutingOperation.__init__
    - 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 0x7fc3f7b61b80>
    - <ast.Constant object at 0x7fc3f7b61af0>
    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:
    - connexion.middleware.routing.RoutingOperation.__init__
    - starlette.routing.Router.mount
    - <builtin>.super
    - starlette.routing.Router
    - <builtin>.isinstance
    - connexion.middleware.routing.RoutingAPI.__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:
    - scope.copy
    - _scope.set
    - starlette.routing.Router
    linkageType: pythonLinkage
    raised: []
    returnType: N/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
    - connexion.frameworks.starlette.Starlette.build_response
    - starlette.responses.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
    - starlette.requests.Request
    - connexion.lifecycle.ConnexionRequest.__init__
    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
    - types.get
    - name.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: 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: 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:
    - logging.getLogger
    - contextvars.ContextVar
    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.routing.Router.add_route
    - starlette.routing.Router.mount
    - connexion.options.SwaggerUIConfig.__init__
    - <builtin>.super
    - starlette.routing.Router
    - logger.debug
    - connexion.middleware.swagger_ui.SwaggerUIAPI.add_swagger_ui
    - starlette.templating.Jinja2Templates
    - <builtin>.isinstance
    - logger.info
    - <builtin>.len
    - connexion.middleware.swagger_ui.SwaggerUIAPI.add_openapi_yaml
    - starlette.staticfiles.StaticFiles
    - connexion.middleware.swagger_ui.SwaggerUIAPI.add_openapi_json
    - <builtin>.str
    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:
    - starlette.routing.Router.add_route
    - logger.info
    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:
    - starlette.routing.Router.add_route
    - logger.debug
    - <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.routing.Router.add_route
    - starlette.routing.Router.mount
    - logger.debug
    - starlette.staticfiles.StaticFiles
    - <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: 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:
    - string.strip
    - re.sub
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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:
    - connexion.jsonifier.Jsonifier.__init__
    - connexion.middleware.swagger_ui.SwaggerUIAPI._base_path_for_prefix
    - flask.json.dumps
    - connexion.middleware.swagger_ui.SwaggerUIAPI._spec_for_prefix
    - json.dumps
    - connexion.jsonifier.Jsonifier.dumps
    - kwargs.setdefault
    - starlette.responses.Response
    - request.scope.get
    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:
    - connexion.middleware.swagger_ui.SwaggerUIAPI._base_path_for_prefix
    - connexion.utils.yamldumper
    - connexion.middleware.swagger_ui.SwaggerUIAPI._spec_for_prefix
    - starlette.responses.Response
    - request.scope.get
    - yaml.dump
    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
    - connexion.middleware.swagger_ui.SwaggerUIAPI._base_path_for_prefix
    - starlette.templating.Jinja2Templates.TemplateResponse
    linkageType: pythonLinkage
    raised: []
    returnType: N/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:
    - starlette.responses.Response
    - json.dumps
    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 0x7fc3f80208e0>
    - <ast.Constant object at 0x7fc3f80202b0>
    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.routing.Router.add_route
    - starlette.routing.Router.mount
    - connexion.options.SwaggerUIConfig.__init__
    - <builtin>.super
    - starlette.routing.Router
    - connexion.middleware.swagger_ui.SwaggerUIAPI.__init__
    - logger.debug
    - connexion.middleware.swagger_ui.SwaggerUIAPI.add_swagger_ui
    - starlette.templating.Jinja2Templates
    - <builtin>.isinstance
    - logger.info
    - <builtin>.len
    - connexion.middleware.swagger_ui.SwaggerUIAPI.add_openapi_yaml
    - starlette.staticfiles.StaticFiles
    - connexion.middleware.swagger_ui.SwaggerUIAPI.add_openapi_json
    - <builtin>.str
    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:
    - scope.copy
    - _original_scope.set
    - starlette.routing.Router
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: 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:
    - parameters.split
    - key.decode
    - <builtin>.isinstance
    - headers.items
    - value.decode
    - connexion.utils.split_content_type
    - <builtin>.len
    - parameter.startswith
    - connexion.utils.extract_content_type
    - content_type.split
    - decoded_key.lower
    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:
    - p.lower
    - mime_type.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:
    - k.lower
    - v.get
    - <builtin>.set
    - response_definition.get
    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: response_definition.get
    functionSourceFile: <builtin>
    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
    - 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:
    - <builtin>.isinstance
    - logger.info
    - connexion.middleware.response_validation.ResponseValidationOperation.validate_required_headers
    - <builtin>.str
    - k.lower
    - param_def.get
    - validator.wrap_send
    - value.decode
    - connexion.utils.split_content_type
    - <builtin>.len
    - response_definition.get
    - parameters.split
    - p.lower
    - connexion.utils.extract_content_type
    - connexion.middleware.response_validation.ResponseValidationOperation.extract_content_type
    - connexion.middleware.response_validation.ResponseValidationOperation.validate_mime_type
    - <builtin>.set
    - v.get
    - connexion.utils.is_nullable
    - key.decode
    - headers.items
    - parameter.startswith
    - mime_type.lower
    - content_type.split
    - decoded_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: 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:
    - connexion.middleware.response_validation.ResponseValidationOperation.__init__
    - 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: 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:
    - connexion.security.SecurityHandlerFactory.parse_security_scheme
    - connexion.middleware.security.SecurityOperation._get_verification_fn
    - function_name.rsplit
    - module_name.rsplit
    - logger.warning
    - connexion.utils.get_function_from_name
    - security_definition.get
    - logger.debug
    - connexion.security.BearerSecurityHandler._get_verify_func
    - security_scheme.get
    - connexion.security.AbstractSecurityHandler.get_fn
    - attr.split
    - <builtin>.vars
    - auth_funcs.append
    - connexion.security.AbstractSecurityHandler._get_verify_func
    - connexion.security.BearerSecurityHandler.check_bearer_token
    - connexion.security.AbstractSecurityHandler._resolve_func
    - importlib.import_module
    - connexion.security.AbstractSecurityHandler._generic_check
    - connexion.utils.deep_getattr
    - os.environ.get
    - security_req.items
    - connexion.security.AbstractSecurityHandler._get_function
    - functools.reduce
    - connexion.security.SecurityHandlerFactory.verify_security
    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:
    - connexion.security.SecurityHandlerFactory.parse_security_scheme
    - function_name.rsplit
    - module_name.rsplit
    - logger.warning
    - connexion.utils.get_function_from_name
    - security_definition.get
    - logger.debug
    - connexion.security.BearerSecurityHandler._get_verify_func
    - security_scheme.get
    - connexion.security.AbstractSecurityHandler.get_fn
    - attr.split
    - <builtin>.vars
    - auth_funcs.append
    - connexion.security.AbstractSecurityHandler._get_verify_func
    - connexion.security.BearerSecurityHandler.check_bearer_token
    - connexion.security.AbstractSecurityHandler._resolve_func
    - importlib.import_module
    - connexion.security.AbstractSecurityHandler._generic_check
    - connexion.utils.deep_getattr
    - os.environ.get
    - security_req.items
    - connexion.security.AbstractSecurityHandler._get_function
    - functools.reduce
    - connexion.security.SecurityHandlerFactory.verify_security
    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:
    - connexion.security.SecurityHandlerFactory.parse_security_scheme
    - connexion.middleware.security.SecurityOperation._get_verification_fn
    - function_name.rsplit
    - module_name.rsplit
    - logger.warning
    - connexion.utils.get_function_from_name
    - security_definition.get
    - logger.debug
    - connexion.security.BearerSecurityHandler._get_verify_func
    - security_scheme.get
    - connexion.security.AbstractSecurityHandler.get_fn
    - attr.split
    - <builtin>.vars
    - auth_funcs.append
    - connexion.security.AbstractSecurityHandler._get_verify_func
    - connexion.middleware.security.SecurityOperation.__init__
    - connexion.security.BearerSecurityHandler.check_bearer_token
    - connexion.security.AbstractSecurityHandler._resolve_func
    - importlib.import_module
    - connexion.security.AbstractSecurityHandler._generic_check
    - connexion.utils.deep_getattr
    - os.environ.get
    - security_req.items
    - connexion.security.AbstractSecurityHandler._get_function
    - functools.reduce
    - connexion.security.SecurityHandlerFactory.verify_security
    linkageType: pythonLinkage
    raised: []
    returnType: N/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:
    - connexion.security.BearerSecurityHandler.check_bearer_token
    - logger.warning
    - connexion.utils.get_function_from_name
    - attr.split
    - connexion.security.AbstractSecurityHandler._resolve_func
    - importlib.import_module
    - connexion.security.AbstractSecurityHandler._generic_check
    - security_definition.get
    - connexion.utils.deep_getattr
    - os.environ.get
    - function_name.rsplit
    - module_name.rsplit
    - connexion.security.AbstractSecurityHandler._get_function
    - connexion.security.BearerSecurityHandler._get_verify_func
    - functools.reduce
    - connexion.security.AbstractSecurityHandler._get_verify_func
    - security_scheme.get
    - connexion.security.AbstractSecurityHandler.get_fn
    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
    - connexion.lifecycle.ConnexionRequest.__init__
    - connexion.security.SecurityHandlerFactory.verify_security.verify_fn
    - errors.append
    - asyncio.iscoroutine
    - connexion.security.SecurityHandlerFactory.security_passthrough
    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:
    - errors.append
    - asyncio.iscoroutine
    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: 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_HANDLERS.copy
    - connexion.security.SecurityHandlerFactory.parse_security_scheme
    - connexion.middleware.security.SecurityOperation._get_verification_fn
    - function_name.rsplit
    - module_name.rsplit
    - collections.defaultdict
    - logger.warning
    - connexion.utils.get_function_from_name
    - <builtin>.super
    - security_definition.get
    - logger.debug
    - connexion.middleware.security.SecurityAPI.make_operation
    - connexion.middleware.security.SecurityOperation.from_operation
    - connexion.security.BearerSecurityHandler._get_verify_func
    - security_scheme.get
    - connexion.security.AbstractSecurityHandler.get_fn
    - attr.split
    - <builtin>.vars
    - connexion.middleware.security.SecurityAPI.add_auth_on_not_found
    - auth_funcs.append
    - connexion.security.SecurityHandlerFactory.__init__
    - connexion.security.AbstractSecurityHandler._get_verify_func
    - connexion.middleware.security.SecurityOperation.__init__
    - connexion.security.BearerSecurityHandler.check_bearer_token
    - connexion.security.AbstractSecurityHandler._resolve_func
    - importlib.import_module
    - connexion.security.AbstractSecurityHandler._generic_check
    - connexion.utils.deep_getattr
    - os.environ.get
    - security_req.items
    - connexion.security.AbstractSecurityHandler._get_function
    - functools.reduce
    - connexion.security.SecurityHandlerFactory.verify_security
    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 0x7fc3f7e71280>
    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:
    - connexion.security.SecurityHandlerFactory.parse_security_scheme
    - connexion.middleware.security.SecurityOperation._get_verification_fn
    - function_name.rsplit
    - module_name.rsplit
    - collections.defaultdict
    - logger.warning
    - connexion.utils.get_function_from_name
    - security_definition.get
    - logger.debug
    - connexion.middleware.security.SecurityOperation.from_operation
    - connexion.middleware.security.SecurityAPI.make_operation
    - connexion.security.BearerSecurityHandler._get_verify_func
    - security_scheme.get
    - connexion.security.AbstractSecurityHandler.get_fn
    - attr.split
    - <builtin>.vars
    - auth_funcs.append
    - connexion.security.AbstractSecurityHandler._get_verify_func
    - connexion.middleware.security.SecurityOperation.__init__
    - connexion.security.BearerSecurityHandler.check_bearer_token
    - connexion.security.AbstractSecurityHandler._resolve_func
    - importlib.import_module
    - connexion.security.AbstractSecurityHandler._generic_check
    - connexion.utils.deep_getattr
    - os.environ.get
    - security_req.items
    - connexion.security.AbstractSecurityHandler._get_function
    - functools.reduce
    - connexion.security.SecurityHandlerFactory.verify_security
    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:
    - connexion.security.SecurityHandlerFactory.parse_security_scheme
    - connexion.middleware.security.SecurityOperation._get_verification_fn
    - function_name.rsplit
    - module_name.rsplit
    - logger.warning
    - connexion.utils.get_function_from_name
    - security_definition.get
    - logger.debug
    - connexion.middleware.security.SecurityOperation.from_operation
    - connexion.security.BearerSecurityHandler._get_verify_func
    - security_scheme.get
    - connexion.security.AbstractSecurityHandler.get_fn
    - attr.split
    - <builtin>.vars
    - auth_funcs.append
    - connexion.security.AbstractSecurityHandler._get_verify_func
    - connexion.middleware.security.SecurityOperation.__init__
    - connexion.security.BearerSecurityHandler.check_bearer_token
    - connexion.security.AbstractSecurityHandler._resolve_func
    - importlib.import_module
    - connexion.security.AbstractSecurityHandler._generic_check
    - connexion.utils.deep_getattr
    - os.environ.get
    - security_req.items
    - connexion.security.AbstractSecurityHandler._get_function
    - functools.reduce
    - connexion.security.SecurityHandlerFactory.verify_security
    linkageType: pythonLinkage
    raised: []
    returnType: N/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:
    - logging.getLogger
    - <builtin>.object
    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:
    - connexion.security.BearerSecurityHandler.check_bearer_token
    - logger.warning
    - connexion.utils.get_function_from_name
    - attr.split
    - connexion.security.AbstractSecurityHandler._resolve_func
    - importlib.import_module
    - connexion.security.AbstractSecurityHandler._generic_check
    - security_definition.get
    - connexion.utils.deep_getattr
    - os.environ.get
    - function_name.rsplit
    - module_name.rsplit
    - connexion.security.AbstractSecurityHandler._get_function
    - connexion.security.BearerSecurityHandler._get_verify_func
    - functools.reduce
    - connexion.security.AbstractSecurityHandler._get_verify_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:
    - connexion.utils.get_function_from_name
    - attr.split
    - importlib.import_module
    - security_definition.get
    - connexion.utils.deep_getattr
    - os.environ.get
    - function_name.rsplit
    - module_name.rsplit
    - connexion.security.AbstractSecurityHandler._get_function
    - functools.reduce
    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 0x7fc3f8088250>
    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:
    - connexion.utils.get_function_from_name
    - attr.split
    - importlib.import_module
    - security_definition.get
    - connexion.utils.deep_getattr
    - os.environ.get
    - function_name.rsplit
    - module_name.rsplit
    - 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: 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:
    - <builtin>.set
    - token_request.json
    - <builtin>.list
    - inspect.signature
    - logger.debug
    - token_scopes.split
    - connexion.security.AbstractSecurityHandler._accepts_kwarg
    - httpx.AsyncClient
    - <builtin>.isinstance
    - logger.info
    - connexion.utils.inspect_function_arguments
    - <builtin>.any
    - parameters.values
    - connexion.security.OAuthSecurityHandler.validate_scope
    - parameters.items
    - asyncio.iscoroutine
    - connexion.security.OAuthSecurityHandler.get_token_info_remote.wrapper
    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:
    - <builtin>.list
    - inspect.signature
    - connexion.utils.inspect_function_arguments
    - <builtin>.any
    - parameters.items
    - parameters.values
    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
    - logger.debug
    - <builtin>.isinstance
    - logger.info
    - token_scopes.split
    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: 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
    - auth_type.lower
    - request.headers.get
    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.AbstractSecurityHandler._generic_check.wrapper
    - inspect.signature
    - auth_type.lower
    - connexion.security.AbstractSecurityHandler._accepts_kwarg
    - <builtin>.isinstance
    - logger.info
    - base64.b64decode
    - parameters.values
    - authorization.split
    - logger.debug
    - request.headers.get
    - token_scopes.split
    - connexion.security.AbstractSecurityHandler.get_auth_header_value
    - token_request.json
    - httpx.AsyncClient
    - <builtin>.any
    - asyncio.iscoroutine
    - connexion.security.OAuthSecurityHandler.get_token_info_remote.wrapper
    - <builtin>.set
    - <builtin>.list
    - connexion.utils.inspect_function_arguments
    - connexion.security.OAuthSecurityHandler.validate_scope
    - parameters.items
    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.AbstractSecurityHandler._generic_check.wrapper
    - inspect.signature
    - auth_type.lower
    - connexion.security.AbstractSecurityHandler._accepts_kwarg
    - <builtin>.isinstance
    - logger.info
    - parameters.values
    - authorization.split
    - logger.debug
    - request.headers.get
    - token_scopes.split
    - connexion.security.AbstractSecurityHandler.get_auth_header_value
    - token_request.json
    - httpx.AsyncClient
    - <builtin>.any
    - asyncio.iscoroutine
    - <builtin>.set
    - connexion.security.OAuthSecurityHandler.get_token_info_remote.wrapper
    - <builtin>.list
    - connexion.utils.inspect_function_arguments
    - connexion.security.OAuthSecurityHandler.validate_scope
    - parameters.items
    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:
    - logger.warning
    - connexion.utils.get_function_from_name
    - connexion.security.ApiKeySecurityHandler._get_verify_func
    - attr.split
    - connexion.security.AbstractSecurityHandler._resolve_func
    - importlib.import_module
    - connexion.security.AbstractSecurityHandler._generic_check
    - security_definition.get
    - connexion.utils.deep_getattr
    - os.environ.get
    - function_name.rsplit
    - module_name.rsplit
    - connexion.security.ApiKeySecurityHandler.check_api_key
    - connexion.security.AbstractSecurityHandler._get_function
    - functools.reduce
    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.ApiKeySecurityHandler.check_api_key
    - connexion.security.AbstractSecurityHandler._generic_check
    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.AbstractSecurityHandler._generic_check.wrapper
    - inspect.signature
    - connexion.security.AbstractSecurityHandler._accepts_kwarg
    - <builtin>.isinstance
    - logger.info
    - parameters.values
    - <builtin>.str
    - logger.debug
    - request.headers.get
    - token_scopes.split
    - token_request.json
    - request.query_params.get
    - httpx.AsyncClient
    - <builtin>.any
    - asyncio.iscoroutine
    - <builtin>.set
    - connexion.security.OAuthSecurityHandler.get_token_info_remote.wrapper
    - http.cookies.SimpleCookie
    - <builtin>.list
    - cookie_parser.load
    - connexion.security.ApiKeySecurityHandler.get_cookie_value
    - connexion.utils.inspect_function_arguments
    - connexion.security.OAuthSecurityHandler.validate_scope
    - parameters.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: 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:
    - logger.warning
    - connexion.utils.get_function_from_name
    - attr.split
    - importlib.import_module
    - connexion.security.OAuthSecurityHandler.get_token_info_remote
    - security_definition.get
    - connexion.utils.deep_getattr
    - os.environ.get
    - connexion.security.OAuthSecurityHandler.get_scope_validate_func
    - function_name.rsplit
    - connexion.security.OAuthSecurityHandler.check_oauth_func
    - connexion.security.OAuthSecurityHandler.get_tokeninfo_func
    - module_name.rsplit
    - connexion.security.AbstractSecurityHandler._get_function
    - connexion.security.AbstractSecurityHandler._generic_check
    - functools.reduce
    - connexion.security.OAuthSecurityHandler._get_verify_func
    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:
    - connexion.utils.get_function_from_name
    - attr.split
    - importlib.import_module
    - connexion.security.OAuthSecurityHandler.get_token_info_remote
    - security_definition.get
    - connexion.utils.deep_getattr
    - os.environ.get
    - function_name.rsplit
    - module_name.rsplit
    - connexion.security.AbstractSecurityHandler._get_function
    - functools.reduce
    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:
    - connexion.utils.get_function_from_name
    - attr.split
    - importlib.import_module
    - security_definition.get
    - connexion.utils.deep_getattr
    - os.environ.get
    - function_name.rsplit
    - module_name.rsplit
    - connexion.security.AbstractSecurityHandler._get_function
    - functools.reduce
    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.OAuthSecurityHandler.check_oauth_func
    - 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_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.AbstractSecurityHandler._generic_check.wrapper
    - inspect.signature
    - auth_type.lower
    - connexion.security.AbstractSecurityHandler._accepts_kwarg
    - <builtin>.isinstance
    - logger.info
    - connexion.security.OAuthSecurityHandler.check_oauth_func.wrapper
    - parameters.values
    - authorization.split
    - logger.debug
    - request.headers.get
    - token_scopes.split
    - connexion.security.AbstractSecurityHandler.get_auth_header_value
    - token_request.json
    - httpx.AsyncClient
    - <builtin>.any
    - asyncio.iscoroutine
    - <builtin>.set
    - connexion.security.OAuthSecurityHandler.get_token_info_remote.wrapper
    - <builtin>.list
    - connexion.utils.inspect_function_arguments
    - connexion.security.OAuthSecurityHandler.validate_scope
    - token_info.get
    - parameters.items
    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.AbstractSecurityHandler._generic_check.wrapper
    - inspect.signature
    - connexion.security.AbstractSecurityHandler._accepts_kwarg
    - <builtin>.isinstance
    - logger.info
    - parameters.values
    - logger.debug
    - token_scopes.split
    - token_request.json
    - httpx.AsyncClient
    - <builtin>.any
    - asyncio.iscoroutine
    - <builtin>.set
    - connexion.security.OAuthSecurityHandler.get_token_info_remote.wrapper
    - <builtin>.list
    - connexion.utils.inspect_function_arguments
    - connexion.security.OAuthSecurityHandler.validate_scope
    - token_info.get
    - parameters.items
    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: 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.response.BaseResponseDecorator.__init__
    - connexion.decorators.main.BaseDecorator._sync_async_decorator
    - connexion.decorators.main.FlaskDecorator._response_decorator_cls
    - connexion.decorators.main.BaseDecorator._parameter_decorator_cls
    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:
    - asgiref.sync.async_to_sync
    - 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: 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.decorators.main.StarletteDecorator._response_decorator_cls
    - connexion.decorators.response.BaseResponseDecorator.__init__
    - connexion.decorators.main.BaseDecorator._sync_async_decorator
    - connexion.lifecycle.WSGIRequest.__init__
    - connexion.decorators.main.FlaskDecorator._response_decorator_cls
    - connexion.frameworks.flask.Flask.get_request
    - connexion.decorators.main.BaseDecorator._parameter_decorator_cls
    - connexion.decorators.main.BaseDecorator.decorate
    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:
    - connexion.decorators.main.StarletteDecorator._response_decorator_cls
    - connexion.decorators.response.BaseResponseDecorator.__init__
    - connexion.decorators.main.BaseDecorator._sync_async_decorator
    - <builtin>.hasattr
    - connexion.decorators.main.FlaskDecorator._response_decorator_cls
    - starlette.requests.Request
    - connexion.lifecycle.ConnexionRequest.__init__
    - connexion.frameworks.starlette.Starlette.get_request
    - connexion.decorators.main.BaseDecorator._parameter_decorator_cls
    - connexion.decorators.main.BaseDecorator.decorate
    linkageType: 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:
    - connexion.decorators.response.BaseResponseDecorator._unpack_handler_response
    - key.lower
    - <builtin>.isinstance
    - connexion.decorators.response.BaseResponseDecorator._serialize_data
    - connexion.decorators.response.BaseResponseDecorator._infer_status_code
    - value.decode
    - <builtin>.len
    - connexion.utils.split_content_type
    - subtype.split
    - connexion.decorators.response.BaseResponseDecorator._update_headers
    - parameters.split
    - subtype.endswith
    - connexion.decorators.response.BaseResponseDecorator._infer_content_type
    - connexion.utils.is_json_mimetype
    - connexion.utils.extract_content_type
    - <builtin>.set
    - <builtin>.list
    - <builtin>.int
    - key.decode
    - headers.items
    - parameter.startswith
    - content_type.split
    - decoded_key.lower
    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>.set
    - <builtin>.list
    - key.decode
    - <builtin>.isinstance
    - headers.items
    - value.decode
    - <builtin>.len
    - connexion.utils.extract_content_type
    - decoded_key.lower
    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:
    - parameters.split
    - subtype.endswith
    - <builtin>.len
    - connexion.utils.split_content_type
    - connexion.utils.is_json_mimetype
    - parameter.startswith
    - subtype.split
    - content_type.split
    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:
    - connexion.decorators.response.BaseResponseDecorator._unpack_handler_response
    - key.lower
    - <builtin>.isinstance
    - connexion.decorators.response.BaseResponseDecorator._serialize_data
    - connexion.decorators.response.BaseResponseDecorator._infer_status_code
    - connexion.decorators.response.BaseResponseDecorator.build_framework_response
    - value.decode
    - <builtin>.len
    - connexion.utils.split_content_type
    - subtype.split
    - connexion.decorators.response.BaseResponseDecorator._update_headers
    - parameters.split
    - subtype.endswith
    - connexion.decorators.response.BaseResponseDecorator._infer_content_type
    - connexion.utils.is_json_mimetype
    - connexion.utils.extract_content_type
    - <builtin>.set
    - <builtin>.list
    - <builtin>.int
    - key.decode
    - headers.items
    - parameter.startswith
    - content_type.split
    - decoded_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: 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:
    - connexion.decorators.response.BaseResponseDecorator._unpack_handler_response
    - key.lower
    - <builtin>.isinstance
    - connexion.decorators.response.BaseResponseDecorator._serialize_data
    - connexion.decorators.response.BaseResponseDecorator._infer_status_code
    - connexion.decorators.response.BaseResponseDecorator.build_framework_response
    - value.decode
    - <builtin>.len
    - connexion.utils.split_content_type
    - subtype.split
    - connexion.decorators.response.BaseResponseDecorator._update_headers
    - parameters.split
    - subtype.endswith
    - connexion.decorators.response.BaseResponseDecorator._infer_content_type
    - connexion.utils.is_json_mimetype
    - connexion.utils.extract_content_type
    - <builtin>.set
    - <builtin>.list
    - <builtin>.int
    - key.decode
    - headers.items
    - parameter.startswith
    - content_type.split
    - decoded_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: 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:
    - flask.current_app.make_response
    - connexion.frameworks.flask.Flask.build_response
    - connexion.frameworks.flask.Flask.is_framework_response
    - flask.current_app.response_class
    - <builtin>.isinstance
    - kwargs.items
    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:
    - flask.current_app.make_response
    - connexion.frameworks.flask.Flask.is_framework_response
    - flask.current_app.response_class
    - <builtin>.isinstance
    - kwargs.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: 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 0x7fc3f7da5c70>
    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:
    - random.SystemRandom
    - <builtin>.range
    - identifier.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: 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
    - types.get
    - name.replace
    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 0x7fc3f809ce50>
    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:
    - <builtin>.str
    - urllib.parse.quote
    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 0x7fc3f80888e0>
    - <ast.Constant object at 0x7fc3f80887c0>
    - <ast.Constant object at 0x7fc3f8088910>
    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>.str
    - <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
    - 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
    - re.escape
    - <builtin>.set
    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 0x7fc3f7d28880>
    - <ast.Constant object at 0x7fc3f7d28a30>
    - <ast.Constant object at 0x7fc3f7d28130>
    - <ast.Constant object at 0x7fc3f7d28340>
    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 0x7fc3f7c696a0>
    - <ast.Constant object at 0x7fc3f7c69e50>
    - <ast.Constant object at 0x7fc3f7c69a30>
    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 0x7fc3f8330c10>
    - <ast.Constant object at 0x7fc3f8330850>
    - <ast.Constant object at 0x7fc3f8330f40>
    - <ast.Constant object at 0x7fc3f83305b0>
    - <ast.Constant object at 0x7fc3f8330af0>
    - <ast.Constant object at 0x7fc3f8330c40>
    - <ast.Constant object at 0x7fc3f83304f0>
    - <ast.Constant object at 0x7fc3f83306d0>
    - <ast.Constant object at 0x7fc3f8330ca0>
    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:
    - werkzeug.routing.matcher.StateMachineMatcher.__init__
    - <builtin>.dict
    - werkzeug.routing.matcher.StateMachineMatcher.add
    - state.rules.append
    - threading.Lock
    - werkzeug.datastructures.structures.ImmutableDict.copy
    - rulefactory.get_rules
    - werkzeug.routing.map.Map.add
    - rule.bind
    - state.static.setdefault
    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:
    - werkzeug.routing.matcher.StateMachineMatcher.add
    - state.rules.append
    - rulefactory.get_rules
    - rule.bind
    - state.static.setdefault
    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:
    - state.static.values
    - rules.sort
    - state.dynamic.sort
    - werkzeug.routing.matcher.StateMachineMatcher.update._update_state
    - arguments_set.issubset
    - werkzeug.routing.matcher.StateMachineMatcher.update
    - werkzeug.routing.map.Map.update
    - <builtin>.set
    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:
    - rules.sort
    - state.dynamic.sort
    - werkzeug.routing.matcher.StateMachineMatcher.update._update_state
    - werkzeug.routing.matcher.StateMachineMatcher.update
    - state.static.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: 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 0x7fc3f7b8b580>
    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:
    - rules.sort
    - state.dynamic.sort
    - <builtin>.iter
    - werkzeug.routing.matcher.StateMachineMatcher.update._update_state
    - werkzeug.routing.matcher.StateMachineMatcher.update
    - werkzeug.routing.map.Map.update
    - state.static.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: 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.static.setdefault
    - state.rules.append
    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 0x7fc3f7bf3ac0>
    - <ast.Constant object at 0x7fc3f7bf3250>
    - <ast.Constant object at 0x7fc3f7bf3040>
    - <ast.Constant object at 0x7fc3f7bf3e50>
    - <ast.Constant object at 0x7fc3f7bf3190>
    - <ast.Constant object at 0x7fc3f7bf3910>
    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:
    - script_name.endswith
    - server_name.lower
    - server_name.encode
    - werkzeug.routing.map.MapAdapter.__init__
    - server_name.partition
    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 0x7fc3f7999670>
    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 0x7fc3f8020b80>
    - <ast.Constant object at 0x7fc3f8020820>
    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.lower
    - ref.startswith
    - s.encode
    - wsgi_server_name.split
    - hostname.endswith
    - werkzeug.routing.map.MapAdapter.__init__
    - werkzeug.wsgi._get_server
    - host.endswith
    - env.get
    - server_name.split
    - <builtin>.isinstance
    - werkzeug.wsgi.get_host
    - script_name.endswith
    - <builtin>.getattr
    - <builtin>.type
    - <builtin>.len
    - <builtin>.filter
    - werkzeug.sansio.utils.get_host
    - ref.partition
    - server_name.encode
    - <builtin>.any
    - werkzeug._internal._wsgi_decoding_dance
    - server_name.endswith
    - werkzeug._internal._get_environ
    - werkzeug.routing.map.Map.bind_to_environ._get_wsgi_string
    - hostname.partition
    - warnings.warn
    - v.strip
    - <builtin>.int
    - server_name.partition
    - environ.get
    - werkzeug.sansio.utils.host_is_trusted
    - werkzeug.routing.map.Map.bind
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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:
    - werkzeug._internal._wsgi_decoding_dance
    - env.get
    - 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:
    - state.dynamic.sort
    - werkzeug.routing.matcher.StateMachineMatcher.update._update_state
    - state.static.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: 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:
    - pprint.pformat
    - werkzeug.routing.map.Map.iter_rules
    - <builtin>.list
    - rules.sort
    - <builtin>.type
    - state.dynamic.sort
    - <builtin>.iter
    - werkzeug.routing.matcher.StateMachineMatcher.update._update_state
    - werkzeug.routing.matcher.StateMachineMatcher.update
    - werkzeug.routing.map.Map.update
    - state.static.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: 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 0x7fc3f7ca3850>
    - <ast.Constant object at 0x7fc3f7ca3760>
    - <ast.Constant object at 0x7fc3f7ca3fa0>
    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:
    - path.split
    - r.provides_defaults_for
    - werkzeug.urls._urlencode
    - urllib.parse.urlencode
    - <builtin>.zip
    - <builtin>.isinstance
    - <builtin>.sorted
    - state.dynamic.sort
    - <builtin>.str
    - r.suitable_for
    - r.build
    - re.compile
    - re.sub
    - urllib.parse.quote.lstrip
    - werkzeug.routing.map.MapAdapter.make_redirect_url
    - path_info.lstrip
    - rule._converters.keys
    - values.update
    - werkzeug.routing.matcher.StateMachineMatcher.match
    - werkzeug.routing.matcher.StateMachineMatcher.update._update_state
    - werkzeug.routing.map.MapAdapter.get_host
    - have_match_for.update
    - werkzeug.routing.map.Map.update
    - urllib.parse.urlunsplit
    - werkzeug.routing.map.MapAdapter.encode_query_args
    - werkzeug.routing.map.MapAdapter.get_default_redirect
    - _simple_rule_re.sub
    - result.update
    - werkzeug.routing.matcher.StateMachineMatcher.update
    - rule.redirect_to
    - <builtin>.set
    - werkzeug.routing.map.MapAdapter.match
    - match.groups
    - rules.sort
    - urllib.parse.quote
    - match.groupdict
    - werkzeug.routing.matcher.StateMachineMatcher.match._match
    - state.static.values
    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 0x7fc3f805be50>
    - <ast.Constant object at 0x7fc3f805b550>
    - <ast.Constant object at 0x7fc3f805ba00>
    - <ast.Constant object at 0x7fc3f805b6a0>
    - <ast.Constant object at 0x7fc3f805b790>
    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:
    - path.split
    - r.provides_defaults_for
    - werkzeug.urls._urlencode
    - urllib.parse.urlencode
    - <builtin>.zip
    - <builtin>.isinstance
    - <builtin>.sorted
    - state.dynamic.sort
    - <builtin>.str
    - r.suitable_for
    - r.build
    - re.compile
    - re.sub
    - urllib.parse.quote.lstrip
    - werkzeug.routing.map.MapAdapter.make_redirect_url
    - path_info.lstrip
    - rule._converters.keys
    - values.update
    - werkzeug.routing.matcher.StateMachineMatcher.match
    - werkzeug.routing.matcher.StateMachineMatcher.update._update_state
    - werkzeug.routing.map.MapAdapter.get_host
    - have_match_for.update
    - werkzeug.routing.map.Map.update
    - urllib.parse.urlunsplit
    - werkzeug.routing.map.MapAdapter.encode_query_args
    - werkzeug.routing.map.MapAdapter.get_default_redirect
    - _simple_rule_re.sub
    - result.update
    - werkzeug.routing.matcher.StateMachineMatcher.update
    - rule.redirect_to
    - <builtin>.set
    - match.groups
    - rules.sort
    - urllib.parse.quote
    - match.groupdict
    - werkzeug.routing.matcher.StateMachineMatcher.match._match
    - state.static.values
    linkageType: pythonLinkage
    raised:
    - RequestRedirect
    - WebsocketMismatch
    - NotFound
    - MethodNotAllowed
    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:
    - path.split
    - match.groups
    - re.compile
    - re.sub
    - <builtin>.zip
    - rule._converters.keys
    - <builtin>.sorted
    - match.groupdict
    - result.update
    - have_match_for.update
    - werkzeug.routing.matcher.StateMachineMatcher.match._match
    - <builtin>.str
    - <builtin>.set
    linkageType: pythonLinkage
    raised:
    - NoMatch
    - RequestPath
    - RequestAliasRedirect
    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:
    - r.suitable_for
    - r.provides_defaults_for
    - r.build
    - urllib.parse.urlunsplit
    - werkzeug.routing.map.MapAdapter.encode_query_args
    - werkzeug.urls._urlencode
    - urllib.parse.urlencode
    - urllib.parse.quote.lstrip
    - werkzeug.routing.map.MapAdapter.make_redirect_url
    - <builtin>.isinstance
    - values.update
    - werkzeug.routing.map.MapAdapter.get_host
    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 0x7fc3f7f75970>
    - <ast.Constant object at 0x7fc3f7f75310>
    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:
    - path.split
    - r.provides_defaults_for
    - werkzeug.urls._urlencode
    - urllib.parse.urlencode
    - <builtin>.zip
    - <builtin>.isinstance
    - <builtin>.sorted
    - state.dynamic.sort
    - <builtin>.str
    - r.suitable_for
    - r.build
    - re.compile
    - re.sub
    - urllib.parse.quote.lstrip
    - werkzeug.routing.map.MapAdapter.make_redirect_url
    - path_info.lstrip
    - rule._converters.keys
    - values.update
    - werkzeug.routing.matcher.StateMachineMatcher.match
    - werkzeug.routing.matcher.StateMachineMatcher.update._update_state
    - werkzeug.routing.map.MapAdapter.get_host
    - have_match_for.update
    - werkzeug.routing.map.Map.update
    - urllib.parse.urlunsplit
    - werkzeug.routing.map.MapAdapter.encode_query_args
    - werkzeug.routing.map.MapAdapter.get_default_redirect
    - _simple_rule_re.sub
    - result.update
    - werkzeug.routing.matcher.StateMachineMatcher.update
    - rule.redirect_to
    - <builtin>.set
    - werkzeug.routing.map.MapAdapter.match
    - match.groups
    - rules.sort
    - urllib.parse.quote
    - match.groupdict
    - werkzeug.routing.matcher.StateMachineMatcher.match._match
    - state.static.values
    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 0x7fc3f82fd6d0>
    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:
    - path.split
    - r.provides_defaults_for
    - werkzeug.urls._urlencode
    - urllib.parse.urlencode
    - <builtin>.zip
    - <builtin>.isinstance
    - <builtin>.sorted
    - state.dynamic.sort
    - <builtin>.str
    - r.suitable_for
    - r.build
    - re.compile
    - re.sub
    - urllib.parse.quote.lstrip
    - werkzeug.routing.map.MapAdapter.make_redirect_url
    - path_info.lstrip
    - rule._converters.keys
    - values.update
    - werkzeug.routing.matcher.StateMachineMatcher.match
    - werkzeug.routing.matcher.StateMachineMatcher.update._update_state
    - werkzeug.routing.map.MapAdapter.get_host
    - have_match_for.update
    - werkzeug.routing.map.Map.update
    - urllib.parse.urlunsplit
    - werkzeug.routing.map.MapAdapter.encode_query_args
    - werkzeug.routing.map.MapAdapter.get_default_redirect
    - _simple_rule_re.sub
    - result.update
    - werkzeug.routing.matcher.StateMachineMatcher.update
    - rule.redirect_to
    - <builtin>.set
    - werkzeug.routing.map.MapAdapter.match
    - match.groups
    - rules.sort
    - urllib.parse.quote
    - match.groupdict
    - werkzeug.routing.matcher.StateMachineMatcher.match._match
    - state.static.values
    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 0x7fc3f7c00460>
    - <ast.Constant object at 0x7fc3f7c005e0>
    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.urlunsplit
    - werkzeug.routing.map.MapAdapter.encode_query_args
    - werkzeug.urls._urlencode
    - urllib.parse.urlencode
    - urllib.parse.quote.lstrip
    - <builtin>.isinstance
    - werkzeug.routing.map.MapAdapter.get_host
    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
    - urllib.parse.urlencode
    - werkzeug.urls._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.map.MapAdapter._partial_build
    - werkzeug.urls._urlencode
    - urllib.parse.urlencode
    - <builtin>.isinstance
    - state.dynamic.sort
    - values.items
    - path.lstrip
    - <builtin>.len
    - werkzeug.routing.matcher.StateMachineMatcher.update._update_state
    - werkzeug.routing.map.MapAdapter.get_host
    - werkzeug.routing.map.Map.update
    - rule.suitable_for
    - werkzeug.routing.map.MapAdapter.build
    - werkzeug.routing.map.MapAdapter.encode_query_args
    - dict.items
    - werkzeug.routing.matcher.StateMachineMatcher.update
    - rule.build
    - rules.sort
    - state.static.values
    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 0x7fc3f7b61460>
    - <ast.Constant object at 0x7fc3f7b61370>
    - <ast.Constant object at 0x7fc3f7b61970>
    - <ast.Constant object at 0x7fc3f7b619d0>
    - <ast.Constant object at 0x7fc3f7b61220>
    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.map.MapAdapter._partial_build
    - rule.suitable_for
    - values.items
    - rules.sort
    - path.lstrip
    - <builtin>.isinstance
    - state.dynamic.sort
    - dict.items
    - <builtin>.len
    - werkzeug.routing.matcher.StateMachineMatcher.update._update_state
    - werkzeug.routing.matcher.StateMachineMatcher.update
    - werkzeug.routing.map.MapAdapter.get_host
    - rule.build
    - werkzeug.routing.map.Map.update
    - state.static.values
    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.build
    - werkzeug.routing.map.MapAdapter._partial_build
    - rule.suitable_for
    linkageType: pythonLinkage
    raised: []
    returnType: N/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:
    - state.dynamic.sort
    - werkzeug.routing.matcher.StateMachineMatcher.update._update_state
    - state.static.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: 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:
    - re.compile
    - match.groups
    - <builtin>.sorted
    - match.groupdict
    - have_match_for.update
    - werkzeug.routing.matcher.StateMachineMatcher.match._match
    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 0x7fc3f7f33790>
    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.parse
    - re.compile
    - <builtin>.isinstance
    - werkzeug.routing.rules._prefix_names
    - typing.TypeVar
    - ast.walk
    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
    - item.start
    - werkzeug.routing.rules._pythonize
    - item.group
    - item.end
    - _converter_args_re.finditer
    - <builtin>.tuple
    - <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: _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:
    - rule.empty
    - rulefactory.get_rules
    linkageType: pythonLinkage
    raised: []
    returnType: N/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:
    - rule.empty
    - rulefactory.get_rules
    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:
    - rule.empty
    - rulefactory.get_rules
    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:
    - <builtin>.dict
    - werkzeug.routing.rules.RuleTemplateFactory.__init__
    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:
    - string.Template
    - string.Template.substitute
    - string.startswith
    - string.endswith
    - werkzeug.routing.rules.Rule.__init__
    - <builtin>.isinstance
    - rulefactory.get_rules
    - methods.add
    - x.upper
    - rule.defaults.items
    - <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: 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 0x7fc3f81fabe0>
    - <ast.Constant object at 0x7fc3f81fa790>
    - <ast.Constant object at 0x7fc3f81faa00>
    - <ast.Constant object at 0x7fc3f81fa700>
    - <ast.Constant object at 0x7fc3f81fa220>
    - <ast.Constant object at 0x7fc3f81fa070>
    - <ast.Constant object at 0x7fc3f81faa60>
    - <ast.Constant object at 0x7fc3f81fad90>
    - <ast.Constant object at 0x7fc3f81fac10>
    - <ast.Constant object at 0x7fc3f81fa460>
    - <ast.Constant object at 0x7fc3f81fa4c0>
    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:
    - string.startswith
    - string.endswith
    - <builtin>.isinstance
    - methods.add
    - x.upper
    - <builtin>.set
    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.parse
    - ast.walk
    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:
    - werkzeug.routing.rules.Rule.get_empty_kwargs
    - <builtin>.dict
    - <builtin>.type
    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:
    - ast.parse
    - func_ast.args.defaults.append
    - ast.Return
    - werkzeug.routing.rules._pythonize
    - _part_re.match
    - typing.NamedTuple.__init__
    - werkzeug.routing.rules.Rule._parse_rule
    - item.group
    - <builtin>.isinstance
    - werkzeug.routing.rules.Rule._compile_builder._parts
    - match.end
    - re.escape
    - werkzeug.routing.rules.Rule._compile_builder._join
    - <builtin>.str
    - ast.arg
    - _CALL_CONVERTER_CODE_FMT.format
    - re.sub
    - ast.Tuple
    - item.end
    - <builtin>.exec
    - werkzeug.routing.rules._prefix_names
    - werkzeug.routing.rules.Rule.bind
    - werkzeug.routing.rules.Rule._get_func_code
    - <builtin>.len
    - opl.append
    - ast.Name
    - werkzeug.routing.rules.Rule.get_converter
    - ret.append
    - args.append
    - static_weights.append
    - url_parts.extend
    - body.append
    - argument_weights.append
    - _converter_args_re.finditer
    - werkzeug.routing.rules.parse_converter_args
    - ast.JoinedStr
    - <builtin>.tuple
    - func_ast.args.args.append
    - werkzeug.routing.rules.Rule._compile_builder
    - item.start
    - urllib.parse.quote
    - ast.Constant
    - match.groupdict
    - ast.walk
    - werkzeug.routing.rules.Rule._compile_builder._convert
    - ast.Load
    - werkzeug.routing.rules.Rule.compile
    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 0x7fc3f804e520>
    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:
    - ast.parse
    - func_ast.args.defaults.append
    - ast.Return
    - werkzeug.routing.rules._pythonize
    - _part_re.match
    - typing.NamedTuple.__init__
    - werkzeug.routing.rules.Rule._parse_rule
    - item.group
    - <builtin>.isinstance
    - werkzeug.routing.rules.Rule._compile_builder._parts
    - match.end
    - re.escape
    - werkzeug.routing.rules.Rule._compile_builder._join
    - <builtin>.str
    - ast.arg
    - _CALL_CONVERTER_CODE_FMT.format
    - re.sub
    - ast.Tuple
    - item.end
    - <builtin>.exec
    - werkzeug.routing.rules._prefix_names
    - werkzeug.routing.rules.Rule._get_func_code
    - <builtin>.len
    - opl.append
    - ast.Name
    - werkzeug.routing.rules.Rule.get_converter
    - ret.append
    - args.append
    - static_weights.append
    - url_parts.extend
    - body.append
    - argument_weights.append
    - _converter_args_re.finditer
    - werkzeug.routing.rules.parse_converter_args
    - ast.JoinedStr
    - <builtin>.tuple
    - func_ast.args.args.append
    - werkzeug.routing.rules.Rule._compile_builder
    - item.start
    - urllib.parse.quote
    - ast.Constant
    - match.groupdict
    - ast.walk
    - werkzeug.routing.rules.Rule._compile_builder._convert
    - ast.Load
    - werkzeug.routing.rules.Rule.compile
    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:
    - ast.parse
    - func_ast.args.defaults.append
    - ast.Return
    - werkzeug.routing.rules._pythonize
    - _part_re.match
    - typing.NamedTuple.__init__
    - werkzeug.routing.rules.Rule._parse_rule
    - item.group
    - <builtin>.isinstance
    - werkzeug.routing.rules.Rule._compile_builder._parts
    - match.end
    - re.escape
    - werkzeug.routing.rules.Rule._compile_builder._join
    - <builtin>.str
    - ast.arg
    - _CALL_CONVERTER_CODE_FMT.format
    - re.sub
    - ast.Tuple
    - item.end
    - <builtin>.exec
    - werkzeug.routing.rules._prefix_names
    - werkzeug.routing.rules.Rule._get_func_code
    - <builtin>.len
    - opl.append
    - ast.Name
    - werkzeug.routing.rules.Rule.get_converter
    - ret.append
    - args.append
    - static_weights.append
    - url_parts.extend
    - body.append
    - argument_weights.append
    - _converter_args_re.finditer
    - werkzeug.routing.rules.parse_converter_args
    - ast.JoinedStr
    - <builtin>.tuple
    - func_ast.args.args.append
    - werkzeug.routing.rules.Rule._compile_builder
    - item.start
    - urllib.parse.quote
    - ast.Constant
    - match.groupdict
    - ast.walk
    - werkzeug.routing.rules.Rule._compile_builder._convert
    - ast.Load
    - werkzeug.routing.rules.Rule.compile
    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:
    - mapping.items
    - urllib.parse.urlencode
    - werkzeug.urls._urlencode
    - werkzeug.datastructures.structures.iter_multi_items
    - <builtin>.sorted
    - <builtin>.isinstance
    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
    - item.start
    - static_weights.append
    - werkzeug.routing.rules._pythonize
    - _part_re.match
    - typing.NamedTuple.__init__
    - argument_weights.append
    - item.group
    - item.end
    - _converter_args_re.finditer
    - match.end
    - werkzeug.routing.rules.parse_converter_args
    - match.groupdict
    - <builtin>.len
    - re.escape
    - <builtin>.tuple
    - werkzeug.routing.rules.Rule.get_converter
    - <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: _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 0x7fc3f82851f0>
    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:
    - ast.parse
    - func_ast.args.defaults.append
    - ast.Return
    - werkzeug.routing.rules._pythonize
    - _part_re.match
    - typing.NamedTuple.__init__
    - werkzeug.routing.rules.Rule._parse_rule
    - item.group
    - <builtin>.isinstance
    - werkzeug.routing.rules.Rule._compile_builder._parts
    - match.end
    - re.escape
    - werkzeug.routing.rules.Rule._compile_builder._join
    - <builtin>.str
    - ast.arg
    - _CALL_CONVERTER_CODE_FMT.format
    - re.sub
    - ast.Tuple
    - <builtin>.exec
    - item.end
    - werkzeug.routing.rules._prefix_names
    - werkzeug.routing.rules.Rule._get_func_code
    - <builtin>.len
    - opl.append
    - ast.Name
    - werkzeug.routing.rules.Rule.get_converter
    - ret.append
    - args.append
    - static_weights.append
    - url_parts.extend
    - body.append
    - argument_weights.append
    - _converter_args_re.finditer
    - werkzeug.routing.rules.parse_converter_args
    - ast.JoinedStr
    - <builtin>.tuple
    - func_ast.args.args.append
    - werkzeug.routing.rules.Rule._compile_builder
    - item.start
    - urllib.parse.quote
    - ast.Constant
    - match.groupdict
    - ast.walk
    - werkzeug.routing.rules.Rule._compile_builder._convert
    - ast.Load
    - werkzeug.routing.rules.Rule.compile
    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:
    - _CALL_CONVERTER_CODE_FMT.format
    - ast.parse
    - <builtin>.isinstance
    - werkzeug.routing.rules._prefix_names
    - ast.walk
    - ast.Name
    - ast.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: _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:
    - _CALL_CONVERTER_CODE_FMT.format
    - ret.append
    - ast.parse
    - <builtin>.isinstance
    - werkzeug.routing.rules._prefix_names
    - ast.Constant
    - ast.walk
    - ast.Name
    - werkzeug.routing.rules.Rule._compile_builder._convert
    - ast.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: 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:
    - <builtin>.len
    - ast.JoinedStr
    linkageType: pythonLinkage
    raised: []
    returnType: N/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 0x7fc3f8331310>
    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 0x7fc3f7b81ac0>
    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: 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
    - <builtin>.isinstance
    - request.get_body
    linkageType: pythonLinkage
    raised: []
    returnType: N/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:
    - functools.wraps
    - connexion.decorators.parameter.unwrap_decorators
    - <builtin>.list
    - <builtin>.hasattr
    - inspect.signature
    - connexion.utils.inspect_function_arguments
    - <builtin>.any
    - parameters.items
    - parameters.values
    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:
    - query_definitions.items
    - default_object.setdefault
    - request.get_body
    - connexion.decorators.parameter._get_default_obj
    - operation.body_name
    - connexion.decorators.parameter._get_body_argument_json
    - <builtin>.hasattr
    - connexion.decorators.parameter._get_query_defaults
    - connexion.decorators.parameter._build_default_obj_recursive
    - copy.copy
    - copy.deepcopy.update
    - connexion.utils.make_type
    - <builtin>.isinstance
    - operation.method.upper
    - connexion.decorators.parameter.prep_kwargs
    - connexion.decorators.parameter._get_body_argument
    - connexion.decorators.parameter._get_query_arguments
    - connexion.decorators.parameter._get_body_argument_form
    - connexion.decorators.parameter._get_file_arguments
    - kwargs.items
    - properties.items
    - connexion.utils.is_null
    - request.files
    - logger.debug
    - param_def.get
    - connexion.decorators.parameter._get_val_from_param
    - path_params.items
    - connexion.decorators.parameter._query_args_helper
    - <builtin>.len
    - schema.get
    - operation.body_schema
    - value.strip
    - connexion.decorators.parameter._get_path_arguments
    - copy.deepcopy.items
    - ret.update
    - logger.error
    - context.items
    - connexion.decorators.parameter.BaseParameterDecorator._maybe_get_body
    - result.update
    - param_schema.get
    - files.items
    - param_definitions.get
    - connexion.decorators.parameter._get_typed_body_values
    - connexion.decorators.parameter.get_arguments
    - connexion.utils.is_nullable
    - connexion.utils.deep_merge
    - copy.deepcopy
    - body_schema.get
    - property_.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.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:
    - query_definitions.items
    - default_object.setdefault
    - connexion.decorators.parameter._get_default_obj
    - operation.body_name
    - connexion.decorators.parameter._get_body_argument_json
    - <builtin>.hasattr
    - connexion.decorators.parameter._get_query_defaults
    - connexion.decorators.parameter._build_default_obj_recursive
    - copy.copy
    - copy.deepcopy.update
    - connexion.utils.make_type
    - <builtin>.isinstance
    - operation.method.upper
    - connexion.decorators.parameter._get_body_argument
    - connexion.decorators.parameter._get_query_arguments
    - connexion.decorators.parameter._get_body_argument_form
    - connexion.decorators.parameter._get_file_arguments
    - kwargs.items
    - properties.items
    - connexion.utils.is_null
    - logger.debug
    - param_def.get
    - connexion.decorators.parameter._get_val_from_param
    - path_params.items
    - connexion.decorators.parameter._query_args_helper
    - <builtin>.len
    - schema.get
    - operation.body_schema
    - value.strip
    - connexion.decorators.parameter._get_path_arguments
    - copy.deepcopy.items
    - ret.update
    - logger.error
    - context.items
    - result.update
    - param_schema.get
    - files.items
    - param_definitions.get
    - connexion.decorators.parameter._get_typed_body_values
    - connexion.decorators.parameter.get_arguments
    - connexion.utils.is_nullable
    - connexion.utils.deep_merge
    - copy.deepcopy
    - body_schema.get
    - property_.get
    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:
    - functools.wraps
    - connexion.decorators.parameter.unwrap_decorators
    - <builtin>.list
    - <builtin>.hasattr
    - inspect.signature
    - connexion.utils.inspect_function_arguments
    - <builtin>.any
    - parameters.items
    - parameters.values
    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:
    - query_definitions.items
    - default_object.setdefault
    - request.get_body
    - connexion.decorators.parameter._get_default_obj
    - operation.body_name
    - connexion.decorators.parameter._get_body_argument_json
    - <builtin>.hasattr
    - connexion.decorators.parameter._get_query_defaults
    - connexion.decorators.parameter._build_default_obj_recursive
    - copy.copy
    - copy.deepcopy.update
    - connexion.utils.make_type
    - <builtin>.isinstance
    - operation.method.upper
    - connexion.decorators.parameter.prep_kwargs
    - connexion.decorators.parameter._get_body_argument
    - connexion.decorators.parameter._get_query_arguments
    - connexion.decorators.parameter._get_body_argument_form
    - connexion.decorators.parameter._get_file_arguments
    - kwargs.items
    - properties.items
    - connexion.utils.is_null
    - request.files
    - logger.debug
    - param_def.get
    - connexion.decorators.parameter._get_val_from_param
    - path_params.items
    - connexion.decorators.parameter._query_args_helper
    - <builtin>.len
    - schema.get
    - operation.body_schema
    - value.strip
    - connexion.decorators.parameter._get_path_arguments
    - copy.deepcopy.items
    - ret.update
    - logger.error
    - context.items
    - connexion.decorators.parameter.BaseParameterDecorator._maybe_get_body
    - result.update
    - param_schema.get
    - files.items
    - param_definitions.get
    - connexion.decorators.parameter._get_typed_body_values
    - connexion.decorators.parameter.get_arguments
    - asyncio.iscoroutine
    - connexion.utils.is_nullable
    - connexion.utils.deep_merge
    - copy.deepcopy
    - body_schema.get
    - property_.get
    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:
    - query_definitions.items
    - default_object.setdefault
    - connexion.decorators.parameter._get_default_obj
    - operation.body_name
    - connexion.decorators.parameter._get_body_argument_json
    - <builtin>.hasattr
    - connexion.decorators.parameter._get_query_defaults
    - connexion.decorators.parameter._build_default_obj_recursive
    - copy.copy
    - copy.deepcopy.update
    - connexion.utils.make_type
    - <builtin>.isinstance
    - operation.method.upper
    - connexion.decorators.parameter._get_body_argument
    - connexion.decorators.parameter._get_query_arguments
    - connexion.decorators.parameter._get_body_argument_form
    - connexion.decorators.parameter._get_file_arguments
    - properties.items
    - connexion.utils.is_null
    - logger.debug
    - param_def.get
    - connexion.decorators.parameter._get_val_from_param
    - path_params.items
    - connexion.decorators.parameter._query_args_helper
    - <builtin>.len
    - schema.get
    - operation.body_schema
    - value.strip
    - connexion.decorators.parameter._get_path_arguments
    - copy.deepcopy.items
    - ret.update
    - logger.error
    - result.update
    - param_schema.get
    - files.items
    - param_definitions.get
    - connexion.decorators.parameter._get_typed_body_values
    - connexion.utils.is_nullable
    - connexion.utils.deep_merge
    - copy.deepcopy
    - body_schema.get
    - property_.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: 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:
    - inflection.underscore
    - keyword.iskeyword
    linkageType: pythonLinkage
    raised: []
    returnType: N/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
    - inflection.underscore
    - keyword.iskeyword
    - 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:
    - connexion.utils.is_null
    - <builtin>.hasattr
    - value.strip
    - connexion.utils.make_type
    - connexion.utils.is_nullable
    - param_def.get
    - connexion.decorators.parameter._get_val_from_param
    - path_params.items
    - param_schema.get
    - param_definitions.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:
    - copy.deepcopy.items
    - query_definitions.items
    - logger.error
    - default_object.setdefault
    - connexion.decorators.parameter._get_default_obj
    - copy.copy
    - connexion.decorators.parameter._get_query_defaults
    - connexion.decorators.parameter._build_default_obj_recursive
    - logger.debug
    - connexion.utils.deep_merge
    - <builtin>.isinstance
    - connexion.decorators.parameter._query_args_helper
    - copy.deepcopy
    - schema.get
    - result.update
    - property_.get
    - 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: 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:
    - connexion.decorators.parameter._get_body_argument_json
    - operation.body_name
    - copy.deepcopy.update
    - connexion.utils.make_type
    - <builtin>.hasattr
    - <builtin>.isinstance
    - connexion.decorators.parameter._get_body_argument_form
    - connexion.utils.is_null
    - param_def.get
    - connexion.decorators.parameter._get_val_from_param
    - <builtin>.len
    - operation.body_schema
    - value.strip
    - copy.deepcopy.items
    - logger.error
    - param_schema.get
    - param_definitions.get
    - connexion.decorators.parameter._get_typed_body_values
    - connexion.utils.is_nullable
    - copy.deepcopy
    linkageType: pythonLinkage
    raised: []
    returnType: N/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 0x7fc3f7d28eb0>
    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:
    - connexion.utils.is_null
    - <builtin>.hasattr
    - value.strip
    - connexion.utils.is_nullable
    - connexion.utils.make_type
    - param_def.get
    - param_schema.get
    - param_definitions.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:
    - query_definitions.items
    - default_object.setdefault
    - connexion.decorators.parameter._get_default_obj
    - copy.copy
    - connexion.decorators.parameter._build_default_obj_recursive
    - copy.deepcopy
    - schema.get
    - property_.get
    - 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:
    - copy.deepcopy.items
    - logger.debug
    - logger.error
    - result.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: 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:
    - default_object.setdefault
    - copy.copy
    - connexion.decorators.parameter._build_default_obj_recursive
    - copy.deepcopy
    - schema.get
    - property_.get
    - 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:
    - default_object.setdefault
    - copy.copy
    - connexion.decorators.parameter._build_default_obj_recursive
    - property_.get
    - 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:
    - param_schema.get
    - copy.deepcopy.items
    - logger.error
    - connexion.utils.is_null
    - copy.deepcopy.update
    - <builtin>.hasattr
    - value.strip
    - connexion.utils.make_type
    - connexion.utils.is_nullable
    - param_def.get
    - connexion.decorators.parameter._get_val_from_param
    - <builtin>.isinstance
    - copy.deepcopy
    - operation.body_schema
    - param_definitions.get
    - connexion.decorators.parameter._get_typed_body_values
    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:
    - connexion.utils.is_null
    - <builtin>.hasattr
    - connexion.utils.is_nullable
    - param_def.get
    - copy.deepcopy
    - operation.body_schema
    - value.strip
    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:
    - copy.deepcopy.items
    - logger.error
    - connexion.utils.is_null
    - <builtin>.hasattr
    - value.strip
    - connexion.utils.make_type
    - connexion.utils.is_nullable
    - param_def.get
    - connexion.decorators.parameter._get_val_from_param
    - <builtin>.isinstance
    - param_schema.get
    - param_definitions.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: 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 0x7fc3f7c693d0>
    - <ast.Constant object at 0x7fc3f7ac5460>
    - <ast.Constant object at 0x7fc3f7ac5ee0>
    - <ast.Constant object at 0x7fc3f7ac5250>
    - <ast.Constant object at 0x7fc3f7ac5580>
    - <ast.Constant object at 0x7fc3f7ac5ac0>
    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:
    - defn.get
    - operation.get
    - logger.debug
    - <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: 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
    - <builtin>.super
    - logger.debug
    - spec.get_path_params
    - defn.get
    - spec.get_operation
    - connexion.operations.openapi.OpenAPIOperation.__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: 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: 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:
    - <builtin>.list
    - request_content.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: 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 0x7fc3f89a8940>
    - <ast.Constant object at 0x7fc3f89a8220>
    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:
    - schema.setdefault
    - connexion.operations.openapi.OpenAPIOperation.with_definitions
    - connexion.operations.abstract.AbstractOperation.response_definition
    - response_definition.get
    - content_definition.get
    - <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 0x7fc3f893f2b0>
    - <ast.Constant object at 0x7fc3f893f430>
    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:
    - connexion.operations.abstract.AbstractOperation.get_mimetype
    - <builtin>.all
    - <builtin>.sorted
    - <builtin>.isinstance
    - <builtin>.str
    - connexion.utils.deep_get
    - copy.deepcopy.values
    - copy.deepcopy.items.get
    - connexion.utils.all_json
    - <builtin>.len
    - subtype.split
    - connexion.utils.build_example_from_schema
    - jsf.JSF.generate
    - subtype.endswith
    - connexion.utils.is_json_mimetype
    - jsf.JSF
    - copy.deepcopy.get
    - <builtin>.list
    - <builtin>.int
    - <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: copy.deepcopy.values
    functionSourceFile: copy
    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: 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 0x7fc3f7d7d610>
    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:
    - schema.setdefault
    - logger.warning
    - connexion.operations.openapi.OpenAPIOperation.with_definitions
    - <builtin>.len
    - connexion.datastructures.MediaTypeDict.get
    - connexion.operations.openapi.OpenAPIOperation.body_definition
    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 0x7fc3f7b86220>
    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:
    - schema.setdefault
    - logger.warning
    - connexion.operations.openapi.OpenAPIOperation.with_definitions
    - <builtin>.len
    - connexion.datastructures.MediaTypeDict.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: 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 0x7fc3f80c33a0>
    - <ast.Constant object at 0x7fc3f80c39a0>
    - <ast.Constant object at 0x7fc3f80c3880>
    - <ast.Constant object at 0x7fc3f80c3c10>
    - <ast.Constant object at 0x7fc3f80c3a60>
    - <ast.Constant object at 0x7fc3f80c3fa0>
    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: 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
    - connexion.operations.swagger2.Swagger2Operation.__init__
    - spec.get_path_params
    - spec.get_operation
    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:
    - prop.update
    - required.append
    - form_params.append
    - <builtin>.hasattr
    - body_parameter.get
    - param.get
    - connexion.operations.swagger2.Swagger2Operation._transform_json
    - connexion.operations.swagger2.Swagger2Operation._transform_form
    - <builtin>.len
    - body_params.append
    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
    - required.append
    - param.get
    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 0x7fc3f7c49a00>
    - <ast.Constant object at 0x7fc3f7c495b0>
    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
    - connexion.operations.swagger2.Swagger2Operation.with_definitions
    - <builtin>.str
    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 0x7fc3f7c49b80>
    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:
    - jsf.JSF.generate
    - copy.deepcopy.get
    - connexion.utils.deep_get
    - <builtin>.list
    - <builtin>.int
    - copy.deepcopy.values
    - <builtin>.sorted
    - <builtin>.isinstance
    - copy.deepcopy.items.get
    - <builtin>.range
    - <builtin>.str
    - connexion.utils.build_example_from_schema
    - jsf.JSF
    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 0x7fc3f7a77be0>
    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 0x7fc3f79680d0>
    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 0x7fc3f7a773a0>
    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.with_definitions
    - connexion.operations.swagger2.Swagger2Operation.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: 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: 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: 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:
    - <builtin>.__import__
    - <builtin>.getattr
    - pathlib.Path.cwd
    - copy.copy
    - <builtin>.hasattr
    - importlib.util.find_spec
    - sys.modules.get
    - connexion.utils.get_root_path
    - loader.get_filename
    - os.path.dirname
    - os.getcwd
    - connexion.middleware.main.ConnexionMiddleware.__init__
    - spec_dir.is_absolute
    - <builtin>.str
    - os.path.abspath
    - 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 0x7fc3f80eee20>
    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:
    - <builtin>.isinstance
    - typing.cast
    - connexion.middleware.main.ConnexionMiddleware.add_middleware
    - <builtin>.enumerate
    - functools.partial
    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:
    - openapi_yaml.read
    - jsonschema.RefResolver
    - specification.open
    - copy.deepcopy.update
    - err.format
    - <builtin>.isinstance
    - jsonschema.RefResolver.resolving
    - connexion.spec.Specification.from_url
    - collections.abc.Mapping.get
    - <builtin>.enumerate
    - <builtin>.str
    - connexion.utils.deep_get
    - pathlib.Path.cwd
    - spec.setdefault
    - yaml.safe_load
    - changes.items
    - connexion.json_schema.resolve_refs
    - collections.abc.Mapping.items
    - connexion.spec.Specification._load_spec_from_file
    - jinja2.Template
    - jsonschema.validators.extend
    - contents.decode
    - connexion.spec.Specification.from_dict.enforce_string_keys
    - copy.deepcopy.items
    - copy.deepcopy.pop
    - connexion.spec.Specification.from_dict
    - connexion.spec.Specification.from_file
    - <builtin>.tuple
    - connexion.spec.Specification._validate_spec
    - pathlib.Path
    - connexion.middleware.main.API.__init__
    - connexion.json_schema.resolve_refs._do_resolve
    - collections.abc.Mapping.startswith
    - connexion.middleware.main._Options.replace
    - connexion.spec.OpenAPISpecification._set_defaults
    - copy.deepcopy.get
    - connexion.spec.Specification.__init__
    - <builtin>.int
    - <builtin>.map
    - connexion.spec.Swagger2Specification._set_defaults
    - connexion.spec.Specification._get_spec_version
    - typing.cast
    - collections.abc.Mapping.relative_to
    - connexion.spec.Specification.load
    - copy.deepcopy
    - version_string.split
    - connexion.spec.create_spec_validator
    - dataclasses.replace
    - validator.validate
    - connexion.middleware.main.ConnexionMiddleware.add_api
    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 0x7fc3f80c3fd0>
    - <ast.Constant object at 0x7fc3f80c3820>
    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 0x7fc3f7f23760>
    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
    - kwargs.get
    - kwargs.setdefault
    - connexion.middleware.main.ConnexionMiddleware.run
    - uvicorn.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:
    - <builtin>.__import__
    - <builtin>.getattr
    - pathlib.Path.cwd
    - copy.copy
    - <builtin>.hasattr
    - importlib.util.find_spec
    - sys.modules.get
    - connexion.utils.get_root_path
    - loader.get_filename
    - os.path.dirname
    - os.getcwd
    - connexion.middleware.main.ConnexionMiddleware.__init__
    - spec_dir.is_absolute
    - <builtin>.str
    - os.path.abspath
    - 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
    functionSourceFile: connexion.apps
    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.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:
    - connexion.apps.asynchronous.AsyncOperation.__init__
    - functools.update_wrapper
    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:
    - connexion.jsonifier.Jsonifier.__init__
    - starlette.routing.Router
    - <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: 3
    functionLinenumber: 87
    functionName: connexion.apps.asynchronous.AsyncApi.make_operation
    functionSourceFile: connexion.apps.asynchronous
    functionUses: 0
    functionsReached:
    - connexion.apps.asynchronous.AsyncOperation.from_operation
    - connexion.apps.asynchronous.AsyncOperation.__init__
    - functools.update_wrapper
    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 0x7fc3f7c9c490>
    - <ast.Constant object at 0x7fc3f7c9ca30>
    - <ast.Constant object at 0x7fc3f7c9c550>
    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 0x7fc3f81d6940>
    - <ast.Constant object at 0x7fc3f81d6df0>
    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: 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: 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
    - unittest.mock.MagicMock
    - connexion.testing.TestContext.build_scope
    - connexion.testing.TestContext.build_context
    - connexion.testing.TestContext.build_operation
    - kwargs.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: 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:
    - _scope.set
    - _context.set
    - _receive.set
    - _operation.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:
    - _scope.reset
    - _context.reset
    - _receive.reset
    - _operation.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:
    - logger.debug
    - connexion.resolver.Resolver.resolve_function_from_operation_id
    - connexion.resolver.Resolver.resolve_operation_id
    - connexion.resolver.Resolution.__init__
    - functools.partial
    - <builtin>.str
    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
    - logging.getLogger
    - parser.add_subparsers
    - run_parser.set_defaults
    - subparsers.add_parser
    - importlib.metadata.version
    - run_parser.add_argument
    - argparse.ArgumentParser
    - 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 0x7fc3f7b81e80>
    argNames:
    - args
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 106
    functionName: connexion.cli.create_app
    functionSourceFile: connexion.cli
    functionUses: 2
    functionsReached:
    - connexion.utils.get_function_from_name
    - logging.basicConfig
    - args.spec_file.startswith
    - importlib.import_module
    - sys.path.insert
    - attr.split
    - app.add_api
    - <builtin>.super
    - logger.debug
    - connexion.utils.deep_getattr
    - parser.parse_args
    - function_name.rsplit
    - connexion.mock.MockResolver.__init__
    - module_name.rsplit
    - os.path.dirname
    - functools.reduce
    - 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: 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 0x7fc3f7c69ca0>
    argNames:
    - argv
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 162
    functionName: connexion.cli.main
    functionSourceFile: connexion.cli
    functionUses: 1
    functionsReached:
    - function_name.rsplit
    - parser.parse_args
    - module_name.rsplit
    - os.path.abspath
    - connexion.utils.get_function_from_name
    - sys.path.insert
    - <builtin>.super
    - logger.debug
    - os.path.dirname
    - attr.split
    - args.spec_file.startswith
    - app.add_api
    - connexion.cli.create_app
    - args.func
    - logging.basicConfig
    - importlib.import_module
    - connexion.utils.deep_getattr
    - connexion.mock.MockResolver.__init__
    - 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: 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
    - parser.parse_args
    - module_name.rsplit
    - os.path.abspath
    - connexion.utils.get_function_from_name
    - sys.path.insert
    - <builtin>.super
    - logger.debug
    - os.path.dirname
    - attr.split
    - args.spec_file.startswith
    - app.add_api
    - connexion.cli.create_app
    - args.func
    - logging.basicConfig
    - importlib.import_module
    - connexion.cli.main
    - connexion.utils.deep_getattr
    - connexion.mock.MockResolver.__init__
    - functools.reduce
    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:
    - http.server.HTTPServer.server_bind
    - s.getsockname
    - werkzeug.serving._ansi_style
    - logging.getLogger
    - s.connect
    - <builtin>.isinstance
    - <builtin>.str
    - werkzeug._internal._log
    - signal.signal
    - os.path.exists
    - werkzeug.debug.DebuggedApplication.__init__
    - pkey.private_bytes
    - werkzeug.middleware.shared_data.SharedDataMiddleware.__init__
    - werkzeug.serving.is_running_from_reloader
    - ssl.SSLContext
    - werkzeug.serving.load_ssl_context
    - os.write
    - cryptography.x509.Name
    - werkzeug.serving.BaseWSGIServer.log_startup
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_directory_loader
    - werkzeug._reloader.run_with_reloader
    - reloader.run
    - os.unlink
    - werkzeug.serving.make_server
    - secrets.choice
    - os.environ.get
    - http.server.HTTPServer.server_activate
    - termios.tcsetattr
    - threading.Thread
    - <builtin>.hasattr
    - os.path.abspath
    - ctx.load_cert_chain
    - <builtin>.super
    - werkzeug.serving.generate_adhoc_ssl_context
    - host.partition
    - cryptography.hazmat.primitives.serialization.NoEncryption
    - functools.wraps
    - cryptography.hazmat.backends.default_backend
    - http.server.HTTPServer.fileno
    - cryptography.hazmat.primitives.asymmetric.rsa.generate_private_key
    - importlib.util.find_spec
    - werkzeug._internal._ColorStreamHandler.__init__
    - werkzeug._internal._has_level_handler
    - werkzeug.serving.BaseWSGIServer.serve_forever
    - werkzeug.serving.generate_adhoc_ssl_pair
    - cryptography.x509.NameAttribute
    - datetime.timedelta
    - os.path.isfile
    - _logger.addHandler
    - srv.socket.set_inheritable
    - reloader.restart_with_reloader
    - importlib.metadata.version
    - werkzeug.serving.get_interface_ip
    - <builtin>.getattr
    - socket.socket
    - sys.stdin.isatty
    - socket.fromfd
    - tempfile.mkstemp
    - os.close
    - cryptography.x509.CertificateBuilder
    - cryptography.x509.SubjectAlternativeName
    - werkzeug.serving.ForkingWSGIServer.__init__
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_file_loader
    - atexit.register
    - http.server.HTTPServer.server_close
    - <builtin>.print
    - t.start
    - werkzeug._reloader.ensure_echo_on
    - werkzeug.serving.get_sockaddr
    - werkzeug.wrappers.request.Request.application
    - datetime.datetime.now
    - sys.exit
    - werkzeug.serving.run_simple
    - <builtin>.int
    - typing.cast
    - pkey.public_key
    - cryptography.hazmat.primitives.hashes.SHA256
    - socket.getaddrinfo
    - application.trusted_hosts.append
    - werkzeug.serving.BaseWSGIServer.__init__
    - cert.public_bytes
    - logger.getEffectiveLevel
    - werkzeug.serving.select_address_family
    - cryptography.x509.ExtendedKeyUsage
    - messages.append
    - http.server.BaseHTTPRequestHandler.requestline.rstrip
    - exports.items
    - werkzeug.security.gen_salt
    - colorama.AnsiToWin32
    - host.startswith
    - werkzeug.middleware.shared_data.SharedDataMiddleware.get_package_loader
    - spec.loader.get_resource_reader
    - termios.tcgetattr
    - cryptography.x509.random_serial_number
    - <builtin>.vars
    - <builtin>.any
    - multiprocessing.Value
    - <builtin>.range
    - _logger.setLevel
    - ssl_context.wrap_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
    - werkzeug.testapp.iter_sys_path.strip
    - os.path.isdir
    - os.path.normpath
    - x.startswith
    - os.getcwd
    - <builtin>.len
    - os.path.abspath
    - os.path.expanduser
    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:
    - os.path.expanduser
    - <builtin>.len
    - x.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.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 0x7fc3f7d1a3d0>
    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 0x7fc3f8940cd0>
    - <ast.Tuple object at 0x7fc3f8940280>
    - <ast.Tuple object at 0x7fc3f8940d90>
    - <ast.Constant object at 0x7fc3f8940a30>
    - <ast.Constant object at 0x7fc3f8940910>
    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:
    - <builtin>.print
    - os.path.join
    - <builtin>.callable
    - pstats.Stats.sort_stats
    - pstats.Stats
    - profile.Profile.runcall
    - time.time
    - profile.Profile
    - environ.get
    - profile.Profile.dump_stats
    - cProfile.Profile
    - pstats.Stats.print_stats
    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 0x7fc3f7fb0c70>
    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
    - typing.cast
    - response_body.extend
    - app_iter.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: 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: 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
    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.runcall
    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: profile.Profile.dump_stats
    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: 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 0x7fc3f7c72b50>
    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
    - warnings.warn
    - werkzeug.middleware.lint.check_type
    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
    - warnings.warn
    - werkzeug.middleware.lint.check_type
    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
    - warnings.warn
    - werkzeug.middleware.lint.check_type
    - <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:
    - <builtin>.type
    - warnings.warn
    - werkzeug.middleware.lint.check_type
    - <builtin>.len
    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>.sum
    - header.lower
    - key.lower
    - <builtin>.hasattr
    - warnings.warn
    - headers.get
    - werkzeug.http.is_entity_header
    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:
    - key.lower
    - <builtin>.isinstance
    - werkzeug.datastructures.headers.Headers.__init__
    - werkzeug.middleware.lint.check_type
    - status.split
    - werkzeug.datastructures.headers.Headers.get
    - k.lower
    - <builtin>.type
    - <builtin>.len
    - name.lower
    - werkzeug.datastructures.headers.Headers.extend
    - werkzeug.datastructures.structures.iter_multi_items
    - etag.startswith
    - werkzeug.middleware.lint.LintMiddleware.check_headers
    - mapping.items
    - warnings.warn
    - <builtin>.int
    - status_code_str.isdecimal
    - werkzeug.datastructures.headers.Headers._get_key
    - urllib.parse.urlparse
    linkageType: pythonLinkage
    raised: []
    returnType: N/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:
    - werkzeug.datastructures.headers.Headers.get
    - key.lower
    - k.lower
    - warnings.warn
    - werkzeug.datastructures.headers.Headers._get_key
    - urllib.parse.urlparse
    - etag.startswith
    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:
    - werkzeug.middleware.lint.ErrorStream.__init__
    - werkzeug.middleware.lint.GuardedIterator.__init__
    - werkzeug.middleware.lint.LintMiddleware.check_iterator
    - warnings.warn
    - werkzeug.middleware.lint.InputStream.__init__
    - <builtin>.type
    - <builtin>.isinstance
    - werkzeug.middleware.lint.LintMiddleware.check_environ
    - typing.cast
    - <builtin>.len
    - <builtin>.iter
    - environ.get
    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:
    - key.lower
    - <builtin>.isinstance
    - werkzeug.middleware.lint.LintMiddleware.check_start_response
    - werkzeug.datastructures.headers.Headers.__init__
    - werkzeug.middleware.lint.check_type
    - status.split
    - werkzeug.datastructures.headers.Headers.get
    - k.lower
    - <builtin>.type
    - <builtin>.len
    - name.lower
    - werkzeug.datastructures.headers.Headers.extend
    - werkzeug.datastructures.structures.iter_multi_items
    - etag.startswith
    - werkzeug.middleware.lint.LintMiddleware.check_headers
    - mapping.items
    - warnings.warn
    - <builtin>.int
    - status_code_str.isdecimal
    - werkzeug.middleware.lint.GuardedWrite.__init__
    - werkzeug.datastructures.headers.Headers._get_key
    - urllib.parse.urlparse
    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 0x7fc3f7e85b20>
    - <ast.Constant object at 0x7fc3f7e85160>
    - <ast.Constant object at 0x7fc3f7e85580>
    - <ast.Constant object at 0x7fc3f7e850d0>
    - <ast.Constant object at 0x7fc3f7e855b0>
    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:
    - result.append
    - urllib.request.parse_http_list
    - <builtin>.len
    - werkzeug.http.parse_list_header
    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:
    - host.rsplit
    - werkzeug.middleware.proxy_fix.ProxyFix._get_real_value
    - x_host.rsplit
    - x_host.endswith
    - urllib.request.parse_http_list
    - host.endswith
    - environ.update
    - <builtin>.len
    - result.append
    - environ.get
    - werkzeug.http.parse_list_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: 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 0x7fc3f7c729d0>
    - <ast.Constant object at 0x7fc3f7c722b0>
    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
    - werkzeug.middleware.http_proxy.ProxyMiddleware.__init__._set_defaults
    - k.strip
    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:
    - werkzeug.datastructures.headers.Headers.__iter__
    - key.lower
    - werkzeug.exceptions.HTTPException.__init__
    - io.BytesIO
    - werkzeug.wsgi.get_input_stream
    - <builtin>.max
    - con.putrequest
    - werkzeug.wsgi.LimitedStream.__init__
    - werkzeug.sansio.utils.get_content_length
    - urllib.parse.urlsplit.path.rstrip
    - con.putheader
    - con.endheaders
    - werkzeug.middleware.http_proxy.ProxyMiddleware.proxy_to.application.read
    - con.connect
    - <builtin>.super
    - k.lower
    - con.send
    - stream.read
    - werkzeug.datastructures.headers.Headers.items
    - <builtin>.len
    - werkzeug.wsgi.get_content_length
    - headers.extend
    - http.client.HTTPSConnection
    - werkzeug.http.is_hop_by_hop_header
    - _plain_int_re.fullmatch
    - value.strip
    - k.title
    - resp.getheaders
    - http.client.HTTPConnection
    - werkzeug._internal._plain_int
    - header.lower
    - headers.append
    - <builtin>.list
    - <builtin>.int
    - resp.read
    - urllib.parse.quote
    - con.getresponse
    - typing.cast
    - werkzeug.datastructures.headers.EnvironHeaders.__init__
    - <builtin>.iter
    - environ.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: 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:
    - urllib.parse.urlsplit.hostname.encode
    - werkzeug.datastructures.headers.Headers.__iter__
    - key.lower
    - werkzeug.exceptions.HTTPException.__init__
    - io.BytesIO
    - werkzeug.wsgi.get_input_stream
    - <builtin>.max
    - con.putrequest
    - werkzeug.wsgi.LimitedStream.__init__
    - werkzeug.sansio.utils.get_content_length
    - urllib.parse.urlsplit.path.rstrip
    - con.putheader
    - con.endheaders
    - werkzeug.middleware.http_proxy.ProxyMiddleware.proxy_to.application.read
    - con.connect
    - <builtin>.super
    - k.lower
    - con.send
    - werkzeug.middleware.http_proxy.ProxyMiddleware.proxy_to.application
    - stream.read
    - werkzeug.datastructures.headers.Headers.items
    - <builtin>.len
    - urllib.parse.urlsplit
    - werkzeug.wsgi.get_content_length
    - headers.extend
    - http.client.HTTPSConnection
    - werkzeug.http.is_hop_by_hop_header
    - _plain_int_re.fullmatch
    - value.strip
    - k.title
    - path.startswith
    - resp.getheaders
    - http.client.HTTPConnection
    - werkzeug._internal._plain_int
    - header.lower
    - headers.append
    - <builtin>.list
    - <builtin>.int
    - resp.read
    - urllib.parse.quote
    - con.getresponse
    - werkzeug.middleware.http_proxy.ProxyMiddleware.proxy_to
    - typing.cast
    - werkzeug.datastructures.headers.EnvironHeaders.__init__
    - <builtin>.iter
    - environ.get
    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:
  - 300
  - 301
  - 295
  connexion.spec.OpenAPISpecification._set_defaults:
  - 306
  connexion.spec.OpenAPISpecification.base_path:
  - 321
  - 322
  - 323
  - 324
  - 326
  - 329
  - 333
  - 318
  connexion.spec.OpenAPISpecification.security_schemes:
  - 310
  connexion.spec.Specification.__init__:
  - 80
  - 81
  - 82
  - 83
  connexion.spec.Specification.__iter__:
  - 132
  connexion.spec.Specification.__len__:
  - 135
  connexion.spec.Specification._get_spec_version:
  - 177
  - 180
  - 189
  - 183
  connexion.spec.Specification._load_spec_from_file:
  - 139
  - 147
  - 148
  - 150
  - 152
  - 154
  - 155
  connexion.spec.Specification._set_defaults:
  - 89
  connexion.spec.Specification._validate_spec:
  - 96
  - 97
  - 93
  - 95
  connexion.spec.Specification.clone:
  - 212
  connexion.spec.Specification.from_dict:
  - 195
  - 205
  - 206
  - 207
  - 208
  - 209
  connexion.spec.Specification.from_dict.enforce_string_keys:
  - 201
  - 202
  connexion.spec.Specification.from_file:
  - 162
  - 163
  - 164
  - 159
  connexion.spec.Specification.from_url:
  - 168
  - 171
  - 172
  connexion.spec.Specification.get_operation:
  - 105
  connexion.spec.Specification.get_path_params:
  - 102
  connexion.spec.Specification.load:
  - 216
  - 217
  - 219
  - 220
  - 221
  - 222
  - 223
  connexion.spec.Specification.security:
  - 121
  connexion.spec.Specification.version:
  - 117
  connexion.spec.Specification.with_base_path:
  - 226
  connexion.spec.Swagger2Specification:
  - 248
  - 242
  - 247
  connexion.spec.Swagger2Specification._set_defaults:
  - 256
  - 257
  - 253
  - 254
  - 255
  connexion.spec.Swagger2Specification.base_path:
  - 289
  - 285
  connexion.spec.Swagger2Specification.security_schemes:
  - 281
  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
  - 468
  - 53
  connexion.utils.all_json:
  - 170
  - 191
  connexion.utils.boolean:
  - 33
  - 35
  - 37
  - 39
  - 24
  connexion.utils.build_example_from_schema:
  - 544
  - 549
  - 557
  - 558
  - 529
  - 532
  - 535
  - 536
  - 539
  - 541
  - 542
  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:
  - 450
  - 425
  - 426
  - 396
  - 428
  - 429
  - 432
  - 434
  - 406
  - 439
  - 408
  - 409
  - 413
  - 415
  connexion.utils.has_coroutine:
  - 224
  - 225
  - 211
  - 228
  connexion.utils.has_coroutine.iscorofunc:
  - 218
  - 219
  - 221
  connexion.utils.inspect_function_arguments:
  - 454
  - 458
  - 461
  - 464
  - 465
  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:
  - 525
  - 519
  connexion.utils.sort_routes:
  - 473
  - 482
  - 515
  - 478
  connexion.utils.sort_routes.<lambda1>:
  - 515
  connexion.utils.sort_routes.SortableRoute.__init__:
  - 507
  - 508
  - 510
  connexion.utils.sort_routes.SortableRoute.__lt__:
  - 513
  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:
  - 40
  - 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:
  - 20
  - 23
  - 25
  - 410
  - 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__:
  - 368
  - 367
  werkzeug._reloader.WatchdogReloaderLoop.__exit__:
  - 371
  - 372
  werkzeug._reloader.WatchdogReloaderLoop.__init__:
  - 324
  - 356
  - 341
  - 343
  - 347
  - 348
  - 349
  werkzeug._reloader.WatchdogReloaderLoop.__init__.EventHandler.on_any_event:
  - 329
  - 339
  werkzeug._reloader.WatchdogReloaderLoop.run:
  - 376
  - 378
  - 375
  werkzeug._reloader.WatchdogReloaderLoop.run_step:
  - 384
  - 386
  - 395
  - 397
  - 398
  - 400
  - 401
  - 381
  - 383
  werkzeug._reloader.WatchdogReloaderLoop.trigger_reload:
  - 362
  - 363
  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:
  - 71
  - 79
  - 81
  - 82
  - 84
  - 86
  - 89
  - 91
  - 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:
  - 44
  - 46
  - 47
  - 49
  - 52
  - 55
  - 57
  - 60
  werkzeug._reloader._remove_by_pattern:
  - 64
  - 65
  werkzeug._reloader.ensure_echo_on:
  - 418
  - 421
  - 429
  - 431
  - 433
  werkzeug._reloader.run_with_reloader:
  - 452
  - 453
  - 454
  - 460
  - 461
  - 463
  - 443
  - 446
  - 447
  werkzeug._reloader.run_with_reloader.<lambda1>:
  - 446
  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__:
  - 543
  - 547
  - 549
  - 550
  - 551
  - 552
  - 553
  - 554
  - 555
  - 556
  - 557
  - 558
  - 559
  - 560
  - 565
  - 567
  - 568
  - 573
  - 574
  werkzeug.debug.DebuggedApplication.__init__:
  - 290
  - 291
  - 294
  - 296
  - 297
  - 298
  - 299
  - 301
  - 306
  - 280
  werkzeug.debug.DebuggedApplication._fail_pin_auth:
  - 472
  - 468
  werkzeug.debug.DebuggedApplication.check_host_trust:
  - 465
  werkzeug.debug.DebuggedApplication.check_pin_trust:
  - 450
  - 451
  - 453
  - 456
  - 460
  - 462
  - 438
  - 443
  - 447
  werkzeug.debug.DebuggedApplication.debug_application:
  - 339
  - 342
  - 347
  - 348
  - 349
  - 350
  - 352
  - 353
  - 355
  - 357
  - 358
  - 359
  - 361
  - 362
  - 363
  - 367
  - 370
  - 376
  - 382
  werkzeug.debug.DebuggedApplication.display_console:
  - 416
  - 403
  - 404
  - 405
  - 407
  - 408
  - 411
  - 412
  - 413
  - 414
  - 415
  werkzeug.debug.DebuggedApplication.execute_command:
  - 390
  - 391
  - 392
  - 394
  - 396
  - 397
  - 398
  - 400
  werkzeug.debug.DebuggedApplication.get_resource:
  - 421
  - 422
  - 425
  - 427
  - 429
  - 430
  - 432
  - 433
  - 434
  werkzeug.debug.DebuggedApplication.log_pin_request:
  - 529
  - 530
  - 531
  - 533
  - 534
  - 537
  - 538
  werkzeug.debug.DebuggedApplication.pin:
  - 322
  - 315
  - 316
  werkzeug.debug.DebuggedApplication.pin_auth:
  - 512
  - 481
  - 482
  - 513
  - 516
  - 517
  - 519
  - 490
  - 491
  - 524
  - 525
  - 495
  - 499
  - 506
  - 475
  - 476
  - 477
  - 510
  werkzeug.debug.DebuggedApplication.pin_cookie_name:
  - 330
  - 331
  - 332
  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:
  - 353
  werkzeug.debug.tbtools.DebugFrameSummary.__init__:
  - 372
  werkzeug.debug.tbtools.DebugFrameSummary.console:
  - 389
  werkzeug.debug.tbtools.DebugFrameSummary.eval:
  - 392
  werkzeug.debug.tbtools.DebugFrameSummary.info:
  - 378
  werkzeug.debug.tbtools.DebugFrameSummary.is_library:
  - 384
  - 382
  - 383
  werkzeug.debug.tbtools.DebugFrameSummary.render_html:
  - 423
  - 424
  - 425
  - 427
  - 396
  - 429
  - 398
  - 399
  - 430
  - 433
  - 434
  - 436
  - 437
  werkzeug.debug.tbtools.DebugFrameSummary.render_html.render_line:
  - 417
  - 419
  - 403
  - 404
  - 405
  - 406
  - 407
  - 409
  werkzeug.debug.tbtools.DebugTraceback.__init__:
  - 231
  werkzeug.debug.tbtools.DebugTraceback.__str__:
  - 234
  werkzeug.debug.tbtools.DebugTraceback.all_tracebacks:
  - 250
  - 259
  - 244
  werkzeug.debug.tbtools.DebugTraceback.render_debugger_html:
  - 330
  - 331
  - 333
  - 342
  - 343
  - 344
  - 345
  - 346
  - 347
  werkzeug.debug.tbtools.DebugTraceback.render_traceback_html:
  - 288
  - 289
  - 291
  - 292
  - 293
  - 294
  - 323
  - 296
  - 298
  - 305
  - 306
  - 277
  - 280
  - 313
  - 315
  - 285
  werkzeug.debug.tbtools.DebugTraceback.render_traceback_text:
  - 273
  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:
  - 1
  - 905
  - 852
  - 57
  werkzeug.exceptions.Aborter:
  - 857
  werkzeug.exceptions.Aborter.__call__:
  - 881
  - 884
  werkzeug.exceptions.Aborter.__init__:
  - 872
  - 873
  - 874
  - 870
  werkzeug.exceptions.BadGateway:
  - 777
  werkzeug.exceptions.BadHost:
  - 258
  werkzeug.exceptions.BadRequest:
  - 191
  werkzeug.exceptions.BadRequestKeyError:
  - 204
  werkzeug.exceptions.BadRequestKeyError.__init__:
  - 217
  - 218
  - 220
  - 215
  werkzeug.exceptions.BadRequestKeyError.description:
  - 224
  - 225
  werkzeug.exceptions.ClientDisconnected:
  - 235
  werkzeug.exceptions.Conflict:
  - 430
  werkzeug.exceptions.ExpectationFailed:
  - 561
  werkzeug.exceptions.FailedDependency:
  - 623
  werkzeug.exceptions.Forbidden:
  - 337
  werkzeug.exceptions.GatewayTimeout:
  - 813
  werkzeug.exceptions.Gone:
  - 447
  werkzeug.exceptions.HTTPException:
  - 68
  werkzeug.exceptions.HTTPException.__call__:
  - 178
  - 179
  - 172
  werkzeug.exceptions.HTTPException.__init__:
  - 84
  - 85
  werkzeug.exceptions.HTTPException.__repr__:
  - 187
  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:
  - 162
  - 164
  - 165
  - 166
  - 167
  - 137
  - 143
  - 149
  werkzeug.exceptions.HTTPException.name:
  - 91
  - 94
  werkzeug.exceptions.HTTPVersionNotSupported:
  - 824
  werkzeug.exceptions.ImATeapot:
  - 573
  werkzeug.exceptions.InternalServerError:
  - 736
  werkzeug.exceptions.InternalServerError.__init__:
  - 762
  werkzeug.exceptions.LengthRequired:
  - 461
  werkzeug.exceptions.Locked:
  - 613
  werkzeug.exceptions.MethodNotAllowed:
  - 365
  werkzeug.exceptions.MethodNotAllowed.__init__:
  - 384
  - 386
  werkzeug.exceptions.MethodNotAllowed.get_headers:
  - 394
  - 395
  - 396
  werkzeug.exceptions.MisdirectedRequest:
  - 586
  werkzeug.exceptions.NotAcceptable:
  - 401
  werkzeug.exceptions.NotFound:
  - 352
  werkzeug.exceptions.NotImplemented:
  - 766
  werkzeug.exceptions.PreconditionFailed:
  - 475
  werkzeug.exceptions.PreconditionRequired:
  - 638
  werkzeug.exceptions.RequestEntityTooLarge:
  - 488
  werkzeug.exceptions.RequestHeaderFieldsTooLarge:
  - 713
  werkzeug.exceptions.RequestTimeout:
  - 417
  werkzeug.exceptions.RequestURITooLarge:
  - 499
  werkzeug.exceptions.RequestedRangeNotSatisfiable:
  - 525
  werkzeug.exceptions.RequestedRangeNotSatisfiable.__init__:
  - 545
  - 542
  werkzeug.exceptions.RequestedRangeNotSatisfiable.get_headers:
  - 554
  - 555
  - 556
  werkzeug.exceptions.SecurityError:
  - 250
  werkzeug.exceptions.ServiceUnavailable:
  - 791
  werkzeug.exceptions.TooManyRequests:
  - 692
  werkzeug.exceptions.Unauthorized:
  - 265
  werkzeug.exceptions.Unauthorized.__init__:
  - 320
  - 316
  werkzeug.exceptions.Unauthorized.get_headers:
  - 330
  - 331
  - 332
  werkzeug.exceptions.UnavailableForLegalReasons:
  - 725
  werkzeug.exceptions.UnprocessableEntity:
  - 599
  werkzeug.exceptions.UnsupportedMediaType:
  - 512
  werkzeug.exceptions._RetryAfter:
  - 657
  werkzeug.exceptions._RetryAfter.__init__:
  - 668
  werkzeug.exceptions._RetryAfter.get_headers:
  - 676
  - 678
  - 679
  - 682
  - 684
  - 686
  werkzeug.exceptions._find_exceptions:
  - 839
  - 841
  - 844
  - 846
  - 847
  werkzeug.exceptions.abort:
  - 891
  - 902
  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__:
  - 110
  - 112
  - 119
  - 121
  - 94
  werkzeug.sansio.multipart.MultipartDecoder._last_partial_boundary_index:
  - 288
  - 289
  - 290
  - 275
  - 277
  - 279
  - 281
  - 282
  - 284
  - 286
  werkzeug.sansio.multipart.MultipartDecoder._parse_data:
  - 256
  - 257
  - 261
  - 262
  - 264
  - 267
  - 243
  - 244
  - 245
  - 249
  - 252
  - 255
  werkzeug.sansio.multipart.MultipartDecoder._parse_headers:
  - 229
  - 231
  - 232
  - 234
  - 235
  - 236
  - 237
  werkzeug.sansio.multipart.MultipartDecoder.next_event:
  - 143
  - 144
  - 145
  - 146
  - 150
  - 151
  - 152
  - 158
  - 159
  - 162
  - 163
  - 164
  - 165
  - 169
  - 172
  - 175
  - 178
  - 179
  - 180
  - 181
  - 187
  - 195
  - 201
  - 203
  - 204
  - 206
  - 207
  - 210
  - 211
  - 213
  - 214
  - 216
  - 217
  - 221
  werkzeug.sansio.multipart.MultipartDecoder.receive_data:
  - 128
  - 130
  - 132
  - 138
  werkzeug.sansio.multipart.MultipartEncoder.send_event:
  - 323
  - 325
  - 299
  - 302
  - 308
  - 309
  - 310
  - 312
  - 313
  - 314
  - 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:
  - 65
  - 68
  - 37
  - 38
  - 39
  - 70
  - 41
  - 42
  - 75
  - 48
  - 54
  - 59
  - 60
  - 62
  werkzeug.security.check_password_hash:
  - 138
  - 124
  - 142
  werkzeug.security.gen_salt:
  - 33
  - 29
  - 30
  werkzeug.security.generate_password_hash:
  - 119
  - 118
  - 87
  werkzeug.security.safe_join:
  - 161
  - 168
  - 169
  - 170
  - 172
  - 173
  - 176
  - 146
  - 178
  - 180
  - 182
  - 186
  - 188
  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:
  - 34
  - 28
  - 37
  - 36
  werkzeug.utils.ImportStringError:
  - 646
  werkzeug.utils.ImportStringError.__init__:
  - 677
  - 681
  - 659
  - 661
  - 662
  - 663
  - 666
  - 667
  werkzeug.utils.ImportStringError.__repr__:
  - 684
  werkzeug.utils.append_slash_redirect:
  - 297
  - 299
  - 304
  - 306
  - 276
  - 309
  werkzeug.utils.cached_property:
  - 41
  werkzeug.utils.cached_property.__delete__:
  - 113
  - 110
  werkzeug.utils.cached_property.__get__:
  - 97
  - 99
  - 100
  - 102
  - 105
  - 89
  - 92
  - 94
  - 95
  werkzeug.utils.cached_property.__init__:
  - 77
  werkzeug.utils.cached_property.__set__:
  - 83
  - 86
  werkzeug.utils.environ_property:
  - 117
  werkzeug.utils.find_modules:
  - 640
  - 642
  - 615
  - 629
  - 630
  - 631
  - 634
  - 636
  - 637
  - 638
  - 639
  werkzeug.utils.get_content_type:
  - 178
  - 179
  - 164
  - 181
  werkzeug.utils.header_property:
  - 144
  werkzeug.utils.import_string:
  - 586
  - 589
  - 591
  - 596
  - 597
  - 599
  - 604
  - 574
  werkzeug.utils.redirect:
  - 257
  - 260
  - 261
  - 238
  werkzeug.utils.secure_filename:
  - 225
  - 228
  - 212
  - 213
  - 215
  - 216
  - 217
  - 218
  - 189
  werkzeug.utils.send_file:
  - 512
  - 514
  - 516
  - 518
  - 519
  - 525
  - 398
  - 526
  - 407
  - 409
  - 412
  - 416
  - 417
  - 419
  - 421
  - 427
  - 428
  - 430
  - 431
  - 438
  - 440
  - 445
  - 446
  - 448
  - 450
  - 452
  - 453
  - 326
  - 455
  - 461
  - 462
  - 468
  - 472
  - 473
  - 474
  - 475
  - 476
  - 479
  - 481
  - 485
  - 488
  - 490
  - 497
  - 498
  - 500
  - 501
  - 506
  - 508
  - 509
  - 510
  - 511
  werkzeug.utils.send_from_directory:
  - 557
  - 559
  - 564
  - 565
  - 567
  - 537
  - 570
  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:
  - ValidationError
  - ConnexionException
  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:
  - HTTPException
  - ConnexionException
  connexion.exceptions.ResolverError:
  - ConnexionException
  - LookupError
  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:
  - RoutingException
  - LookupError
  werkzeug.routing.exceptions.NoMatch:
  - Exception
  werkzeug.routing.exceptions.RequestAliasRedirect:
  - RoutingException
  werkzeug.routing.exceptions.RequestPath:
  - RoutingException
  werkzeug.routing.exceptions.RequestRedirect:
  - HTTPException
  - RoutingException
  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'
