All classes:
- msal.oauth2cli.authcode._AuthCodeHandler
- msal.oauth2cli.authcode._AuthCodeHttpServer
- msal.oauth2cli.authcode._AuthCodeHttpServer6
- msal.oauth2cli.authcode.AuthCodeReceiver
- msal.oauth2cli.oauth2.BaseClient
- msal.oauth2cli.oauth2.Client
- msal.oauth2cli.oidc.Prompt
- msal.oauth2cli.oidc.Client
- msal.oauth2cli.assertion.AssertionCreator
- msal.oauth2cli.assertion.AutoRefresher
- msal.oauth2cli.assertion.JwtAssertionCreator
- msal.authority.AuthorityBuilder
- msal.authority.Authority
- msal.telemetry._TelemetryContext
- msal.individual_cache._ExpiringMapping
- msal.individual_cache._IndividualCache
- msal.throttled_http_client.ThrottledHttpClient
- msal.application._ClientWithCcsRoutingInfo
- msal.application.ClientApplication
- msal.broker.RedirectUriError
- msal.broker.TokenTypeError
- msal.broker._CallbackData
- msal.application.PublicClientApplication
- msal.application.ConfidentialClientApplication
- msal.oauth2cli.http.HttpClient
- msal.oauth2cli.http.Response
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_tokencache'
    functionSourceFile: '...fuzz_tokencache'
    functionUses: 0
    functionsReached:
    - atheris.Setup
    - atheris.instrument_all
    - '...fuzz_tokencache.main'
    - atheris.instrument_imports
    - atheris.Fuzz
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.instrument_imports
    functionSourceFile: atheris
    functionUses: 1
    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 0x7f07e07730d0>
    - <ast.Constant object at 0x7f07e0773b80>
    - <ast.Constant object at 0x7f07e0773cd0>
    argNames:
    - issuer
    - subject
    - id
    - claims
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 23
    functionName: '...fuzz_tokencache.build_token'
    functionSourceFile: '...fuzz_tokencache'
    functionUses: 1
    functionsReached:
    - json.dumps
    - <builtin>.dict
    - base64.b64encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.dict
    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: json.dumps
    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: base64.b64encode
    functionSourceFile: base64
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 6
    argDefaultValues: []
    argNames:
    - uid
    - utid
    - access_token
    - expires_in
    - token_type
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 30
    functionName: '...fuzz_tokencache.build_response'
    functionSourceFile: '...fuzz_tokencache'
    functionUses: 0
    functionsReached:
    - response.update
    - json.dumps
    - base64.b64encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: response.update
    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:
    - error_list
    - error_msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 45
    functionName: '...fuzz_tokencache.is_expected'
    functionSourceFile: '...fuzz_tokencache'
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - input_bytes
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 51
    functionName: '...fuzz_tokencache.TestInput'
    functionSourceFile: '...fuzz_tokencache'
    functionUses: 0
    functionsReached:
    - '...fuzz_tokencache.build_token'
    - <builtin>.len
    - fdp.ConsumeString
    - cache.add
    - <builtin>.str
    - base64.b64encode
    - <builtin>.dict
    - json.dumps
    - atheris.FuzzedDataProvider
    - '...fuzz_tokencache.is_expected'
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 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: atheris.FuzzedDataProvider
    functionSourceFile: atheris
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fdp.ConsumeString
    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: cache.add
    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>.str
    functionSourceFile: <builtin>
    functionUses: 37
    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: 1
    functionLinenumber: 87
    functionName: '...fuzz_tokencache.main'
    functionSourceFile: '...fuzz_tokencache'
    functionUses: 1
    functionsReached:
    - atheris.Setup
    - atheris.instrument_all
    - atheris.Fuzz
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.Setup
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.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.Fuzz
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: msal
    functionSourceFile: msal
    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: msal.application
    functionSourceFile: msal.application
    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: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - public_cert_content
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 33
    functionName: msal.application.extract_certs
    functionSourceFile: msal.application
    functionUses: 7
    functionsReached:
    - re.findall
    - public_cert_content.strip
    - cert.strip
    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: re.findall
    functionSourceFile: re
    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: cert.strip
    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: public_cert_content.strip
    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:
    - capabilities
    - claims_challenge
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 49
    functionName: msal.application._merge_claims_challenge_and_capabilities
    functionSourceFile: msal.application
    functionUses: 14
    functionsReached:
    - json.loads
    - json.dumps
    - claims_dict.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: json.loads
    functionSourceFile: json
    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: claims_dict.setdefault
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - raw
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 60
    functionName: msal.application._str2bytes
    functionSourceFile: msal.application
    functionUses: 7
    functionsReached:
    - raw.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: raw.encode
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - result
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 68
    functionName: msal.application._clean_up
    functionSourceFile: msal.application
    functionUses: 13
    functionsReached:
    - <builtin>.isinstance
    - k.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: <builtin>.isinstance
    functionSourceFile: <builtin>
    functionUses: 50
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 78
    functionName: msal.application._preferred_browser
    functionSourceFile: msal.application
    functionUses: 1
    functionsReached:
    - webbrowser.register
    - <builtin>.isinstance
    - logger.debug
    - os.environ.get
    - os.path.exists
    - webbrowser.BackgroundBrowser
    - webbrowser.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: 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: os.path.exists
    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: webbrowser.get
    functionSourceFile: webbrowser
    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.debug
    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: webbrowser.BackgroundBrowser
    functionSourceFile: webbrowser
    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: webbrowser.register
    functionSourceFile: webbrowser
    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:
    - self
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 124
    functionName: msal.application._ClientWithCcsRoutingInfo.initiate_auth_code_flow
    functionSourceFile: msal.application
    functionUses: 4
    functionsReached:
    - <builtin>.super
    - kwargs.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: kwargs.get
    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>.super
    functionSourceFile: <builtin>
    functionUses: 37
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - auth_code_flow
    - auth_response
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 131
    functionName: msal.application._ClientWithCcsRoutingInfo.obtain_token_by_auth_code_flow
    functionSourceFile: msal.application
    functionUses: 2
    functionsReached:
    - <builtin>.super
    - <builtin>.len
    - output.decode
    - <builtin>.str
    - <builtin>.isinstance
    - json.loads
    - auth_response.get
    - base64.urlsafe_b64decode
    - kwargs.pop
    - msal.oauth2cli.oidc.decode_part
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.pop
    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: auth_response.get
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f07e0fd39a0>
    argNames:
    - raw
    - encoding
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 11
    functionName: msal.oauth2cli.oidc.decode_part
    functionSourceFile: msal.oauth2cli.oidc
    functionUses: 10
    functionsReached:
    - <builtin>.len
    - base64.urlsafe_b64decode
    - output.decode
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - username
    - password
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 145
    functionName: msal.application._ClientWithCcsRoutingInfo.obtain_token_by_username_password
    functionSourceFile: msal.application
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - kwargs.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 5
    IfCount: 6
    argCount: 19
    argDefaultValues:
    - <ast.Constant object at 0x7f07e03be8e0>
    - <ast.Constant object at 0x7f07e03be460>
    - <ast.Constant object at 0x7f07e03be790>
    - <ast.Constant object at 0x7f07e03be430>
    - <ast.Constant object at 0x7f07e0f69040>
    - <ast.Constant object at 0x7f07e0f694c0>
    - <ast.Constant object at 0x7f07e0f696a0>
    - <ast.Constant object at 0x7f07e0f698b0>
    - <ast.Constant object at 0x7f07e0f695b0>
    - <ast.Constant object at 0x7f07e0f69d60>
    - <ast.Constant object at 0x7f07e0f69eb0>
    - <ast.Constant object at 0x7f07e0f691f0>
    - <ast.Constant object at 0x7f07e0f69880>
    - <ast.Constant object at 0x7f07e0f69340>
    - <ast.Constant object at 0x7f07e0f698e0>
    - <ast.Constant object at 0x7f07e0f690d0>
    - <ast.Constant object at 0x7f07e0f69af0>
    argNames:
    - self
    - client_id
    - client_credential
    - authority
    - validate_authority
    - token_cache
    - http_client
    - verify
    - proxies
    - timeout
    - client_claims
    - app_name
    - app_version
    - client_capabilities
    - azure_region
    - exclude_scopes
    - http_cache
    - instance_discovery
    - allow_broker
    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: 5
    functionLinenumber: 166
    functionName: msal.application.ClientApplication.__init__
    functionSourceFile: msal.application
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - msal.authority.canonicalize
    - payload.get
    - urllib.parse.urljoin
    - cryptography.hazmat.backends.default_backend
    - urlparse.urljoin
    - msal.individual_cache._IndividualCache.__init__
    - msal.region._detect_region_of_azure_vm
    - <builtin>.isinstance
    - tenant.lower
    - msal.application._str2bytes
    - resp.raise_for_status
    - msal.application.ClientApplication._build_client
    - os.environ.get
    - <builtin>.frozenset
    - msal.authority.Authority.__init__
    - msal.oauth2cli.oauth2.Client.__init__
    - re.findall
    - public_cert_content.strip
    - client_credential.get
    - msal.application.ClientApplication._get_regional_authority
    - logger.debug
    - msal.application.extract_certs
    - <builtin>.max
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - msal.authority.tenant_discovery
    - authority.path.split
    - logger.exception
    - msal.region._detect_region
    - logger.warning
    - <builtin>.len
    - msal.individual_cache._ExpiringMapping.__init__
    - http_client.get
    - urllib.parse.urlparse.path.split
    - binascii.a2b_hex
    - <builtin>.str
    - requests.adapters.HTTPAdapter
    - authority._replace
    - raw.encode
    - urllib.parse.urlparse.hostname.endswith
    - logger.info
    - resp.text.strip
    - msal.oauth2cli.assertion.AutoRefresher.__init__
    - functools.partial
    - <builtin>.repr
    - <builtin>.any
    - requests.Session
    - urllib.parse.urlparse
    - base64.urlsafe_b64encode
    - json.loads
    - <builtin>.bool
    - msal.throttled_http_client.ThrottledHttpClient.__init__
    - msal.authority._instance_discovery
    - msal.oauth2cli.assertion.AssertionCreator.create_regenerative_assertion
    - urlparse.urlparse
    - cert.strip
    - openid_config.get
    - threading.Lock
    - msal.oauth2cli.assertion.JwtAssertionCreator.__init__
    - urllib.parse.urlparse.hostname.rsplit
    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>.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: requests.Session
    functionSourceFile: requests
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: functools.partial
    functionSourceFile: functools
    functionUses: 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: requests.adapters.HTTPAdapter
    functionSourceFile: requests
    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
    - http_client
    - http_cache
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 49
    functionName: msal.throttled_http_client.ThrottledHttpClient.__init__
    functionSourceFile: msal.throttled_http_client
    functionUses: 1
    functionsReached:
    - <builtin>.super
    - msal.individual_cache._ExpiringMapping.__init__
    - threading.Lock
    - msal.individual_cache._IndividualCache.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f07e0fb2790>
    - <ast.Constant object at 0x7f07e0fb2640>
    argNames:
    - self
    - authority_url
    - http_client
    - validate_authority
    - instance_discovery
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 55
    functionName: msal.authority.Authority.__init__
    functionSourceFile: msal.authority
    functionUses: 9
    functionsReached:
    - msal.authority.canonicalize
    - payload.get
    - msal.individual_cache._IndividualCache.__init__
    - tenant.lower
    - <builtin>.isinstance
    - resp.raise_for_status
    - logger.debug
    - msal.authority.tenant_discovery
    - authority.path.split
    - <builtin>.len
    - urllib.parse.urlparse.path.split
    - <builtin>.str
    - authority._replace
    - urllib.parse.urlparse.hostname.endswith
    - <builtin>.any
    - urllib.parse.urlparse
    - json.loads
    - msal.authority._instance_discovery
    - urlparse.urlparse
    - openid_config.get
    - urllib.parse.urlparse.hostname.rsplit
    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>.bool
    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.exception
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 0
    IfCount: 8
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f07e105d820>
    argNames:
    - self
    - client_credential
    - authority
    - skip_regional_client
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 635
    functionName: msal.application.ClientApplication._build_client
    functionSourceFile: msal.application
    functionUses: 6
    functionsReached:
    - <builtin>.super
    - urllib.parse.urljoin
    - msal.authority.canonicalize
    - payload.get
    - cryptography.hazmat.backends.default_backend
    - urlparse.urljoin
    - msal.individual_cache._IndividualCache.__init__
    - msal.region._detect_region_of_azure_vm
    - <builtin>.isinstance
    - tenant.lower
    - msal.application._str2bytes
    - resp.raise_for_status
    - openid_config.get
    - os.environ.get
    - msal.authority.Authority.__init__
    - msal.oauth2cli.oauth2.Client.__init__
    - re.findall
    - public_cert_content.strip
    - client_credential.get
    - msal.application.ClientApplication._get_regional_authority
    - logger.debug
    - msal.application.extract_certs
    - <builtin>.max
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - msal.authority.tenant_discovery
    - authority.path.split
    - msal.region._detect_region
    - logger.warning
    - <builtin>.len
    - http_client.get
    - urllib.parse.urlparse.path.split
    - binascii.a2b_hex
    - <builtin>.str
    - authority._replace
    - raw.encode
    - urllib.parse.urlparse.hostname.endswith
    - logger.info
    - resp.text.strip
    - msal.oauth2cli.assertion.AutoRefresher.__init__
    - <builtin>.any
    - urllib.parse.urlparse
    - base64.urlsafe_b64encode
    - json.loads
    - msal.oauth2cli.assertion.AssertionCreator.create_regenerative_assertion
    - msal.authority._instance_discovery
    - cert.strip
    - urlparse.urlparse
    - <builtin>.repr
    - msal.oauth2cli.assertion.JwtAssertionCreator.__init__
    - urllib.parse.urlparse.hostname.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: threading.Lock
    functionSourceFile: threading
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 3
    argDefaultValues:
    - <ast.Call object at 0x7f07e0f34940>
    argNames:
    - self
    - scopes
    - reserved_scope
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 580
    functionName: msal.application.ClientApplication._decorate_scope
    functionSourceFile: msal.application
    functionUses: 12
    functionsReached:
    - <builtin>.list
    - <builtin>.isinstance
    - <builtin>.set
    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>.set
    functionSourceFile: <builtin>
    functionUses: 23
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.list
    functionSourceFile: <builtin>
    functionUses: 17
    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 0x7f07e0fd3f10>
    - <ast.Constant object at 0x7f07e0fd3bb0>
    argNames:
    - self
    - api_id
    - correlation_id
    - refresh_reason
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 599
    functionName: msal.application.ClientApplication._build_telemetry_context
    functionSourceFile: msal.application
    functionUses: 13
    functionsReached:
    - msal.telemetry._TelemetryContext
    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: msal.telemetry._TelemetryContext
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - central_authority
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 605
    functionName: msal.application.ClientApplication._get_regional_authority
    functionSourceFile: msal.application
    functionUses: 7
    functionsReached:
    - msal.authority.canonicalize
    - payload.get
    - msal.region._detect_region_of_azure_vm
    - msal.individual_cache._IndividualCache.__init__
    - tenant.lower
    - <builtin>.isinstance
    - resp.raise_for_status
    - openid_config.get
    - os.environ.get
    - msal.authority.Authority.__init__
    - logger.debug
    - msal.authority.tenant_discovery
    - authority.path.split
    - msal.region._detect_region
    - logger.warning
    - <builtin>.len
    - http_client.get
    - urllib.parse.urlparse.path.split
    - <builtin>.str
    - authority._replace
    - urllib.parse.urlparse.hostname.endswith
    - logger.info
    - resp.text.strip
    - <builtin>.any
    - urllib.parse.urlparse
    - json.loads
    - msal.authority._instance_discovery
    - urlparse.urlparse
    - <builtin>.repr
    - urllib.parse.urlparse.hostname.rsplit
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7f07e0fed4c0>
    argNames:
    - http_client
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 7
    functionName: msal.region._detect_region
    functionSourceFile: msal.region
    functionUses: 8
    functionsReached:
    - http_client.get
    - msal.region._detect_region_of_azure_vm
    - logger.info
    - os.environ.get
    - resp.text.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: <builtin>.repr
    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: logger.warning
    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: client_credential.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: 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.serialization.load_pem_private_key
    functionSourceFile: cryptography
    functionUses: 7
    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 0x7f07e04dfc40>
    - <ast.Constant object at 0x7f07e04df5e0>
    argNames:
    - self
    - key
    - algorithm
    - sha1_thumbprint
    - headers
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 68
    functionName: msal.oauth2cli.assertion.JwtAssertionCreator.__init__
    functionSourceFile: msal.oauth2cli.assertion
    functionUses: 7
    functionsReached:
    - base64.urlsafe_b64encode
    - binascii.a2b_hex
    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 0x7f07e08c9ee0>
    - <ast.Constant object at 0x7f07e08c98b0>
    argNames:
    - self
    - audience
    - issuer
    - subject
    - expires_in
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 31
    functionName: msal.oauth2cli.assertion.AssertionCreator.create_regenerative_assertion
    functionSourceFile: msal.oauth2cli.assertion
    functionUses: 7
    functionsReached:
    - <builtin>.max
    - msal.oauth2cli.assertion.AutoRefresher.__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: urllib.parse.urljoin
    functionSourceFile: urllib
    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: urlparse.urljoin
    functionSourceFile: urlparse
    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: 1
    functionLinenumber: -1
    functionName: msal.application.ClientApplication._build_client.<lambda1>
    functionSourceFile: msal.application
    functionUses: 0
    functionsReached:
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 7
    argDefaultValues:
    - <ast.Lambda object at 0x7f07e06eebb0>
    - <ast.Lambda object at 0x7f07e06eeaf0>
    - <ast.Lambda object at 0x7f07e06eea30>
    argNames:
    - self
    - server_configuration
    - client_id
    - on_obtaining_tokens
    - on_removing_rt
    - on_updating_rt
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 754
    functionName: msal.oauth2cli.oauth2.Client.__init__
    functionSourceFile: msal.oauth2cli.oauth2
    functionUses: 10
    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: msal.application.ClientApplication._build_client.<lambda2>
    functionSourceFile: msal.application
    functionUses: 0
    functionsReached:
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 10
    argDefaultValues:
    - <ast.Constant object at 0x7f07e0b1ee50>
    - <ast.Constant object at 0x7f07e0b1ee20>
    - <ast.Constant object at 0x7f07e0b1edf0>
    - <ast.Constant object at 0x7f07e0b1edc0>
    - <ast.Constant object at 0x7f07e0b1ed90>
    - <ast.Constant object at 0x7f07e0b1ed60>
    - <ast.Constant object at 0x7f07e0b1ed30>
    - <ast.Constant object at 0x7f07e0b1ed00>
    argNames:
    - self
    - scopes
    - redirect_uri
    - state
    - prompt
    - login_hint
    - domain_hint
    - claims_challenge
    - max_age
    - response_mode
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 724
    functionName: msal.application.ClientApplication.initiate_auth_code_flow
    functionSourceFile: msal.application
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - kwargs.get
    - msal.application.ClientApplication._decorate_scope
    - <builtin>.list
    - <builtin>.isinstance
    - <builtin>.set
    - claims_dict.setdefault
    - json.loads
    - json.dumps
    - msal.oauth2cli.oauth2.Client.__init__
    - msal.application._ClientWithCcsRoutingInfo.initiate_auth_code_flow
    - msal.application._merge_claims_challenge_and_capabilities
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 11
    argDefaultValues:
    - <ast.Constant object at 0x7f07e0b2afa0>
    - <ast.Constant object at 0x7f07e0b2af70>
    - <ast.Constant object at 0x7f07e0b2af40>
    - <ast.Constant object at 0x7f07e0b2af10>
    - <ast.Constant object at 0x7f07e0b2aee0>
    - <ast.Constant object at 0x7f07e0b2aeb0>
    - <ast.Constant object at 0x7f07e0b2ae80>
    - <ast.Constant object at 0x7f07e0b2ae50>
    argNames:
    - self
    - scopes
    - login_hint
    - state
    - redirect_uri
    - response_type
    - prompt
    - nonce
    - domain_hint
    - claims_challenge
    - kwargs
    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: 3
    functionLinenumber: 825
    functionName: msal.application.ClientApplication.get_authorization_request_url
    functionSourceFile: msal.application
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - msal.authority.canonicalize
    - payload.get
    - msal.individual_cache._IndividualCache.__init__
    - <builtin>.isinstance
    - warnings.warn
    - tenant.lower
    - resp.raise_for_status
    - msal.authority.Authority.__init__
    - msal.oauth2cli.oauth2.Client.__init__
    - msal.oauth2cli.oidc.Client.build_auth_request_uri
    - msal.application._merge_claims_challenge_and_capabilities
    - warnings.catch_warnings
    - <builtin>.list
    - logger.debug
    - json.dumps
    - msal.authority.tenant_discovery
    - authority.path.split
    - <builtin>.len
    - urllib.parse.urlparse.path.split
    - <builtin>.str
    - authority._replace
    - <builtin>.set
    - urllib.parse.urlparse.hostname.endswith
    - kwargs.pop
    - claims_dict.setdefault
    - <builtin>.any
    - msal.application.ClientApplication._decorate_scope
    - urllib.parse.urlparse
    - json.loads
    - msal.authority._instance_discovery
    - urlparse.urlparse
    - openid_config.get
    - urllib.parse.urlparse.hostname.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: warnings.warn
    functionSourceFile: warnings
    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: warnings.catch_warnings
    functionSourceFile: warnings
    functionUses: 2
    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 0x7f07e03be880>
    argNames:
    - self
    - response_type
    - nonce
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 121
    functionName: msal.oauth2cli.oidc.Client.build_auth_request_uri
    functionSourceFile: msal.oauth2cli.oidc
    functionUses: 1
    functionsReached:
    - <builtin>.super
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f07e0b32bb0>
    argNames:
    - self
    - auth_code_flow
    - auth_response
    - scopes
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 907
    functionName: msal.application.ClientApplication.acquire_token_by_auth_code_flow
    functionSourceFile: msal.application
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - data.get
    - auth_code_flow.pop
    - msal.application._merge_claims_challenge_and_capabilities
    - <builtin>.list
    - msal.application._clean_up
    - json.dumps
    - msal.application.ClientApplication._build_telemetry_context
    - telemetry_context.generate_headers
    - msal.telemetry._TelemetryContext
    - telemetry_context.update_telemetry
    - kwargs.get
    - msal.application.ClientApplication._validate_ssh_cert_input_data
    - <builtin>.set
    - kwargs.pop
    - claims_dict.setdefault
    - k.startswith
    - msal.application.ClientApplication._decorate_scope
    - <builtin>.dict
    - json.loads
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1512
    functionName: msal.application.ClientApplication._validate_ssh_cert_input_data
    functionSourceFile: msal.application
    functionUses: 7
    functionsReached:
    - data.get
    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: telemetry_context.generate_headers
    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: auth_code_flow.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: telemetry_context.update_telemetry
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f07e0b13be0>
    - <ast.Constant object at 0x7f07e0b13bb0>
    - <ast.Constant object at 0x7f07e0b13b80>
    argNames:
    - self
    - code
    - scopes
    - redirect_uri
    - nonce
    - claims_challenge
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 974
    functionName: msal.application.ClientApplication.acquire_token_by_authorization_code
    functionSourceFile: msal.application
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - data.get
    - warnings.warn
    - msal.application._merge_claims_challenge_and_capabilities
    - warnings.catch_warnings
    - <builtin>.list
    - msal.application._clean_up
    - json.dumps
    - msal.application.ClientApplication._build_telemetry_context
    - telemetry_context.generate_headers
    - msal.telemetry._TelemetryContext
    - telemetry_context.update_telemetry
    - kwargs.get
    - msal.application.ClientApplication._validate_ssh_cert_input_data
    - <builtin>.set
    - kwargs.pop
    - claims_dict.setdefault
    - k.startswith
    - msal.application.ClientApplication._decorate_scope
    - <builtin>.dict
    - json.loads
    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 0x7f07e0b39970>
    argNames:
    - self
    - username
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1046
    functionName: msal.application.ClientApplication.get_accounts
    functionSourceFile: msal.application
    functionUses: 2
    functionsReached:
    - msal.application.ClientApplication._get_authority_aliases
    - a.get
    - msal.individual_cache._IndividualCache.__init__
    - <builtin>.list
    - msal.cloudshell._is_running_in_cloud_shell
    - username.lower
    - logger.debug
    - <builtin>.set
    - msal.application.ClientApplication._get_instance_metadata
    - json.loads
    - msal.application.ClientApplication._find_msal_accounts
    - os.environ.get
    - resp.raise_for_status
    - grouped_accounts.values
    - interested_authority_types.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - environment
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1084
    functionName: msal.application.ClientApplication._find_msal_accounts
    functionSourceFile: msal.application
    functionUses: 3
    functionsReached:
    - a.get
    - <builtin>.list
    - msal.cloudshell._is_running_in_cloud_shell
    - os.environ.get
    - grouped_accounts.values
    - interested_authority_types.append
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - instance
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1115
    functionName: msal.application.ClientApplication._get_authority_aliases
    functionSourceFile: msal.application
    functionUses: 5
    functionsReached:
    - msal.individual_cache._IndividualCache.__init__
    - <builtin>.set
    - msal.application.ClientApplication._get_instance_metadata
    - resp.raise_for_status
    - 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: username.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: 1
    functionLinenumber: 22
    functionName: msal.cloudshell._is_running_in_cloud_shell
    functionSourceFile: msal.cloudshell
    functionUses: 4
    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: interested_authority_types.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: a.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: grouped_accounts.values
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1108
    functionName: msal.application.ClientApplication._get_instance_metadata
    functionSourceFile: msal.application
    functionUses: 6
    functionsReached:
    - json.loads
    - resp.raise_for_status
    - msal.individual_cache._IndividualCache.__init__
    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 0x7f07e09e0250>
    - <ast.Constant object at 0x7f07e09e01c0>
    - <ast.Constant object at 0x7f07e09e0f70>
    argNames:
    - self
    - mapping
    - key_maker
    - expires_in
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 184
    functionName: msal.individual_cache._IndividualCache.__init__
    functionSourceFile: ''
    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: resp.raise_for_status
    functionSourceFile: <builtin>
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - account
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 1130
    functionName: msal.application.ClientApplication.remove_account
    functionSourceFile: msal.application
    functionUses: 0
    functionsReached:
    - msal.application.ClientApplication._sign_out
    - threading.Event.wait
    - <builtin>.isinstance
    - pymsalruntime.read_account_by_id
    - error.get_status
    - app_metadata.get
    - logger.debug
    - error.get_context
    - threading.Event
    - pymsalruntime.signout_silently
    - <builtin>.str
    - msal.application.ClientApplication._forget_me
    - callback_data.result.get_account
    - msal.broker._get_new_correlation_id
    - error.get_tag
    - msal.application.ClientApplication._get_app_metadata
    - rt.get
    - error.get_error_code
    - msal.broker._read_account_by_id
    - msal.broker._signout_silently
    - msal.broker._convert_error
    - callback_data.result.get_error
    - uuid.uuid4
    - msal.broker._CallbackData.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - home_account
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1165
    functionName: msal.application.ClientApplication._forget_me
    functionSourceFile: msal.application
    functionUses: 1
    functionsReached:
    - msal.application.ClientApplication._sign_out
    - msal.application.ClientApplication._get_app_metadata
    - rt.get
    - app_metadata.get
    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 0x7f07e08c23a0>
    argNames:
    - client_id
    - account_id
    - correlation_id
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 220
    functionName: msal.broker._signout_silently
    functionSourceFile: msal.broker
    functionUses: 1
    functionsReached:
    - threading.Event.wait
    - <builtin>.str
    - error.get_error_code
    - <builtin>.isinstance
    - error.get_context
    - error.get_tag
    - msal.broker._read_account_by_id
    - pymsalruntime.read_account_by_id
    - callback_data.result.get_account
    - msal.broker._get_new_correlation_id
    - msal.broker._convert_error
    - threading.Event
    - callback_data.result.get_error
    - uuid.uuid4
    - pymsalruntime.signout_silently
    - error.get_status
    - msal.broker._CallbackData.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - home_account
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1139
    functionName: msal.application.ClientApplication._sign_out
    functionSourceFile: msal.application
    functionUses: 2
    functionsReached:
    - msal.application.ClientApplication._get_app_metadata
    - rt.get
    - app_metadata.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - environment
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 1448
    functionName: msal.application.ClientApplication._get_app_metadata
    functionSourceFile: ''
    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: app_metadata.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: rt.get
    functionSourceFile: <builtin>
    functionUses: 3
    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 0x7f07e073b790>
    argNames:
    - self
    - scopes
    - data
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 1178
    functionName: msal.application.ClientApplication._acquire_token_by_cloud_shell
    functionSourceFile: msal.application
    functionUses: 4
    functionsReached:
    - jwt_payload.get
    - <builtin>.len
    - msal.oauth2cli.oidc.decode_part
    - output.decode
    - msal.individual_cache._IndividualCache.__init__
    - <builtin>.str
    - base64.b64encode
    - logger.debug
    - <builtin>.dict
    - time.time
    - json.loads
    - <builtin>.int
    - json.dumps
    - base64.urlsafe_b64decode
    - <builtin>.map
    - cs_error.get
    - msal.cloudshell._obtain_token
    - imds_payload.get
    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 0x7f07e03bed90>
    - <ast.Constant object at 0x7f07e03be730>
    argNames:
    - http_client
    - scopes
    - client_id
    - data
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 40
    functionName: msal.cloudshell._obtain_token
    functionSourceFile: msal.cloudshell
    functionUses: 5
    functionsReached:
    - jwt_payload.get
    - <builtin>.len
    - output.decode
    - msal.individual_cache._IndividualCache.__init__
    - <builtin>.str
    - base64.b64encode
    - logger.debug
    - <builtin>.dict
    - time.time
    - json.loads
    - <builtin>.int
    - json.dumps
    - base64.urlsafe_b64decode
    - <builtin>.map
    - cs_error.get
    - msal.oauth2cli.oidc.decode_part
    - imds_payload.get
    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 0x7f07e0749a90>
    - <ast.Constant object at 0x7f07e0749a60>
    - <ast.Constant object at 0x7f07e0749a30>
    argNames:
    - self
    - scopes
    - account
    - authority
    - force_refresh
    - claims_challenge
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 1193
    functionName: msal.application.ClientApplication.acquire_token_silent
    functionSourceFile: msal.application
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - cryptography.hazmat.backends.default_backend
    - msal.individual_cache._IndividualCache.__init__
    - <builtin>.isinstance
    - tenant.lower
    - msal.application.ClientApplication._process_broker_response
    - pymsalruntime.read_account_by_id
    - response.get
    - msal.authority.Authority.__init__
    - msal.application._merge_claims_challenge_and_capabilities
    - msal.application.ClientApplication._get_regional_authority
    - result.get_raw_id_token
    - telemetry_context.generate_headers
    - threading.Event
    - authority.path.split
    - http_client.get
    - urllib.parse.urlparse.path.split
    - kwargs.get
    - <builtin>.str
    - <builtin>.set
    - callback_data.result.get_account
    - msal.oauth2cli.assertion.AutoRefresher.__init__
    - error.get_error_code
    - account.get_client_info
    - urllib.parse.urlparse
    - msal.application.ClientApplication._acquire_token_silent_by_finding_specific_refresh_token
    - msal.authority._instance_discovery
    - msal.application.ClientApplication._acquire_token_silent_by_finding_rt_belongs_to_me_or_my_family
    - msal.application.ClientApplication._acquire_token_by_cloud_shell
    - msal.broker._convert_error
    - callback_data.result.get_error
    - result.get_access_token
    - urllib.parse.urlparse.hostname.rsplit
    - msal.broker._CallbackData.__init__
    - msal.authority.canonicalize
    - payload.get
    - urllib.parse.urljoin
    - urlparse.urljoin
    - base64.b64encode
    - resp.raise_for_status
    - msal.application._str2bytes
    - msal.application.ClientApplication._build_client
    - <builtin>.int
    - account.get
    - msal.oauth2cli.oauth2.Client.__init__
    - re.findall
    - client_credential.get
    - params.set_additional_parameter
    - <builtin>.list
    - final_result.get
    - msal.application.extract_certs
    - msal.application._clean_up
    - <builtin>.max
    - json.dumps
    - msal.application.ClientApplication.acquire_token_silent_with_error
    - msal.telemetry._TelemetryContext
    - msal.region._detect_region
    - authority._replace
    - urllib.parse.urlparse.hostname.endswith
    - result.get_error
    - resp.text.strip
    - pymsalruntime.MSALRuntimeAuthParameters
    - kwargs.pop
    - k.startswith
    - error.get_tag
    - <builtin>.sorted
    - result.get_id_token
    - msal.broker._read_account_by_id
    - msal.application.ClientApplication.<lambda1>
    - msal.oauth2cli.assertion.JwtAssertionCreator.__init__
    - msal.region._detect_region_of_azure_vm
    - kwargs.items
    - data.get
    - warnings.warn
    - os.environ.get
    - <builtin>.map
    - public_cert_content.strip
    - output.decode
    - app_metadata.get
    - error.get_context
    - msal.application.ClientApplication._build_telemetry_context
    - imds_payload.get
    - telemetry_context.update_telemetry
    - msal.application.ClientApplication._get_authority_aliases
    - <builtin>.len
    - logger.warning
    - msal.broker._convert_result
    - binascii.a2b_hex
    - msal.application.ClientApplication._validate_ssh_cert_input_data
    - raw.encode
    - logger.info
    - claims_dict.setdefault
    - msal.application.ClientApplication._get_app_metadata
    - msal.application.ClientApplication._decorate_scope
    - pymsalruntime.acquire_token_silently
    - msal.oauth2cli.assertion.AssertionCreator.create_regenerative_assertion
    - cert.strip
    - result.get_granted_scopes
    - openid_config.get
    - client.obtain_token_by_refresh_token
    - uuid.uuid4
    - result.get_account
    - threading.Event.wait
    - msal.telemetry._get_new_correlation_id
    - error.get_status
    - msal.application.ClientApplication._acquire_token_silent_from_cache_and_possibly_refresh_it
    - logger.debug
    - msal.application.ClientApplication._get_instance_metadata
    - query.get
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - msal.authority.tenant_discovery
    - result.get_access_token_expiry_time
    - params.set_requested_scopes
    - msal.oauth2cli.oidc.decode_part
    - time.time
    - base64.urlsafe_b64decode
    - msal.broker._get_new_correlation_id
    - msal.broker._acquire_token_silently
    - cs_error.get
    - msal.cloudshell._obtain_token
    - jwt_payload.get
    - <builtin>.any
    - params.set_decoded_claims
    - base64.urlsafe_b64encode
    - <builtin>.dict
    - account.get_account_id
    - json.loads
    - urlparse.urlparse
    - <builtin>.repr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 3
    IfCount: 6
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f07e07492e0>
    - <ast.Constant object at 0x7f07e07492b0>
    - <ast.Constant object at 0x7f07e0749280>
    argNames:
    - self
    - scopes
    - account
    - authority
    - force_refresh
    - claims_challenge
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 1231
    functionName: msal.application.ClientApplication.acquire_token_silent_with_error
    functionSourceFile: msal.application
    functionUses: 1
    functionsReached:
    - <builtin>.super
    - cryptography.hazmat.backends.default_backend
    - msal.individual_cache._IndividualCache.__init__
    - <builtin>.isinstance
    - tenant.lower
    - msal.application.ClientApplication._process_broker_response
    - pymsalruntime.read_account_by_id
    - response.get
    - msal.authority.Authority.__init__
    - msal.application._merge_claims_challenge_and_capabilities
    - msal.application.ClientApplication._get_regional_authority
    - result.get_raw_id_token
    - telemetry_context.generate_headers
    - threading.Event
    - authority.path.split
    - http_client.get
    - urllib.parse.urlparse.path.split
    - kwargs.get
    - <builtin>.str
    - <builtin>.set
    - callback_data.result.get_account
    - msal.oauth2cli.assertion.AutoRefresher.__init__
    - error.get_error_code
    - account.get_client_info
    - urllib.parse.urlparse
    - msal.application.ClientApplication._acquire_token_silent_by_finding_specific_refresh_token
    - msal.authority._instance_discovery
    - msal.application.ClientApplication._acquire_token_silent_by_finding_rt_belongs_to_me_or_my_family
    - msal.application.ClientApplication._acquire_token_by_cloud_shell
    - msal.broker._convert_error
    - callback_data.result.get_error
    - result.get_access_token
    - urllib.parse.urlparse.hostname.rsplit
    - msal.broker._CallbackData.__init__
    - msal.authority.canonicalize
    - payload.get
    - urllib.parse.urljoin
    - urlparse.urljoin
    - base64.b64encode
    - resp.raise_for_status
    - msal.application._str2bytes
    - msal.application.ClientApplication._build_client
    - <builtin>.int
    - account.get
    - msal.oauth2cli.oauth2.Client.__init__
    - re.findall
    - client_credential.get
    - params.set_additional_parameter
    - <builtin>.list
    - final_result.get
    - msal.application.extract_certs
    - msal.application._clean_up
    - <builtin>.max
    - json.dumps
    - msal.telemetry._TelemetryContext
    - msal.region._detect_region
    - authority._replace
    - urllib.parse.urlparse.hostname.endswith
    - result.get_error
    - resp.text.strip
    - pymsalruntime.MSALRuntimeAuthParameters
    - kwargs.pop
    - k.startswith
    - error.get_tag
    - <builtin>.sorted
    - result.get_id_token
    - msal.broker._read_account_by_id
    - msal.application.ClientApplication.<lambda1>
    - msal.oauth2cli.assertion.JwtAssertionCreator.__init__
    - msal.region._detect_region_of_azure_vm
    - kwargs.items
    - data.get
    - warnings.warn
    - os.environ.get
    - <builtin>.map
    - public_cert_content.strip
    - output.decode
    - app_metadata.get
    - error.get_context
    - msal.application.ClientApplication._build_telemetry_context
    - imds_payload.get
    - telemetry_context.update_telemetry
    - msal.application.ClientApplication._get_authority_aliases
    - <builtin>.len
    - logger.warning
    - msal.broker._convert_result
    - binascii.a2b_hex
    - msal.application.ClientApplication._validate_ssh_cert_input_data
    - raw.encode
    - logger.info
    - claims_dict.setdefault
    - msal.application.ClientApplication._get_app_metadata
    - msal.application.ClientApplication._decorate_scope
    - pymsalruntime.acquire_token_silently
    - msal.oauth2cli.assertion.AssertionCreator.create_regenerative_assertion
    - cert.strip
    - result.get_granted_scopes
    - openid_config.get
    - client.obtain_token_by_refresh_token
    - uuid.uuid4
    - result.get_account
    - threading.Event.wait
    - msal.telemetry._get_new_correlation_id
    - error.get_status
    - msal.application.ClientApplication._acquire_token_silent_from_cache_and_possibly_refresh_it
    - logger.debug
    - msal.application.ClientApplication._get_instance_metadata
    - query.get
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - msal.authority.tenant_discovery
    - result.get_access_token_expiry_time
    - params.set_requested_scopes
    - msal.oauth2cli.oidc.decode_part
    - time.time
    - base64.urlsafe_b64decode
    - msal.broker._get_new_correlation_id
    - msal.broker._acquire_token_silently
    - cs_error.get
    - msal.cloudshell._obtain_token
    - jwt_payload.get
    - <builtin>.any
    - params.set_decoded_claims
    - base64.urlsafe_b64encode
    - <builtin>.dict
    - account.get_account_id
    - json.loads
    - urlparse.urlparse
    - <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: 1
    functionLinenumber: 18
    functionName: msal.telemetry._get_new_correlation_id
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached:
    - uuid.uuid4
    - <builtin>.str
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 9
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 14
    ICount: 2
    IfCount: 9
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f07e071a0d0>
    - <ast.Constant object at 0x7f07e071a0a0>
    - <ast.Constant object at 0x7f07e071a070>
    argNames:
    - self
    - scopes
    - account
    - authority
    - force_refresh
    - claims_challenge
    - correlation_id
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 1321
    functionName: msal.application.ClientApplication._acquire_token_silent_from_cache_and_possibly_refresh_it
    functionSourceFile: msal.application
    functionUses: 2
    functionsReached:
    - <builtin>.super
    - cryptography.hazmat.backends.default_backend
    - msal.individual_cache._IndividualCache.__init__
    - <builtin>.isinstance
    - tenant.lower
    - msal.application.ClientApplication._process_broker_response
    - pymsalruntime.read_account_by_id
    - response.get
    - msal.authority.Authority.__init__
    - msal.application._merge_claims_challenge_and_capabilities
    - msal.application.ClientApplication._get_regional_authority
    - result.get_raw_id_token
    - telemetry_context.generate_headers
    - threading.Event
    - authority.path.split
    - http_client.get
    - urllib.parse.urlparse.path.split
    - kwargs.get
    - <builtin>.str
    - <builtin>.set
    - callback_data.result.get_account
    - msal.oauth2cli.assertion.AutoRefresher.__init__
    - error.get_error_code
    - account.get_client_info
    - urllib.parse.urlparse
    - msal.application.ClientApplication._acquire_token_silent_by_finding_specific_refresh_token
    - msal.authority._instance_discovery
    - msal.application.ClientApplication._acquire_token_silent_by_finding_rt_belongs_to_me_or_my_family
    - msal.application.ClientApplication._acquire_token_by_cloud_shell
    - msal.broker._convert_error
    - callback_data.result.get_error
    - result.get_access_token
    - msal.broker._CallbackData.__init__
    - urllib.parse.urlparse.hostname.rsplit
    - urllib.parse.urljoin
    - msal.authority.canonicalize
    - payload.get
    - urlparse.urljoin
    - base64.b64encode
    - msal.application._str2bytes
    - resp.raise_for_status
    - msal.application.ClientApplication._build_client
    - <builtin>.int
    - account.get
    - msal.oauth2cli.oauth2.Client.__init__
    - re.findall
    - client_credential.get
    - params.set_additional_parameter
    - <builtin>.list
    - msal.application.extract_certs
    - msal.application._clean_up
    - <builtin>.max
    - json.dumps
    - msal.region._detect_region
    - msal.telemetry._TelemetryContext
    - authority._replace
    - urllib.parse.urlparse.hostname.endswith
    - result.get_error
    - resp.text.strip
    - pymsalruntime.MSALRuntimeAuthParameters
    - kwargs.pop
    - k.startswith
    - error.get_tag
    - <builtin>.sorted
    - result.get_id_token
    - msal.broker._read_account_by_id
    - msal.application.ClientApplication.<lambda1>
    - msal.oauth2cli.assertion.JwtAssertionCreator.__init__
    - msal.region._detect_region_of_azure_vm
    - kwargs.items
    - os.environ.get
    - <builtin>.map
    - public_cert_content.strip
    - output.decode
    - app_metadata.get
    - error.get_context
    - msal.application.ClientApplication._build_telemetry_context
    - logger.warning
    - telemetry_context.update_telemetry
    - <builtin>.len
    - imds_payload.get
    - msal.broker._convert_result
    - binascii.a2b_hex
    - raw.encode
    - logger.info
    - claims_dict.setdefault
    - msal.application.ClientApplication._get_app_metadata
    - msal.application.ClientApplication._decorate_scope
    - pymsalruntime.acquire_token_silently
    - msal.oauth2cli.assertion.AssertionCreator.create_regenerative_assertion
    - cert.strip
    - result.get_granted_scopes
    - openid_config.get
    - client.obtain_token_by_refresh_token
    - uuid.uuid4
    - result.get_account
    - threading.Event.wait
    - error.get_status
    - logger.debug
    - query.get
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - msal.authority.tenant_discovery
    - result.get_access_token_expiry_time
    - params.set_requested_scopes
    - msal.oauth2cli.oidc.decode_part
    - time.time
    - msal.broker._get_new_correlation_id
    - base64.urlsafe_b64decode
    - msal.broker._acquire_token_silently
    - cs_error.get
    - msal.cloudshell._obtain_token
    - jwt_payload.get
    - <builtin>.any
    - params.set_decoded_claims
    - base64.urlsafe_b64encode
    - <builtin>.dict
    - account.get_account_id
    - json.loads
    - urlparse.urlparse
    - <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: final_result.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: time.time
    functionSourceFile: time
    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: <builtin>.int
    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: account.get
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 5
    IfCount: 4
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f07e0777970>
    - <ast.Constant object at 0x7f07e0fed970>
    argNames:
    - authority
    - client_id
    - account_id
    - scopes
    - claims
    - correlation_id
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 191
    functionName: msal.broker._acquire_token_silently
    functionSourceFile: msal.broker
    functionUses: 5
    functionsReached:
    - result.get_account
    - kwargs.items
    - threading.Event.wait
    - <builtin>.isinstance
    - pymsalruntime.read_account_by_id
    - <builtin>.int
    - params.set_additional_parameter
    - error.get_status
    - error.get_context
    - result.get_granted_scopes
    - result.get_raw_id_token
    - result.get_access_token_expiry_time
    - params.set_requested_scopes
    - threading.Event
    - msal.broker._convert_result
    - <builtin>.str
    - kwargs.get
    - time.time
    - callback_data.result.get_account
    - result.get_error
    - msal.broker._get_new_correlation_id
    - pymsalruntime.MSALRuntimeAuthParameters
    - error.get_tag
    - params.set_decoded_claims
    - result.get_id_token
    - error.get_error_code
    - account.get_client_info
    - msal.broker._read_account_by_id
    - account.get_account_id
    - json.loads
    - pymsalruntime.acquire_token_silently
    - msal.broker._convert_error
    - callback_data.result.get_error
    - uuid.uuid4
    - result.get_access_token
    - msal.broker._CallbackData.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - response
    - scopes
    - data
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1398
    functionName: msal.application.ClientApplication._process_broker_response
    functionSourceFile: msal.application
    functionUses: 6
    functionsReached:
    - k.startswith
    - <builtin>.isinstance
    - <builtin>.dict
    - msal.application._clean_up
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 5
    argDefaultValues: []
    argNames:
    - self
    - authority
    - scopes
    - account
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 1410
    functionName: msal.application.ClientApplication._acquire_token_silent_by_finding_rt_belongs_to_me_or_my_family
    functionSourceFile: msal.application
    functionUses: 3
    functionsReached:
    - <builtin>.super
    - urllib.parse.urljoin
    - msal.authority.canonicalize
    - payload.get
    - cryptography.hazmat.backends.default_backend
    - urlparse.urljoin
    - msal.individual_cache._IndividualCache.__init__
    - msal.region._detect_region_of_azure_vm
    - <builtin>.isinstance
    - tenant.lower
    - msal.application._str2bytes
    - resp.raise_for_status
    - msal.application.ClientApplication._build_client
    - openid_config.get
    - os.environ.get
    - response.get
    - msal.authority.Authority.__init__
    - msal.oauth2cli.oauth2.Client.__init__
    - re.findall
    - client_credential.get
    - public_cert_content.strip
    - msal.application._merge_claims_challenge_and_capabilities
    - msal.application.ClientApplication._get_regional_authority
    - app_metadata.get
    - logger.debug
    - query.get
    - msal.application.extract_certs
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - <builtin>.max
    - msal.authority.tenant_discovery
    - json.dumps
    - msal.application.ClientApplication._build_telemetry_context
    - telemetry_context.generate_headers
    - authority.path.split
    - msal.telemetry._TelemetryContext
    - msal.region._detect_region
    - logger.warning
    - telemetry_context.update_telemetry
    - <builtin>.len
    - http_client.get
    - urllib.parse.urlparse.path.split
    - binascii.a2b_hex
    - <builtin>.str
    - authority._replace
    - raw.encode
    - urllib.parse.urlparse.hostname.endswith
    - logger.info
    - resp.text.strip
    - msal.oauth2cli.assertion.AutoRefresher.__init__
    - kwargs.pop
    - claims_dict.setdefault
    - msal.application.ClientApplication._get_app_metadata
    - client.obtain_token_by_refresh_token
    - <builtin>.any
    - <builtin>.sorted
    - urllib.parse.urlparse
    - <builtin>.dict
    - base64.urlsafe_b64encode
    - json.loads
    - msal.application.ClientApplication._acquire_token_silent_by_finding_specific_refresh_token
    - msal.oauth2cli.assertion.AssertionCreator.create_regenerative_assertion
    - msal.authority._instance_discovery
    - cert.strip
    - urlparse.urlparse
    - <builtin>.repr
    - msal.application.ClientApplication.<lambda1>
    - msal.oauth2cli.assertion.JwtAssertionCreator.__init__
    - urllib.parse.urlparse.hostname.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: msal.application.ClientApplication._acquire_token_silent_by_finding_rt_belongs_to_me_or_my_family.<lambda1>
    functionSourceFile: msal.application
    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: msal.application.ClientApplication._acquire_token_silent_by_finding_rt_belongs_to_me_or_my_family.<lambda2>
    functionSourceFile: msal.application
    functionUses: 0
    functionsReached:
    - response.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: response.get
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 4
    IfCount: 4
    argCount: 10
    argDefaultValues:
    - <ast.Constant object at 0x7f07e073c400>
    - <ast.Lambda object at 0x7f07e073c3d0>
    - <ast.Constant object at 0x7f07e073c310>
    - <ast.Constant object at 0x7f07e073c2e0>
    - <ast.Constant object at 0x7f07e073c2b0>
    argNames:
    - self
    - authority
    - scopes
    - query
    - rt_remover
    - break_condition
    - refresh_reason
    - correlation_id
    - claims_challenge
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1454
    functionName: msal.application.ClientApplication._acquire_token_silent_by_finding_specific_refresh_token
    functionSourceFile: msal.application
    functionUses: 4
    functionsReached:
    - <builtin>.super
    - urllib.parse.urljoin
    - msal.authority.canonicalize
    - payload.get
    - cryptography.hazmat.backends.default_backend
    - urlparse.urljoin
    - msal.individual_cache._IndividualCache.__init__
    - msal.region._detect_region_of_azure_vm
    - <builtin>.isinstance
    - tenant.lower
    - msal.application._str2bytes
    - openid_config.get
    - msal.application.ClientApplication._build_client
    - resp.raise_for_status
    - os.environ.get
    - urlparse.urlparse
    - response.get
    - msal.authority.Authority.__init__
    - msal.oauth2cli.oauth2.Client.__init__
    - re.findall
    - client_credential.get
    - public_cert_content.strip
    - msal.application._merge_claims_challenge_and_capabilities
    - msal.application.ClientApplication._get_regional_authority
    - logger.debug
    - query.get
    - msal.application.extract_certs
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - <builtin>.max
    - msal.authority.tenant_discovery
    - json.dumps
    - msal.application.ClientApplication._build_telemetry_context
    - telemetry_context.generate_headers
    - authority.path.split
    - msal.telemetry._TelemetryContext
    - msal.region._detect_region
    - logger.warning
    - telemetry_context.update_telemetry
    - <builtin>.len
    - http_client.get
    - urllib.parse.urlparse.path.split
    - binascii.a2b_hex
    - <builtin>.str
    - authority._replace
    - raw.encode
    - urllib.parse.urlparse.hostname.endswith
    - logger.info
    - resp.text.strip
    - kwargs.pop
    - claims_dict.setdefault
    - client.obtain_token_by_refresh_token
    - <builtin>.any
    - <builtin>.sorted
    - urllib.parse.urlparse
    - <builtin>.dict
    - base64.urlsafe_b64encode
    - json.loads
    - msal.oauth2cli.assertion.AssertionCreator.create_regenerative_assertion
    - msal.authority._instance_discovery
    - cert.strip
    - msal.oauth2cli.assertion.AutoRefresher.__init__
    - <builtin>.repr
    - msal.application.ClientApplication.<lambda1>
    - msal.oauth2cli.assertion.JwtAssertionCreator.__init__
    - urllib.parse.urlparse.hostname.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: 1
    functionLinenumber: -1
    functionName: msal.application.ClientApplication._acquire_token_silent_by_finding_specific_refresh_token.<lambda1>
    functionSourceFile: msal.application
    functionUses: 0
    functionsReached:
    - e.get
    - <builtin>.int
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: e.get
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.sorted
    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: query.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: msal.application.ClientApplication._acquire_token_silent_by_finding_specific_refresh_token.<lambda2>
    functionSourceFile: msal.application
    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: msal.application.ClientApplication._acquire_token_silent_by_finding_specific_refresh_token.<lambda3>
    functionSourceFile: msal.application
    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: msal.application.ClientApplication._acquire_token_silent_by_finding_specific_refresh_token.<lambda4>
    functionSourceFile: msal.application
    functionUses: 0
    functionsReached:
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: client.obtain_token_by_refresh_token
    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: msal.application.ClientApplication.<lambda1>
    functionSourceFile: ''
    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: data.get
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - refresh_token
    - scopes
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1526
    functionName: msal.application.ClientApplication.acquire_token_by_refresh_token
    functionSourceFile: msal.application
    functionUses: 0
    functionsReached:
    - telemetry_context.update_telemetry
    - kwargs.get
    - msal.application.ClientApplication._decorate_scope
    - <builtin>.list
    - msal.application.ClientApplication._validate_ssh_cert_input_data
    - data.get
    - <builtin>.isinstance
    - <builtin>.set
    - msal.application._clean_up
    - msal.application.ClientApplication._build_telemetry_context
    - k.startswith
    - msal.telemetry._TelemetryContext
    - telemetry_context.generate_headers
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: msal.application.ClientApplication.acquire_token_by_refresh_token.<lambda1>
    functionSourceFile: msal.application
    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: msal.application.ClientApplication.acquire_token_by_refresh_token.<lambda2>
    functionSourceFile: msal.application
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 3
    IfCount: 3
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f07e096f880>
    argNames:
    - self
    - username
    - password
    - scopes
    - claims_challenge
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 1564
    functionName: msal.application.ClientApplication.acquire_token_by_username_password
    functionSourceFile: msal.application
    functionUses: 0
    functionsReached:
    - msal.wstrust_response.parse_token_by_re
    - result.get_account
    - kwargs.items
    - msal.individual_cache._IndividualCache.__init__
    - threading.Event.wait
    - msal.wstrust_request.wsu_time_format
    - <builtin>.isinstance
    - msal.wstrust_response.findall_content
    - resp.raise_for_status
    - msal.application.ClientApplication._process_broker_response
    - <builtin>.int
    - datetime_obj.strftime
    - password.replace
    - re.findall
    - msal.application._merge_claims_challenge_and_capabilities
    - params.set_additional_parameter
    - error.get_status
    - <builtin>.list
    - error.get_context
    - logger.debug
    - msal.application._clean_up
    - result.get_granted_scopes
    - user_realm_result.get
    - result.get_raw_id_token
    - json.dumps
    - wstrust_result.get
    - result.get_access_token_expiry_time
    - params.set_requested_scopes
    - msal.application.ClientApplication._build_telemetry_context
    - telemetry_context.generate_headers
    - threading.Event
    - msal.telemetry._TelemetryContext
    - datetime.timedelta
    - telemetry_context.update_telemetry
    - xml.etree.cElementTree.fromstring
    - datetime.datetime.utcnow
    - msal.broker._convert_result
    - kwargs.get
    - <builtin>.str
    - msal.wstrust_request.send_request
    - pymsalruntime.signin_silently
    - msal.wstrust_response.parse_error
    - <builtin>.set
    - msal.wstrust_request.escape_password
    - time.time
    - msal.broker._enable_msa_pt
    - result.get_error
    - dom.find
    - msal.broker._get_new_correlation_id
    - msal.wstrust_request._build_rst
    - pymsalruntime.MSALRuntimeAuthParameters
    - kwargs.pop
    - claims_dict.setdefault
    - k.startswith
    - error.get_tag
    - xml.etree.ElementTree.fromstring
    - wstrust_endpoint.get
    - msal.application.ClientApplication._decorate_scope
    - msal.authority.Authority.user_realm_discovery
    - params.set_decoded_claims
    - result.get_id_token
    - error.get_error_code
    - <builtin>.dict
    - account.get_client_info
    - account.get_account_id
    - msal.broker._signin_silently
    - json.loads
    - msal.application.ClientApplication._acquire_token_by_username_password_federated
    - msal.wstrust_response.parse_response
    - msal.broker._convert_error
    - uuid.uuid4
    - result.get_access_token
    - msal.broker._CallbackData.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 6
    IfCount: 3
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f07e07732b0>
    - <ast.Constant object at 0x7f07e0773f70>
    - <ast.Constant object at 0x7f07e07733d0>
    argNames:
    - authority
    - client_id
    - scopes
    - correlation_id
    - claims
    - enable_msa_pt
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 121
    functionName: msal.broker._signin_silently
    functionSourceFile: msal.broker
    functionUses: 3
    functionsReached:
    - result.get_account
    - kwargs.items
    - threading.Event.wait
    - <builtin>.int
    - params.set_additional_parameter
    - error.get_status
    - error.get_context
    - result.get_granted_scopes
    - result.get_raw_id_token
    - result.get_access_token_expiry_time
    - params.set_requested_scopes
    - threading.Event
    - msal.broker._convert_result
    - <builtin>.str
    - kwargs.get
    - pymsalruntime.signin_silently
    - time.time
    - msal.broker._enable_msa_pt
    - result.get_error
    - msal.broker._get_new_correlation_id
    - pymsalruntime.MSALRuntimeAuthParameters
    - error.get_tag
    - params.set_decoded_claims
    - result.get_id_token
    - error.get_error_code
    - account.get_client_info
    - account.get_account_id
    - json.loads
    - msal.broker._convert_error
    - uuid.uuid4
    - result.get_access_token
    - msal.broker._CallbackData.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f07e06ed3d0>
    - <ast.Constant object at 0x7f07e06edd60>
    argNames:
    - self
    - username
    - correlation_id
    - response
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 131
    functionName: msal.authority.Authority.user_realm_discovery
    functionSourceFile: msal.authority
    functionUses: 1
    functionsReached:
    - json.loads
    - resp.raise_for_status
    - msal.individual_cache._IndividualCache.__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: user_realm_result.get
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 2
    IfCount: 4
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f07e0989ac0>
    argNames:
    - self
    - user_realm_result
    - username
    - password
    - scopes
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1626
    functionName: msal.application.ClientApplication._acquire_token_by_username_password_federated
    functionSourceFile: msal.application
    functionUses: 1
    functionsReached:
    - msal.wstrust_response.parse_token_by_re
    - msal.wstrust_request.wsu_time_format
    - msal.individual_cache._IndividualCache.__init__
    - msal.wstrust_response.findall_content
    - datetime_obj.strftime
    - password.replace
    - re.findall
    - logger.debug
    - user_realm_result.get
    - wstrust_result.get
    - datetime.timedelta
    - datetime.datetime.utcnow
    - xml.etree.cElementTree.fromstring
    - <builtin>.str
    - msal.wstrust_request.send_request
    - msal.wstrust_response.parse_error
    - msal.wstrust_request.escape_password
    - dom.find
    - msal.wstrust_request._build_rst
    - xml.etree.ElementTree.fromstring
    - wstrust_endpoint.get
    - msal.wstrust_response.parse_response
    - uuid.uuid4
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    - 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: wstrust_endpoint.get
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 7
    argDefaultValues: []
    argNames:
    - username
    - password
    - cloud_audience_urn
    - endpoint_address
    - soap_action
    - http_client
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 37
    functionName: msal.wstrust_request.send_request
    functionSourceFile: msal.wstrust_request
    functionUses: 2
    functionsReached:
    - msal.wstrust_response.parse_token_by_re
    - msal.wstrust_request.wsu_time_format
    - msal.individual_cache._IndividualCache.__init__
    - msal.wstrust_response.findall_content
    - datetime_obj.strftime
    - password.replace
    - re.findall
    - logger.debug
    - datetime.timedelta
    - datetime.datetime.utcnow
    - xml.etree.cElementTree.fromstring
    - <builtin>.str
    - msal.wstrust_response.parse_error
    - msal.wstrust_request.escape_password
    - dom.find
    - msal.wstrust_request._build_rst
    - xml.etree.ElementTree.fromstring
    - msal.wstrust_response.parse_response
    - uuid.uuid4
    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: wstrust_result.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: 1
    functionLinenumber: -1
    functionName: msal.application.ClientApplication._acquire_token_by_username_password_federated.<lambda1>
    functionSourceFile: msal.application
    functionUses: 0
    functionsReached:
    - <builtin>.dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.object
    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: msal.application.PublicClientApplication
    functionSourceFile: msal.application
    functionUses: 0
    functionsReached:
    - <builtin>.object
    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 0x7f07e0970a60>
    argNames:
    - self
    - client_id
    - client_credential
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 1675
    functionName: msal.application.PublicClientApplication.__init__
    functionSourceFile: msal.application
    functionUses: 0
    functionsReached:
    - <builtin>.super
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 5
    IfCount: 5
    argCount: 13
    argDefaultValues:
    - <ast.Constant object at 0x7f07e094f190>
    - <ast.Constant object at 0x7f07e094f1c0>
    - <ast.Constant object at 0x7f07e094f1f0>
    - <ast.Constant object at 0x7f07e094f220>
    - <ast.Constant object at 0x7f07e094f250>
    - <ast.Constant object at 0x7f07e094f280>
    - <ast.Constant object at 0x7f07e094f2b0>
    - <ast.Constant object at 0x7f07e094f2e0>
    - <ast.Constant object at 0x7f07e094f310>
    - <ast.Constant object at 0x7f07e094f340>
    argNames:
    - self
    - scopes
    - prompt
    - login_hint
    - domain_hint
    - claims_challenge
    - timeout
    - port
    - extra_scopes_to_consent
    - max_age
    - parent_window_handle
    - on_before_launching_ui
    - 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
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 1681
    functionName: msal.application.PublicClientApplication.acquire_token_interactive
    functionSourceFile: msal.application
    functionUses: 0
    functionsReached:
    - msal.individual_cache._IndividualCache.__init__
    - <builtin>.isinstance
    - msal.application.ClientApplication._process_broker_response
    - pymsalruntime.read_account_by_id
    - <builtin>.frozenset
    - response.get
    - grouped_accounts.values
    - os.path.exists
    - msal.application._merge_claims_challenge_and_capabilities
    - msal.application._preferred_browser
    - result.get_raw_id_token
    - telemetry_context.generate_headers
    - threading.Event
    - <builtin>.str
    - kwargs.get
    - <builtin>.set
    - callback_data.result.get_account
    - msal.broker._signin_interactively
    - error.get_error_code
    - account.get_client_info
    - msal.broker._convert_error
    - msal.application.ClientApplication._acquire_token_by_cloud_shell
    - callback_data.result.get_error
    - result.get_access_token
    - msal.broker._CallbackData.__init__
    - base64.b64encode
    - resp.raise_for_status
    - <builtin>.int
    - params.set_additional_parameter
    - pymsalruntime.get_console_window
    - <builtin>.list
    - username.lower
    - msal.application._clean_up
    - json.dumps
    - msal.telemetry._TelemetryContext
    - webbrowser.get
    - msal.broker._enable_msa_pt
    - result.get_error
    - pymsalruntime.MSALRuntimeAuthParameters
    - kwargs.pop
    - k.startswith
    - error.get_tag
    - a.get
    - result.get_id_token
    - msal.broker._read_account_by_id
    - msal.broker._signin_silently
    - <builtin>.bool
    - kwargs.items
    - data.get
    - os.environ.get
    - <builtin>.map
    - output.decode
    - error.get_context
    - msal.application.ClientApplication._build_telemetry_context
    - logger.warning
    - telemetry_context.update_telemetry
    - <builtin>.len
    - msal.application.ClientApplication.get_accounts
    - msal.application.ClientApplication._get_authority_aliases
    - msal.broker._convert_result
    - imds_payload.get
    - msal.application.ClientApplication._validate_ssh_cert_input_data
    - pymsalruntime.signin_silently
    - claims_dict.setdefault
    - interested_authority_types.append
    - msal.application.ClientApplication._decorate_scope
    - webbrowser.register
    - pymsalruntime.acquire_token_silently
    - result.get_granted_scopes
    - uuid.uuid4
    - result.get_account
    - threading.Event.wait
    - msal.application.PublicClientApplication.acquire_token_interactive.<lambda1>
    - webbrowser.BackgroundBrowser
    - error.get_status
    - logger.debug
    - msal.application.ClientApplication._get_instance_metadata
    - params.set_redirect_uri
    - result.get_access_token_expiry_time
    - params.set_requested_scopes
    - msal.oauth2cli.oidc.decode_part
    - time.time
    - msal.broker._get_new_correlation_id
    - base64.urlsafe_b64decode
    - msal.application.PublicClientApplication._acquire_token_interactive_via_broker
    - msal.broker._acquire_token_silently
    - cs_error.get
    - pymsalruntime.get_desktop_window
    - msal.cloudshell._obtain_token
    - pymsalruntime.signin_interactively
    - jwt_payload.get
    - params.set_decoded_claims
    - msal.cloudshell._is_running_in_cloud_shell
    - <builtin>.dict
    - account.get_account_id
    - json.loads
    - msal.application.ClientApplication._find_msal_accounts
    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: msal.application.PublicClientApplication.acquire_token_interactive.<lambda1>
    functionSourceFile: msal.application
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 8
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 12
    ICount: 6
    IfCount: 8
    argCount: 11
    argDefaultValues:
    - <ast.Constant object at 0x7f07e09da730>
    - <ast.Constant object at 0x7f07e09da760>
    - <ast.Constant object at 0x7f07e09da790>
    argNames:
    - self
    - scopes
    - parent_window_handle
    - enable_msa_passthrough
    - claims
    - data
    - on_before_launching_ui
    - prompt
    - login_hint
    - max_age
    - kwargs
    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: 1842
    functionName: msal.application.PublicClientApplication._acquire_token_interactive_via_broker
    functionSourceFile: msal.application
    functionUses: 1
    functionsReached:
    - result.get_account
    - kwargs.items
    - threading.Event.wait
    - msal.individual_cache._IndividualCache.__init__
    - <builtin>.isinstance
    - resp.raise_for_status
    - msal.application.PublicClientApplication.acquire_token_interactive.<lambda1>
    - msal.application.ClientApplication._process_broker_response
    - pymsalruntime.read_account_by_id
    - <builtin>.int
    - os.environ.get
    - <builtin>.frozenset
    - response.get
    - grouped_accounts.values
    - params.set_additional_parameter
    - error.get_status
    - pymsalruntime.get_console_window
    - <builtin>.list
    - logger.debug
    - username.lower
    - error.get_context
    - params.set_redirect_uri
    - msal.application.ClientApplication._get_instance_metadata
    - msal.application._clean_up
    - result.get_raw_id_token
    - result.get_granted_scopes
    - result.get_access_token_expiry_time
    - params.set_requested_scopes
    - threading.Event
    - logger.warning
    - msal.application.ClientApplication._get_authority_aliases
    - <builtin>.len
    - msal.application.ClientApplication.get_accounts
    - msal.broker._convert_result
    - <builtin>.str
    - kwargs.get
    - pymsalruntime.signin_silently
    - <builtin>.set
    - time.time
    - msal.broker._enable_msa_pt
    - callback_data.result.get_account
    - result.get_error
    - msal.broker._get_new_correlation_id
    - pymsalruntime.MSALRuntimeAuthParameters
    - msal.broker._acquire_token_silently
    - error.get_tag
    - k.startswith
    - pymsalruntime.get_desktop_window
    - pymsalruntime.signin_interactively
    - interested_authority_types.append
    - a.get
    - params.set_decoded_claims
    - msal.broker._signin_interactively
    - result.get_id_token
    - error.get_error_code
    - account.get_client_info
    - <builtin>.dict
    - msal.broker._read_account_by_id
    - account.get_account_id
    - msal.broker._signin_silently
    - json.loads
    - msal.application.ClientApplication._find_msal_accounts
    - msal.cloudshell._is_running_in_cloud_shell
    - pymsalruntime.acquire_token_silently
    - <builtin>.bool
    - msal.broker._convert_error
    - callback_data.result.get_error
    - uuid.uuid4
    - result.get_access_token
    - msal.broker._CallbackData.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 10
    IfCount: 7
    argCount: 10
    argDefaultValues:
    - <ast.Constant object at 0x7f07e0fb2b50>
    - <ast.Constant object at 0x7f07e0fb2520>
    - <ast.Constant object at 0x7f07e0fb2eb0>
    - <ast.Constant object at 0x7f07e0fb2e50>
    - <ast.Constant object at 0x7f07e0fb2970>
    argNames:
    - authority
    - client_id
    - scopes
    - parent_window_handle
    - prompt
    - login_hint
    - claims
    - correlation_id
    - enable_msa_pt
    - kwargs
    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: 144
    functionName: msal.broker._signin_interactively
    functionSourceFile: msal.broker
    functionUses: 2
    functionsReached:
    - result.get_account
    - kwargs.items
    - threading.Event.wait
    - <builtin>.int
    - params.set_additional_parameter
    - error.get_status
    - pymsalruntime.get_console_window
    - params.set_redirect_uri
    - error.get_context
    - result.get_granted_scopes
    - result.get_raw_id_token
    - result.get_access_token_expiry_time
    - params.set_requested_scopes
    - threading.Event
    - logger.warning
    - msal.broker._convert_result
    - <builtin>.str
    - kwargs.get
    - time.time
    - msal.broker._enable_msa_pt
    - result.get_error
    - msal.broker._get_new_correlation_id
    - pymsalruntime.MSALRuntimeAuthParameters
    - error.get_tag
    - pymsalruntime.get_desktop_window
    - pymsalruntime.signin_interactively
    - params.set_decoded_claims
    - result.get_id_token
    - error.get_error_code
    - account.get_client_info
    - account.get_account_id
    - json.loads
    - msal.broker._convert_error
    - uuid.uuid4
    - result.get_access_token
    - msal.broker._CallbackData.__init__
    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 0x7f07e09f1be0>
    argNames:
    - self
    - scopes
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1930
    functionName: msal.application.PublicClientApplication.initiate_device_flow
    functionSourceFile: msal.application
    functionUses: 0
    functionsReached:
    - <builtin>.str
    - msal.application.ClientApplication._decorate_scope
    - <builtin>.list
    - <builtin>.isinstance
    - msal.telemetry._get_new_correlation_id
    - <builtin>.set
    - uuid.uuid4
    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 0x7f07e09fc4f0>
    argNames:
    - self
    - flow
    - claims_challenge
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1949
    functionName: msal.application.PublicClientApplication.acquire_token_by_device_flow
    functionSourceFile: msal.application
    functionUses: 0
    functionsReached:
    - telemetry_context.update_telemetry
    - msal.application.ClientApplication._build_telemetry_context
    - flow.get
    - <builtin>.isinstance
    - <builtin>.dict
    - claims_dict.setdefault
    - msal.application._clean_up
    - json.loads
    - json.dumps
    - kwargs.pop
    - msal.application._merge_claims_challenge_and_capabilities
    - k.startswith
    - msal.telemetry._TelemetryContext
    - telemetry_context.generate_headers
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: flow.get
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f07e09fd1f0>
    argNames:
    - self
    - scopes
    - claims_challenge
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 1989
    functionName: msal.application.ConfidentialClientApplication.acquire_token_for_client
    functionSourceFile: msal.application
    functionUses: 0
    functionsReached:
    - telemetry_context.update_telemetry
    - client.obtain_token_for_client
    - kwargs.get
    - msal.application.ClientApplication._validate_ssh_cert_input_data
    - data.get
    - warnings.warn
    - <builtin>.dict
    - claims_dict.setdefault
    - msal.application._clean_up
    - json.loads
    - <builtin>.isinstance
    - json.dumps
    - kwargs.pop
    - msal.application.ClientApplication._build_telemetry_context
    - msal.application._merge_claims_challenge_and_capabilities
    - k.startswith
    - msal.telemetry._TelemetryContext
    - telemetry_context.generate_headers
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: client.obtain_token_for_client
    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:
    - <ast.Constant object at 0x7f07e09f4310>
    argNames:
    - self
    - user_assertion
    - scopes
    - claims_challenge
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 2026
    functionName: msal.application.ConfidentialClientApplication.acquire_token_on_behalf_of
    functionSourceFile: msal.application
    functionUses: 0
    functionsReached:
    - telemetry_context.update_telemetry
    - msal.application.ClientApplication._decorate_scope
    - <builtin>.list
    - <builtin>.isinstance
    - <builtin>.set
    - claims_dict.setdefault
    - <builtin>.dict
    - msal.application._clean_up
    - json.loads
    - json.dumps
    - kwargs.pop
    - msal.application.ClientApplication._build_telemetry_context
    - msal.application._merge_claims_challenge_and_capabilities
    - k.startswith
    - msal.telemetry._TelemetryContext
    - telemetry_context.generate_headers
    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: msal.broker
    functionSourceFile: msal.broker
    functionUses: 0
    functionsReached:
    - pymsalruntime.register_logging_callback
    - 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: msal.broker.<lambda1>
    functionSourceFile: msal.broker
    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: pymsalruntime.register_logging_callback
    functionSourceFile: pymsalruntime
    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: 40
    functionName: msal.broker._CallbackData.__init__
    functionSourceFile: msal.broker
    functionUses: 12
    functionsReached:
    - threading.Event
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - result
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 44
    functionName: msal.broker._CallbackData.complete
    functionSourceFile: msal.broker
    functionUses: 5
    functionsReached:
    - threading.Event.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: threading.Event.set
    functionSourceFile: threading
    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:
    - error
    - client_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 49
    functionName: msal.broker._convert_error
    functionSourceFile: msal.broker
    functionUses: 12
    functionsReached:
    - error.get_error_code
    - error.get_tag
    - error.get_context
    - error.get_status
    linkageType: pythonLinkage
    raised:
    - RedirectUriError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: error.get_context
    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: error.get_status
    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: error.get_error_code
    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: error.get_tag
    functionSourceFile: <builtin>
    functionUses: 13
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - account_id
    - correlation_id
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 73
    functionName: msal.broker._read_account_by_id
    functionSourceFile: msal.broker
    functionUses: 8
    functionsReached:
    - threading.Event.wait
    - callback_data.result.get_account
    - pymsalruntime.read_account_by_id
    - threading.Event
    - callback_data.result.get_error
    - msal.broker._CallbackData.__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: 2
    functionLinenumber: -1
    functionName: msal.broker._read_account_by_id.<lambda1>
    functionSourceFile: msal.broker
    functionUses: 0
    functionsReached:
    - threading.Event.set
    - msal.broker._CallbackData.complete
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pymsalruntime.read_account_by_id
    functionSourceFile: pymsalruntime
    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: threading.Event.wait
    functionSourceFile: threading
    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: callback_data.result.get_error
    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: callback_data.result.get_account
    functionSourceFile: <builtin>
    functionUses: 9
    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 0x7f07e03be820>
    argNames:
    - result
    - client_id
    - expected_token_type
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 86
    functionName: msal.broker._convert_result
    functionSourceFile: msal.broker
    functionUses: 9
    functionsReached:
    - result.get_account
    - result.get_id_token
    - account.get_client_info
    - error.get_error_code
    - error.get_context
    - time.time
    - account.get_account_id
    - json.loads
    - <builtin>.int
    - result.get_raw_id_token
    - result.get_error
    - result.get_access_token_expiry_time
    - result.get_granted_scopes
    - msal.broker._convert_error
    - result.get_access_token
    - error.get_tag
    - error.get_status
    linkageType: pythonLinkage
    raised:
    - TokenTypeError
    returnType: N/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.get_error
    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: result.get_id_token
    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: result.get_account
    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: result.get_access_token
    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: result.get_access_token_expiry_time
    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: result.get_raw_id_token
    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: account.get_client_info
    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: account.get_account_id
    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: result.get_granted_scopes
    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: 113
    functionName: msal.broker._get_new_correlation_id
    functionSourceFile: msal.broker
    functionUses: 11
    functionsReached:
    - uuid.uuid4
    - <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: uuid.uuid4
    functionSourceFile: uuid
    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:
    - params
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 117
    functionName: msal.broker._enable_msa_pt
    functionSourceFile: msal.broker
    functionUses: 5
    functionsReached:
    - params.set_additional_parameter
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.set_additional_parameter
    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: pymsalruntime.MSALRuntimeAuthParameters
    functionSourceFile: pymsalruntime
    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: params.set_requested_scopes
    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: params.set_decoded_claims
    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: kwargs.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: 2
    functionLinenumber: -1
    functionName: msal.broker._signin_silently.<lambda1>
    functionSourceFile: msal.broker
    functionUses: 0
    functionsReached:
    - threading.Event.set
    - msal.broker._CallbackData.complete
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pymsalruntime.signin_silently
    functionSourceFile: pymsalruntime
    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: params.set_redirect_uri
    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: pymsalruntime.get_console_window
    functionSourceFile: pymsalruntime
    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: pymsalruntime.get_desktop_window
    functionSourceFile: pymsalruntime
    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: 2
    functionLinenumber: -1
    functionName: msal.broker._signin_interactively.<lambda1>
    functionSourceFile: msal.broker
    functionUses: 0
    functionsReached:
    - threading.Event.set
    - msal.broker._CallbackData.complete
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pymsalruntime.signin_interactively
    functionSourceFile: pymsalruntime
    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: 2
    functionLinenumber: -1
    functionName: msal.broker._acquire_token_silently.<lambda1>
    functionSourceFile: msal.broker
    functionUses: 0
    functionsReached:
    - threading.Event.set
    - msal.broker._CallbackData.complete
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pymsalruntime.acquire_token_silently
    functionSourceFile: pymsalruntime
    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: -1
    functionName: msal.broker._signout_silently.<lambda1>
    functionSourceFile: msal.broker
    functionUses: 0
    functionsReached:
    - threading.Event.set
    - msal.broker._CallbackData.complete
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pymsalruntime.signout_silently
    functionSourceFile: pymsalruntime
    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: msal.telemetry
    functionSourceFile: msal.telemetry
    functionUses: 0
    functionsReached:
    - logging.getLogger
    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 0x7f07e04d1910>
    - <ast.Constant object at 0x7f07e04d19a0>
    argNames:
    - self
    - buffer
    - lock
    - api_id
    - correlation_id
    - refresh_reason
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 31
    functionName: msal.telemetry._TelemetryContext.__init__
    functionSourceFile: msal.telemetry
    functionUses: 0
    functionsReached:
    - logger.debug
    - msal.telemetry._get_new_correlation_id
    - uuid.uuid4
    - <builtin>.str
    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: 39
    functionName: msal.telemetry._TelemetryContext.generate_headers
    functionSourceFile: msal.telemetry
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: 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: 58
    functionName: msal.telemetry._TelemetryContext.hit_an_access_token
    functionSourceFile: msal.telemetry
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - auth_result
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 62
    functionName: msal.telemetry._TelemetryContext.update_telemetry
    functionSourceFile: msal.telemetry
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - msal.telemetry._TelemetryContext._record_failure
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - error
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 70
    functionName: msal.telemetry._TelemetryContext._record_failure
    functionSourceFile: msal.telemetry
    functionUses: 1
    functionsReached:
    - <builtin>.len
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: msal.region
    functionSourceFile: msal.region
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - http_client
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 16
    functionName: msal.region._detect_region_of_azure_vm
    functionSourceFile: msal.region
    functionUses: 9
    functionsReached:
    - logger.info
    - http_client.get
    - resp.text.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: logger.info
    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: http_client.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: resp.text.strip
    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: msal.wstrust_request
    functionSourceFile: msal.wstrust_request
    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:
    - username
    - password
    - cloud_audience_urn
    - endpoint_address
    - soap_action
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 78
    functionName: msal.wstrust_request._build_rst
    functionSourceFile: msal.wstrust_request
    functionUses: 3
    functionsReached:
    - datetime.datetime.utcnow
    - msal.wstrust_request.wsu_time_format
    - <builtin>.str
    - msal.wstrust_request.escape_password
    - datetime_obj.strftime
    - password.replace
    - uuid.uuid4
    - datetime.timedelta
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - body
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 44
    functionName: msal.wstrust_response.parse_response
    functionSourceFile: msal.wstrust_response
    functionUses: 3
    functionsReached:
    - xml.etree.cElementTree.fromstring
    - msal.wstrust_response.parse_token_by_re
    - xml.etree.ElementTree.fromstring
    - msal.wstrust_response.parse_error
    - msal.wstrust_response.findall_content
    - dom.find
    - re.findall
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - password
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 63
    functionName: msal.wstrust_request.escape_password
    functionSourceFile: msal.wstrust_request
    functionUses: 4
    functionsReached:
    - password.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: password.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: 1
    argDefaultValues: []
    argNames:
    - datetime_obj
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 69
    functionName: msal.wstrust_request.wsu_time_format
    functionSourceFile: msal.wstrust_request
    functionUses: 4
    functionsReached:
    - datetime_obj.strftime
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_obj.strftime
    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: datetime.datetime.utcnow
    functionSourceFile: datetime
    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: datetime.timedelta
    functionSourceFile: datetime
    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: msal.wstrust_response
    functionSourceFile: msal.wstrust_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:
    - raw_response
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 86
    functionName: msal.wstrust_response.parse_token_by_re
    functionSourceFile: msal.wstrust_response
    functionUses: 4
    functionsReached:
    - re.findall
    - msal.wstrust_response.findall_content
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - body
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 51
    functionName: msal.wstrust_response.parse_error
    functionSourceFile: msal.wstrust_response
    functionUses: 4
    functionsReached:
    - xml.etree.cElementTree.fromstring
    - dom.find
    - xml.etree.ElementTree.fromstring
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: xml.etree.cElementTree.fromstring
    functionSourceFile: xml
    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: xml.etree.ElementTree.fromstring
    functionSourceFile: xml
    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: dom.find
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - xml_string
    - tag
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 58
    functionName: msal.wstrust_response.findall_content
    functionSourceFile: msal.wstrust_response
    functionUses: 5
    functionsReached:
    - 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: msal.throttled_http_client
    functionSourceFile: msal.throttled_http_client
    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:
    - raw
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 12
    functionName: msal.throttled_http_client._hash
    functionSourceFile: msal.throttled_http_client
    functionUses: 3
    functionsReached:
    - <builtin>.repr
    - hashlib.sha256
    - hashlib.sha256.hexdigest
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.sha256
    functionSourceFile: hashlib
    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: hashlib.sha256.hexdigest
    functionSourceFile: hashlib
    functionUses: 4
    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 0x7f07e04ceb50>
    argNames:
    - result
    - ignored
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 16
    functionName: msal.throttled_http_client._parse_http_429_5xx_retry_after
    functionSourceFile: msal.throttled_http_client
    functionUses: 1
    functionsReached:
    - lowercase_headers.get
    - k.lower
    - <builtin>.int
    - <builtin>.getattr
    - <builtin>.min
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: k.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: <builtin>.getattr
    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: lowercase_headers.get
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.min
    functionSourceFile: <builtin>
    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 0x7f07e04e8040>
    argNames:
    - kwargs
    - key
    - default
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 43
    functionName: msal.throttled_http_client._extract_data
    functionSourceFile: msal.throttled_http_client
    functionUses: 1
    functionsReached:
    - <builtin>.isinstance
    - data.get
    - kwargs.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f07e0928c70>
    - <ast.Constant object at 0x7f07e0928c40>
    - <ast.Constant object at 0x7f07e0928c10>
    - <ast.Constant object at 0x7f07e0928be0>
    argNames:
    - self
    - mapping
    - capacity
    - expires_in
    - lock
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 14
    functionName: msal.individual_cache._ExpiringMapping.__init__
    functionSourceFile: msal.individual_cache
    functionUses: 2
    functionsReached:
    - <builtin>.super
    - threading.Lock
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: -1
    functionName: msal.throttled_http_client.ThrottledHttpClient.__init__.<lambda1>
    functionSourceFile: msal.throttled_http_client
    functionUses: 0
    functionsReached:
    - kwargs.get
    - msal.throttled_http_client._extract_data
    - <builtin>.isinstance
    - data.get
    - hashlib.sha256
    - msal.throttled_http_client._hash
    - hashlib.sha256.hexdigest
    - <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: 2
    functionLinenumber: -1
    functionName: msal.throttled_http_client.ThrottledHttpClient.__init__.<lambda2>
    functionSourceFile: msal.throttled_http_client
    functionUses: 0
    functionsReached:
    - kwargs.get
    - <builtin>.str
    - hashlib.sha256
    - msal.throttled_http_client._hash
    - hashlib.sha256.hexdigest
    - <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: 1
    functionLinenumber: -1
    functionName: msal.throttled_http_client.ThrottledHttpClient.__init__.<lambda3>
    functionSourceFile: msal.throttled_http_client
    functionUses: 0
    functionsReached:
    - h.lower
    - kwargs.get
    - <builtin>.isinstance
    - <builtin>.set
    - <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: h.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: 2
    functionLinenumber: -1
    functionName: msal.throttled_http_client.ThrottledHttpClient.__init__.<lambda4>
    functionSourceFile: msal.throttled_http_client
    functionUses: 0
    functionsReached:
    - kwargs.get
    - hashlib.sha256
    - msal.throttled_http_client._hash
    - hashlib.sha256.hexdigest
    - <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: msal.throttled_http_client.ThrottledHttpClient.__init__.<lambda5>
    functionSourceFile: msal.throttled_http_client
    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: 138
    functionName: msal.throttled_http_client.ThrottledHttpClient.close
    functionSourceFile: msal.throttled_http_client
    functionUses: 0
    functionsReached:
    - msal.throttled_http_client.ThrottledHttpClient.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: msal.individual_cache
    functionSourceFile: msal.individual_cache
    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
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 62
    functionName: msal.individual_cache._ExpiringMapping._validate_key
    functionSourceFile: msal.individual_cache
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - key
    - value
    - expires_in
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 67
    functionName: msal.individual_cache._ExpiringMapping.set
    functionSourceFile: msal.individual_cache
    functionUses: 0
    functionsReached:
    - msal.individual_cache._ExpiringMapping._set
    - heapq.heappush
    - <builtin>.len
    - heapq.heappushpop
    - msal.individual_cache._ExpiringMapping._validate_key
    - heapq.heappop
    - time.time
    - <builtin>.int
    - msal.individual_cache._ExpiringMapping._drop_indexed_entry
    - msal.individual_cache._ExpiringMapping._maintenance
    - timestamps.pop
    - timestamps.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - key
    - value
    - expires_in
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 84
    functionName: msal.individual_cache._ExpiringMapping._set
    functionSourceFile: msal.individual_cache
    functionUses: 2
    functionsReached:
    - heapq.heappush
    - <builtin>.len
    - heapq.heappushpop
    - msal.individual_cache._ExpiringMapping._validate_key
    - heapq.heappop
    - time.time
    - <builtin>.int
    - msal.individual_cache._ExpiringMapping._drop_indexed_entry
    - msal.individual_cache._ExpiringMapping._maintenance
    - timestamps.pop
    - timestamps.get
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 5
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - sequence
    - timestamps
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 103
    functionName: msal.individual_cache._ExpiringMapping._maintenance
    functionSourceFile: msal.individual_cache
    functionUses: 5
    functionsReached:
    - <builtin>.len
    - heapq.heappop
    - time.time
    - <builtin>.int
    - msal.individual_cache._ExpiringMapping._drop_indexed_entry
    - timestamps.pop
    - timestamps.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: heapq.heappushpop
    functionSourceFile: heapq
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - timestamps
    - entry
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 116
    functionName: msal.individual_cache._ExpiringMapping._drop_indexed_entry
    functionSourceFile: msal.individual_cache
    functionUses: 6
    functionsReached:
    - timestamps.pop
    - timestamps.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: heapq.heappush
    functionSourceFile: heapq
    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: heapq.heappop
    functionSourceFile: heapq
    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: timestamps.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: timestamps.pop
    functionSourceFile: <builtin>
    functionUses: 8
    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: 4
    functionLinenumber: 123
    functionName: msal.individual_cache._ExpiringMapping.__setitem__
    functionSourceFile: msal.individual_cache
    functionUses: 0
    functionsReached:
    - msal.individual_cache._ExpiringMapping._set
    - heapq.heappush
    - <builtin>.len
    - heapq.heappushpop
    - msal.individual_cache._ExpiringMapping._validate_key
    - heapq.heappop
    - time.time
    - <builtin>.int
    - msal.individual_cache._ExpiringMapping._drop_indexed_entry
    - msal.individual_cache._ExpiringMapping._maintenance
    - timestamps.pop
    - timestamps.get
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 4
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 134
    functionName: msal.individual_cache._ExpiringMapping.__getitem__
    functionSourceFile: msal.individual_cache
    functionUses: 0
    functionsReached:
    - <builtin>.int
    - time.time
    - timestamps.pop
    - msal.individual_cache._ExpiringMapping._validate_key
    linkageType: pythonLinkage
    raised:
    - KeyError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 3
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 152
    functionName: msal.individual_cache._ExpiringMapping.__delitem__
    functionSourceFile: msal.individual_cache
    functionUses: 0
    functionsReached:
    - msal.individual_cache._ExpiringMapping._validate_key
    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: 162
    functionName: msal.individual_cache._ExpiringMapping.__len__
    functionSourceFile: msal.individual_cache
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - heapq.heappop
    - time.time
    - <builtin>.int
    - msal.individual_cache._ExpiringMapping._drop_indexed_entry
    - msal.individual_cache._ExpiringMapping._maintenance
    - timestamps.pop
    - timestamps.get
    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: 170
    functionName: msal.individual_cache._ExpiringMapping.__iter__
    functionSourceFile: msal.individual_cache
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - <builtin>.iter
    - heapq.heappop
    - time.time
    - <builtin>.int
    - msal.individual_cache._ExpiringMapping._drop_indexed_entry
    - msal.individual_cache._ExpiringMapping._maintenance
    - timestamps.pop
    - timestamps.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>.iter
    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: msal.individual_cache._IndividualCache.__init__.<lambda1>
    functionSourceFile: msal.individual_cache
    functionUses: 0
    functionsReached:
    - kwargs.items
    - <builtin>.tuple
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.tuple
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - function
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 253
    functionName: msal.individual_cache._IndividualCache.__call__
    functionSourceFile: msal.individual_cache
    functionUses: 0
    functionsReached:
    - functools.wraps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: functools.wraps
    functionSourceFile: functools
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 256
    functionName: msal.individual_cache._IndividualCache.__call__.wrapper
    functionSourceFile: msal.individual_cache
    functionUses: 0
    functionsReached:
    - <builtin>.callable
    - lowercase_headers.get
    - k.lower
    - time.time
    - <builtin>.int
    - msal.throttled_http_client._parse_http_429_5xx_retry_after
    - <builtin>.getattr
    - <builtin>.min
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.callable
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: msal.cloudshell
    functionSourceFile: msal.cloudshell
    functionUses: 0
    functionsReached:
    - logging.getLogger
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - scope
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 26
    functionName: msal.cloudshell._scope_to_resource
    functionSourceFile: msal.cloudshell
    functionUses: 0
    functionsReached:
    - urllib.parse.urlparse
    - scope.startswith
    - urlparse.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: scope.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: urllib.parse.urlparse
    functionSourceFile: urllib
    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: urlparse.urlparse
    functionSourceFile: urlparse
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.map
    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: cs_error.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: imds_payload.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: jwt_payload.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: msal.oauth2cli
    functionSourceFile: msal.oauth2cli
    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: msal.oauth2cli.assertion
    functionSourceFile: msal.oauth2cli.assertion
    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:
    - raw
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 11
    functionName: msal.oauth2cli.assertion._str2bytes
    functionSourceFile: msal.oauth2cli.assertion
    functionUses: 3
    functionsReached:
    - raw.encode
    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 0x7f07e06edbb0>
    - <ast.Constant object at 0x7f07e06eddf0>
    - <ast.Constant object at 0x7f07e06ed730>
    - <ast.Constant object at 0x7f07e06ed850>
    argNames:
    - self
    - audience
    - issuer
    - subject
    - expires_at
    - expires_in
    - issued_at
    - assertion_id
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 20
    functionName: msal.oauth2cli.assertion.AssertionCreator.create_normal_assertion
    functionSourceFile: msal.oauth2cli.assertion
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: -1
    functionName: msal.oauth2cli.assertion.AssertionCreator.create_regenerative_assertion.<lambda1>
    functionSourceFile: msal.oauth2cli.assertion
    functionUses: 1
    functionsReached:
    - msal.oauth2cli.assertion.JwtAssertionCreator.create_normal_assertion
    - jwt.encode
    - <builtin>.str
    - msal.oauth2cli.assertion._str2bytes
    - payload.update
    - raw.encode
    - time.time
    - uuid.uuid4
    - logger.exception
    - msal.oauth2cli.assertion.AssertionCreator.create_normal_assertion
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 11
    argDefaultValues:
    - <ast.Constant object at 0x7f07e04dfd90>
    - <ast.Constant object at 0x7f07e04df490>
    - <ast.Constant object at 0x7f07e04df4c0>
    - <ast.Constant object at 0x7f07e04df730>
    - <ast.Constant object at 0x7f07e04df5b0>
    - <ast.Constant object at 0x7f07e04df3d0>
    - <ast.Constant object at 0x7f07e04df2e0>
    argNames:
    - self
    - audience
    - issuer
    - subject
    - expires_at
    - expires_in
    - issued_at
    - assertion_id
    - not_before
    - additional_claims
    - kwargs
    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: 2
    functionLinenumber: 91
    functionName: msal.oauth2cli.assertion.JwtAssertionCreator.create_normal_assertion
    functionSourceFile: msal.oauth2cli.assertion
    functionUses: 2
    functionsReached:
    - jwt.encode
    - <builtin>.str
    - msal.oauth2cli.assertion._str2bytes
    - payload.update
    - raw.encode
    - time.time
    - uuid.uuid4
    - logger.exception
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.max
    functionSourceFile: <builtin>
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f07e08c9a60>
    argNames:
    - self
    - factory
    - expires_in
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 52
    functionName: msal.oauth2cli.assertion.AutoRefresher.__init__
    functionSourceFile: ''
    functionUses: 8
    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: 4
    functionLinenumber: 56
    functionName: msal.oauth2cli.assertion.AutoRefresher.__call__
    functionSourceFile: msal.oauth2cli.assertion
    functionUses: 0
    functionsReached:
    - msal.oauth2cli.assertion.JwtAssertionCreator.create_normal_assertion
    - msal.oauth2cli.assertion.AssertionCreator.create_regenerative_assertion.<lambda1>
    - jwt.encode
    - <builtin>.str
    - msal.oauth2cli.assertion._str2bytes
    - payload.update
    - raw.encode
    - logger.debug
    - time.time
    - uuid.uuid4
    - logger.exception
    - msal.oauth2cli.assertion.AssertionCreator.create_normal_assertion
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: binascii.a2b_hex
    functionSourceFile: binascii
    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: base64.urlsafe_b64encode
    functionSourceFile: base64
    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: payload.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: jwt.encode
    functionSourceFile: jwt
    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: msal.oauth2cli.oidc
    functionSourceFile: msal.oauth2cli.oidc
    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: base64.urlsafe_b64decode
    functionSourceFile: base64
    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: output.decode
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 1
    IfCount: 7
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f07e04e81f0>
    - <ast.Constant object at 0x7f07e04e8be0>
    - <ast.Constant object at 0x7f07e04e8460>
    - <ast.Constant object at 0x7f07e04e8130>
    argNames:
    - id_token
    - client_id
    - issuer
    - nonce
    - now
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 35
    functionName: msal.oauth2cli.oidc.decode_id_token
    functionSourceFile: msal.oauth2cli.oidc
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - output.decode
    - <builtin>.str
    - <builtin>.isinstance
    - decoded.get
    - time.time
    - json.loads
    - <builtin>.int
    - base64.urlsafe_b64decode
    - id_token.split
    - msal.oauth2cli.oidc.decode_part
    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: id_token.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: decoded.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: 1
    argDefaultValues: []
    argNames:
    - nonce
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 82
    functionName: msal.oauth2cli.oidc._nonce_hash
    functionSourceFile: msal.oauth2cli.oidc
    functionUses: 2
    functionsReached:
    - nonce.encode
    - hashlib.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: nonce.encode
    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:
    - <ast.Constant object at 0x7f07e04ce490>
    argNames:
    - self
    - id_token
    - nonce
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 106
    functionName: msal.oauth2cli.oidc.Client.decode_id_token
    functionSourceFile: msal.oauth2cli.oidc
    functionUses: 1
    functionsReached:
    - msal.oauth2cli.oidc.Client.decode_id_token
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - grant_type
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 112
    functionName: msal.oauth2cli.oidc.Client._obtain_token
    functionSourceFile: msal.oauth2cli.oidc
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - msal.oauth2cli.oidc.Client.decode_id_token
    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 0x7f07e03be430>
    argNames:
    - self
    - code
    - nonce
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 135
    functionName: msal.oauth2cli.oidc.Client.obtain_token_by_authorization_code
    functionSourceFile: msal.oauth2cli.oidc
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - warnings.warn
    - result.get
    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: result.get
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    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 0x7f07e1003760>
    argNames:
    - self
    - scope
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 158
    functionName: msal.oauth2cli.oidc.Client.initiate_auth_code_flow
    functionSourceFile: msal.oauth2cli.oidc
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - random.sample
    - kwargs.get
    - <builtin>.list
    - msal.oauth2cli.oidc._nonce_hash
    - hashlib.sha256
    - nonce.encode
    - _scope.append
    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: _scope.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: random.sample
    functionSourceFile: random
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - auth_code_flow
    - auth_response
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 195
    functionName: msal.oauth2cli.oidc.Client.obtain_token_by_auth_code_flow
    functionSourceFile: msal.oauth2cli.oidc
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - msal.oauth2cli.oidc._nonce_hash
    - hashlib.sha256
    - time.time
    - <builtin>.int
    - auth_code_flow.get
    - result.get
    - nonce.encode
    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: auth_code_flow.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: 9
    argDefaultValues:
    - <ast.Constant object at 0x7f07e0777340>
    - <ast.Constant object at 0x7f07e0777670>
    - <ast.Constant object at 0x7f07e07778e0>
    - <ast.Constant object at 0x7f07e0777b20>
    - <ast.Constant object at 0x7f07e0777ca0>
    - <ast.Constant object at 0x7f07e0777550>
    - <ast.Constant object at 0x7f07e0777d00>
    argNames:
    - self
    - display
    - prompt
    - max_age
    - ui_locales
    - id_token_hint
    - login_hint
    - acr_values
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 236
    functionName: msal.oauth2cli.oidc.Client.obtain_token_by_browser
    functionSourceFile: msal.oauth2cli.oidc
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - kwargs.pop
    - <builtin>.isinstance
    - <builtin>.dict
    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: 0
    functionLinenumber: -1
    functionName: msal.oauth2cli.oauth2
    functionSourceFile: msal.oauth2cli.oauth2
    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:
    - assertion
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 37
    functionName: msal.oauth2cli.oauth2.BaseClient.encode_saml_assertion
    functionSourceFile: msal.oauth2cli.oauth2
    functionUses: 0
    functionsReached:
    - base64.urlsafe_b64encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - value
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 50
    functionName: msal.oauth2cli.oauth2.BaseClient.session
    functionSourceFile: msal.oauth2cli.oauth2
    functionUses: 0
    functionsReached:
    - warnings.warn
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 12
    argDefaultValues:
    - <ast.Constant object at 0x7f07e0920fa0>
    - <ast.Constant object at 0x7f07e0920f70>
    - <ast.Constant object at 0x7f07e0920f40>
    - <ast.Constant object at 0x7f07e0920f10>
    - <ast.Constant object at 0x7f07e0920ee0>
    - <ast.Constant object at 0x7f07e0920eb0>
    - <ast.Constant object at 0x7f07e0920e80>
    - <ast.Constant object at 0x7f07e0920e50>
    - <ast.Constant object at 0x7f07e0920e20>
    argNames:
    - self
    - server_configuration
    - client_id
    - http_client
    - client_secret
    - client_assertion
    - client_assertion_type
    - default_headers
    - default_body
    - verify
    - proxies
    - timeout
    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: 1
    functionLinenumber: 55
    functionName: msal.oauth2cli.oauth2.BaseClient.__init__
    functionSourceFile: msal.oauth2cli.oauth2
    functionUses: 0
    functionsReached:
    - requests.Session
    - logging.getLogger
    - functools.partial
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - response_type
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 168
    functionName: msal.oauth2cli.oauth2.BaseClient._build_auth_request_params
    functionSourceFile: msal.oauth2cli.oauth2
    functionUses: 6
    functionsReached:
    - <builtin>.sorted
    - params.update
    - params.get
    - <builtin>.isinstance
    - params.items
    - msal.oauth2cli.oauth2.BaseClient._stringify
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - sequence
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 264
    functionName: msal.oauth2cli.oauth2.BaseClient._stringify
    functionSourceFile: msal.oauth2cli.oauth2
    functionUses: 9
    functionsReached:
    - <builtin>.sorted
    - <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: params.update
    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: params.items
    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: params.get
    functionSourceFile: <builtin>
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 6
    IfCount: 5
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f07e04dfe50>
    - <ast.Constant object at 0x7f07e04df640>
    - <ast.Constant object at 0x7f07e04df0d0>
    - <ast.Constant object at 0x7f07e04dfd60>
    argNames:
    - self
    - grant_type
    - params
    - data
    - headers
    - post
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 182
    functionName: msal.oauth2cli.oauth2.BaseClient._obtain_token
    functionSourceFile: msal.oauth2cli.oauth2
    functionUses: 1
    functionsReached:
    - <builtin>.callable
    - _headers.update
    - _data.get
    - _data.items
    - <builtin>.sorted
    - urllib.parse.quote_plus
    - base64.b64encode
    - <builtin>.isinstance
    - urllib.quote_plus
    - resp.raise_for_status
    - json.loads
    - msal.oauth2cli.oauth2.BaseClient._stringify
    - _data.update
    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: msal.oauth2cli.oauth2.BaseClient._obtain_token.<lambda1>
    functionSourceFile: msal.oauth2cli.oauth2
    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: _data.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: _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: _data.get
    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: _headers.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: urllib.parse.quote_plus
    functionSourceFile: urllib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urllib.quote_plus
    functionSourceFile: urllib
    functionUses: 2
    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 0x7f07e06ed580>
    argNames:
    - self
    - refresh_token
    - scope
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 250
    functionName: msal.oauth2cli.oauth2.BaseClient.obtain_token_by_refresh_token
    functionSourceFile: msal.oauth2cli.oauth2
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - base64.b64encode
    - <builtin>.isinstance
    - resp.raise_for_status
    - <builtin>.callable
    - _resp.pop
    - urllib.parse.quote_plus
    - data.update
    - msal.oauth2cli.oauth2.Client._obtain_token
    - _headers.update
    - _data.items
    - msal.oauth2cli.oauth2.BaseClient._obtain_token
    - msal.oauth2cli.oauth2.BaseClient._stringify
    - kwargs.pop
    - _data.get
    - resp.copy
    - data.copy
    - <builtin>.sorted
    - urllib.quote_plus
    - json.loads
    - _data.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: data.update
    functionSourceFile: <builtin>
    functionUses: 11
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 2
    IfCount: 3
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f07e06ee2b0>
    - <ast.Constant object at 0x7f07e06ee280>
    - <ast.Constant object at 0x7f07e06ee250>
    - <ast.Constant object at 0x7f07e06ee220>
    argNames:
    - self
    - grant_type
    - params
    - data
    - also_save_rt
    - on_obtaining_tokens
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 765
    functionName: msal.oauth2cli.oauth2.Client._obtain_token
    functionSourceFile: msal.oauth2cli.oauth2
    functionUses: 11
    functionsReached:
    - <builtin>.super
    - _data.get
    - _resp.pop
    - resp.copy
    - data.copy
    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: 270
    functionName: msal.oauth2cli.oauth2._scope_set
    functionSourceFile: msal.oauth2cli.oauth2
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues:
    - <ast.Constant object at 0x7f07e0f80e20>
    argNames:
    - length
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 275
    functionName: msal.oauth2cli.oauth2._generate_pkce_code_verifier
    functionSourceFile: msal.oauth2cli.oauth2
    functionUses: 4
    functionsReached:
    - hashlib.sha256
    - random.sample
    - base64.urlsafe_b64encode
    - verifier.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: verifier.encode
    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:
    - <ast.Constant object at 0x7f07e0f696a0>
    argNames:
    - self
    - scope
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 305
    functionName: msal.oauth2cli.oauth2.Client.initiate_device_flow
    functionSourceFile: msal.oauth2cli.oauth2
    functionUses: 0
    functionsReached:
    - flow.get
    - <builtin>.dict
    - time.time
    - json.loads
    - <builtin>.int
    - kwargs.pop
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - flow
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 333
    functionName: msal.oauth2cli.oauth2.Client._obtain_token_by_device_flow
    functionSourceFile: msal.oauth2cli.oauth2
    functionUses: 1
    functionsReached:
    - <builtin>.super
    - _data.get
    - _resp.pop
    - resp.copy
    - msal.oauth2cli.oauth2.Client._obtain_token
    - data.copy
    - flow.get
    - warnings.warn
    - time.time
    - data.update
    - result.get
    - kwargs.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Lambda object at 0x7f07e10032b0>
    argNames:
    - self
    - flow
    - exit_condition
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 353
    functionName: msal.oauth2cli.oauth2.Client.obtain_token_by_device_flow
    functionSourceFile: msal.oauth2cli.oauth2
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - _data.get
    - _resp.pop
    - msal.oauth2cli.oauth2.Client._obtain_token_by_device_flow
    - resp.copy
    - msal.oauth2cli.oauth2.Client.<lambda1>
    - data.copy
    - flow.get
    - warnings.warn
    - <builtin>.range
    - time.sleep
    - time.time
    - data.update
    - result.get
    - msal.oauth2cli.oauth2.Client._obtain_token
    - kwargs.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.range
    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: msal.oauth2cli.oauth2.Client.<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: time.sleep
    functionSourceFile: time
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f07e03be790>
    - <ast.Constant object at 0x7f07e03be5b0>
    - <ast.Constant object at 0x7f07e03be550>
    argNames:
    - self
    - response_type
    - redirect_uri
    - scope
    - state
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 391
    functionName: msal.oauth2cli.oauth2.Client._build_auth_request_uri
    functionSourceFile: msal.oauth2cli.oauth2
    functionUses: 5
    functionsReached:
    - urllib.parse.urlencode
    - urllib.urlencode
    - <builtin>.sorted
    - params.update
    - params.get
    - <builtin>.isinstance
    - params.items
    - msal.oauth2cli.oauth2.BaseClient._build_auth_request_params
    - msal.oauth2cli.oauth2.BaseClient._stringify
    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.urlencode
    functionSourceFile: urllib
    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: urllib.urlencode
    functionSourceFile: urllib
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f07e04e8c40>
    - <ast.Constant object at 0x7f07e04e8220>
    - <ast.Constant object at 0x7f07e04e8b50>
    argNames:
    - self
    - response_type
    - redirect_uri
    - scope
    - state
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 403
    functionName: msal.oauth2cli.oauth2.Client.build_auth_request_uri
    functionSourceFile: msal.oauth2cli.oauth2
    functionUses: 0
    functionsReached:
    - urllib.parse.urlencode
    - msal.oauth2cli.oauth2.Client._build_auth_request_uri
    - urllib.urlencode
    - <builtin>.sorted
    - params.update
    - params.get
    - <builtin>.isinstance
    - warnings.warn
    - params.items
    - msal.oauth2cli.oauth2.BaseClient._build_auth_request_params
    - msal.oauth2cli.oauth2.BaseClient._stringify
    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 0x7f07e04e89d0>
    - <ast.Constant object at 0x7f07e04e86a0>
    - <ast.Constant object at 0x7f07e04e8730>
    argNames:
    - self
    - scope
    - redirect_uri
    - state
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 421
    functionName: msal.oauth2cli.oauth2.Client.initiate_auth_code_flow
    functionSourceFile: msal.oauth2cli.oauth2
    functionUses: 3
    functionsReached:
    - random.sample
    - urllib.parse.urlencode
    - msal.oauth2cli.oauth2.Client._build_auth_request_uri
    - urllib.urlencode
    - <builtin>.sorted
    - params.update
    - params.get
    - <builtin>.isinstance
    - base64.urlsafe_b64encode
    - <builtin>.dict
    - hashlib.sha256
    - params.items
    - msal.oauth2cli.oauth2.BaseClient._build_auth_request_params
    - msal.oauth2cli.oauth2.BaseClient._stringify
    - kwargs.pop
    - verifier.encode
    - msal.oauth2cli.oauth2._generate_pkce_code_verifier
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 1
    IfCount: 7
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f07e0fd37f0>
    argNames:
    - self
    - auth_code_flow
    - auth_response
    - scope
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 489
    functionName: msal.oauth2cli.oauth2.Client.obtain_token_by_auth_code_flow
    functionSourceFile: msal.oauth2cli.oauth2
    functionUses: 2
    functionsReached:
    - <builtin>.super
    - _data.get
    - _resp.pop
    - resp.copy
    - msal.oauth2cli.oauth2.Client._obtain_token
    - data.copy
    - <builtin>.isinstance
    - <builtin>.set
    - <builtin>.dict
    - auth_response.get
    - data.update
    - auth_code_flow.get
    - msal.oauth2cli.oauth2.Client._obtain_token_by_authorization_code
    - kwargs.pop
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f07e06e3430>
    - <ast.Constant object at 0x7f07e06e3400>
    argNames:
    - self
    - code
    - redirect_uri
    - scope
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 721
    functionName: msal.oauth2cli.oauth2.Client._obtain_token_by_authorization_code
    functionSourceFile: msal.oauth2cli.oauth2
    functionUses: 4
    functionsReached:
    - <builtin>.super
    - _data.get
    - _resp.pop
    - resp.copy
    - data.copy
    - data.update
    - msal.oauth2cli.oauth2.Client._obtain_token
    - kwargs.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f07e0937790>
    - <ast.Constant object at 0x7f07e0937760>
    argNames:
    - self
    - redirect_uri
    - auth_code_receiver
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 572
    functionName: msal.oauth2cli.oauth2.Client.obtain_token_by_browser
    functionSourceFile: msal.oauth2cli.oauth2
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - msal.oauth2cli.oauth2.Client._obtain_token_by_browser
    - urllib.parse.urlunparse
    - params.get
    - <builtin>.isinstance
    - msal.application._ClientWithCcsRoutingInfo.initiate_auth_code_flow
    - msal.oauth2cli.oauth2.Client._obtain_token_by_authorization_code
    - verifier.encode
    - urllib.parse.urlencode
    - _resp.pop
    - output.decode
    - msal.oauth2cli.authcode.AuthCodeReceiver.__init__
    - msal.oauth2cli.oauth2._scope_set
    - receiver.get_port
    - auth_response.get
    - params.items
    - data.update
    - msal.oauth2cli.oauth2.Client._obtain_token
    - msal.oauth2cli.oidc.decode_part
    - msal.oauth2cli.oauth2._generate_pkce_code_verifier
    - <builtin>.len
    - msal.oauth2cli.oauth2.Client.initiate_auth_code_flow
    - msal.oauth2cli.oauth2.Client._build_auth_request_uri
    - urllib.urlencode
    - kwargs.get
    - <builtin>.str
    - params.update
    - <builtin>.set
    - base64.urlsafe_b64decode
    - msal.oauth2cli.oauth2.BaseClient._stringify
    - kwargs.pop
    - auth_code_receiver.get_auth_response
    - random.sample
    - _data.get
    - msal.application._ClientWithCcsRoutingInfo.obtain_token_by_auth_code_flow
    - resp.copy
    - data.copy
    - <builtin>.sorted
    - urllib.parse.urlparse
    - <builtin>.dict
    - base64.urlsafe_b64encode
    - hashlib.sha256
    - json.loads
    - urlparse.urlunparse
    - msal.oauth2cli.oauth2.Client.obtain_token_by_auth_code_flow
    - msal.oauth2cli.oauth2.BaseClient._build_auth_request_params
    - urlparse.urlparse
    - auth_code_flow.get
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 13
    argDefaultValues:
    - <ast.Constant object at 0x7f07e092ffa0>
    - <ast.Constant object at 0x7f07e092ff70>
    - <ast.Constant object at 0x7f07e092ff40>
    - <ast.Constant object at 0x7f07e092ff10>
    - <ast.Constant object at 0x7f07e092fee0>
    - <ast.Constant object at 0x7f07e092feb0>
    - <ast.Constant object at 0x7f07e092fe80>
    - <ast.Constant object at 0x7f07e092fe50>
    - <ast.Constant object at 0x7f07e092fe20>
    - <ast.Constant object at 0x7f07e092fdf0>
    argNames:
    - self
    - auth_code_receiver
    - scope
    - extra_scope_to_consent
    - redirect_uri
    - timeout
    - welcome_template
    - success_template
    - error_template
    - auth_params
    - auth_uri_callback
    - browser_name
    - 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
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 645
    functionName: msal.oauth2cli.oauth2.Client._obtain_token_by_browser
    functionSourceFile: msal.oauth2cli.oauth2
    functionUses: 1
    functionsReached:
    - <builtin>.super
    - params.get
    - <builtin>.isinstance
    - msal.application._ClientWithCcsRoutingInfo.initiate_auth_code_flow
    - msal.oauth2cli.oauth2.Client._obtain_token_by_authorization_code
    - verifier.encode
    - urllib.parse.urlencode
    - _resp.pop
    - output.decode
    - msal.oauth2cli.oauth2._scope_set
    - auth_response.get
    - params.items
    - data.update
    - msal.oauth2cli.oauth2.Client._obtain_token
    - msal.oauth2cli.oidc.decode_part
    - msal.oauth2cli.oauth2._generate_pkce_code_verifier
    - <builtin>.len
    - msal.oauth2cli.oauth2.Client.initiate_auth_code_flow
    - msal.oauth2cli.oauth2.Client._build_auth_request_uri
    - urllib.urlencode
    - kwargs.get
    - <builtin>.str
    - params.update
    - <builtin>.set
    - base64.urlsafe_b64decode
    - msal.oauth2cli.oauth2.BaseClient._stringify
    - kwargs.pop
    - auth_code_receiver.get_auth_response
    - random.sample
    - _data.get
    - msal.application._ClientWithCcsRoutingInfo.obtain_token_by_auth_code_flow
    - resp.copy
    - data.copy
    - <builtin>.sorted
    - base64.urlsafe_b64encode
    - <builtin>.dict
    - hashlib.sha256
    - json.loads
    - msal.oauth2cli.oauth2.Client.obtain_token_by_auth_code_flow
    - msal.oauth2cli.oauth2.BaseClient._build_auth_request_params
    - auth_code_flow.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 0x7f07e0777e20>
    - <ast.Constant object at 0x7f07e0777310>
    argNames:
    - self
    - port
    - scheduled_actions
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 133
    functionName: msal.oauth2cli.authcode.AuthCodeReceiver.__init__
    functionSourceFile: msal.oauth2cli.authcode
    functionUses: 3
    functionsReached:
    - <builtin>.sorted
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: receiver.get_port
    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: urllib.parse.urlunparse
    functionSourceFile: urllib
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urlparse.urlunparse
    functionSourceFile: urlparse
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_code_receiver.get_auth_response
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 2
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f07e092f2b0>
    argNames:
    - params
    - state
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 681
    functionName: msal.oauth2cli.oauth2.Client.parse_auth_response
    functionSourceFile: msal.oauth2cli.oauth2
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - warnings.warn
    - urllib.parse.parse_qs
    - urlparse.parse_qs
    - urlparse.parse_qs.get
    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: urlparse.parse_qs
    functionSourceFile: urlparse
    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.parse_qs
    functionSourceFile: urllib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: urlparse.parse_qs.get
    functionSourceFile: urlparse
    functionUses: 2
    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 0x7f07e06e3a00>
    - <ast.Constant object at 0x7f07e06e39d0>
    argNames:
    - self
    - code
    - redirect_uri
    - scope
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 696
    functionName: msal.oauth2cli.oauth2.Client.obtain_token_by_authorization_code
    functionSourceFile: msal.oauth2cli.oauth2
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - _data.get
    - _resp.pop
    - resp.copy
    - msal.oauth2cli.oauth2.Client._obtain_token
    - data.copy
    - warnings.warn
    - data.update
    - msal.oauth2cli.oauth2.Client._obtain_token_by_authorization_code
    - kwargs.pop
    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 0x7f07e06e6a00>
    argNames:
    - self
    - username
    - password
    - scope
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 733
    functionName: msal.oauth2cli.oauth2.Client.obtain_token_by_username_password
    functionSourceFile: msal.oauth2cli.oauth2
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - _data.get
    - _resp.pop
    - resp.copy
    - data.copy
    - data.update
    - msal.oauth2cli.oauth2.Client._obtain_token
    - kwargs.pop
    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 0x7f07e06e6310>
    argNames:
    - self
    - scope
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 740
    functionName: msal.oauth2cli.oauth2.Client.obtain_token_for_client
    functionSourceFile: msal.oauth2cli.oauth2
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - _data.get
    - _resp.pop
    - resp.copy
    - data.copy
    - data.update
    - msal.oauth2cli.oauth2.Client._obtain_token
    - kwargs.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: data.copy
    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: resp.copy
    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: _resp.pop
    functionSourceFile: <builtin>
    functionUses: 12
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f07e06d3280>
    - <ast.Lambda object at 0x7f07e06d32b0>
    - <ast.Constant object at 0x7f07e06d33d0>
    - <ast.Constant object at 0x7f07e06d3400>
    argNames:
    - self
    - token_item
    - scope
    - rt_getter
    - on_removing_rt
    - on_updating_rt
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 798
    functionName: msal.oauth2cli.oauth2.Client.obtain_token_by_refresh_token
    functionSourceFile: msal.oauth2cli.oauth2
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - msal.oauth2cli.oauth2.Client.<lambda5>
    - <builtin>.isinstance
    - resp.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: msal.oauth2cli.oauth2.Client.<lambda5>
    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: resp.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: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f07e06d12e0>
    argNames:
    - self
    - assertion
    - grant_type
    - scope
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 843
    functionName: msal.oauth2cli.oauth2.Client.obtain_token_by_assertion
    functionSourceFile: msal.oauth2cli.oauth2
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - _data.get
    - _resp.pop
    - resp.copy
    - data.copy
    - data.update
    - msal.oauth2cli.oauth2.Client._obtain_token
    - kwargs.pop
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: msal.oauth2cli.oauth2.Client.obtain_token_by_assertion.<lambda1>
    functionSourceFile: msal.oauth2cli.oauth2
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 8
    IfCount: 1
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: -1
    functionName: msal.oauth2cli.authcode
    functionSourceFile: msal.oauth2cli.authcode
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - params.get
    - <builtin>.isinstance
    - receiver.get_auth_response
    - msal.oauth2cli.oauth2.Client.__init__
    - msal.application._ClientWithCcsRoutingInfo.initiate_auth_code_flow
    - verifier.encode
    - urllib.parse.urlencode
    - logging.getLogger
    - msal.oauth2cli.authcode.AuthCodeReceiver.__init__
    - receiver.get_port
    - json.dumps
    - params.items
    - msal.oauth2cli.oauth2._generate_pkce_code_verifier
    - msal.oauth2cli.oauth2.Client.initiate_auth_code_flow
    - logging.basicConfig
    - argparse.ArgumentParser
    - msal.oauth2cli.oauth2.Client._build_auth_request_uri
    - urllib.urlencode
    - kwargs.get
    - params.update
    - args.scope.split
    - msal.oauth2cli.oauth2.BaseClient._stringify
    - kwargs.pop
    - parser.parse_args
    - random.sample
    - <builtin>.print
    - <builtin>.sorted
    - base64.urlsafe_b64encode
    - p.add_argument
    - <builtin>.dict
    - hashlib.sha256
    - msal.oauth2cli.oauth2.BaseClient._build_auth_request_params
    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 0x7f07e04a6af0>
    argNames:
    - listen_port
    - auth_uri
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 27
    functionName: msal.oauth2cli.authcode.obtain_auth_code
    functionSourceFile: msal.oauth2cli.authcode
    functionUses: 0
    functionsReached:
    - <builtin>.sorted
    - receiver.get_auth_response
    - msal.oauth2cli.authcode.AuthCodeReceiver.__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: receiver.get_auth_response
    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: 39
    functionName: msal.oauth2cli.authcode.is_wsl
    functionSourceFile: msal.oauth2cli.authcode
    functionUses: 3
    functionsReached:
    - <builtin>.getattr
    - platform.uname
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: platform.uname
    functionSourceFile: platform
    functionUses: 4
    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 0x7f07e0f34340>
    argNames:
    - auth_uri
    - browser_name
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 51
    functionName: msal.oauth2cli.authcode._browse
    functionSourceFile: msal.oauth2cli.authcode
    functionUses: 1
    functionsReached:
    - msal.oauth2cli.authcode.is_wsl
    - <builtin>.getattr
    - platform.uname
    - webbrowser.open
    - subprocess.call
    - webbrowser.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: webbrowser.open
    functionSourceFile: webbrowser
    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: subprocess.call
    functionSourceFile: subprocess
    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:
    - qs
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 74
    functionName: msal.oauth2cli.authcode._qs2kv
    functionSourceFile: msal.oauth2cli.authcode
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - <builtin>.isinstance
    - urlparse.parse_qs.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: urlparse.parse_qs.items
    functionSourceFile: urlparse
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 3
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 81
    functionName: msal.oauth2cli.authcode._AuthCodeHandler.do_GET
    functionSourceFile: msal.oauth2cli.authcode
    functionUses: 0
    functionsReached:
    - http.server.BaseHTTPRequestHandler.end_headers
    - <builtin>.len
    - http.server.BaseHTTPRequestHandler.send_response
    - http.server.BaseHTTPRequestHandler.send_header
    - http.server.BaseHTTPRequestHandler.server.welcome_page.encode
    - http.server.BaseHTTPRequestHandler.wfile.write
    - msal.oauth2cli.authcode._AuthCodeHandler._send_full_response
    - <builtin>.isinstance
    - urllib.parse.urlparse
    - logger.debug
    - urllib.parse.parse_qs
    - urlparse.parse_qs
    - http.server.BaseHTTPRequestHandler.server.welcome_page.startswith
    - template.safe_substitute
    - urlparse.urlparse
    - msal.oauth2cli.authcode._qs2kv
    - urlparse.parse_qs.items
    - urlparse.parse_qs.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: template.safe_substitute
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 4
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f07e03bee50>
    argNames:
    - self
    - body
    - is_ok
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 96
    functionName: msal.oauth2cli.authcode._AuthCodeHandler._send_full_response
    functionSourceFile: msal.oauth2cli.authcode
    functionUses: 1
    functionsReached:
    - http.server.BaseHTTPRequestHandler.end_headers
    - http.server.BaseHTTPRequestHandler.send_response
    - http.server.BaseHTTPRequestHandler.server.welcome_page.encode
    - http.server.BaseHTTPRequestHandler.send_header
    - http.server.BaseHTTPRequestHandler.wfile.write
    - http.server.BaseHTTPRequestHandler.server.welcome_page.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: http.server.BaseHTTPRequestHandler.send_response
    functionSourceFile: http
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: http.server.BaseHTTPRequestHandler.server.welcome_page.startswith
    functionSourceFile: http
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: http.server.BaseHTTPRequestHandler.send_header
    functionSourceFile: http
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: http.server.BaseHTTPRequestHandler.end_headers
    functionSourceFile: http
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: http.server.BaseHTTPRequestHandler.server.welcome_page.encode
    functionSourceFile: http
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: http.server.BaseHTTPRequestHandler.wfile.write
    functionSourceFile: http
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - format
    - args
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 103
    functionName: msal.oauth2cli.authcode._AuthCodeHandler.log_message
    functionSourceFile: msal.oauth2cli.authcode
    functionUses: 0
    functionsReached:
    - logger.debug
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - server_address
    - args
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 108
    functionName: msal.oauth2cli.authcode._AuthCodeHttpServer.__init__
    functionSourceFile: msal.oauth2cli.authcode
    functionUses: 0
    functionsReached:
    - <builtin>.super
    - msal.oauth2cli.authcode.is_wsl
    - platform.uname
    - <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: 118
    functionName: msal.oauth2cli.authcode._AuthCodeHttpServer.handle_timeout
    functionSourceFile: msal.oauth2cli.authcode
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 168
    functionName: msal.oauth2cli.authcode.AuthCodeReceiver.get_port
    functionSourceFile: msal.oauth2cli.authcode
    functionUses: 1
    functionsReached: []
    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 0x7f07e04ceee0>
    argNames:
    - self
    - timeout
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 173
    functionName: msal.oauth2cli.authcode.AuthCodeReceiver.get_auth_response
    functionSourceFile: msal.oauth2cli.authcode
    functionUses: 0
    functionsReached:
    - t.start
    - t.is_alive
    - time.time
    - time.sleep
    - threading.Thread
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.is_alive
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 8
    IfCount: 5
    argCount: 10
    argDefaultValues:
    - <ast.Constant object at 0x7f07e0920b20>
    - <ast.Constant object at 0x7f07e0920ac0>
    - <ast.Constant object at 0x7f07e0920b50>
    - <ast.Constant object at 0x7f07e0920bb0>
    - <ast.Constant object at 0x7f07e0920be0>
    - <ast.Constant object at 0x7f07e0920b80>
    - <ast.Constant object at 0x7f07e0920c10>
    - <ast.Constant object at 0x7f07e0920d00>
    argNames:
    - self
    - result
    - auth_uri
    - timeout
    - state
    - welcome_template
    - success_template
    - error_template
    - auth_uri_callback
    - browser_name
    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: 242
    functionName: msal.oauth2cli.authcode.AuthCodeReceiver._get_auth_response
    functionSourceFile: msal.oauth2cli.authcode
    functionUses: 0
    functionsReached:
    - msal.oauth2cli.authcode.is_wsl
    - logger.debug
    - result.update
    - logger.info
    - msal.oauth2cli.authcode.AuthCodeReceiver.get_port
    - msal.oauth2cli.authcode._browse
    - platform.uname
    - webbrowser.open
    - string.Template
    - subprocess.call
    - <builtin>.getattr
    - string.Template.safe_substitute
    - logger.exception
    - webbrowser.get
    - logger.warning
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.safe_substitute
    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: result.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: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 296
    functionName: msal.oauth2cli.authcode.AuthCodeReceiver.close
    functionSourceFile: msal.oauth2cli.authcode
    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: 301
    functionName: msal.oauth2cli.authcode.AuthCodeReceiver.__enter__
    functionSourceFile: msal.oauth2cli.authcode
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - self
    - exc_type
    - exc_val
    - exc_tb
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 304
    functionName: msal.oauth2cli.authcode.AuthCodeReceiver.__exit__
    functionSourceFile: msal.oauth2cli.authcode
    functionUses: 0
    functionsReached:
    - msal.oauth2cli.authcode.AuthCodeReceiver.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: logging.basicConfig
    functionSourceFile: logging
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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: p.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.parse_args
    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.scope.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>.print
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: msal.authority
    functionSourceFile: msal.authority
    functionUses: 0
    functionsReached:
    - <builtin>.set
    - 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
    - instance
    - tenant
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 35
    functionName: msal.authority.AuthorityBuilder.__init__
    functionSourceFile: msal.authority
    functionUses: 0
    functionsReached:
    - instance.rstrip
    - tenant.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: instance.rstrip
    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: tenant.strip
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 43
    functionName: msal.authority.AuthorityBuilder.__str__
    functionSourceFile: msal.authority
    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: msal.authority.Authority
    functionSourceFile: msal.authority
    functionUses: 0
    functionsReached:
    - <builtin>.set
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 1
    argDefaultValues: []
    argNames:
    - authority_or_auth_endpoint
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 148
    functionName: msal.authority.canonicalize
    functionSourceFile: msal.authority
    functionUses: 10
    functionsReached:
    - <builtin>.len
    - urllib.parse.urlparse.path.split
    - urllib.parse.urlparse
    - urllib.parse.urlparse.hostname.endswith
    - urlparse.urlparse
    - urllib.parse.urlparse.hostname.rsplit
    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: tenant.lower
    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: authority.path.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: <builtin>.any
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 4
    argDefaultValues: []
    argNames:
    - url
    - http_client
    - instance_discovery_endpoint
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 171
    functionName: msal.authority._instance_discovery
    functionSourceFile: msal.authority
    functionUses: 10
    functionsReached:
    - json.loads
    - msal.individual_cache._IndividualCache.__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: payload.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: authority._replace
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - tenant_discovery_endpoint
    - http_client
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 178
    functionName: msal.authority.tenant_discovery
    functionSourceFile: msal.authority
    functionUses: 10
    functionsReached:
    - json.loads
    - resp.raise_for_status
    - msal.individual_cache._IndividualCache.__init__
    linkageType: pythonLinkage
    raised:
    - RuntimeError
    - 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: openid_config.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: urllib.parse.urlparse.path.split
    functionSourceFile: urllib
    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.urlparse.hostname.endswith
    functionSourceFile: urllib
    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.urlparse.hostname.rsplit
    functionSourceFile: urllib
    functionUses: 11
    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: msal.oauth2cli.http
    functionSourceFile: msal.oauth2cli.http
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 6
    argDefaultValues:
    - <ast.Constant object at 0x7f07e0fb2e20>
    - <ast.Constant object at 0x7f07e0fb2970>
    - <ast.Constant object at 0x7f07e0fb2bb0>
    argNames:
    - self
    - url
    - params
    - data
    - headers
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 11
    functionName: msal.oauth2cli.http.HttpClient.post
    functionSourceFile: msal.oauth2cli.http
    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 0x7f07e0fb2be0>
    - <ast.Constant object at 0x7f07e0fb2910>
    argNames:
    - self
    - url
    - params
    - headers
    - kwargs
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 28
    functionName: msal.oauth2cli.http.HttpClient.get
    functionSourceFile: msal.oauth2cli.http
    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: msal.oauth2cli.http.Response.raise_for_status
    functionSourceFile: msal.oauth2cli.http
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - resp
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 71
    functionName: msal.oauth2cli.http._get_status_code
    functionSourceFile: msal.oauth2cli.http
    functionUses: 0
    functionsReached:
    - <builtin>.getattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  Function list name: All functions
Function coverage:
  '...fuzz_tokencache':
  - 19
  - 92
  - 93
  '...fuzz_tokencache.TestInput':
  - 64
  - 52
  - 84
  - 55
  - 56
  - 57
  - 59
  - 60
  - 61
  '...fuzz_tokencache.build_response':
  - 32
  - 33
  - 36
  - 37
  - 42
  '...fuzz_tokencache.build_token':
  - 24
  '...fuzz_tokencache.is_expected':
  - 46
  - 47
  '...fuzz_tokencache.main':
  - 88
  - 89
  - 90
  msal.application:
  - 30
  msal.application.ClientApplication.__init__:
  - 516
  - 521
  - 522
  - 523
  - 524
  - 534
  - 535
  - 544
  - 547
  - 554
  - 555
  - 556
  - 559
  - 566
  - 183
  - 569
  - 571
  - 574
  - 578
  - 496
  - 500
  - 501
  - 506
  - 511
  msal.application.ClientApplication._acquire_token_by_cloud_shell:
  - 1185
  - 1180
  - 1182
  - 1183
  msal.application.ClientApplication._acquire_token_by_username_password_federated:
  - 1633
  - 1638
  - 1639
  - 1641
  - 1642
  - 1662
  - 1644
  - 1645
  - 1646
  - 1649
  - 1654
  - 1655
  - 1658
  - 1660
  - 1629
  - 1630
  msal.application.ClientApplication._acquire_token_by_username_password_federated.<lambda1>:
  - 1662
  msal.application.ClientApplication._acquire_token_silent_by_finding_rt_belongs_to_me_or_my_family:
  - 1440
  - 1444
  - 1445
  - 1414
  - 1417
  - 1418
  - 1424
  - 1426
  - 1427
  - 1428
  - 1433
  - 1436
  - 1437
  - 1438
  msal.application.ClientApplication._acquire_token_silent_by_finding_rt_belongs_to_me_or_my_family.<lambda2>:
  - 1431
  msal.application.ClientApplication._acquire_token_silent_by_finding_specific_refresh_token:
  - 1459
  - 1463
  - 1466
  - 1468
  - 1471
  - 1474
  - 1477
  - 1479
  - 1480
  - 1481
  - 1482
  - 1483
  - 1484
  - 1485
  - 1486
  - 1489
  - 1496
  - 1497
  - 1498
  - 1501
  - 1502
  - 1504
  - 1505
  - 1506
  - 1508
  msal.application.ClientApplication._acquire_token_silent_by_finding_specific_refresh_token.<lambda1>:
  - 1477
  msal.application.ClientApplication._acquire_token_silent_by_finding_specific_refresh_token.<lambda4>:
  - 1489
  msal.application.ClientApplication._acquire_token_silent_from_cache_and_possibly_refresh_it:
  - 1331
  - 1336
  - 1338
  - 1339
  - 1341
  - 1345
  - 1347
  - 1348
  - 1349
  - 1352
  - 1358
  - 1361
  - 1367
  - 1368
  - 1369
  - 1371
  - 1373
  - 1374
  - 1378
  - 1382
  - 1383
  - 1385
  - 1386
  - 1390
  - 1394
  msal.application.ClientApplication._build_client:
  - 644
  - 646
  - 649
  - 654
  - 658
  - 659
  - 660
  - 665
  - 666
  - 667
  - 668
  - 670
  - 672
  - 673
  - 683
  - 685
  - 693
  - 699
  - 701
  - 702
  - 708
  - 710
  - 718
  msal.application.ClientApplication._build_client.<lambda1>:
  - 693
  msal.application.ClientApplication._build_client.<lambda2>:
  - 718
  msal.application.ClientApplication._build_telemetry_context:
  - 601
  msal.application.ClientApplication._decorate_scope:
  - 585
  - 586
  - 597
  - 583
  msal.application.ClientApplication._find_msal_accounts:
  - 1088
  - 1090
  - 1092
  - 1093
  - 1094
  - 1097
  - 1098
  - 1099
  - 1101
  - 1106
  - 1087
  msal.application.ClientApplication._forget_me:
  - 1167
  - 1171
  - 1173
  - 1174
  - 1176
  msal.application.ClientApplication._get_app_metadata:
  - 1449
  msal.application.ClientApplication._get_authority_aliases:
  - 1122
  - 1124
  - 1125
  - 1126
  - 1116
  - 1118
  msal.application.ClientApplication._get_instance_metadata:
  - 1112
  - 1113
  - 1109
  msal.application.ClientApplication._get_regional_authority:
  - 608
  - 610
  - 611
  - 616
  - 617
  - 618
  - 627
  - 628
  - 629
  - 606
  msal.application.ClientApplication._process_broker_response:
  - 1400
  - 1402
  - 1408
  - 1399
  msal.application.ClientApplication._sign_out:
  - 1152
  - 1154
  - 1155
  - 1163
  - 1144
  - 1146
  - 1151
  msal.application.ClientApplication._validate_ssh_cert_input_data:
  - 1520
  - 1513
  - 1514
  msal.application.ClientApplication.acquire_token_by_auth_code_flow:
  - 960
  - 963
  - 964
  - 965
  - 966
  - 967
  - 969
  - 971
  - 909
  - 957
  - 958
  msal.application.ClientApplication.acquire_token_by_authorization_code:
  - 1025
  - 1026
  - 1027
  - 1030
  - 1031
  - 1033
  - 1035
  - 1036
  - 1037
  - 1038
  - 1039
  - 1043
  - 985
  msal.application.ClientApplication.acquire_token_by_refresh_token:
  - 1559
  - 1549
  - 1550
  - 1553
  - 1555
  - 1556
  - 1557
  - 1527
  - 1561
  msal.application.ClientApplication.acquire_token_by_username_password:
  - 1601
  - 1603
  - 1604
  - 1606
  - 1607
  - 1608
  - 1609
  - 1623
  - 1611
  - 1612
  - 1616
  - 1586
  - 1618
  - 1588
  - 1590
  - 1591
  - 1566
  msal.application.ClientApplication.acquire_token_silent:
  - 1201
  - 1226
  msal.application.ClientApplication.acquire_token_silent_with_error:
  - 1280
  - 1312
  - 1285
  - 1288
  - 1289
  - 1274
  - 1307
  - 1297
  - 1270
  - 1271
  - 1272
  - 1273
  - 1239
  - 1302
  - 1308
  - 1311
  msal.application.ClientApplication.get_accounts:
  - 1059
  - 1060
  - 1061
  - 1062
  - 1063
  - 1065
  - 1067
  - 1069
  - 1070
  - 1071
  - 1047
  msal.application.ClientApplication.get_authorization_request_url:
  - 896
  - 900
  - 837
  - 903
  - 876
  - 877
  - 878
  - 882
  - 888
  - 892
  - 895
  msal.application.ClientApplication.initiate_auth_code_flow:
  - 736
  - 808
  - 812
  - 815
  - 817
  msal.application.ClientApplication.remove_account:
  - 1131
  - 1132
  - 1133
  - 1135
  - 1136
  - 1137
  msal.application.ConfidentialClientApplication.acquire_token_for_client:
  - 2017
  - 2018
  - 2019
  - 2020
  - 1990
  - 2023
  - 2006
  - 2007
  - 2011
  - 2012
  - 2015
  msal.application.ConfidentialClientApplication.acquire_token_on_behalf_of:
  - 2052
  - 2056
  - 2059
  - 2027
  - 2065
  - 2066
  - 2068
  - 2070
  - 2073
  msal.application.PublicClientApplication:
  - 1673
  msal.application.PublicClientApplication.__init__:
  - 1676
  - 1678
  msal.application.PublicClientApplication._acquire_token_interactive_via_broker:
  - 1928
  - 1855
  - 1856
  - 1857
  - 1863
  - 1864
  - 1865
  - 1866
  - 1867
  - 1874
  - 1875
  - 1877
  - 1878
  - 1879
  - 1886
  - 1890
  - 1893
  - 1894
  - 1895
  - 1896
  - 1903
  - 1905
  - 1909
  - 1913
  - 1915
  - 1916
  - 1917
  msal.application.PublicClientApplication.acquire_token_by_device_flow:
  - 1968
  - 1970
  - 1971
  - 1973
  - 1974
  - 1978
  - 1981
  - 1950
  - 1983
  msal.application.PublicClientApplication.acquire_token_interactive:
  - 1792
  - 1793
  - 1795
  - 1796
  - 1802
  - 1803
  - 1806
  - 1818
  - 1819
  - 1821
  - 1822
  - 1695
  - 1824
  - 1835
  - 1836
  - 1837
  - 1839
  - 1774
  - 1775
  - 1785
  - 1786
  - 1787
  - 1788
  - 1789
  msal.application.PublicClientApplication.initiate_device_flow:
  - 1931
  - 1941
  - 1942
  - 1943
  msal.application._ClientWithCcsRoutingInfo.initiate_auth_code_flow:
  - 125
  - 127
  msal.application._ClientWithCcsRoutingInfo.obtain_token_by_auth_code_flow:
  - 134
  - 135
  - 136
  - 137
  - 138
  - 139
  - 141
  - 142
  msal.application._ClientWithCcsRoutingInfo.obtain_token_by_username_password:
  - 146
  - 147
  - 148
  msal.application._clean_up:
  - 73
  - 69
  msal.application._merge_claims_challenge_and_capabilities:
  - 52
  - 54
  - 55
  - 56
  - 57
  msal.application._preferred_browser:
  - 98
  - 105
  - 106
  - 109
  - 110
  - 79
  - 114
  - 83
  - 115
  - 91
  msal.application._str2bytes:
  - 63
  msal.application.extract_certs:
  - 36
  - 39
  - 40
  - 43
  - 46
  msal.authority:
  - 9
  - 18
  msal.authority.Authority:
  - 48
  - 53
  msal.authority.Authority.__init__:
  - 128
  - 129
  - 60
  - 74
  - 75
  - 76
  - 77
  - 78
  - 79
  - 80
  - 81
  - 82
  - 85
  - 90
  - 92
  - 93
  - 97
  - 107
  - 108
  - 109
  - 115
  - 125
  msal.authority.Authority.user_realm_discovery:
  - 135
  - 136
  - 137
  - 141
  - 142
  - 143
  - 144
  msal.authority.AuthorityBuilder.__init__:
  - 40
  - 41
  - 36
  msal.authority.AuthorityBuilder.__str__:
  - 44
  msal.authority._instance_discovery:
  - 176
  - 172
  msal.authority.canonicalize:
  - 161
  - 150
  - 151
  - 152
  - 153
  - 154
  - 156
  - 158
  msal.authority.tenant_discovery:
  - 192
  - 180
  - 181
  - 182
  - 183
  msal.broker:
  - 1
  - 11
  - 14
  msal.broker.<lambda1>:
  - 14
  msal.broker._CallbackData.__init__:
  - 41
  msal.broker._CallbackData.complete:
  - 45
  msal.broker._acquire_token_silently:
  - 196
  - 197
  - 198
  - 199
  - 200
  - 202
  - 203
  - 204
  - 205
  - 206
  - 207
  - 208
  - 209
  - 210
  - 214
  - 215
  - 216
  - 217
  msal.broker._acquire_token_silently.<lambda1>:
  - 214
  msal.broker._convert_error:
  - 64
  - 66
  - 67
  - 68
  - 69
  - 50
  - 51
  msal.broker._convert_result:
  - 96
  - 97
  - 99
  - 100
  - 103
  - 104
  - 107
  - 108
  - 109
  - 87
  - 88
  - 89
  - 90
  - 91
  - 94
  - 95
  msal.broker._enable_msa_pt:
  - 118
  msal.broker._get_new_correlation_id:
  - 114
  msal.broker._read_account_by_id:
  - 74
  - 75
  - 76
  - 79
  - 81
  - 82
  msal.broker._read_account_by_id.<lambda1>:
  - 79
  msal.broker._signin_interactively:
  - 153
  - 154
  - 155
  - 157
  - 158
  - 159
  - 166
  - 168
  - 169
  - 171
  - 172
  - 173
  - 174
  - 175
  - 176
  - 177
  - 178
  - 179
  - 180
  - 181
  - 183
  - 185
  - 186
  - 187
  - 188
  msal.broker._signin_interactively.<lambda1>:
  - 185
  msal.broker._signin_silently:
  - 128
  - 129
  - 130
  - 131
  - 132
  - 133
  - 134
  - 135
  - 137
  - 138
  - 139
  - 140
  - 141
  - 125
  - 126
  - 127
  msal.broker._signin_silently.<lambda1>:
  - 138
  msal.broker._signout_silently:
  - 224
  - 225
  - 227
  - 228
  - 232
  - 233
  - 234
  - 235
  - 236
  - 221
  - 222
  - 223
  msal.broker._signout_silently.<lambda1>:
  - 232
  msal.cloudshell:
  - 19
  - 6
  msal.cloudshell._is_running_in_cloud_shell:
  - 23
  msal.cloudshell._obtain_token:
  - 41
  - 43
  - 45
  - 48
  - 49
  - 50
  - 51
  - 52
  - 53
  - 55
  - 59
  - 60
  - 62
  - 63
  - 66
  - 69
  - 76
  - 87
  - 90
  - 94
  - 95
  - 103
  - 104
  - 108
  - 109
  - 111
  - 119
  msal.cloudshell._scope_to_resource:
  - 32
  - 34
  - 35
  - 36
  - 31
  msal.individual_cache._ExpiringMapping.__delitem__:
  - 153
  - 154
  - 157
  - 158
  msal.individual_cache._ExpiringMapping.__getitem__:
  - 135
  - 136
  - 139
  - 141
  - 142
  - 143
  - 144
  msal.individual_cache._ExpiringMapping.__init__:
  - 16
  - 56
  - 60
  msal.individual_cache._ExpiringMapping.__iter__:
  - 176
  - 171
  - 173
  - 174
  msal.individual_cache._ExpiringMapping.__len__:
  - 168
  - 163
  - 165
  - 166
  msal.individual_cache._ExpiringMapping.__setitem__:
  - 129
  - 124
  - 132
  msal.individual_cache._ExpiringMapping._drop_indexed_entry:
  - 120
  - 121
  - 117
  - 119
  msal.individual_cache._ExpiringMapping._maintenance:
  - 104
  - 105
  - 108
  - 110
  - 111
  - 112
  - 113
  - 114
  msal.individual_cache._ExpiringMapping._set:
  - 96
  - 98
  - 87
  - 88
  - 89
  - 90
  - 94
  - 95
  msal.individual_cache._ExpiringMapping._validate_key:
  - 63
  msal.individual_cache._ExpiringMapping.set:
  - 72
  - 82
  msal.individual_cache._IndividualCache.__call__:
  - 255
  msal.individual_cache._IndividualCache.__call__.wrapper:
  - 257
  - 258
  - 259
  - 261
  - 269
  - 271
  - 276
  - 277
  - 279
  - 282
  msal.individual_cache._IndividualCache.__init__:
  - 185
  - 243
  msal.individual_cache._IndividualCache.__init__.<lambda1>:
  - 249
  msal.oauth2cli.assertion:
  - 8
  msal.oauth2cli.assertion.AssertionCreator.create_normal_assertion:
  - 23
  msal.oauth2cli.assertion.AssertionCreator.create_regenerative_assertion:
  - 33
  - 41
  - 38
  - 39
  msal.oauth2cli.assertion.AssertionCreator.create_regenerative_assertion.<lambda1>:
  - 40
  msal.oauth2cli.assertion.AutoRefresher:
  - 45
  msal.oauth2cli.assertion.AutoRefresher.__call__:
  - 64
  - 58
  - 59
  - 60
  - 61
  - 63
  msal.oauth2cli.assertion.JwtAssertionCreator.__init__:
  - 88
  - 89
  - 69
  - 87
  msal.oauth2cli.assertion.JwtAssertionCreator.create_normal_assertion:
  - 101
  - 108
  - 110
  - 112
  - 114
  - 116
  - 118
  - 119
  - 95
  msal.oauth2cli.assertion._str2bytes:
  - 14
  msal.oauth2cli.authcode:
  - 320
  - 321
  - 2
  - 312
  - 322
  - 323
  - 324
  - 325
  - 326
  - 327
  - 328
  - 330
  - 309
  - 24
  - 313
  - 316
  - 319
  msal.oauth2cli.authcode.AuthCodeReceiver.__exit__:
  - 305
  msal.oauth2cli.authcode.AuthCodeReceiver.__init__:
  - 161
  - 165
  - 134
  msal.oauth2cli.authcode.AuthCodeReceiver._get_auth_response:
  - 257
  - 261
  - 262
  - 263
  - 264
  - 265
  - 275
  - 277
  - 279
  - 288
  - 289
  - 290
  - 291
  - 294
  - 247
  - 248
  - 249
  - 250
  - 252
  - 254
  msal.oauth2cli.authcode.AuthCodeReceiver.close:
  - 297
  - 299
  msal.oauth2cli.authcode.AuthCodeReceiver.get_auth_response:
  - 227
  - 230
  - 231
  - 232
  - 233
  - 234
  - 237
  - 174
  - 238
  - 239
  msal.oauth2cli.authcode.AuthCodeReceiver.get_port:
  - 169
  msal.oauth2cli.authcode._AuthCodeHandler._send_full_response:
  - 97
  - 98
  - 99
  - 100
  - 101
  msal.oauth2cli.authcode._AuthCodeHandler.do_GET:
  - 84
  - 85
  - 86
  - 87
  - 90
  - 91
  - 94
  msal.oauth2cli.authcode._AuthCodeHandler.log_message:
  - 104
  msal.oauth2cli.authcode._AuthCodeHttpServer.__init__:
  - 116
  - 110
  msal.oauth2cli.authcode._browse:
  - 66
  - 67
  - 52
  - 54
  - 55
  - 58
  - 61
  msal.oauth2cli.authcode._qs2kv:
  - 75
  - 76
  - 77
  msal.oauth2cli.authcode.is_wsl:
  - 45
  - 46
  - 47
  msal.oauth2cli.authcode.obtain_auth_code:
  - 28
  - 29
  msal.oauth2cli.http:
  - 1
  msal.oauth2cli.http.HttpClient:
  - 9
  msal.oauth2cli.http.HttpClient.get:
  - 29
  - 38
  msal.oauth2cli.http.HttpClient.post:
  - 26
  - 12
  msal.oauth2cli.http.Response:
  - 42
  msal.oauth2cli.http.Response.raise_for_status:
  - 67
  msal.oauth2cli.http._get_status_code:
  - 73
  msal.oauth2cli.oauth2:
  - 1
  - 23
  msal.oauth2cli.oauth2.BaseClient.__init__:
  - 161
  - 164
  - 69
  - 140
  - 149
  - 151
  - 152
  - 153
  msal.oauth2cli.oauth2.BaseClient._build_auth_request_params:
  - 173
  - 176
  - 177
  - 178
  - 179
  msal.oauth2cli.oauth2.BaseClient._obtain_token:
  - 194
  - 196
  - 197
  - 198
  - 199
  - 200
  - 204
  - 205
  - 206
  - 208
  - 209
  - 212
  - 213
  - 222
  - 223
  - 229
  - 232
  - 234
  - 238
  - 239
  - 244
  - 246
  msal.oauth2cli.oauth2.BaseClient._stringify:
  - 265
  - 266
  msal.oauth2cli.oauth2.BaseClient.encode_saml_assertion:
  - 38
  msal.oauth2cli.oauth2.BaseClient.obtain_token_by_refresh_token:
  - 259
  - 260
  - 261
  - 262
  - 252
  msal.oauth2cli.oauth2.BaseClient.session:
  - 51
  - 46
  msal.oauth2cli.oauth2.Client:
  - 291
  msal.oauth2cli.oauth2.Client.__init__:
  - 760
  msal.oauth2cli.oauth2.Client._build_auth_request_uri:
  - 401
  - 394
  - 397
  msal.oauth2cli.oauth2.Client._obtain_token:
  - 770
  - 771
  - 773
  - 774
  - 776
  - 779
  - 780
  - 781
  - 787
  - 788
  msal.oauth2cli.oauth2.Client._obtain_token_by_authorization_code:
  - 723
  - 724
  - 725
  - 727
  - 731
  msal.oauth2cli.oauth2.Client._obtain_token_by_browser:
  - 665
  - 667
  - 677
  - 663
  msal.oauth2cli.oauth2.Client._obtain_token_by_device_flow:
  - 336
  - 338
  - 339
  - 340
  - 341
  - 345
  - 347
  - 349
  msal.oauth2cli.oauth2.Client.build_auth_request_uri:
  - 416
  - 409
  - 417
  msal.oauth2cli.oauth2.Client.initiate_auth_code_flow:
  - 480
  - 484
  - 427
  - 464
  - 470
  - 474
  - 476
  msal.oauth2cli.oauth2.Client.initiate_device_flow:
  - 321
  - 323
  - 325
  - 327
  - 328
  - 329
  - 330
  - 309
  msal.oauth2cli.oauth2.Client.obtain_token_by_assertion:
  - 846
  - 856
  - 857
  - 858
  - 859
  msal.oauth2cli.oauth2.Client.obtain_token_by_auth_code_flow:
  - 546
  - 547
  - 549
  - 552
  - 556
  - 557
  - 495
  - 561
  - 532
  - 565
  - 534
  - 567
  - 540
  - 543
  msal.oauth2cli.oauth2.Client.obtain_token_by_authorization_code:
  - 698
  - 716
  - 718
  msal.oauth2cli.oauth2.Client.obtain_token_by_browser:
  - 578
  - 619
  - 620
  - 623
  - 624
  - 629
  - 630
  - 632
  - 638
  - 639
  msal.oauth2cli.oauth2.Client.obtain_token_by_device_flow:
  - 384
  - 386
  - 387
  - 389
  - 358
  - 383
  msal.oauth2cli.oauth2.Client.obtain_token_by_refresh_token:
  - 832
  - 804
  - 836
  - 837
  - 839
  - 840
  - 830
  - 831
  msal.oauth2cli.oauth2.Client.obtain_token_by_username_password:
  - 736
  - 737
  - 738
  - 735
  msal.oauth2cli.oauth2.Client.obtain_token_for_client:
  - 752
  - 741
  - 750
  - 751
  msal.oauth2cli.oauth2.Client.parse_auth_response:
  - 682
  - 688
  - 690
  - 691
  - 692
  msal.oauth2cli.oauth2._generate_pkce_code_verifier:
  - 281
  - 277
  - 278
  msal.oauth2cli.oauth2._scope_set:
  - 272
  - 271
  msal.oauth2cli.oidc.Client:
  - 101
  msal.oauth2cli.oidc.Client._obtain_token:
  - 113
  - 116
  - 117
  - 118
  msal.oauth2cli.oidc.Client.build_auth_request_uri:
  - 122
  - 131
  - 132
  msal.oauth2cli.oidc.Client.decode_id_token:
  - 107
  - 108
  - 110
  msal.oauth2cli.oidc.Client.initiate_auth_code_flow:
  - 162
  - 174
  - 178
  - 179
  - 186
  - 187
  - 188
  - 189
  - 191
  msal.oauth2cli.oidc.Client.obtain_token_by_auth_code_flow:
  - 196
  - 205
  - 207
  - 208
  - 209
  - 210
  - 215
  - 216
  - 217
  - 220
  - 222
  msal.oauth2cli.oidc.Client.obtain_token_by_authorization_code:
  - 136
  - 147
  - 149
  - 151
  - 152
  msal.oauth2cli.oidc.Client.obtain_token_by_browser:
  - 272
  - 273
  - 247
  - 281
  - 282
  msal.oauth2cli.oidc.Prompt:
  - 88
  msal.oauth2cli.oidc._nonce_hash:
  - 84
  msal.oauth2cli.oidc.decode_id_token:
  - 36
  - 71
  - 73
  - 43
  - 76
  - 45
  - 48
  - 52
  - 57
  - 58
  - 60
  msal.oauth2cli.oidc.decode_part:
  - 12
  - 23
  - 24
  - 28
  - 29
  - 30
  msal.region:
  - 4
  msal.region._detect_region:
  - 8
  - 9
  - 11
  - 12
  msal.region._detect_region_of_azure_vm:
  - 38
  - 40
  - 41
  - 44
  - 28
  - 29
  msal.telemetry:
  - 5
  msal.telemetry._TelemetryContext:
  - 23
  msal.telemetry._TelemetryContext.__init__:
  - 35
  - 37
  msal.telemetry._TelemetryContext._record_failure:
  - 73
  - 74
  - 76
  - 71
  msal.telemetry._TelemetryContext.generate_headers:
  - 41
  - 43
  - 44
  - 45
  - 47
  - 51
  - 52
  - 53
  - 54
  msal.telemetry._TelemetryContext.hit_an_access_token:
  - 60
  msal.telemetry._TelemetryContext.update_telemetry:
  - 65
  - 66
  - 68
  - 63
  msal.telemetry._get_new_correlation_id:
  - 19
  msal.throttled_http_client.ThrottledHttpClient.__init__:
  - 128
  - 67
  - 122
  - 103
  - 50
  - 83
  - 85
  - 55
  - 58
  - 124
  - 63
  msal.throttled_http_client.ThrottledHttpClient.__init__.<lambda1>:
  - 68
  - 70
  - 71
  - 72
  - 76
  - 77
  - 78
  msal.throttled_http_client.ThrottledHttpClient.__init__.<lambda2>:
  - 101
  - 85
  - 87
  msal.throttled_http_client.ThrottledHttpClient.__init__.<lambda3>:
  - 112
  - 113
  - 115
  - 116
  msal.throttled_http_client.ThrottledHttpClient.__init__.<lambda4>:
  - 124
  - 126
  msal.throttled_http_client.ThrottledHttpClient.close:
  - 139
  - 140
  msal.throttled_http_client._extract_data:
  - 44
  - 45
  msal.throttled_http_client._hash:
  - 13
  msal.throttled_http_client._parse_http_429_5xx_retry_after:
  - 33
  - 37
  - 40
  - 17
  - 25
  - 28
  msal.wstrust_request:
  - 35
  msal.wstrust_request._build_rst:
  - 79
  - 80
  - 115
  - 117
  - 118
  - 119
  msal.wstrust_request.escape_password:
  - 64
  msal.wstrust_request.send_request:
  - 40
  - 42
  - 43
  - 45
  - 47
  - 50
  - 52
  - 56
  - 57
  - 60
  msal.wstrust_request.wsu_time_format:
  - 75
  msal.wstrust_response.findall_content:
  - 59
  - 84
  msal.wstrust_response.parse_error:
  - 52
  - 53
  - 54
  - 55
  msal.wstrust_response.parse_response:
  - 48
  - 45
  - 46
  msal.wstrust_response.parse_token_by_re:
  - 87
  - 88
  - 89
  - 90
  - 93
Fuzzer filename: /src/fuzz_tokencache.py
Inheritance:
  msal.application.ClientApplication:
  - object
  msal.application.ConfidentialClientApplication:
  - ClientApplication
  msal.application.PublicClientApplication:
  - ClientApplication
  msal.application._ClientWithCcsRoutingInfo:
  - Client
  msal.authority.Authority:
  - object
  msal.authority.AuthorityBuilder:
  - object
  msal.broker.RedirectUriError:
  - ValueError
  msal.broker.TokenTypeError:
  - ValueError
  msal.broker._CallbackData: []
  msal.individual_cache._ExpiringMapping:
  - MutableMapping
  msal.individual_cache._IndividualCache:
  - object
  msal.oauth2cli.assertion.AssertionCreator:
  - object
  msal.oauth2cli.assertion.AutoRefresher:
  - object
  msal.oauth2cli.assertion.JwtAssertionCreator:
  - AssertionCreator
  msal.oauth2cli.authcode.AuthCodeReceiver:
  - object
  msal.oauth2cli.authcode._AuthCodeHandler:
  - BaseHTTPRequestHandler
  msal.oauth2cli.authcode._AuthCodeHttpServer:
  - HTTPServer
  - object
  msal.oauth2cli.authcode._AuthCodeHttpServer6:
  - _AuthCodeHttpServer
  msal.oauth2cli.http.HttpClient:
  - object
  msal.oauth2cli.http.Response:
  - object
  msal.oauth2cli.oauth2.BaseClient:
  - object
  msal.oauth2cli.oauth2.Client:
  - BaseClient
  msal.oauth2cli.oidc.Client: []
  msal.oauth2cli.oidc.Prompt:
  - object
  msal.telemetry._TelemetryContext:
  - object
  msal.throttled_http_client.ThrottledHttpClient:
  - object
ep:
  func_name: TestInput
  module: '...fuzz_tokencache'
