All classes:
- jose.backends.base.Key
- jose.backends.base.DIRKey
- jose.constants.Algorithms
- jose.constants.Zips
- jose.exceptions.JOSEError
- jose.exceptions.JWSError
- jose.exceptions.JWSSignatureError
- jose.exceptions.JWSAlgorithmError
- jose.exceptions.JWTError
- jose.exceptions.JWTClaimsError
- jose.exceptions.ExpiredSignatureError
- jose.exceptions.JWKError
- jose.exceptions.JWEError
- jose.exceptions.JWEParseError
- jose.exceptions.JWEInvalidAuth
- jose.exceptions.JWEAlgorithmUnsupportedError
- jose.backends.cryptography_backend.CryptographyECKey
- jose.backends.cryptography_backend.CryptographyRSAKey
- jose.backends.cryptography_backend.CryptographyAESKey
- jose.backends.cryptography_backend.CryptographyHMACKey
- jose.backends.native.HMACKey
- jose.backends._asn1.RsaAlgorithmIdentifier
- jose.backends._asn1.PKCS8PrivateKey
- jose.backends._asn1.PublicKeyInfo
- jose.backends.rsa_backend.RSAKey
- jose.backends.ecdsa_backend.ECDSAECKey
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_jws'
    functionSourceFile: '...fuzz_jws'
    functionUses: 0
    functionsReached:
    - atheris.Setup
    - '...fuzz_jws.main'
    - atheris.instrument_all
    - atheris.Fuzz
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 25
    functionName: '...fuzz_jws.TestOneInput'
    functionSourceFile: '...fuzz_jws'
    functionUses: 0
    functionsReached:
    - <builtin>.len
    - signing_input.split
    - jwt.encode
    - jose.jws._load
    - fdp.ConsumeIntInRange
    - json.loads
    - base64.urlsafe_b64decode
    - jwt.rsplit
    - <builtin>.isinstance
    - header_data.decode
    - jose.jws.get_unverified_header
    - atheris.FuzzedDataProvider
    - jose.jws.get_unverified_headers
    - jose.utils.base64url_decode
    - fdp.ConsumeUnicodeNoSurrogates
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.FuzzedDataProvider
    functionSourceFile: atheris
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fdp.ConsumeIntInRange
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: fdp.ConsumeUnicodeNoSurrogates
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - token
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 98
    functionName: jose.jws.get_unverified_headers
    functionSourceFile: jose.jws
    functionUses: 3
    functionsReached:
    - <builtin>.len
    - signing_input.split
    - jwt.encode
    - jose.jws._load
    - json.loads
    - base64.urlsafe_b64decode
    - jwt.rsplit
    - header_data.decode
    - <builtin>.isinstance
    - jose.jws.get_unverified_header
    - jose.utils.base64url_decode
    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: 35
    functionName: '...fuzz_jws.main'
    functionSourceFile: '...fuzz_jws'
    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.instrument_all
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.Setup
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: atheris.Fuzz
    functionSourceFile: atheris
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jose
    functionSourceFile: jose
    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: jose.jws
    functionSourceFile: jose.jws
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3ebce07610>
    - <ast.Attribute object at 0x7f3ebce075e0>
    argNames:
    - payload
    - key
    - headers
    - algorithm
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 16
    functionName: jose.jws.sign
    functionSourceFile: jose.jws
    functionUses: 1
    functionsReached:
    - header.update
    - key.startswith
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.encode
    - ecdsa.ellipticcurve.Point
    - ecdsa.ecdsa.point_is_valid
    - ALGORITHMS.SUPPORTED.union
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateNumbers
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.get
    - key_data.get
    - rsa.PrivateKey
    - jose.backends.rsa_backend._gcd
    - jose.backends.rsa_backend.RSAKey._process_jwk
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers
    - pyasn1.type.univ.Sequence.__init__
    - <builtin>.sorted
    - <builtin>.divmod
    - jose.utils.base64url_encode
    - jose.jwk.get_key
    - s.encode
    - jose.backends.cryptography_backend.CryptographyHMACKey._process_jwk
    - k.encode
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers
    - jose.backends.rsa_backend.RSAKey.__init__
    - public.public_key
    - json.dumps
    - jose.backends.native.HMACKey.__init__
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - cryptography.hazmat.primitives.serialization.load_pem_public_key
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmp1
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factors
    - pyasn1.codec.der.decoder.decode
    - jose.backends.native.HMACKey._process_jwk
    - <builtin>.bytes
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.get
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.to_pem
    - jose.backends.cryptography_backend.CryptographyECKey.__init__
    - jose.utils.int_arr_to_long
    - ecdsa.keys.SigningKey.from_secret_exponent
    - base64.urlsafe_b64decode
    - jose.jws._encode_payload
    - rsa.PublicKey
    - ecdsa.VerifyingKey.from_pem
    - jose.backends.cryptography_backend.CryptographyECKey._process_jwk
    - jose.backends._asn1.rsa_private_key_pkcs8_to_pkcs1
    - <builtin>.pow
    - private.private_key
    - jose.backends.cryptography_backend.CryptographyAESKey.__init__
    - base64.urlsafe_b64encode
    - <builtin>.all
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_cert
    - encoded_string.decode
    - <builtin>.len
    - rsa.pem.load_pem
    - rsa.PrivateKey.load_pkcs1
    - jose.backends.ecdsa_backend.ECDSAECKey.__init__
    - jose.backends.rsa_backend._legacy_private_key_pkcs8_to_pkcs1
    - data.encode
    - jose.backends.cryptography_backend.CryptographyHMACKey.__init__
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmq1
    - <builtin>.any
    - rsa.PublicKey.load_pkcs1_openssl_pem
    - jose.utils.base64url_decode
    - <builtin>.hasattr
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_iqmp
    - <builtin>.isinstance
    - cryptography.x509.load_pem_x509_certificate.public_key
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.encode
    - rsa.PublicKey.load_pkcs1
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.to_pem
    - pkcs8_key.startswith
    - jose.jwk.construct
    - key.sign
    - key.encode
    - jose.utils.base64_to_long
    - ecdsa.SigningKey.from_pem
    - cryptography.x509.load_pem_x509_certificate
    - jose.jws._encode_header
    - jose.backends.ecdsa_backend.ECDSAECKey._process_jwk
    - jose.backends.cryptography_backend.CryptographyRSAKey.__init__
    - cryptography.hazmat.backends.default_backend
    - jose.utils.ensure_binary
    - <builtin>.int
    - struct.unpack
    - jose.backends.base.DIRKey.__init__
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_jwk
    - jose.jws._sign_header_and_claims
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers
    - ecdsa.keys.VerifyingKey.from_public_point
    - jwk_dict.get
    - jose.backends.rsa_backend._rsa_recover_prime_factors
    linkageType: pythonLinkage
    raised:
    - JWSError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3ebcd3a3a0>
    argNames:
    - algorithm
    - additional_headers
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 132
    functionName: jose.jws._encode_header
    functionSourceFile: jose.jws
    functionUses: 2
    functionsReached:
    - base64.urlsafe_b64encode
    - header.update
    - jose.utils.base64url_encode
    - json.dumps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - payload
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 147
    functionName: jose.jws._encode_payload
    functionSourceFile: jose.jws
    functionUses: 2
    functionsReached:
    - base64.urlsafe_b64encode
    - jose.utils.base64url_encode
    - <builtin>.isinstance
    - json.dumps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 4
    argDefaultValues: []
    argNames:
    - encoded_header
    - encoded_claims
    - algorithm
    - key
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 160
    functionName: jose.jws._sign_header_and_claims
    functionSourceFile: jose.jws
    functionUses: 2
    functionsReached:
    - key.startswith
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.encode
    - ecdsa.ellipticcurve.Point
    - ecdsa.ecdsa.point_is_valid
    - ALGORITHMS.SUPPORTED.union
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateNumbers
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.get
    - key_data.get
    - rsa.PrivateKey
    - jose.backends.rsa_backend._gcd
    - jose.backends.rsa_backend.RSAKey._process_jwk
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers
    - pyasn1.type.univ.Sequence.__init__
    - <builtin>.sorted
    - <builtin>.divmod
    - jose.utils.base64url_encode
    - jose.jwk.get_key
    - s.encode
    - jose.backends.cryptography_backend.CryptographyHMACKey._process_jwk
    - k.encode
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers
    - jose.backends.rsa_backend.RSAKey.__init__
    - public.public_key
    - jose.backends.native.HMACKey.__init__
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - cryptography.hazmat.primitives.serialization.load_pem_public_key
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmp1
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factors
    - pyasn1.codec.der.decoder.decode
    - jose.backends.native.HMACKey._process_jwk
    - <builtin>.bytes
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.get
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.to_pem
    - jose.backends.cryptography_backend.CryptographyECKey.__init__
    - jose.utils.int_arr_to_long
    - ecdsa.keys.SigningKey.from_secret_exponent
    - base64.urlsafe_b64decode
    - rsa.PublicKey
    - ecdsa.VerifyingKey.from_pem
    - jose.backends.cryptography_backend.CryptographyECKey._process_jwk
    - jose.backends._asn1.rsa_private_key_pkcs8_to_pkcs1
    - <builtin>.pow
    - private.private_key
    - jose.backends.cryptography_backend.CryptographyAESKey.__init__
    - base64.urlsafe_b64encode
    - <builtin>.all
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_cert
    - encoded_string.decode
    - <builtin>.len
    - rsa.pem.load_pem
    - rsa.PrivateKey.load_pkcs1
    - jose.backends.ecdsa_backend.ECDSAECKey.__init__
    - jose.backends.rsa_backend._legacy_private_key_pkcs8_to_pkcs1
    - data.encode
    - jose.backends.cryptography_backend.CryptographyHMACKey.__init__
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmq1
    - <builtin>.any
    - rsa.PublicKey.load_pkcs1_openssl_pem
    - jose.utils.base64url_decode
    - <builtin>.hasattr
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_iqmp
    - <builtin>.isinstance
    - cryptography.x509.load_pem_x509_certificate.public_key
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.encode
    - rsa.PublicKey.load_pkcs1
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.to_pem
    - pkcs8_key.startswith
    - jose.jwk.construct
    - key.sign
    - key.encode
    - jose.utils.base64_to_long
    - ecdsa.SigningKey.from_pem
    - cryptography.x509.load_pem_x509_certificate
    - jose.backends.ecdsa_backend.ECDSAECKey._process_jwk
    - jose.backends.cryptography_backend.CryptographyRSAKey.__init__
    - cryptography.hazmat.backends.default_backend
    - jose.utils.ensure_binary
    - <builtin>.int
    - struct.unpack
    - jose.backends.base.DIRKey.__init__
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_jwk
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers
    - ecdsa.keys.VerifyingKey.from_public_point
    - jwk_dict.get
    - jose.backends.rsa_backend._rsa_recover_prime_factors
    linkageType: pythonLinkage
    raised:
    - JWSError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 4
    argDefaultValues:
    - <ast.Constant object at 0x7f3ebcde5d00>
    argNames:
    - token
    - key
    - algorithms
    - verify
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 52
    functionName: jose.jws.verify
    functionSourceFile: jose.jws
    functionUses: 1
    functionsReached:
    - key.startswith
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.encode
    - ecdsa.ellipticcurve.Point
    - ecdsa.ecdsa.point_is_valid
    - ALGORITHMS.SUPPORTED.union
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateNumbers
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.get
    - signing_input.split
    - key_data.get
    - jwt.rsplit
    - rsa.PrivateKey
    - jose.backends.rsa_backend._gcd
    - jose.backends.rsa_backend.RSAKey._process_jwk
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers
    - jwt.encode
    - pyasn1.type.univ.Sequence.__init__
    - <builtin>.sorted
    - <builtin>.divmod
    - jose.jwk.get_key
    - jose.jws._get_keys
    - jose.jws._verify_signature
    - s.encode
    - jose.backends.cryptography_backend.CryptographyHMACKey._process_jwk
    - header.get
    - k.encode
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers
    - json.loads
    - jose.backends.rsa_backend.RSAKey.__init__
    - public.public_key
    - jose.backends.native.HMACKey.__init__
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - cryptography.hazmat.primitives.serialization.load_pem_public_key
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmp1
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factors
    - pyasn1.codec.der.decoder.decode
    - jose.backends.native.HMACKey._process_jwk
    - <builtin>.bytes
    - jose.jws._sig_matches_keys
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.get
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.to_pem
    - jose.backends.cryptography_backend.CryptographyECKey.__init__
    - jose.utils.int_arr_to_long
    - ecdsa.keys.SigningKey.from_secret_exponent
    - base64.urlsafe_b64decode
    - rsa.PublicKey
    - key.verify
    - ecdsa.VerifyingKey.from_pem
    - jose.backends.cryptography_backend.CryptographyECKey._process_jwk
    - jose.backends._asn1.rsa_private_key_pkcs8_to_pkcs1
    - <builtin>.pow
    - private.private_key
    - jose.backends.cryptography_backend.CryptographyAESKey.__init__
    - <builtin>.all
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_cert
    - <builtin>.len
    - rsa.pem.load_pem
    - rsa.PrivateKey.load_pkcs1
    - jose.backends.ecdsa_backend.ECDSAECKey.__init__
    - jose.backends.rsa_backend._legacy_private_key_pkcs8_to_pkcs1
    - data.encode
    - jose.backends.cryptography_backend.CryptographyHMACKey.__init__
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmq1
    - <builtin>.any
    - rsa.PublicKey.load_pkcs1_openssl_pem
    - jose.utils.base64url_decode
    - <builtin>.hasattr
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_iqmp
    - key.values
    - <builtin>.isinstance
    - cryptography.x509.load_pem_x509_certificate.public_key
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.encode
    - rsa.PublicKey.load_pkcs1
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.to_pem
    - pkcs8_key.startswith
    - jose.jwk.construct
    - key.encode
    - jose.utils.base64_to_long
    - ecdsa.SigningKey.from_pem
    - cryptography.x509.load_pem_x509_certificate
    - header_data.decode
    - jose.backends.ecdsa_backend.ECDSAECKey._process_jwk
    - jose.backends.cryptography_backend.CryptographyRSAKey.__init__
    - jose.jws._load
    - cryptography.hazmat.backends.default_backend
    - jose.utils.ensure_binary
    - <builtin>.int
    - struct.unpack
    - jose.backends.base.DIRKey.__init__
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_jwk
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers
    - ecdsa.keys.VerifyingKey.from_public_point
    - jwk_dict.get
    - jose.backends.rsa_backend._rsa_recover_prime_factors
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - jwt
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 176
    functionName: jose.jws._load
    functionSourceFile: jose.jws
    functionUses: 9
    functionsReached:
    - <builtin>.len
    - signing_input.split
    - jwt.encode
    - json.loads
    - base64.urlsafe_b64decode
    - jwt.rsplit
    - <builtin>.isinstance
    - header_data.decode
    - jose.utils.base64url_decode
    linkageType: pythonLinkage
    raised:
    - JWSError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f3ebcefb910>
    - <ast.Constant object at 0x7f3ebcefb1c0>
    argNames:
    - signing_input
    - header
    - signature
    - key
    - algorithms
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 253
    functionName: jose.jws._verify_signature
    functionSourceFile: jose.jws
    functionUses: 2
    functionsReached:
    - key.startswith
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.encode
    - ecdsa.ellipticcurve.Point
    - ecdsa.ecdsa.point_is_valid
    - ALGORITHMS.SUPPORTED.union
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateNumbers
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.get
    - key_data.get
    - rsa.PrivateKey
    - jose.backends.rsa_backend._gcd
    - jose.backends.rsa_backend.RSAKey._process_jwk
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers
    - pyasn1.type.univ.Sequence.__init__
    - <builtin>.sorted
    - <builtin>.divmod
    - jose.jws._get_keys
    - jose.jwk.get_key
    - s.encode
    - jose.backends.cryptography_backend.CryptographyHMACKey._process_jwk
    - header.get
    - k.encode
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers
    - json.loads
    - jose.backends.rsa_backend.RSAKey.__init__
    - public.public_key
    - jose.backends.native.HMACKey.__init__
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - cryptography.hazmat.primitives.serialization.load_pem_public_key
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmp1
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factors
    - pyasn1.codec.der.decoder.decode
    - jose.backends.native.HMACKey._process_jwk
    - <builtin>.bytes
    - jose.jws._sig_matches_keys
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.get
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.to_pem
    - jose.backends.cryptography_backend.CryptographyECKey.__init__
    - jose.utils.int_arr_to_long
    - ecdsa.keys.SigningKey.from_secret_exponent
    - base64.urlsafe_b64decode
    - rsa.PublicKey
    - key.verify
    - ecdsa.VerifyingKey.from_pem
    - jose.backends.cryptography_backend.CryptographyECKey._process_jwk
    - jose.backends._asn1.rsa_private_key_pkcs8_to_pkcs1
    - <builtin>.pow
    - private.private_key
    - jose.backends.cryptography_backend.CryptographyAESKey.__init__
    - <builtin>.all
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_cert
    - <builtin>.len
    - rsa.pem.load_pem
    - rsa.PrivateKey.load_pkcs1
    - jose.backends.ecdsa_backend.ECDSAECKey.__init__
    - jose.backends.rsa_backend._legacy_private_key_pkcs8_to_pkcs1
    - data.encode
    - jose.backends.cryptography_backend.CryptographyHMACKey.__init__
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmq1
    - <builtin>.any
    - rsa.PublicKey.load_pkcs1_openssl_pem
    - jose.utils.base64url_decode
    - <builtin>.hasattr
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_iqmp
    - key.values
    - <builtin>.isinstance
    - cryptography.x509.load_pem_x509_certificate.public_key
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.encode
    - rsa.PublicKey.load_pkcs1
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.to_pem
    - pkcs8_key.startswith
    - jose.jwk.construct
    - key.encode
    - jose.utils.base64_to_long
    - ecdsa.SigningKey.from_pem
    - cryptography.x509.load_pem_x509_certificate
    - jose.backends.ecdsa_backend.ECDSAECKey._process_jwk
    - jose.backends.cryptography_backend.CryptographyRSAKey.__init__
    - cryptography.hazmat.backends.default_backend
    - jose.utils.ensure_binary
    - <builtin>.int
    - struct.unpack
    - jose.backends.base.DIRKey.__init__
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_jwk
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers
    - ecdsa.keys.VerifyingKey.from_public_point
    - jwk_dict.get
    - jose.backends.rsa_backend._rsa_recover_prime_factors
    linkageType: pythonLinkage
    raised:
    - JWSError
    - JWSSignatureError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - token
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 82
    functionName: jose.jws.get_unverified_header
    functionSourceFile: jose.jws
    functionUses: 5
    functionsReached:
    - <builtin>.len
    - signing_input.split
    - jwt.encode
    - jose.jws._load
    - json.loads
    - base64.urlsafe_b64decode
    - jwt.rsplit
    - header_data.decode
    - <builtin>.isinstance
    - jose.utils.base64url_decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - token
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 116
    functionName: jose.jws.get_unverified_claims
    functionSourceFile: jose.jws
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - signing_input.split
    - jwt.encode
    - jose.jws._load
    - json.loads
    - base64.urlsafe_b64decode
    - jwt.rsplit
    - header_data.decode
    - <builtin>.isinstance
    - jose.utils.base64url_decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: header.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: json.dumps
    functionSourceFile: json
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - input
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 80
    functionName: jose.utils.base64url_encode
    functionSourceFile: jose.utils
    functionUses: 16
    functionsReached:
    - base64.urlsafe_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>.isinstance
    functionSourceFile: <builtin>
    functionUses: 61
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3ebce71c40>
    argNames:
    - key_data
    - algorithm
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 63
    functionName: jose.jwk.construct
    functionSourceFile: jose.jwk
    functionUses: 13
    functionsReached:
    - key.startswith
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.encode
    - ecdsa.ellipticcurve.Point
    - ecdsa.ecdsa.point_is_valid
    - ALGORITHMS.SUPPORTED.union
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateNumbers
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.get
    - key_data.get
    - rsa.PrivateKey
    - jose.backends.rsa_backend._gcd
    - jose.backends.rsa_backend.RSAKey._process_jwk
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers
    - pyasn1.type.univ.Sequence.__init__
    - <builtin>.sorted
    - <builtin>.divmod
    - jose.jwk.get_key
    - s.encode
    - jose.backends.cryptography_backend.CryptographyHMACKey._process_jwk
    - k.encode
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers
    - jose.backends.rsa_backend.RSAKey.__init__
    - public.public_key
    - jose.backends.native.HMACKey.__init__
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - cryptography.hazmat.primitives.serialization.load_pem_public_key
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmp1
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factors
    - pyasn1.codec.der.decoder.decode
    - jose.backends.native.HMACKey._process_jwk
    - <builtin>.bytes
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.get
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.to_pem
    - jose.backends.cryptography_backend.CryptographyECKey.__init__
    - jose.utils.int_arr_to_long
    - ecdsa.keys.SigningKey.from_secret_exponent
    - base64.urlsafe_b64decode
    - rsa.PublicKey
    - ecdsa.VerifyingKey.from_pem
    - jose.backends.cryptography_backend.CryptographyECKey._process_jwk
    - jose.backends._asn1.rsa_private_key_pkcs8_to_pkcs1
    - <builtin>.pow
    - private.private_key
    - jose.backends.cryptography_backend.CryptographyAESKey.__init__
    - <builtin>.all
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_cert
    - <builtin>.len
    - rsa.pem.load_pem
    - rsa.PrivateKey.load_pkcs1
    - jose.backends.ecdsa_backend.ECDSAECKey.__init__
    - jose.backends.rsa_backend._legacy_private_key_pkcs8_to_pkcs1
    - data.encode
    - jose.backends.cryptography_backend.CryptographyHMACKey.__init__
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmq1
    - <builtin>.any
    - rsa.PublicKey.load_pkcs1_openssl_pem
    - jose.utils.base64url_decode
    - <builtin>.hasattr
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_iqmp
    - <builtin>.isinstance
    - cryptography.x509.load_pem_x509_certificate.public_key
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.encode
    - rsa.PublicKey.load_pkcs1
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.to_pem
    - pkcs8_key.startswith
    - key.encode
    - jose.utils.base64_to_long
    - ecdsa.SigningKey.from_pem
    - cryptography.x509.load_pem_x509_certificate
    - jose.backends.ecdsa_backend.ECDSAECKey._process_jwk
    - jose.backends.cryptography_backend.CryptographyRSAKey.__init__
    - cryptography.hazmat.backends.default_backend
    - jose.utils.ensure_binary
    - <builtin>.int
    - struct.unpack
    - jose.backends.base.DIRKey.__init__
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_jwk
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers
    - ecdsa.keys.VerifyingKey.from_public_point
    - jwk_dict.get
    - jose.backends.rsa_backend._rsa_recover_prime_factors
    linkageType: pythonLinkage
    raised:
    - JWKError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key.sign
    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: encoded_string.decode
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jwt.encode
    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: jwt.rsplit
    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: signing_input.split
    functionSourceFile: <builtin>
    functionUses: 10
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - input
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 65
    functionName: jose.utils.base64url_decode
    functionSourceFile: jose.utils
    functionUses: 31
    functionsReached:
    - <builtin>.len
    - base64.urlsafe_b64decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: header_data.decode
    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: json.loads
    functionSourceFile: json
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 4
    argDefaultValues: []
    argNames:
    - keys
    - signing_input
    - signature
    - alg
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 209
    functionName: jose.jws._sig_matches_keys
    functionSourceFile: jose.jws
    functionUses: 3
    functionsReached:
    - key.startswith
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.encode
    - ecdsa.ellipticcurve.Point
    - ecdsa.ecdsa.point_is_valid
    - ALGORITHMS.SUPPORTED.union
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateNumbers
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.get
    - key_data.get
    - rsa.PrivateKey
    - jose.backends.rsa_backend._gcd
    - jose.backends.rsa_backend.RSAKey._process_jwk
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers
    - pyasn1.type.univ.Sequence.__init__
    - <builtin>.sorted
    - <builtin>.divmod
    - jose.jwk.get_key
    - s.encode
    - jose.backends.cryptography_backend.CryptographyHMACKey._process_jwk
    - k.encode
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers
    - jose.backends.rsa_backend.RSAKey.__init__
    - public.public_key
    - jose.backends.native.HMACKey.__init__
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - cryptography.hazmat.primitives.serialization.load_pem_public_key
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmp1
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factors
    - pyasn1.codec.der.decoder.decode
    - jose.backends.native.HMACKey._process_jwk
    - <builtin>.bytes
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.get
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.to_pem
    - jose.backends.cryptography_backend.CryptographyECKey.__init__
    - jose.utils.int_arr_to_long
    - ecdsa.keys.SigningKey.from_secret_exponent
    - base64.urlsafe_b64decode
    - rsa.PublicKey
    - key.verify
    - ecdsa.VerifyingKey.from_pem
    - jose.backends.cryptography_backend.CryptographyECKey._process_jwk
    - jose.backends._asn1.rsa_private_key_pkcs8_to_pkcs1
    - <builtin>.pow
    - private.private_key
    - jose.backends.cryptography_backend.CryptographyAESKey.__init__
    - <builtin>.all
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_cert
    - <builtin>.len
    - rsa.pem.load_pem
    - rsa.PrivateKey.load_pkcs1
    - jose.backends.ecdsa_backend.ECDSAECKey.__init__
    - jose.backends.rsa_backend._legacy_private_key_pkcs8_to_pkcs1
    - data.encode
    - jose.backends.cryptography_backend.CryptographyHMACKey.__init__
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmq1
    - <builtin>.any
    - rsa.PublicKey.load_pkcs1_openssl_pem
    - jose.utils.base64url_decode
    - <builtin>.hasattr
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_iqmp
    - <builtin>.isinstance
    - cryptography.x509.load_pem_x509_certificate.public_key
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.encode
    - rsa.PublicKey.load_pkcs1
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.to_pem
    - pkcs8_key.startswith
    - jose.jwk.construct
    - key.encode
    - jose.utils.base64_to_long
    - ecdsa.SigningKey.from_pem
    - cryptography.x509.load_pem_x509_certificate
    - jose.backends.ecdsa_backend.ECDSAECKey._process_jwk
    - jose.backends.cryptography_backend.CryptographyRSAKey.__init__
    - cryptography.hazmat.backends.default_backend
    - jose.utils.ensure_binary
    - <builtin>.int
    - struct.unpack
    - jose.backends.base.DIRKey.__init__
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_jwk
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers
    - ecdsa.keys.VerifyingKey.from_public_point
    - jwk_dict.get
    - jose.backends.rsa_backend._rsa_recover_prime_factors
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key.verify
    functionSourceFile: <builtin>
    functionUses: 4
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 0
    IfCount: 6
    argCount: 1
    argDefaultValues: []
    argNames:
    - key
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 221
    functionName: jose.jws._get_keys
    functionSourceFile: jose.jws
    functionUses: 3
    functionsReached:
    - key.values
    - <builtin>.isinstance
    - 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: key.values
    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: header.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: jose.backends.base
    functionSourceFile: jose.backends.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - algorithm
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 9
    functionName: jose.backends.base.Key.__init__
    functionSourceFile: jose.backends.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 12
    functionName: jose.backends.base.Key.sign
    functionSourceFile: jose.backends.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - msg
    - sig
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 15
    functionName: jose.backends.base.Key.verify
    functionSourceFile: jose.backends.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 18
    functionName: jose.backends.base.Key.public_key
    functionSourceFile: jose.backends.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 21
    functionName: jose.backends.base.Key.to_pem
    functionSourceFile: jose.backends.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 24
    functionName: jose.backends.base.Key.to_dict
    functionSourceFile: jose.backends.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3ebcd3a430>
    argNames:
    - self
    - plain_text
    - aad
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 27
    functionName: jose.backends.base.Key.encrypt
    functionSourceFile: jose.backends.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f3ebcd3a970>
    - <ast.Constant object at 0x7f3ebcd3a1f0>
    - <ast.Constant object at 0x7f3ebcd3af40>
    argNames:
    - self
    - cipher_text
    - iv
    - aad
    - tag
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 40
    functionName: jose.backends.base.Key.decrypt
    functionSourceFile: jose.backends.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key_data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 54
    functionName: jose.backends.base.Key.wrap_key
    functionSourceFile: jose.backends.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - wrapped_key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 66
    functionName: jose.backends.base.Key.unwrap_key
    functionSourceFile: jose.backends.base
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key_data
    - algorithm
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 80
    functionName: jose.backends.base.DIRKey.__init__
    functionSourceFile: jose.backends.base
    functionUses: 14
    functionsReached:
    - jose.utils.ensure_binary
    - <builtin>.isinstance
    - s.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - s
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 100
    functionName: jose.utils.ensure_binary
    functionSourceFile: jose.utils
    functionUses: 24
    functionsReached:
    - <builtin>.isinstance
    - s.encode
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 84
    functionName: jose.backends.base.DIRKey.to_dict
    functionSourceFile: jose.backends.base
    functionUses: 0
    functionsReached:
    - base64.urlsafe_b64encode
    - jose.utils.base64url_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: jose.utils
    functionSourceFile: jose.utils
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3ebcd1e1c0>
    argNames:
    - n
    - blocksize
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 15
    functionName: jose.utils.long_to_bytes
    functionSourceFile: jose.utils
    functionUses: 5
    functionsReached:
    - <builtin>.len
    - ecdsa.ecdsa.int_to_string
    - cryptography.utils.int_to_bytes
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.utils.int_to_bytes
    functionSourceFile: cryptography
    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: ecdsa.ecdsa.int_to_string
    functionSourceFile: ecdsa
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.len
    functionSourceFile: <builtin>
    functionUses: 57
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3ebcefa2e0>
    argNames:
    - data
    - size
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 25
    functionName: jose.utils.long_to_base64
    functionSourceFile: jose.utils
    functionUses: 4
    functionsReached:
    - <builtin>.len
    - cryptography.utils.int_to_bytes
    - jose.utils.long_to_bytes
    - base64.urlsafe_b64encode
    - ecdsa.ecdsa.int_to_string
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: base64.urlsafe_b64encode
    functionSourceFile: base64
    functionUses: 22
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - arr
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 29
    functionName: jose.utils.int_arr_to_long
    functionSourceFile: jose.utils
    functionUses: 24
    functionsReached:
    - <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: <builtin>.int
    functionSourceFile: <builtin>
    functionUses: 36
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - data
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 33
    functionName: jose.utils.base64_to_long
    functionSourceFile: jose.utils
    functionUses: 23
    functionsReached:
    - jose.utils.int_arr_to_long
    - <builtin>.len
    - <builtin>.bytes
    - base64.urlsafe_b64decode
    - <builtin>.isinstance
    - <builtin>.int
    - struct.unpack
    - data.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: data.encode
    functionSourceFile: <builtin>
    functionUses: 24
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.bytes
    functionSourceFile: <builtin>
    functionUses: 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: base64.urlsafe_b64decode
    functionSourceFile: base64
    functionUses: 42
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: struct.unpack
    functionSourceFile: struct
    functionUses: 24
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - access_token
    - hash_alg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 42
    functionName: jose.utils.calculate_at_hash
    functionSourceFile: jose.utils
    functionUses: 4
    functionsReached:
    - at_hash.decode
    - access_token.encode
    - <builtin>.len
    - <builtin>.int
    - base64.urlsafe_b64encode
    - jose.utils.base64url_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: access_token.encode
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: at_hash.decode
    functionSourceFile: <builtin>
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - delta
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 90
    functionName: jose.utils.timedelta_total_seconds
    functionSourceFile: jose.utils
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: s.encode
    functionSourceFile: <builtin>
    functionUses: 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: jose.constants
    functionSourceFile: jose.constants
    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: RSA_DS.union
    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: jose.constants.Algorithms
    functionSourceFile: jose.constants
    functionUses: 0
    functionsReached:
    - SUPPORTED.union
    - HMAC.union
    - EC_DS.union
    - AES_ENC.union
    - AES_JWE_ENC.union
    - RSA_DS.union
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: EC_DS.union
    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: AES_JWE_ENC.union
    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: AES_ENC.union
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: HMAC.union
    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: SUPPORTED.union
    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: jose.jwk
    functionSourceFile: jose.jwk
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 0
    IfCount: 6
    argCount: 1
    argDefaultValues: []
    argNames:
    - algorithm
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 31
    functionName: jose.jwk.get_key
    functionSourceFile: jose.jwk
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - algorithm
    - key_class
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 55
    functionName: jose.jwk.register_key
    functionSourceFile: jose.jwk
    functionUses: 0
    functionsReached:
    - <builtin>.issubclass
    - ALGORITHMS.SUPPORTED.add
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.issubclass
    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: ALGORITHMS.SUPPORTED.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: key_data.get
    functionSourceFile: <builtin>
    functionUses: 14
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 1
    IfCount: 6
    argCount: 4
    argDefaultValues:
    - <ast.Name object at 0x7f3ebcf7caf0>
    argNames:
    - self
    - key
    - algorithm
    - cryptography_backend
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 227
    functionName: jose.backends.cryptography_backend.CryptographyRSAKey.__init__
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 14
    functionsReached:
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_cert
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - key.startswith
    - cryptography.hazmat.primitives.serialization.load_pem_public_key
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmp1
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factors
    - <builtin>.len
    - key.encode
    - jose.utils.base64_to_long
    - cryptography.x509.load_pem_x509_certificate
    - data.encode
    - <builtin>.bytes
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmq1
    - cryptography.hazmat.backends.default_backend
    - <builtin>.int
    - <builtin>.any
    - struct.unpack
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers
    - <builtin>.hasattr
    - jose.utils.int_arr_to_long
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_iqmp
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_jwk
    - base64.urlsafe_b64decode
    - <builtin>.isinstance
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers
    - cryptography.x509.load_pem_x509_certificate.public_key
    - jwk_dict.get
    - private.private_key
    - <builtin>.all
    - public.public_key
    linkageType: pythonLinkage
    raised:
    - JWKError
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - algorithm
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 36
    functionName: jose.backends.ecdsa_backend.ECDSAECKey.__init__
    functionSourceFile: jose.backends.ecdsa_backend
    functionUses: 14
    functionsReached:
    - <builtin>.len
    - key.encode
    - jose.utils.base64_to_long
    - ecdsa.SigningKey.from_pem
    - ecdsa.ellipticcurve.Point
    - ecdsa.ecdsa.point_is_valid
    - data.encode
    - jose.backends.ecdsa_backend.ECDSAECKey._process_jwk
    - <builtin>.bytes
    - <builtin>.int
    - struct.unpack
    - jose.utils.int_arr_to_long
    - ecdsa.keys.SigningKey.from_secret_exponent
    - base64.urlsafe_b64decode
    - <builtin>.isinstance
    - ecdsa.VerifyingKey.from_pem
    - ecdsa.keys.VerifyingKey.from_public_point
    - jwk_dict.get
    - <builtin>.all
    linkageType: pythonLinkage
    raised:
    - JWKError
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 0
    IfCount: 6
    argCount: 4
    argDefaultValues:
    - <ast.Name object at 0x7f3ebca7cb80>
    argNames:
    - self
    - key
    - algorithm
    - cryptography_backend
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 53
    functionName: jose.backends.cryptography_backend.CryptographyECKey.__init__
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 14
    functionsReached:
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - cryptography.hazmat.primitives.serialization.load_pem_public_key
    - <builtin>.len
    - jose.utils.base64_to_long
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.encode
    - data.encode
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateNumbers
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.get
    - <builtin>.bytes
    - cryptography.hazmat.backends.default_backend
    - <builtin>.int
    - struct.unpack
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.get
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.to_pem
    - <builtin>.hasattr
    - jose.utils.int_arr_to_long
    - base64.urlsafe_b64decode
    - <builtin>.isinstance
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.encode
    - jose.backends.cryptography_backend.CryptographyECKey._process_jwk
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.to_pem
    - private.private_key
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers
    - <builtin>.all
    - public.public_key
    linkageType: pythonLinkage
    raised:
    - JWKError
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - algorithm
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 23
    functionName: jose.backends.native.HMACKey.__init__
    functionSourceFile: jose.backends.native
    functionUses: 14
    functionsReached:
    - <builtin>.len
    - jwk_dict.get
    - <builtin>.bytes
    - key.encode
    - base64.urlsafe_b64decode
    - k.encode
    - jose.backends.native.HMACKey._process_jwk
    - <builtin>.isinstance
    - <builtin>.any
    - jose.utils.base64url_decode
    linkageType: pythonLinkage
    raised:
    - JWKError
    returnType: N/A
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 6
    EdgeCount: 11
    ICount: 0
    IfCount: 7
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - algorithm
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 442
    functionName: jose.backends.cryptography_backend.CryptographyAESKey.__init__
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 14
    functionsReached:
    - ALGORITHMS.SUPPORTED.union
    - <builtin>.len
    linkageType: pythonLinkage
    raised:
    - JWKError
    returnType: N/A
  - BBCount: 6
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 9
    ICount: 0
    IfCount: 6
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - algorithm
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 125
    functionName: jose.backends.rsa_backend.RSAKey.__init__
    functionSourceFile: jose.backends.rsa_backend
    functionUses: 15
    functionsReached:
    - rsa.pem.load_pem
    - <builtin>.len
    - rsa.PrivateKey.load_pkcs1
    - key.encode
    - jose.utils.base64_to_long
    - pyasn1.codec.der.decoder.decode
    - jose.backends.rsa_backend._legacy_private_key_pkcs8_to_pkcs1
    - data.encode
    - <builtin>.bytes
    - rsa.PrivateKey
    - jose.backends.rsa_backend._gcd
    - <builtin>.int
    - <builtin>.any
    - struct.unpack
    - rsa.PublicKey.load_pkcs1_openssl_pem
    - jose.backends.rsa_backend.RSAKey._process_jwk
    - jose.utils.int_arr_to_long
    - pyasn1.type.univ.Sequence.__init__
    - <builtin>.sorted
    - base64.urlsafe_b64decode
    - <builtin>.isinstance
    - <builtin>.divmod
    - rsa.PublicKey
    - rsa.PublicKey.load_pkcs1
    - jose.backends._asn1.rsa_private_key_pkcs8_to_pkcs1
    - <builtin>.pow
    - jwk_dict.get
    - pkcs8_key.startswith
    - jose.backends.rsa_backend._rsa_recover_prime_factors
    - <builtin>.all
    linkageType: pythonLinkage
    raised:
    - JWKError
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - key
    - algorithm
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 539
    functionName: jose.backends.cryptography_backend.CryptographyHMACKey.__init__
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 14
    functionsReached:
    - <builtin>.len
    - jwk_dict.get
    - <builtin>.bytes
    - key.encode
    - jose.backends.cryptography_backend.CryptographyHMACKey._process_jwk
    - base64.urlsafe_b64decode
    - k.encode
    - <builtin>.isinstance
    - <builtin>.any
    - jose.utils.base64url_decode
    linkageType: pythonLinkage
    raised:
    - JWKError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jose.exceptions
    functionSourceFile: jose.exceptions
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jose.backends
    functionSourceFile: jose.backends
    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: jose.backends.cryptography_backend
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - num_bytes
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 25
    functionName: jose.backends.cryptography_backend.get_random_bytes
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 7
    functionsReached:
    - cryptography.hazmat.bindings.openssl.binding.Binding.lib.RAND_bytes
    - cryptography.hazmat.bindings.openssl.binding.Binding.ffi.buffer
    - cryptography.hazmat.bindings.openssl.binding.Binding.ffi.new
    - cryptography.hazmat.bindings.openssl.binding.Binding
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.bindings.openssl.binding.Binding
    functionSourceFile: cryptography
    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: cryptography.hazmat.bindings.openssl.binding.Binding.ffi.new
    functionSourceFile: cryptography
    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: cryptography.hazmat.bindings.openssl.binding.Binding.lib.RAND_bytes
    functionSourceFile: cryptography
    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: cryptography.hazmat.bindings.openssl.binding.Binding.ffi.buffer
    functionSourceFile: cryptography
    functionUses: 8
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.hasattr
    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: cryptography.hazmat.primitives.serialization.load_pem_private_key.to_pem
    functionSourceFile: cryptography
    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: cryptography.hazmat.primitives.serialization.load_pem_public_key.to_pem
    functionSourceFile: cryptography
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 0
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - jwk_dict
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 98
    functionName: jose.backends.cryptography_backend.CryptographyECKey._process_jwk
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 15
    functionsReached:
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateNumbers
    - jose.utils.int_arr_to_long
    - <builtin>.int
    - <builtin>.len
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.get
    - private.private_key
    - <builtin>.bytes
    - jose.utils.base64_to_long
    - cryptography.hazmat.backends.default_backend
    - base64.urlsafe_b64decode
    - data.encode
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers
    - <builtin>.isinstance
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.get
    - struct.unpack
    - <builtin>.all
    - public.public_key
    linkageType: pythonLinkage
    raised:
    - JWKError
    returnType: N/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_public_key.encode
    functionSourceFile: cryptography
    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: cryptography.hazmat.primitives.serialization.load_pem_private_key.encode
    functionSourceFile: cryptography
    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: cryptography.hazmat.backends.default_backend
    functionSourceFile: cryptography
    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: cryptography.hazmat.primitives.serialization.load_pem_public_key
    functionSourceFile: cryptography
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.serialization.load_pem_private_key
    functionSourceFile: cryptography
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.serialization.load_pem_public_key.get
    functionSourceFile: cryptography
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.serialization.load_pem_private_key.get
    functionSourceFile: cryptography
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.all
    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: cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers
    functionSourceFile: cryptography
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateNumbers
    functionSourceFile: cryptography
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: private.private_key
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: public.public_key
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 123
    functionName: jose.backends.cryptography_backend.CryptographyECKey._sig_component_length
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 4
    functionsReached:
    - <builtin>.int
    - math.ceil
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: math.ceil
    functionSourceFile: math
    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:
    - self
    - der_signature
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 130
    functionName: jose.backends.cryptography_backend.CryptographyECKey._der_to_raw
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 1
    functionsReached:
    - math.ceil
    - jose.backends.cryptography_backend.CryptographyECKey._sig_component_length
    - cryptography.utils.int_to_bytes
    - <builtin>.int
    - cryptography.hazmat.primitives.asymmetric.utils.decode_dss_signature
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.asymmetric.utils.decode_dss_signature
    functionSourceFile: cryptography
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - raw_signature
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 136
    functionName: jose.backends.cryptography_backend.CryptographyECKey._raw_to_der
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 1
    functionsReached:
    - int.from_bytes
    - <builtin>.len
    - math.ceil
    - jose.backends.cryptography_backend.CryptographyECKey._sig_component_length
    - <builtin>.int
    - cryptography.hazmat.primitives.asymmetric.utils.encode_dss_signature
    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: int.from_bytes
    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: cryptography.hazmat.primitives.asymmetric.utils.encode_dss_signature
    functionSourceFile: cryptography
    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
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 148
    functionName: jose.backends.cryptography_backend.CryptographyECKey.sign
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.sign
    - cryptography.hazmat.primitives.asymmetric.ec.ECDSA
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.sign
    - math.ceil
    - jose.backends.cryptography_backend.CryptographyECKey._sig_component_length
    - cryptography.utils.int_to_bytes
    - <builtin>.int
    - jose.backends.cryptography_backend.CryptographyECKey._der_to_raw
    - cryptography.hazmat.primitives.asymmetric.utils.decode_dss_signature
    linkageType: pythonLinkage
    raised:
    - TypeError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.asymmetric.ec.ECDSA
    functionSourceFile: cryptography
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_public_key.sign
    functionSourceFile: cryptography
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.sign
    functionSourceFile: cryptography
    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
    - msg
    - sig
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 157
    functionName: jose.backends.cryptography_backend.CryptographyECKey.verify
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.verify
    - int.from_bytes
    - jose.backends.cryptography_backend.CryptographyECKey._raw_to_der
    - cryptography.hazmat.primitives.asymmetric.ec.ECDSA
    - <builtin>.len
    - math.ceil
    - jose.backends.cryptography_backend.CryptographyECKey._sig_component_length
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.verify
    - <builtin>.int
    - cryptography.hazmat.primitives.asymmetric.utils.encode_dss_signature
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_public_key.verify
    functionSourceFile: cryptography
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.verify
    functionSourceFile: cryptography
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 165
    functionName: jose.backends.cryptography_backend.CryptographyECKey.is_public
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 3
    functionsReached:
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 168
    functionName: jose.backends.cryptography_backend.CryptographyECKey.public_key
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.public_key
    - <builtin>.hasattr
    - jose.backends.cryptography_backend.CryptographyECKey.is_public
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.public_key
    functionSourceFile: cryptography
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 173
    functionName: jose.backends.cryptography_backend.CryptographyECKey.to_pem
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.public_bytes
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.private_bytes
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.public_bytes
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.private_bytes
    - cryptography.hazmat.primitives.serialization.NoEncryption
    - jose.backends.cryptography_backend.CryptographyECKey.is_public
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.public_bytes
    functionSourceFile: cryptography
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_public_key.public_bytes
    functionSourceFile: cryptography
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.serialization.NoEncryption
    functionSourceFile: cryptography
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_public_key.private_bytes
    functionSourceFile: cryptography
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.private_bytes
    functionSourceFile: cryptography
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 186
    functionName: jose.backends.cryptography_backend.CryptographyECKey.to_dict
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.public_numbers
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.private_numbers
    - jose.utils.long_to_base64
    - <builtin>.hasattr
    - <builtin>.len
    - cryptography.utils.int_to_bytes
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.private_numbers
    - base64.urlsafe_b64encode
    - jose.backends.cryptography_backend.CryptographyECKey.is_public
    - jose.utils.long_to_bytes
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.public_key
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.public_numbers
    - ecdsa.ecdsa.int_to_string
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.serialization.load_pem_public_key.public_numbers
    functionSourceFile: cryptography
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.public_numbers
    functionSourceFile: cryptography
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_public_key.private_numbers
    functionSourceFile: cryptography
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.private_numbers
    functionSourceFile: cryptography
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: padding.PKCS1v15
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jose.backends.cryptography_backend.CryptographyRSAKey
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - cryptography.hazmat.primitives.hashes.SHA256
    - padding.OAEP
    - padding.PKCS1v15
    - padding.MGF1
    - cryptography.hazmat.primitives.hashes.SHA1
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.hashes.SHA1
    functionSourceFile: cryptography
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: padding.MGF1
    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: padding.OAEP
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.hashes.SHA256
    functionSourceFile: cryptography
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - jwk_dict
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 274
    functionName: jose.backends.cryptography_backend.CryptographyRSAKey._process_jwk
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 15
    functionsReached:
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmp1
    - <builtin>.len
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factors
    - jose.utils.base64_to_long
    - data.encode
    - <builtin>.bytes
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmq1
    - cryptography.hazmat.backends.default_backend
    - <builtin>.int
    - <builtin>.any
    - struct.unpack
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers
    - jose.utils.int_arr_to_long
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_iqmp
    - base64.urlsafe_b64decode
    - <builtin>.isinstance
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers
    - jwk_dict.get
    - private.private_key
    - <builtin>.all
    - public.public_key
    linkageType: pythonLinkage
    raised:
    - JWKError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key.encode
    functionSourceFile: <builtin>
    functionUses: 20
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key.startswith
    functionSourceFile: <builtin>
    functionUses: 15
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 315
    functionName: jose.backends.cryptography_backend.CryptographyRSAKey._process_cert
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 15
    functionsReached:
    - cryptography.hazmat.backends.default_backend
    - cryptography.x509.load_pem_x509_certificate
    - cryptography.x509.load_pem_x509_certificate.public_key
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jwk_dict.get
    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: cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers
    functionSourceFile: cryptography
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.any
    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: cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factors
    functionSourceFile: cryptography
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmp1
    functionSourceFile: cryptography
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmq1
    functionSourceFile: cryptography
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_iqmp
    functionSourceFile: cryptography
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers
    functionSourceFile: cryptography
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.x509.load_pem_x509_certificate
    functionSourceFile: cryptography
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.x509.load_pem_x509_certificate.public_key
    functionSourceFile: cryptography
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 319
    functionName: jose.backends.cryptography_backend.CryptographyRSAKey.sign
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - padding.PKCS1v15
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.sign
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.sign
    linkageType: pythonLinkage
    raised:
    - JWKError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - msg
    - sig
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 326
    functionName: jose.backends.cryptography_backend.CryptographyRSAKey.verify
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.verify
    - <builtin>.hasattr
    - warnings.warn
    - jose.backends.cryptography_backend.CryptographyRSAKey.public_key
    - padding.PKCS1v15
    - jose.backends.cryptography_backend.CryptographyRSAKey.is_public
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.verify
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.public_key
    linkageType: pythonLinkage
    raised: []
    returnType: 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: 336
    functionName: jose.backends.cryptography_backend.CryptographyRSAKey.is_public
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 4
    functionsReached:
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: warnings.warn
    functionSourceFile: warnings
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 339
    functionName: jose.backends.cryptography_backend.CryptographyRSAKey.public_key
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 1
    functionsReached:
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.public_key
    - jose.backends.cryptography_backend.CryptographyRSAKey.is_public
    - <builtin>.hasattr
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3ebd0c6cd0>
    argNames:
    - self
    - pem_format
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 344
    functionName: jose.backends.cryptography_backend.CryptographyRSAKey.to_pem
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - <builtin>.hasattr
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.public_bytes
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.private_bytes
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.public_bytes
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.private_bytes
    - cryptography.hazmat.primitives.serialization.NoEncryption
    - jose.backends.cryptography_backend.CryptographyRSAKey.is_public
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 366
    functionName: jose.backends.cryptography_backend.CryptographyRSAKey.to_dict
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - data.update
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.public_numbers
    - <builtin>.hasattr
    - jose.utils.long_to_base64
    - <builtin>.len
    - cryptography.utils.int_to_bytes
    - jose.backends.cryptography_backend.CryptographyRSAKey.is_public
    - base64.urlsafe_b64encode
    - jose.utils.long_to_bytes
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.public_key
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.public_numbers
    - ecdsa.ecdsa.int_to_string
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: 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: 2
    argDefaultValues: []
    argNames:
    - self
    - key_data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 393
    functionName: jose.backends.cryptography_backend.CryptographyRSAKey.wrap_key
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.encrypt
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.encrypt
    linkageType: pythonLinkage
    raised:
    - JWEError
    returnType: N/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.encrypt
    functionSourceFile: cryptography
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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_public_key.encrypt
    functionSourceFile: cryptography
    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
    - wrapped_key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 401
    functionName: jose.backends.cryptography_backend.CryptographyRSAKey.unwrap_key
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.decrypt
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.decrypt
    linkageType: pythonLinkage
    raised:
    - JWEError
    returnType: N/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_public_key.decrypt
    functionSourceFile: cryptography
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.decrypt
    functionSourceFile: cryptography
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ALGORITHMS.SUPPORTED.union
    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:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 464
    functionName: jose.backends.cryptography_backend.CryptographyAESKey.to_dict
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - base64.urlsafe_b64encode
    - jose.utils.base64url_encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 3
    argDefaultValues:
    - <ast.Constant object at 0x7f3ebcef5460>
    argNames:
    - self
    - plain_text
    - aad
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 468
    functionName: jose.backends.cryptography_backend.CryptographyAESKey.encrypt
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - cryptography.hazmat.primitives.ciphers.Cipher.encrypt
    - padder.finalize
    - encryptor.finalize
    - <builtin>.len
    - cryptography.hazmat.primitives.ciphers.Cipher
    - cryptography.hazmat.bindings.openssl.binding.Binding.lib.RAND_bytes
    - cryptography.hazmat.primitives.ciphers.aead.AESGCM
    - cryptography.hazmat.bindings.openssl.binding.Binding.ffi.buffer
    - cryptography.hazmat.primitives.ciphers.algorithms.AES
    - cryptography.hazmat.primitives.ciphers.Cipher.encryptor
    - cryptography.hazmat.primitives.padding.PKCS7
    - encryptor.update
    - cryptography.hazmat.backends.default_backend
    - jose.utils.ensure_binary
    - <builtin>.isinstance
    - cryptography.hazmat.primitives.padding.PKCS7.padder
    - cryptography.hazmat.bindings.openssl.binding.Binding.ffi.new
    - padder.update
    - s.encode
    - jose.backends.cryptography_backend.get_random_bytes
    - cryptography.hazmat.bindings.openssl.binding.Binding
    linkageType: pythonLinkage
    raised:
    - JWEError
    returnType: N/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.ciphers.aead.AESGCM
    functionSourceFile: cryptography
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.ciphers.Cipher.encrypt
    functionSourceFile: cryptography
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.ciphers.algorithms.AES
    functionSourceFile: cryptography
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.ciphers.Cipher
    functionSourceFile: cryptography
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.ciphers.Cipher.encryptor
    functionSourceFile: cryptography
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.padding.PKCS7
    functionSourceFile: cryptography
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.padding.PKCS7.padder
    functionSourceFile: cryptography
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: padder.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: padder.finalize
    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: encryptor.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: encryptor.finalize
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 0
    IfCount: 2
    argCount: 5
    argDefaultValues:
    - <ast.Constant object at 0x7f3ebcefdd00>
    - <ast.Constant object at 0x7f3ebcefdd30>
    - <ast.Constant object at 0x7f3ebcefdd60>
    argNames:
    - self
    - cipher_text
    - iv
    - aad
    - tag
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 490
    functionName: jose.backends.cryptography_backend.CryptographyAESKey.decrypt
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - unpadder.finalize
    - cryptography.hazmat.primitives.padding.PKCS7
    - decryptor.finalize
    - cryptography.hazmat.primitives.ciphers.algorithms.AES
    - decryptor.update
    - unpadder.update
    - cryptography.hazmat.primitives.ciphers.Cipher
    - cryptography.hazmat.primitives.ciphers.Cipher.decrypt
    - s.encode
    - cryptography.hazmat.backends.default_backend
    - jose.utils.ensure_binary
    - <builtin>.isinstance
    - cryptography.hazmat.primitives.ciphers.aead.AESGCM
    - cryptography.hazmat.primitives.ciphers.Cipher.decryptor
    - cryptography.hazmat.primitives.padding.PKCS7.unpadder
    linkageType: pythonLinkage
    raised:
    - JWEError
    - 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: cryptography.hazmat.primitives.ciphers.Cipher.decrypt
    functionSourceFile: cryptography
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.ciphers.Cipher.decryptor
    functionSourceFile: cryptography
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: decryptor.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: decryptor.finalize
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.padding.PKCS7.unpadder
    functionSourceFile: cryptography
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: unpadder.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: unpadder.finalize
    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
    - key_data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 517
    functionName: jose.backends.cryptography_backend.CryptographyAESKey.wrap_key
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - s.encode
    - cryptography.hazmat.backends.default_backend
    - jose.utils.ensure_binary
    - <builtin>.isinstance
    - cryptography.hazmat.primitives.keywrap.aes_key_wrap
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.keywrap.aes_key_wrap
    functionSourceFile: cryptography
    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
    - wrapped_key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 522
    functionName: jose.backends.cryptography_backend.CryptographyAESKey.unwrap_key
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - cryptography.hazmat.primitives.keywrap.aes_key_unwrap
    - s.encode
    - cryptography.hazmat.backends.default_backend
    - jose.utils.ensure_binary
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - JWEError
    returnType: N/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.keywrap.aes_key_unwrap
    functionSourceFile: cryptography
    functionUses: 1
    functionsReached: []
    linkageType: 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: jose.backends.cryptography_backend.CryptographyHMACKey
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - cryptography.hazmat.primitives.hashes.SHA384
    - cryptography.hazmat.primitives.hashes.SHA256
    - cryptography.hazmat.primitives.hashes.SHA512
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.hashes.SHA384
    functionSourceFile: cryptography
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: cryptography.hazmat.primitives.hashes.SHA512
    functionSourceFile: cryptography
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - jwk_dict
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 570
    functionName: jose.backends.cryptography_backend.CryptographyHMACKey._process_jwk
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 15
    functionsReached:
    - <builtin>.len
    - jwk_dict.get
    - <builtin>.bytes
    - base64.urlsafe_b64decode
    - k.encode
    - jose.utils.base64url_decode
    linkageType: pythonLinkage
    raised:
    - JWKError
    returnType: N/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.encode
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 581
    functionName: jose.backends.cryptography_backend.CryptographyHMACKey.to_dict
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - base64.urlsafe_b64encode
    - jose.utils.base64url_encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 588
    functionName: jose.backends.cryptography_backend.CryptographyHMACKey.sign
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - h.finalize
    - s.encode
    - h.update
    - cryptography.hazmat.backends.default_backend
    - jose.utils.ensure_binary
    - cryptography.hazmat.primitives.hmac.HMAC
    - <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: cryptography.hazmat.primitives.hmac.HMAC
    functionSourceFile: cryptography
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: h.update
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.finalize
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 2
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - msg
    - sig
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 595
    functionName: jose.backends.cryptography_backend.CryptographyHMACKey.verify
    functionSourceFile: jose.backends.cryptography_backend
    functionUses: 0
    functionsReached:
    - h.verify
    - h.update
    - s.encode
    - cryptography.hazmat.backends.default_backend
    - jose.utils.ensure_binary
    - cryptography.hazmat.primitives.hmac.HMAC
    - <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: h.verify
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: -1
    functionName: jose.backends.rsa_backend
    functionSourceFile: jose.backends.rsa_backend
    functionUses: 0
    functionsReached:
    - ALGORITHMS.SUPPORTED.remove
    - binascii.unhexlify
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ALGORITHMS.SUPPORTED.remove
    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: binascii.unhexlify
    functionSourceFile: binascii
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - a
    - b
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 38
    functionName: jose.backends.rsa_backend._gcd
    functionSourceFile: jose.backends.rsa_backend
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 3
    argDefaultValues: []
    argNames:
    - n
    - e
    - d
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 55
    functionName: jose.backends.rsa_backend._rsa_recover_prime_factors
    functionSourceFile: jose.backends.rsa_backend
    functionUses: 17
    functionsReached:
    - jose.backends.rsa_backend._gcd
    - <builtin>.pow
    - <builtin>.sorted
    - <builtin>.divmod
    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>.pow
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.divmod
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.sorted
    functionSourceFile: <builtin>
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3ebcd3af10>
    argNames:
    - pem
    - fmt
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 98
    functionName: jose.backends.rsa_backend.pem_to_spki
    functionSourceFile: jose.backends.rsa_backend
    functionUses: 0
    functionsReached:
    - rsa.pem.load_pem
    - <builtin>.len
    - rsa.PrivateKey.load_pkcs1
    - key.encode
    - jose.utils.base64_to_long
    - pyasn1.codec.der.decoder.decode
    - jose.backends.rsa_backend._legacy_private_key_pkcs8_to_pkcs1
    - data.encode
    - pyasn1.codec.der.encoder.encode
    - <builtin>.bytes
    - rsa.pem.save_pem
    - pyasn1.type.univ.BitString.fromOctetString
    - rsa.PrivateKey
    - jose.backends.rsa_backend._gcd
    - <builtin>.int
    - <builtin>.any
    - struct.unpack
    - rsa.PublicKey.load_pkcs1_openssl_pem
    - jose.backends.rsa_backend.RSAKey._process_jwk
    - jose.utils.int_arr_to_long
    - jose.backends._asn1.rsa_public_key_pkcs1_to_pkcs8
    - pyasn1.type.univ.Sequence.__init__
    - <builtin>.sorted
    - jose.backends._asn1.rsa_private_key_pkcs1_to_pkcs8
    - base64.urlsafe_b64decode
    - <builtin>.isinstance
    - <builtin>.divmod
    - rsa.PublicKey
    - <builtin>.all
    - rsa.PublicKey.load_pkcs1
    - jose.backends._asn1.rsa_private_key_pkcs8_to_pkcs1
    - <builtin>.pow
    - jwk_dict.get
    - pkcs8_key.startswith
    - jose.backends.rsa_backend.RSAKey.to_pem
    - jose.backends.rsa_backend._rsa_recover_prime_factors
    - jose.backends.rsa_backend.RSAKey.__init__
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 0
    IfCount: 5
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3ebcd09a60>
    argNames:
    - self
    - pem_format
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 223
    functionName: jose.backends.rsa_backend.RSAKey.to_pem
    functionSourceFile: jose.backends.rsa_backend
    functionUses: 1
    functionsReached:
    - pyasn1.codec.der.encoder.encode
    - jose.backends._asn1.rsa_public_key_pkcs1_to_pkcs8
    - pyasn1.type.univ.Sequence.__init__
    - rsa.pem.save_pem
    - pyasn1.type.univ.BitString.fromOctetString
    - jose.backends._asn1.rsa_private_key_pkcs1_to_pkcs8
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - ValueError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - pkcs8_key
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 103
    functionName: jose.backends.rsa_backend._legacy_private_key_pkcs8_to_pkcs1
    functionSourceFile: jose.backends.rsa_backend
    functionUses: 16
    functionsReached:
    - <builtin>.len
    - pkcs8_key.startswith
    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: pkcs8_key.startswith
    functionSourceFile: <builtin>
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - jwk_dict
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 175
    functionName: jose.backends.rsa_backend.RSAKey._process_jwk
    functionSourceFile: jose.backends.rsa_backend
    functionUses: 16
    functionsReached:
    - <builtin>.len
    - jose.utils.base64_to_long
    - data.encode
    - <builtin>.bytes
    - rsa.PrivateKey
    - jose.backends.rsa_backend._gcd
    - <builtin>.int
    - struct.unpack
    - <builtin>.any
    - jose.utils.int_arr_to_long
    - <builtin>.sorted
    - base64.urlsafe_b64decode
    - <builtin>.divmod
    - <builtin>.isinstance
    - rsa.PublicKey
    - <builtin>.pow
    - jwk_dict.get
    - jose.backends.rsa_backend._rsa_recover_prime_factors
    - <builtin>.all
    linkageType: pythonLinkage
    raised:
    - JWKError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rsa.PublicKey.load_pkcs1
    functionSourceFile: rsa
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rsa.PublicKey.load_pkcs1_openssl_pem
    functionSourceFile: rsa
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rsa.PrivateKey.load_pkcs1
    functionSourceFile: rsa
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rsa.pem.load_pem
    functionSourceFile: rsa
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - pkcs8_key
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 37
    functionName: jose.backends._asn1.rsa_private_key_pkcs8_to_pkcs1
    functionSourceFile: jose.backends._asn1
    functionUses: 16
    functionsReached:
    - pyasn1.codec.der.decoder.decode
    - pyasn1.type.univ.Sequence.__init__
    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: rsa.PublicKey
    functionSourceFile: rsa
    functionUses: 19
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rsa.PrivateKey
    functionSourceFile: rsa
    functionUses: 17
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 203
    functionName: jose.backends.rsa_backend.RSAKey.sign
    functionSourceFile: jose.backends.rsa_backend
    functionUses: 0
    functionsReached:
    - rsa.sign
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rsa.sign
    functionSourceFile: rsa
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - msg
    - sig
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 206
    functionName: jose.backends.rsa_backend.RSAKey.verify
    functionSourceFile: jose.backends.rsa_backend
    functionUses: 0
    functionsReached:
    - rsa.verify
    - <builtin>.isinstance
    - warnings.warn
    - jose.backends.rsa_backend.RSAKey.is_public
    linkageType: pythonLinkage
    raised: []
    returnType: 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: 215
    functionName: jose.backends.rsa_backend.RSAKey.is_public
    functionSourceFile: jose.backends.rsa_backend
    functionUses: 3
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rsa.verify
    functionSourceFile: rsa
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 218
    functionName: jose.backends.rsa_backend.RSAKey.public_key
    functionSourceFile: jose.backends.rsa_backend
    functionUses: 1
    functionsReached:
    - rsa.PublicKey
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - pkcs1_key
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 49
    functionName: jose.backends._asn1.rsa_private_key_pkcs1_to_pkcs8
    functionSourceFile: jose.backends._asn1
    functionUses: 2
    functionsReached:
    - pyasn1.type.univ.Sequence.__init__
    - pyasn1.codec.der.encoder.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: rsa.pem.save_pem
    functionSourceFile: rsa
    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:
    - pkcs1_key
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 62
    functionName: jose.backends._asn1.rsa_public_key_pkcs1_to_pkcs8
    functionSourceFile: jose.backends._asn1
    functionUses: 2
    functionsReached:
    - pyasn1.type.univ.BitString.fromOctetString
    - pyasn1.type.univ.Sequence.__init__
    - pyasn1.codec.der.encoder.encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 245
    functionName: jose.backends.rsa_backend.RSAKey.to_dict
    functionSourceFile: jose.backends.rsa_backend
    functionUses: 0
    functionsReached:
    - data.update
    - jose.utils.long_to_base64
    - <builtin>.len
    - jose.backends.rsa_backend.RSAKey.public_key
    - cryptography.utils.int_to_bytes
    - ecdsa.ecdsa.int_to_string
    - rsa.PublicKey
    - <builtin>.isinstance
    - jose.utils.long_to_bytes
    - base64.urlsafe_b64encode
    - jose.backends.rsa_backend.RSAKey.is_public
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - key_data
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 272
    functionName: jose.backends.rsa_backend.RSAKey.wrap_key
    functionSourceFile: jose.backends.rsa_backend
    functionUses: 0
    functionsReached:
    - <builtin>.isinstance
    - rsa.encrypt
    - warnings.warn
    - jose.backends.rsa_backend.RSAKey.is_public
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rsa.encrypt
    functionSourceFile: rsa
    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
    - wrapped_key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 278
    functionName: jose.backends.rsa_backend.RSAKey.unwrap_key
    functionSourceFile: jose.backends.rsa_backend
    functionUses: 0
    functionsReached:
    - rsa.decrypt
    linkageType: pythonLinkage
    raised:
    - JWEError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: rsa.decrypt
    functionSourceFile: rsa
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jose.backends._asn1
    functionSourceFile: jose.backends._asn1
    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: pyasn1.type.univ.ObjectIdentifier
    functionSourceFile: pyasn1
    functionUses: 1
    functionsReached: []
    linkageType: 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: jose.backends._asn1.RsaAlgorithmIdentifier
    functionSourceFile: jose.backends._asn1
    functionUses: 0
    functionsReached:
    - pyasn1.type.namedtype.NamedType
    - pyasn1.type.univ.ObjectIdentifier
    - pyasn1.type.univ.Null
    - pyasn1.type.namedtype.NamedTypes
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pyasn1.type.namedtype.NamedType
    functionSourceFile: pyasn1
    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: pyasn1.type.univ.Null
    functionSourceFile: pyasn1
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pyasn1.type.namedtype.NamedTypes
    functionSourceFile: pyasn1
    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: pyasn1.type.univ.Integer
    functionSourceFile: pyasn1
    functionUses: 1
    functionsReached: []
    linkageType: 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: jose.backends._asn1.PKCS8PrivateKey
    functionSourceFile: jose.backends._asn1
    functionUses: 0
    functionsReached:
    - pyasn1.type.univ.OctetString
    - pyasn1.type.namedtype.NamedTypes
    - pyasn1.type.univ.Sequence.__init__
    - pyasn1.type.univ.Integer
    - pyasn1.type.namedtype.NamedType
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pyasn1.type.univ.Sequence.__init__
    functionSourceFile: ''
    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: pyasn1.type.univ.OctetString
    functionSourceFile: pyasn1
    functionUses: 1
    functionsReached: []
    linkageType: 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: jose.backends._asn1.PublicKeyInfo
    functionSourceFile: jose.backends._asn1
    functionUses: 0
    functionsReached:
    - pyasn1.type.namedtype.NamedType
    - pyasn1.type.univ.Sequence.__init__
    - pyasn1.type.univ.BitString
    - pyasn1.type.namedtype.NamedTypes
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pyasn1.type.univ.BitString
    functionSourceFile: pyasn1
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pyasn1.codec.der.decoder.decode
    functionSourceFile: pyasn1
    functionUses: 18
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: pyasn1.codec.der.encoder.encode
    functionSourceFile: pyasn1
    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: pyasn1.type.univ.BitString.fromOctetString
    functionSourceFile: pyasn1
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - pkcs8_key
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 74
    functionName: jose.backends._asn1.rsa_public_key_pkcs8_to_pkcs1
    functionSourceFile: jose.backends._asn1
    functionUses: 0
    functionsReached:
    - pyasn1.codec.der.decoder.decode
    - pyasn1.type.univ.Sequence.__init__
    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: jose.backends.ecdsa_backend
    functionSourceFile: jose.backends.ecdsa_backend
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - jwk_dict
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 76
    functionName: jose.backends.ecdsa_backend.ECDSAECKey._process_jwk
    functionSourceFile: jose.backends.ecdsa_backend
    functionUses: 15
    functionsReached:
    - ecdsa.keys.VerifyingKey.from_public_point
    - jose.utils.int_arr_to_long
    - <builtin>.len
    - jwk_dict.get
    - <builtin>.bytes
    - ecdsa.keys.SigningKey.from_secret_exponent
    - jose.utils.base64_to_long
    - base64.urlsafe_b64decode
    - ecdsa.ellipticcurve.Point
    - <builtin>.isinstance
    - <builtin>.int
    - struct.unpack
    - <builtin>.all
    - ecdsa.ecdsa.point_is_valid
    - data.encode
    linkageType: pythonLinkage
    raised:
    - JWKError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ecdsa.VerifyingKey.from_pem
    functionSourceFile: ecdsa
    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: ecdsa.SigningKey.from_pem
    functionSourceFile: ecdsa
    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: ecdsa.keys.SigningKey.from_secret_exponent
    functionSourceFile: ecdsa
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ecdsa.ecdsa.point_is_valid
    functionSourceFile: ecdsa
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ecdsa.ellipticcurve.Point
    functionSourceFile: ecdsa
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: ecdsa.keys.VerifyingKey.from_public_point
    functionSourceFile: ecdsa
    functionUses: 16
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 98
    functionName: jose.backends.ecdsa_backend.ECDSAECKey.sign
    functionSourceFile: jose.backends.ecdsa_backend
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - msg
    - sig
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 103
    functionName: jose.backends.ecdsa_backend.ECDSAECKey.verify
    functionSourceFile: jose.backends.ecdsa_backend
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 111
    functionName: jose.backends.ecdsa_backend.ECDSAECKey.is_public
    functionSourceFile: jose.backends.ecdsa_backend
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 114
    functionName: jose.backends.ecdsa_backend.ECDSAECKey.public_key
    functionSourceFile: jose.backends.ecdsa_backend
    functionUses: 0
    functionsReached:
    - jose.backends.ecdsa_backend.ECDSAECKey.is_public
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: 119
    functionName: jose.backends.ecdsa_backend.ECDSAECKey.to_pem
    functionSourceFile: jose.backends.ecdsa_backend
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 0
    IfCount: 4
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 122
    functionName: jose.backends.ecdsa_backend.ECDSAECKey.to_dict
    functionSourceFile: jose.backends.ecdsa_backend
    functionUses: 0
    functionsReached:
    - public_key.pubkey.point.y
    - jose.utils.long_to_base64
    - public_key.pubkey.point.x
    - <builtin>.len
    - cryptography.utils.int_to_bytes
    - <builtin>.isinstance
    - jose.utils.long_to_bytes
    - base64.urlsafe_b64encode
    - jose.backends.ecdsa_backend.ECDSAECKey.is_public
    - ecdsa.ecdsa.int_to_string
    linkageType: pythonLinkage
    raised:
    - KeyError
    returnType: N/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_key.pubkey.point.x
    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: public_key.pubkey.point.y
    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: jose.backends.native
    functionSourceFile: jose.backends.native
    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:
    - num_bytes
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 11
    functionName: jose.backends.native.get_random_bytes
    functionSourceFile: jose.backends.native
    functionUses: 6
    functionsReached:
    - os.urandom
    - <builtin>.bytes
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: os.urandom
    functionSourceFile: os
    functionUses: 7
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 0
    IfCount: 1
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - jwk_dict
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 54
    functionName: jose.backends.native.HMACKey._process_jwk
    functionSourceFile: jose.backends.native
    functionUses: 15
    functionsReached:
    - <builtin>.len
    - jwk_dict.get
    - <builtin>.bytes
    - base64.urlsafe_b64decode
    - k.encode
    - jose.utils.base64url_decode
    linkageType: pythonLinkage
    raised:
    - JWKError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - self
    - msg
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 65
    functionName: jose.backends.native.HMACKey.sign
    functionSourceFile: jose.backends.native
    functionUses: 1
    functionsReached:
    - hmac.new
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: hmac.new
    functionSourceFile: hmac
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 3
    argDefaultValues: []
    argNames:
    - self
    - msg
    - sig
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 68
    functionName: jose.backends.native.HMACKey.verify
    functionSourceFile: jose.backends.native
    functionUses: 0
    functionsReached:
    - hmac.compare_digest
    - hmac.new
    - jose.backends.native.HMACKey.sign
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: hmac.compare_digest
    functionSourceFile: hmac
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - self
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 71
    functionName: jose.backends.native.HMACKey.to_dict
    functionSourceFile: jose.backends.native
    functionUses: 0
    functionsReached:
    - base64.urlsafe_b64encode
    - jose.utils.base64url_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: jose.jwe
    functionSourceFile: jose.jwe
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 7
    argDefaultValues:
    - <ast.Attribute object at 0x7f3ebd0c8430>
    - <ast.Attribute object at 0x7f3ebd0c83d0>
    - <ast.Constant object at 0x7f3ebd0c8370>
    - <ast.Constant object at 0x7f3ebd0c8340>
    - <ast.Constant object at 0x7f3ebd0c8310>
    argNames:
    - plaintext
    - key
    - encryption
    - algorithm
    - zip
    - cty
    - kid
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 14
    functionName: jose.jwe.encrypt
    functionSourceFile: jose.jwe
    functionUses: 0
    functionsReached:
    - key.startswith
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.encode
    - ecdsa.ellipticcurve.Point
    - cryptography.hazmat.bindings.openssl.binding.Binding.lib.RAND_bytes
    - ecdsa.ecdsa.point_is_valid
    - ALGORITHMS.SUPPORTED.union
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateNumbers
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.get
    - key_data.get
    - rsa.PrivateKey
    - jose.backends.rsa_backend._gcd
    - zlib.compress
    - jose.backends.rsa_backend.RSAKey._process_jwk
    - key.to_dict
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers
    - pyasn1.type.univ.Sequence.__init__
    - <builtin>.sorted
    - <builtin>.divmod
    - jose.utils.base64url_encode
    - jose.jwk.get_key
    - s.encode
    - jose.backends.cryptography_backend.CryptographyHMACKey._process_jwk
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers
    - k.encode
    - jose.backends.rsa_backend.RSAKey.__init__
    - cryptography.hazmat.bindings.openssl.binding.Binding
    - jose.backends.native.HMACKey.__init__
    - public.public_key
    - json.dumps
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - cryptography.hazmat.primitives.serialization.load_pem_public_key
    - mac_key.sign
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmp1
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factors
    - jose.backends.pycrypto_backend.get_random_bytes
    - pyasn1.codec.der.decoder.decode
    - jose.jwe._auth_tag
    - jose.backends.native.HMACKey._process_jwk
    - jose.jwe._get_cek
    - jose.jwe._jwe_compact_serialize
    - <builtin>.bytes
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.get
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.to_pem
    - enc.split
    - jose.backends.cryptography_backend.CryptographyECKey.__init__
    - jose.utils.int_arr_to_long
    - ecdsa.keys.SigningKey.from_secret_exponent
    - base64.urlsafe_b64decode
    - jose.jwe._big_endian
    - rsa.PublicKey
    - encryption_key.encrypt
    - jose.jwe._get_key_bytes_from_key
    - ecdsa.VerifyingKey.from_pem
    - jose.backends.cryptography_backend.CryptographyECKey._process_jwk
    - jose.backends._asn1.rsa_private_key_pkcs8_to_pkcs1
    - jose.jwe._compress
    - <builtin>.pow
    - private.private_key
    - jose.backends.cryptography_backend.CryptographyAESKey.__init__
    - base64.urlsafe_b64encode
    - <builtin>.all
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_cert
    - jose.jwe._encrypt_and_auth
    - <builtin>.len
    - rsa.pem.load_pem
    - rsa.PrivateKey.load_pkcs1
    - struct.pack
    - jose.jwe._encoded_header
    - jose.backends.ecdsa_backend.ECDSAECKey.__init__
    - cryptography.hazmat.bindings.openssl.binding.Binding.ffi.buffer
    - jose.backends.rsa_backend._legacy_private_key_pkcs8_to_pkcs1
    - data.encode
    - jose.backends.cryptography_backend.CryptographyHMACKey.__init__
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmq1
    - jose.jwe._get_encryption_key_mac_key_and_key_length_from_cek
    - <builtin>.any
    - rsa.PublicKey.load_pkcs1_openssl_pem
    - jose.utils.base64url_decode
    - <builtin>.hasattr
    - jose.jwe._get_direct_key_wrap_cek
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_iqmp
    - <builtin>.isinstance
    - cryptography.x509.load_pem_x509_certificate.public_key
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.encode
    - rsa.PublicKey.load_pkcs1
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.to_pem
    - pkcs8_key.startswith
    - jose.backends.native.get_random_bytes
    - jose.jwk.construct
    - key.wrap_key
    - key.encode
    - jose.utils.base64_to_long
    - ecdsa.SigningKey.from_pem
    - cryptography.x509.load_pem_x509_certificate
    - jose.backends.ecdsa_backend.ECDSAECKey._process_jwk
    - jose.backends.cryptography_backend.CryptographyRSAKey.__init__
    - cryptography.hazmat.backends.default_backend
    - jose.utils.ensure_binary
    - <builtin>.int
    - struct.unpack
    - jose.backends.base.DIRKey.__init__
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_jwk
    - os.urandom
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers
    - jose.jwe._get_hmac_key
    - jose.jwe._get_random_cek_bytes_for_enc
    - ecdsa.keys.VerifyingKey.from_public_point
    - cryptography.hazmat.bindings.openssl.binding.Binding.ffi.new
    - jose.jwe._get_key_wrap_cek
    - jwk_dict.get
    - jose.backends.cryptography_backend.get_random_bytes
    - jose.backends.rsa_backend._rsa_recover_prime_factors
    linkageType: pythonLinkage
    raised:
    - JWEError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 5
    argDefaultValues: []
    argNames:
    - alg
    - enc
    - zip
    - cty
    - kid
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 330
    functionName: jose.jwe._encoded_header
    functionSourceFile: jose.jwe
    functionUses: 1
    functionsReached:
    - base64.urlsafe_b64encode
    - jose.utils.base64url_encode
    - json.dumps
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - zip
    - plaintext
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 415
    functionName: jose.jwe._compress
    functionSourceFile: jose.jwe
    functionUses: 1
    functionsReached:
    - zlib.compress
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 6
    argDefaultValues: []
    argNames:
    - key
    - alg
    - enc
    - zip
    - plaintext
    - aad
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 362
    functionName: jose.jwe._encrypt_and_auth
    functionSourceFile: jose.jwe
    functionUses: 1
    functionsReached:
    - key.startswith
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.encode
    - ecdsa.ellipticcurve.Point
    - cryptography.hazmat.bindings.openssl.binding.Binding.lib.RAND_bytes
    - ecdsa.ecdsa.point_is_valid
    - ALGORITHMS.SUPPORTED.union
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateNumbers
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.get
    - key_data.get
    - rsa.PrivateKey
    - jose.backends.rsa_backend._gcd
    - jose.backends.rsa_backend.RSAKey._process_jwk
    - key.to_dict
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers
    - pyasn1.type.univ.Sequence.__init__
    - <builtin>.sorted
    - <builtin>.divmod
    - jose.jwk.get_key
    - s.encode
    - jose.backends.cryptography_backend.CryptographyHMACKey._process_jwk
    - k.encode
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers
    - jose.backends.rsa_backend.RSAKey.__init__
    - cryptography.hazmat.bindings.openssl.binding.Binding
    - public.public_key
    - jose.backends.native.HMACKey.__init__
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - cryptography.hazmat.primitives.serialization.load_pem_public_key
    - mac_key.sign
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmp1
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factors
    - jose.backends.pycrypto_backend.get_random_bytes
    - pyasn1.codec.der.decoder.decode
    - jose.jwe._auth_tag
    - jose.backends.native.HMACKey._process_jwk
    - jose.jwe._get_cek
    - <builtin>.bytes
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.get
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.to_pem
    - enc.split
    - jose.backends.cryptography_backend.CryptographyECKey.__init__
    - jose.utils.int_arr_to_long
    - ecdsa.keys.SigningKey.from_secret_exponent
    - base64.urlsafe_b64decode
    - jose.jwe._big_endian
    - rsa.PublicKey
    - encryption_key.encrypt
    - jose.jwe._get_key_bytes_from_key
    - ecdsa.VerifyingKey.from_pem
    - jose.backends.cryptography_backend.CryptographyECKey._process_jwk
    - jose.backends._asn1.rsa_private_key_pkcs8_to_pkcs1
    - <builtin>.pow
    - private.private_key
    - jose.backends.cryptography_backend.CryptographyAESKey.__init__
    - <builtin>.all
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_cert
    - <builtin>.len
    - rsa.pem.load_pem
    - rsa.PrivateKey.load_pkcs1
    - struct.pack
    - jose.backends.ecdsa_backend.ECDSAECKey.__init__
    - cryptography.hazmat.bindings.openssl.binding.Binding.ffi.buffer
    - jose.backends.rsa_backend._legacy_private_key_pkcs8_to_pkcs1
    - data.encode
    - jose.backends.cryptography_backend.CryptographyHMACKey.__init__
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmq1
    - jose.jwe._get_encryption_key_mac_key_and_key_length_from_cek
    - <builtin>.any
    - rsa.PublicKey.load_pkcs1_openssl_pem
    - jose.utils.base64url_decode
    - <builtin>.hasattr
    - jose.jwe._get_direct_key_wrap_cek
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_iqmp
    - <builtin>.isinstance
    - cryptography.x509.load_pem_x509_certificate.public_key
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.encode
    - rsa.PublicKey.load_pkcs1
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.to_pem
    - pkcs8_key.startswith
    - jose.backends.native.get_random_bytes
    - jose.jwk.construct
    - key.wrap_key
    - key.encode
    - jose.utils.base64_to_long
    - ecdsa.SigningKey.from_pem
    - cryptography.x509.load_pem_x509_certificate
    - jose.backends.ecdsa_backend.ECDSAECKey._process_jwk
    - jose.backends.cryptography_backend.CryptographyRSAKey.__init__
    - cryptography.hazmat.backends.default_backend
    - jose.utils.ensure_binary
    - <builtin>.int
    - struct.unpack
    - jose.backends.base.DIRKey.__init__
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_jwk
    - os.urandom
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers
    - jose.jwe._get_hmac_key
    - jose.jwe._get_random_cek_bytes_for_enc
    - ecdsa.keys.VerifyingKey.from_public_point
    - cryptography.hazmat.bindings.openssl.binding.Binding.ffi.new
    - jose.jwe._get_key_wrap_cek
    - jwk_dict.get
    - jose.backends.cryptography_backend.get_random_bytes
    - jose.backends.rsa_backend._rsa_recover_prime_factors
    linkageType: pythonLinkage
    raised:
    - JWEError
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - encoded_header
    - encrypted_cek
    - iv
    - cipher_text
    - auth_tag
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 578
    functionName: jose.jwe._jwe_compact_serialize
    functionSourceFile: jose.jwe
    functionUses: 1
    functionsReached:
    - s.encode
    - jose.utils.ensure_binary
    - <builtin>.isinstance
    - base64.urlsafe_b64encode
    - jose.utils.base64url_encode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues: []
    argNames:
    - jwe_str
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 60
    functionName: jose.jwe.decrypt
    functionSourceFile: jose.jwe
    functionUses: 0
    functionsReached:
    - key.startswith
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.encode
    - ecdsa.ellipticcurve.Point
    - cryptography.hazmat.bindings.openssl.binding.Binding.lib.RAND_bytes
    - ecdsa.ecdsa.point_is_valid
    - ALGORITHMS.SUPPORTED.union
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateNumbers
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.get
    - key_data.get
    - rsa.PrivateKey
    - jose.backends.rsa_backend._gcd
    - jose.jwe._jwe_compact_deserialize
    - jose.backends.rsa_backend.RSAKey._process_jwk
    - key.to_dict
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers
    - pyasn1.type.univ.Sequence.__init__
    - jose.jwe._decompress
    - <builtin>.sorted
    - <builtin>.divmod
    - jose.jwk.get_key
    - s.encode
    - jose.backends.cryptography_backend.CryptographyHMACKey._process_jwk
    - header.get
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers
    - k.encode
    - json.loads
    - jose.backends.rsa_backend.RSAKey.__init__
    - cryptography.hazmat.bindings.openssl.binding.Binding
    - jose.backends.native.HMACKey.__init__
    - public.public_key
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - cryptography.hazmat.primitives.serialization.load_pem_public_key
    - mac_key.sign
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmp1
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factors
    - jose.backends.pycrypto_backend.get_random_bytes
    - pyasn1.codec.der.decoder.decode
    - jose.jwe._auth_tag
    - jose.backends.native.HMACKey._process_jwk
    - jwe_bytes.split
    - <builtin>.bytes
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.get
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.to_pem
    - enc.split
    - jose.backends.cryptography_backend.CryptographyECKey.__init__
    - jose.utils.int_arr_to_long
    - ecdsa.keys.SigningKey.from_secret_exponent
    - base64.urlsafe_b64decode
    - jose.jwe._big_endian
    - rsa.PublicKey
    - jose.jwe._get_key_bytes_from_key
    - ecdsa.VerifyingKey.from_pem
    - jose.backends.cryptography_backend.CryptographyECKey._process_jwk
    - jose.backends._asn1.rsa_private_key_pkcs8_to_pkcs1
    - <builtin>.pow
    - private.private_key
    - jose.backends.cryptography_backend.CryptographyAESKey.__init__
    - encryption_key.decrypt
    - <builtin>.all
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_cert
    - <builtin>.len
    - rsa.pem.load_pem
    - rsa.PrivateKey.load_pkcs1
    - struct.pack
    - jose.backends.ecdsa_backend.ECDSAECKey.__init__
    - cryptography.hazmat.bindings.openssl.binding.Binding.ffi.buffer
    - jose.backends.rsa_backend._legacy_private_key_pkcs8_to_pkcs1
    - data.encode
    - jose.backends.cryptography_backend.CryptographyHMACKey.__init__
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmq1
    - jose.jwe._get_encryption_key_mac_key_and_key_length_from_cek
    - <builtin>.any
    - rsa.PublicKey.load_pkcs1_openssl_pem
    - jose.utils.base64url_decode
    - <builtin>.hasattr
    - zlib.decompress
    - jose.jwe._decrypt_and_auth
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_iqmp
    - <builtin>.isinstance
    - cryptography.x509.load_pem_x509_certificate.public_key
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.encode
    - rsa.PublicKey.load_pkcs1
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.to_pem
    - pkcs8_key.startswith
    - jose.backends.native.get_random_bytes
    - jose.jwk.construct
    - key.encode
    - jose.utils.base64_to_long
    - ecdsa.SigningKey.from_pem
    - cryptography.x509.load_pem_x509_certificate
    - jose.backends.ecdsa_backend.ECDSAECKey._process_jwk
    - jose.backends.cryptography_backend.CryptographyRSAKey.__init__
    - cryptography.hazmat.backends.default_backend
    - jose.utils.ensure_binary
    - <builtin>.int
    - struct.unpack
    - jose.backends.base.DIRKey.__init__
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_jwk
    - os.urandom
    - key.unwrap_key
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers
    - jose.jwe._get_hmac_key
    - jose.jwe._get_random_cek_bytes_for_enc
    - ecdsa.keys.VerifyingKey.from_public_point
    - cryptography.hazmat.bindings.openssl.binding.Binding.ffi.new
    - jwk_dict.get
    - jose.backends.cryptography_backend.get_random_bytes
    - jose.backends.rsa_backend._rsa_recover_prime_factors
    linkageType: pythonLinkage
    raised:
    - JWEError
    - JWEParseError
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - jwe_bytes
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 256
    functionName: jose.jwe._jwe_compact_deserialize
    functionSourceFile: jose.jwe
    functionUses: 2
    functionsReached:
    - jwe_bytes.split
    - <builtin>.len
    - s.encode
    - jose.utils.ensure_binary
    - base64.urlsafe_b64decode
    - <builtin>.isinstance
    - json.loads
    - jose.utils.base64url_decode
    linkageType: pythonLinkage
    raised:
    - JWEParseError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - key
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 500
    functionName: jose.jwe._get_key_bytes_from_key
    functionSourceFile: jose.jwe
    functionUses: 5
    functionsReached:
    - <builtin>.len
    - base64.urlsafe_b64decode
    - jose.utils.base64url_decode
    - key.to_dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key.unwrap_key
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 1
    argDefaultValues: []
    argNames:
    - enc
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 531
    functionName: jose.jwe._get_random_cek_bytes_for_enc
    functionSourceFile: jose.jwe
    functionUses: 5
    functionsReached:
    - cryptography.hazmat.bindings.openssl.binding.Binding.ffi.new
    - <builtin>.bytes
    - jose.backends.pycrypto_backend.get_random_bytes
    - jose.backends.cryptography_backend.get_random_bytes
    - os.urandom
    - jose.backends.native.get_random_bytes
    - cryptography.hazmat.bindings.openssl.binding.Binding.lib.RAND_bytes
    - cryptography.hazmat.bindings.openssl.binding.Binding.ffi.buffer
    - cryptography.hazmat.bindings.openssl.binding.Binding
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 6
    argDefaultValues: []
    argNames:
    - cek_bytes
    - enc
    - cipher_text
    - iv
    - aad
    - auth_tag
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 208
    functionName: jose.jwe._decrypt_and_auth
    functionSourceFile: jose.jwe
    functionUses: 1
    functionsReached:
    - key.startswith
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.encode
    - ecdsa.ellipticcurve.Point
    - ecdsa.ecdsa.point_is_valid
    - ALGORITHMS.SUPPORTED.union
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateNumbers
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.get
    - key_data.get
    - rsa.PrivateKey
    - jose.backends.rsa_backend._gcd
    - jose.backends.rsa_backend.RSAKey._process_jwk
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers
    - pyasn1.type.univ.Sequence.__init__
    - <builtin>.sorted
    - <builtin>.divmod
    - jose.jwk.get_key
    - s.encode
    - jose.backends.cryptography_backend.CryptographyHMACKey._process_jwk
    - k.encode
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers
    - jose.backends.rsa_backend.RSAKey.__init__
    - public.public_key
    - jose.backends.native.HMACKey.__init__
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - mac_key.sign
    - cryptography.hazmat.primitives.serialization.load_pem_public_key
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmp1
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factors
    - pyasn1.codec.der.decoder.decode
    - jose.jwe._auth_tag
    - jose.backends.native.HMACKey._process_jwk
    - <builtin>.bytes
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.get
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.to_pem
    - enc.split
    - jose.backends.cryptography_backend.CryptographyECKey.__init__
    - jose.utils.int_arr_to_long
    - ecdsa.keys.SigningKey.from_secret_exponent
    - base64.urlsafe_b64decode
    - jose.jwe._big_endian
    - rsa.PublicKey
    - ecdsa.VerifyingKey.from_pem
    - jose.backends.cryptography_backend.CryptographyECKey._process_jwk
    - jose.backends._asn1.rsa_private_key_pkcs8_to_pkcs1
    - <builtin>.pow
    - private.private_key
    - jose.backends.cryptography_backend.CryptographyAESKey.__init__
    - encryption_key.decrypt
    - <builtin>.all
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_cert
    - <builtin>.len
    - rsa.pem.load_pem
    - rsa.PrivateKey.load_pkcs1
    - struct.pack
    - jose.backends.ecdsa_backend.ECDSAECKey.__init__
    - jose.backends.rsa_backend._legacy_private_key_pkcs8_to_pkcs1
    - data.encode
    - jose.backends.cryptography_backend.CryptographyHMACKey.__init__
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmq1
    - jose.jwe._get_encryption_key_mac_key_and_key_length_from_cek
    - <builtin>.any
    - rsa.PublicKey.load_pkcs1_openssl_pem
    - jose.utils.base64url_decode
    - <builtin>.hasattr
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_iqmp
    - <builtin>.isinstance
    - cryptography.x509.load_pem_x509_certificate.public_key
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.encode
    - rsa.PublicKey.load_pkcs1
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.to_pem
    - pkcs8_key.startswith
    - jose.jwk.construct
    - key.encode
    - jose.utils.base64_to_long
    - ecdsa.SigningKey.from_pem
    - cryptography.x509.load_pem_x509_certificate
    - jose.backends.ecdsa_backend.ECDSAECKey._process_jwk
    - jose.backends.cryptography_backend.CryptographyRSAKey.__init__
    - cryptography.hazmat.backends.default_backend
    - jose.utils.ensure_binary
    - <builtin>.int
    - struct.unpack
    - jose.backends.base.DIRKey.__init__
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_jwk
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers
    - jose.jwe._get_hmac_key
    - ecdsa.keys.VerifyingKey.from_public_point
    - jwk_dict.get
    - jose.backends.rsa_backend._rsa_recover_prime_factors
    linkageType: pythonLinkage
    raised:
    - JWEError
    - NotImplementedError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues: []
    argNames:
    - zip
    - compressed
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 437
    functionName: jose.jwe._decompress
    functionSourceFile: jose.jwe
    functionUses: 1
    functionsReached:
    - zlib.decompress
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - jwe_str
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 192
    functionName: jose.jwe.get_unverified_header
    functionSourceFile: jose.jwe
    functionUses: 0
    functionsReached:
    - jwe_bytes.split
    - <builtin>.len
    - s.encode
    - jose.utils.ensure_binary
    - base64.urlsafe_b64decode
    - <builtin>.isinstance
    - json.loads
    - jose.jwe._jwe_compact_deserialize
    - jose.utils.base64url_decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - cek_bytes
    - enc
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 7
    functionLinenumber: 246
    functionName: jose.jwe._get_encryption_key_mac_key_and_key_length_from_cek
    functionSourceFile: jose.jwe
    functionUses: 4
    functionsReached:
    - key.startswith
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.encode
    - ecdsa.ellipticcurve.Point
    - ecdsa.ecdsa.point_is_valid
    - ALGORITHMS.SUPPORTED.union
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateNumbers
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.get
    - key_data.get
    - rsa.PrivateKey
    - jose.backends.rsa_backend._gcd
    - jose.backends.rsa_backend.RSAKey._process_jwk
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers
    - pyasn1.type.univ.Sequence.__init__
    - <builtin>.sorted
    - <builtin>.divmod
    - jose.jwk.get_key
    - s.encode
    - jose.backends.cryptography_backend.CryptographyHMACKey._process_jwk
    - k.encode
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers
    - jose.backends.rsa_backend.RSAKey.__init__
    - public.public_key
    - jose.backends.native.HMACKey.__init__
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - cryptography.hazmat.primitives.serialization.load_pem_public_key
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmp1
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factors
    - pyasn1.codec.der.decoder.decode
    - jose.backends.native.HMACKey._process_jwk
    - <builtin>.bytes
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.get
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.to_pem
    - enc.split
    - jose.backends.cryptography_backend.CryptographyECKey.__init__
    - jose.utils.int_arr_to_long
    - ecdsa.keys.SigningKey.from_secret_exponent
    - base64.urlsafe_b64decode
    - rsa.PublicKey
    - ecdsa.VerifyingKey.from_pem
    - jose.backends.cryptography_backend.CryptographyECKey._process_jwk
    - jose.backends._asn1.rsa_private_key_pkcs8_to_pkcs1
    - <builtin>.pow
    - private.private_key
    - jose.backends.cryptography_backend.CryptographyAESKey.__init__
    - <builtin>.all
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_cert
    - <builtin>.len
    - rsa.pem.load_pem
    - rsa.PrivateKey.load_pkcs1
    - jose.backends.ecdsa_backend.ECDSAECKey.__init__
    - jose.backends.rsa_backend._legacy_private_key_pkcs8_to_pkcs1
    - data.encode
    - jose.backends.cryptography_backend.CryptographyHMACKey.__init__
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmq1
    - <builtin>.any
    - rsa.PublicKey.load_pkcs1_openssl_pem
    - jose.utils.base64url_decode
    - <builtin>.hasattr
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_iqmp
    - <builtin>.isinstance
    - cryptography.x509.load_pem_x509_certificate.public_key
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.encode
    - rsa.PublicKey.load_pkcs1
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.to_pem
    - pkcs8_key.startswith
    - jose.jwk.construct
    - key.encode
    - jose.utils.base64_to_long
    - ecdsa.SigningKey.from_pem
    - cryptography.x509.load_pem_x509_certificate
    - jose.backends.ecdsa_backend.ECDSAECKey._process_jwk
    - jose.backends.cryptography_backend.CryptographyRSAKey.__init__
    - cryptography.hazmat.backends.default_backend
    - jose.utils.ensure_binary
    - <builtin>.int
    - struct.unpack
    - jose.backends.base.DIRKey.__init__
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_jwk
    - jose.jwe._get_hmac_key
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers
    - ecdsa.keys.VerifyingKey.from_public_point
    - jwk_dict.get
    - jose.backends.rsa_backend._rsa_recover_prime_factors
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 5
    argDefaultValues: []
    argNames:
    - ciphertext
    - iv
    - aad
    - mac_key
    - tag_length
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 2
    functionLinenumber: 557
    functionName: jose.jwe._auth_tag
    functionSourceFile: jose.jwe
    functionUses: 4
    functionsReached:
    - <builtin>.len
    - struct.pack
    - jose.jwe._big_endian
    - mac_key.sign
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: encryption_key.decrypt
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - enc
    - mac_key_bytes
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 399
    functionName: jose.jwe._get_hmac_key
    functionSourceFile: jose.jwe
    functionUses: 5
    functionsReached:
    - key.startswith
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.encode
    - ecdsa.ellipticcurve.Point
    - ecdsa.ecdsa.point_is_valid
    - ALGORITHMS.SUPPORTED.union
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateNumbers
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.get
    - key_data.get
    - rsa.PrivateKey
    - jose.backends.rsa_backend._gcd
    - jose.backends.rsa_backend.RSAKey._process_jwk
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers
    - pyasn1.type.univ.Sequence.__init__
    - <builtin>.sorted
    - <builtin>.divmod
    - jose.jwk.get_key
    - s.encode
    - jose.backends.cryptography_backend.CryptographyHMACKey._process_jwk
    - k.encode
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers
    - jose.backends.rsa_backend.RSAKey.__init__
    - public.public_key
    - jose.backends.native.HMACKey.__init__
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - cryptography.hazmat.primitives.serialization.load_pem_public_key
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmp1
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factors
    - pyasn1.codec.der.decoder.decode
    - jose.backends.native.HMACKey._process_jwk
    - <builtin>.bytes
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.get
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.to_pem
    - enc.split
    - jose.backends.cryptography_backend.CryptographyECKey.__init__
    - jose.utils.int_arr_to_long
    - ecdsa.keys.SigningKey.from_secret_exponent
    - base64.urlsafe_b64decode
    - rsa.PublicKey
    - ecdsa.VerifyingKey.from_pem
    - jose.backends.cryptography_backend.CryptographyECKey._process_jwk
    - jose.backends._asn1.rsa_private_key_pkcs8_to_pkcs1
    - <builtin>.pow
    - private.private_key
    - jose.backends.cryptography_backend.CryptographyAESKey.__init__
    - <builtin>.all
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_cert
    - <builtin>.len
    - rsa.pem.load_pem
    - rsa.PrivateKey.load_pkcs1
    - jose.backends.ecdsa_backend.ECDSAECKey.__init__
    - jose.backends.rsa_backend._legacy_private_key_pkcs8_to_pkcs1
    - data.encode
    - jose.backends.cryptography_backend.CryptographyHMACKey.__init__
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmq1
    - <builtin>.any
    - rsa.PublicKey.load_pkcs1_openssl_pem
    - jose.utils.base64url_decode
    - <builtin>.hasattr
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_iqmp
    - <builtin>.isinstance
    - cryptography.x509.load_pem_x509_certificate.public_key
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.encode
    - rsa.PublicKey.load_pkcs1
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.to_pem
    - pkcs8_key.startswith
    - jose.jwk.construct
    - key.encode
    - jose.utils.base64_to_long
    - ecdsa.SigningKey.from_pem
    - cryptography.x509.load_pem_x509_certificate
    - jose.backends.ecdsa_backend.ECDSAECKey._process_jwk
    - jose.backends.cryptography_backend.CryptographyRSAKey.__init__
    - cryptography.hazmat.backends.default_backend
    - jose.utils.ensure_binary
    - <builtin>.int
    - struct.unpack
    - jose.backends.base.DIRKey.__init__
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_jwk
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers
    - ecdsa.keys.VerifyingKey.from_public_point
    - jwk_dict.get
    - jose.backends.rsa_backend._rsa_recover_prime_factors
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: enc.split
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: jwe_bytes.split
    functionSourceFile: <builtin>
    functionUses: 3
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - int_val
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 358
    functionName: jose.jwe._big_endian
    functionSourceFile: jose.jwe
    functionUses: 5
    functionsReached:
    - struct.pack
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: struct.pack
    functionSourceFile: struct
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 3
    argDefaultValues: []
    argNames:
    - enc
    - alg
    - key
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 459
    functionName: jose.jwe._get_cek
    functionSourceFile: jose.jwe
    functionUses: 2
    functionsReached:
    - jose.jwe._get_key_bytes_from_key
    - jose.jwe._get_random_cek_bytes_for_enc
    - cryptography.hazmat.bindings.openssl.binding.Binding.ffi.new
    - jose.jwe._get_key_wrap_cek
    - jose.jwe._get_direct_key_wrap_cek
    - <builtin>.len
    - <builtin>.bytes
    - key.wrap_key
    - jose.backends.pycrypto_backend.get_random_bytes
    - jose.backends.cryptography_backend.get_random_bytes
    - os.urandom
    - base64.urlsafe_b64decode
    - jose.backends.native.get_random_bytes
    - cryptography.hazmat.bindings.openssl.binding.Binding.lib.RAND_bytes
    - cryptography.hazmat.bindings.openssl.binding.Binding
    - cryptography.hazmat.bindings.openssl.binding.Binding.ffi.buffer
    - jose.utils.base64url_decode
    - key.to_dict
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: encryption_key.encrypt
    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: zlib.compress
    functionSourceFile: zlib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: zlib.decompress
    functionSourceFile: zlib
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - key
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 479
    functionName: jose.jwe._get_direct_key_wrap_cek
    functionSourceFile: jose.jwe
    functionUses: 3
    functionsReached:
    - jose.jwe._get_key_bytes_from_key
    - <builtin>.len
    - base64.urlsafe_b64decode
    - jose.utils.base64url_decode
    - key.to_dict
    linkageType: pythonLinkage
    raised:
    - NotImplementedError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 2
    argDefaultValues: []
    argNames:
    - enc
    - key
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 515
    functionName: jose.jwe._get_key_wrap_cek
    functionSourceFile: jose.jwe
    functionUses: 3
    functionsReached:
    - jose.jwe._get_random_cek_bytes_for_enc
    - cryptography.hazmat.bindings.openssl.binding.Binding.ffi.new
    - <builtin>.bytes
    - key.wrap_key
    - jose.backends.pycrypto_backend.get_random_bytes
    - jose.backends.cryptography_backend.get_random_bytes
    - os.urandom
    - jose.backends.native.get_random_bytes
    - cryptography.hazmat.bindings.openssl.binding.Binding.lib.RAND_bytes
    - cryptography.hazmat.bindings.openssl.binding.Binding.ffi.buffer
    - cryptography.hazmat.bindings.openssl.binding.Binding
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key.to_dict
    functionSourceFile: <builtin>
    functionUses: 6
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: key.wrap_key
    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: jose.backends.pycrypto_backend.get_random_bytes
    functionSourceFile: jose
    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: mac_key.sign
    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: jose.jwt
    functionSourceFile: jose.jwt
    functionUses: 0
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 5
    argDefaultValues:
    - <ast.Attribute object at 0x7f3ebd04aa00>
    - <ast.Constant object at 0x7f3ebd04a9a0>
    - <ast.Constant object at 0x7f3ebd04a970>
    argNames:
    - claims
    - key
    - algorithm
    - headers
    - access_token
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 8
    functionLinenumber: 17
    functionName: jose.jwt.encode
    functionSourceFile: jose.jwt
    functionUses: 0
    functionsReached:
    - header.update
    - key.startswith
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.encode
    - ecdsa.ellipticcurve.Point
    - ecdsa.ecdsa.point_is_valid
    - ALGORITHMS.SUPPORTED.union
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateNumbers
    - access_token.encode
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.get
    - key_data.get
    - rsa.PrivateKey
    - jose.backends.rsa_backend._gcd
    - jose.backends.rsa_backend.RSAKey._process_jwk
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers
    - claims.get
    - pyasn1.type.univ.Sequence.__init__
    - <builtin>.sorted
    - <builtin>.divmod
    - jose.utils.base64url_encode
    - jose.jwk.get_key
    - s.encode
    - jose.backends.cryptography_backend.CryptographyHMACKey._process_jwk
    - k.encode
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers
    - jose.backends.rsa_backend.RSAKey.__init__
    - public.public_key
    - jose.backends.native.HMACKey.__init__
    - json.dumps
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - cryptography.hazmat.primitives.serialization.load_pem_public_key
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmp1
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factors
    - pyasn1.codec.der.decoder.decode
    - jose.backends.native.HMACKey._process_jwk
    - <builtin>.bytes
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.get
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.to_pem
    - jose.backends.cryptography_backend.CryptographyECKey.__init__
    - jose.utils.int_arr_to_long
    - ecdsa.keys.SigningKey.from_secret_exponent
    - base64.urlsafe_b64decode
    - jose.jws._encode_payload
    - rsa.PublicKey
    - ecdsa.VerifyingKey.from_pem
    - jose.backends.cryptography_backend.CryptographyECKey._process_jwk
    - jose.backends._asn1.rsa_private_key_pkcs8_to_pkcs1
    - <builtin>.pow
    - private.private_key
    - jose.backends.cryptography_backend.CryptographyAESKey.__init__
    - base64.urlsafe_b64encode
    - <builtin>.all
    - jose.jws.sign
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_cert
    - encoded_string.decode
    - <builtin>.len
    - rsa.pem.load_pem
    - rsa.PrivateKey.load_pkcs1
    - jose.backends.ecdsa_backend.ECDSAECKey.__init__
    - jose.backends.rsa_backend._legacy_private_key_pkcs8_to_pkcs1
    - data.encode
    - jose.backends.cryptography_backend.CryptographyHMACKey.__init__
    - calendar.timegm
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmq1
    - <builtin>.any
    - rsa.PublicKey.load_pkcs1_openssl_pem
    - jose.utils.base64url_decode
    - <builtin>.hasattr
    - jose.utils.calculate_at_hash
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_iqmp
    - <builtin>.isinstance
    - cryptography.x509.load_pem_x509_certificate.public_key
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.encode
    - rsa.PublicKey.load_pkcs1
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.to_pem
    - pkcs8_key.startswith
    - jose.jwk.construct
    - key.sign
    - key.encode
    - jose.utils.base64_to_long
    - ecdsa.SigningKey.from_pem
    - cryptography.x509.load_pem_x509_certificate
    - jose.jws._encode_header
    - jose.backends.ecdsa_backend.ECDSAECKey._process_jwk
    - jose.backends.cryptography_backend.CryptographyRSAKey.__init__
    - at_hash.decode
    - cryptography.hazmat.backends.default_backend
    - jose.utils.ensure_binary
    - <builtin>.int
    - struct.unpack
    - jose.backends.base.DIRKey.__init__
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_jwk
    - jose.jws._sign_header_and_claims
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers
    - ecdsa.keys.VerifyingKey.from_public_point
    - jwk_dict.get
    - jose.backends.rsa_backend._rsa_recover_prime_factors
    linkageType: pythonLinkage
    raised: []
    returnType: N/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.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: calendar.timegm
    functionSourceFile: calendar
    functionUses: 5
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 3
    IfCount: 2
    argCount: 8
    argDefaultValues:
    - <ast.Constant object at 0x7f3ebd04b910>
    - <ast.Constant object at 0x7f3ebd04b8e0>
    - <ast.Constant object at 0x7f3ebd04b8b0>
    - <ast.Constant object at 0x7f3ebd04b880>
    - <ast.Constant object at 0x7f3ebd04b850>
    - <ast.Constant object at 0x7f3ebd04b820>
    argNames:
    - token
    - key
    - algorithms
    - options
    - audience
    - issuer
    - subject
    - access_token
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 9
    functionLinenumber: 59
    functionName: jose.jwt.decode
    functionSourceFile: jose.jwt
    functionUses: 0
    functionsReached:
    - key.startswith
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.encode
    - defaults.update
    - ecdsa.ellipticcurve.Point
    - <builtin>.type
    - ecdsa.ecdsa.point_is_valid
    - ALGORITHMS.SUPPORTED.union
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePrivateNumbers
    - access_token.encode
    - signing_input.split
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.get
    - key_data.get
    - jose.jwt._validate_sub
    - rsa.PrivateKey
    - jwt.rsplit
    - jose.backends.rsa_backend._gcd
    - options.get
    - jose.jws.verify
    - jose.backends.rsa_backend.RSAKey._process_jwk
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPublicNumbers
    - claims.get
    - jwt.encode
    - pyasn1.type.univ.Sequence.__init__
    - <builtin>.sorted
    - jose.jwt._validate_jti
    - <builtin>.divmod
    - jose.jwt._validate_iat
    - jose.utils.base64url_encode
    - jose.jws._get_keys
    - jose.jwk.get_key
    - jose.jwt._validate_claims
    - jose.jws._verify_signature
    - s.encode
    - jose.backends.cryptography_backend.CryptographyHMACKey._process_jwk
    - header.get
    - k.encode
    - cryptography.hazmat.primitives.asymmetric.ec.EllipticCurvePublicNumbers
    - json.loads
    - jose.backends.rsa_backend.RSAKey.__init__
    - public.public_key
    - jose.backends.native.HMACKey.__init__
    - cryptography.hazmat.primitives.serialization.load_pem_private_key
    - cryptography.hazmat.primitives.serialization.load_pem_public_key
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmp1
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_recover_prime_factors
    - pyasn1.codec.der.decoder.decode
    - jose.backends.native.HMACKey._process_jwk
    - <builtin>.bytes
    - jose.jws.get_unverified_header
    - jose.jws._sig_matches_keys
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.get
    - cryptography.hazmat.primitives.serialization.load_pem_public_key.to_pem
    - jose.backends.cryptography_backend.CryptographyECKey.__init__
    - jose.utils.int_arr_to_long
    - ecdsa.keys.SigningKey.from_secret_exponent
    - base64.urlsafe_b64decode
    - rsa.PublicKey
    - key.verify
    - ecdsa.VerifyingKey.from_pem
    - defaults.get
    - jose.backends.cryptography_backend.CryptographyECKey._process_jwk
    - jose.backends._asn1.rsa_private_key_pkcs8_to_pkcs1
    - <builtin>.pow
    - jose.jwt._validate_nbf
    - private.private_key
    - jose.backends.cryptography_backend.CryptographyAESKey.__init__
    - options.keys
    - base64.urlsafe_b64encode
    - <builtin>.all
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_cert
    - <builtin>.len
    - rsa.pem.load_pem
    - rsa.PrivateKey.load_pkcs1
    - jose.backends.ecdsa_backend.ECDSAECKey.__init__
    - jose.backends.rsa_backend._legacy_private_key_pkcs8_to_pkcs1
    - data.encode
    - jose.backends.cryptography_backend.CryptographyHMACKey.__init__
    - e.startswith
    - jose.jwt._validate_aud
    - calendar.timegm
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_dmq1
    - <builtin>.any
    - rsa.PublicKey.load_pkcs1_openssl_pem
    - jose.utils.base64url_decode
    - <builtin>.hasattr
    - jose.utils.calculate_at_hash
    - cryptography.hazmat.primitives.asymmetric.rsa.rsa_crt_iqmp
    - key.values
    - payload.decode
    - datetime.datetime.utcnow
    - <builtin>.isinstance
    - cryptography.x509.load_pem_x509_certificate.public_key
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.encode
    - rsa.PublicKey.load_pkcs1
    - jose.jwt._validate_exp
    - cryptography.hazmat.primitives.serialization.load_pem_private_key.to_pem
    - pkcs8_key.startswith
    - jose.jwk.construct
    - key.encode
    - jose.utils.base64_to_long
    - ecdsa.SigningKey.from_pem
    - cryptography.x509.load_pem_x509_certificate
    - header_data.decode
    - jose.backends.ecdsa_backend.ECDSAECKey._process_jwk
    - at_hash.decode
    - jose.backends.cryptography_backend.CryptographyRSAKey.__init__
    - jose.jws._load
    - cryptography.hazmat.backends.default_backend
    - jose.utils.ensure_binary
    - <builtin>.int
    - struct.unpack
    - jose.backends.base.DIRKey.__init__
    - jose.jwt._validate_at_hash
    - jose.backends.cryptography_backend.CryptographyRSAKey._process_jwk
    - cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers
    - ecdsa.keys.VerifyingKey.from_public_point
    - jwk_dict.get
    - jose.utils.timedelta_total_seconds
    - jose.backends.rsa_backend._rsa_recover_prime_factors
    - jose.jwt._validate_iss
    linkageType: pythonLinkage
    raised:
    - JWTError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: defaults.update
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: defaults.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: payload.decode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 11
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 16
    ICount: 8
    IfCount: 11
    argCount: 7
    argDefaultValues:
    - <ast.Constant object at 0x7f3ebcef8640>
    - <ast.Constant object at 0x7f3ebcef8b20>
    - <ast.Constant object at 0x7f3ebcef8ac0>
    - <ast.Constant object at 0x7f3ebcef8b50>
    - <ast.Constant object at 0x7f3ebcef8760>
    - <ast.Constant object at 0x7f3ebcef8f10>
    argNames:
    - claims
    - audience
    - issuer
    - subject
    - algorithm
    - access_token
    - options
    argTypes:
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 461
    functionName: jose.jwt._validate_claims
    functionSourceFile: jose.jwt
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - <builtin>.type
    - e.startswith
    - at_hash.decode
    - access_token.encode
    - jose.jwt._validate_aud
    - calendar.timegm
    - jose.jwt._validate_sub
    - base64.urlsafe_b64encode
    - <builtin>.int
    - <builtin>.any
    - options.get
    - claims.get
    - jose.utils.calculate_at_hash
    - jose.jwt._validate_at_hash
    - datetime.datetime.utcnow
    - jose.jwt._validate_jti
    - <builtin>.isinstance
    - jose.jwt._validate_iat
    - jose.utils.base64url_encode
    - jose.jwt._validate_exp
    - jose.jwt._validate_nbf
    - jose.utils.timedelta_total_seconds
    - options.keys
    - jose.jwt._validate_iss
    linkageType: pythonLinkage
    raised:
    - JWTError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - token
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 5
    functionLinenumber: 173
    functionName: jose.jwt.get_unverified_header
    functionSourceFile: jose.jwt
    functionUses: 1
    functionsReached:
    - <builtin>.len
    - signing_input.split
    - jwt.encode
    - jose.jws._load
    - json.loads
    - base64.urlsafe_b64decode
    - jwt.rsplit
    - <builtin>.isinstance
    - header_data.decode
    - jose.jws.get_unverified_header
    - jose.jws.get_unverified_headers
    - jose.utils.base64url_decode
    linkageType: pythonLinkage
    raised:
    - JWTError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 1
    IfCount: 0
    argCount: 1
    argDefaultValues: []
    argNames:
    - token
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 6
    functionLinenumber: 193
    functionName: jose.jwt.get_unverified_headers
    functionSourceFile: jose.jwt
    functionUses: 0
    functionsReached:
    - jose.jwt.get_unverified_header
    - <builtin>.len
    - signing_input.split
    - jwt.encode
    - jose.jws._load
    - json.loads
    - base64.urlsafe_b64decode
    - jwt.rsplit
    - <builtin>.isinstance
    - header_data.decode
    - jose.jws.get_unverified_header
    - jose.jws.get_unverified_headers
    - jose.utils.base64url_decode
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 1
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - token
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 4
    functionLinenumber: 211
    functionName: jose.jwt.get_unverified_claims
    functionSourceFile: jose.jwt
    functionUses: 0
    functionsReached:
    - jose.jws.get_unverified_claims
    - <builtin>.len
    - signing_input.split
    - jwt.encode
    - jose.jws._load
    - claims.decode
    - json.loads
    - base64.urlsafe_b64decode
    - jwt.rsplit
    - <builtin>.isinstance
    - header_data.decode
    - jose.utils.base64url_decode
    linkageType: pythonLinkage
    raised:
    - JWTError
    returnType: N/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.decode
    functionSourceFile: <builtin>
    functionUses: 1
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 2
    ICount: 2
    IfCount: 1
    argCount: 1
    argDefaultValues: []
    argNames:
    - claims
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 239
    functionName: jose.jwt._validate_iat
    functionSourceFile: jose.jwt
    functionUses: 2
    functionsReached:
    - <builtin>.int
    linkageType: pythonLinkage
    raised:
    - JWTClaimsError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3ebcd18970>
    argNames:
    - claims
    - leeway
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 260
    functionName: jose.jwt._validate_nbf
    functionSourceFile: jose.jwt
    functionUses: 2
    functionsReached:
    - <builtin>.int
    - calendar.timegm
    - datetime.datetime.utcnow
    linkageType: pythonLinkage
    raised:
    - JWTClaimsError
    returnType: N/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: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3ebcd1e0d0>
    argNames:
    - claims
    - leeway
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 290
    functionName: jose.jwt._validate_exp
    functionSourceFile: jose.jwt
    functionUses: 2
    functionsReached:
    - <builtin>.int
    - calendar.timegm
    - datetime.datetime.utcnow
    linkageType: pythonLinkage
    raised:
    - ExpiredSignatureError
    - JWTClaimsError
    returnType: N/A
  - BBCount: 5
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 8
    ICount: 1
    IfCount: 5
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3ebcd341c0>
    argNames:
    - claims
    - audience
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 320
    functionName: jose.jwt._validate_aud
    functionSourceFile: jose.jwt
    functionUses: 2
    functionsReached:
    - <builtin>.any
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - JWTClaimsError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3ebd038a00>
    argNames:
    - claims
    - issuer
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 356
    functionName: jose.jwt._validate_iss
    functionSourceFile: jose.jwt
    functionUses: 2
    functionsReached:
    - claims.get
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - JWTClaimsError
    returnType: N/A
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 7
    ICount: 1
    IfCount: 4
    argCount: 2
    argDefaultValues:
    - <ast.Constant object at 0x7f3ebd0385e0>
    argNames:
    - claims
    - subject
    argTypes:
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 377
    functionName: jose.jwt._validate_sub
    functionSourceFile: jose.jwt
    functionUses: 2
    functionsReached:
    - claims.get
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - JWTClaimsError
    returnType: N/A
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 1
    IfCount: 2
    argCount: 1
    argDefaultValues: []
    argNames:
    - claims
    argTypes:
    - N/A
    constantsTouched: []
    functionDepth: 1
    functionLinenumber: 404
    functionName: jose.jwt._validate_jti
    functionSourceFile: jose.jwt
    functionUses: 2
    functionsReached:
    - <builtin>.isinstance
    linkageType: pythonLinkage
    raised:
    - JWTClaimsError
    returnType: N/A
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 4
    EdgeCount: 5
    ICount: 1
    IfCount: 3
    argCount: 3
    argDefaultValues: []
    argNames:
    - claims
    - access_token
    - algorithm
    argTypes:
    - N/A
    - N/A
    - N/A
    constantsTouched: []
    functionDepth: 3
    functionLinenumber: 426
    functionName: jose.jwt._validate_at_hash
    functionSourceFile: jose.jwt
    functionUses: 2
    functionsReached:
    - at_hash.decode
    - jose.utils.calculate_at_hash
    - access_token.encode
    - <builtin>.len
    - <builtin>.int
    - base64.urlsafe_b64encode
    - jose.utils.base64url_encode
    linkageType: pythonLinkage
    raised:
    - JWTClaimsError
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: options.get
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: options.keys
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: e.startswith
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 1
    ICount: 0
    IfCount: 0
    argCount: 0
    argDefaultValues: []
    argNames: []
    argTypes: []
    constantsTouched: []
    functionDepth: 0
    functionLinenumber: -1
    functionName: <builtin>.type
    functionSourceFile: <builtin>
    functionUses: 2
    functionsReached: []
    linkageType: pythonLinkage
    raised: []
    returnType: N/A
  Function list name: All functions
Function coverage:
  '...fuzz_jws':
  - 41
  - 42
  '...fuzz_jws.TestOneInput':
  - 26
  - 27
  - 28
  - 30
  '...fuzz_jws.main':
  - 36
  - 37
  - 38
  jose.backends._asn1:
  - 1
  jose.backends._asn1.PKCS8PrivateKey:
  - 20
  - 22
  - 23
  - 24
  - 25
  jose.backends._asn1.PublicKeyInfo:
  - 32
  - 33
  - 30
  jose.backends._asn1.RsaAlgorithmIdentifier:
  - 12
  - 14
  - 15
  jose.backends._asn1.rsa_private_key_pkcs1_to_pkcs8:
  - 59
  - 50
  - 51
  - 54
  jose.backends._asn1.rsa_private_key_pkcs8_to_pkcs1:
  - 38
  - 39
  jose.backends._asn1.rsa_public_key_pkcs1_to_pkcs8:
  - 64
  - 67
  - 69
  - 71
  - 63
  jose.backends._asn1.rsa_public_key_pkcs8_to_pkcs1:
  - 83
  - 75
  - 76
  jose.backends.base.DIRKey.__init__:
  - 81
  jose.backends.base.DIRKey.to_dict:
  - 88
  jose.backends.base.Key:
  - 5
  jose.backends.base.Key.decrypt:
  - 41
  jose.backends.base.Key.encrypt:
  - 28
  jose.backends.base.Key.unwrap_key:
  - 67
  jose.backends.base.Key.wrap_key:
  - 55
  jose.backends.cryptography_backend.CryptographyAESKey.__init__:
  - 449
  - 451
  - 453
  - 455
  - 457
  - 459
  - 443
  - 445
  jose.backends.cryptography_backend.CryptographyAESKey.decrypt:
  - 491
  - 493
  - 494
  - 495
  - 496
  - 498
  - 501
  - 505
  - 506
  - 507
  - 508
  - 509
  - 510
  - 511
  jose.backends.cryptography_backend.CryptographyAESKey.encrypt:
  - 480
  - 481
  - 482
  - 483
  - 484
  - 469
  - 471
  - 472
  - 473
  - 474
  - 475
  - 476
  - 479
  jose.backends.cryptography_backend.CryptographyAESKey.to_dict:
  - 465
  jose.backends.cryptography_backend.CryptographyAESKey.unwrap_key:
  - 523
  - 525
  jose.backends.cryptography_backend.CryptographyAESKey.wrap_key:
  - 518
  - 519
  jose.backends.cryptography_backend.CryptographyECKey.__init__:
  - 89
  - 66
  - 70
  - 72
  - 74
  - 75
  - 78
  - 79
  - 81
  - 54
  - 87
  - 57
  jose.backends.cryptography_backend.CryptographyECKey._der_to_raw:
  - 131
  - 132
  - 133
  - 134
  jose.backends.cryptography_backend.CryptographyECKey._process_jwk:
  - 99
  - 102
  - 105
  - 106
  - 113
  - 115
  - 116
  - 117
  - 119
  - 121
  jose.backends.cryptography_backend.CryptographyECKey._raw_to_der:
  - 137
  - 138
  - 139
  - 144
  - 145
  - 146
  jose.backends.cryptography_backend.CryptographyECKey._sig_component_length:
  - 128
  - 124
  jose.backends.cryptography_backend.CryptographyECKey.is_public:
  - 166
  jose.backends.cryptography_backend.CryptographyECKey.public_key:
  - 169
  - 171
  jose.backends.cryptography_backend.CryptographyECKey.sign:
  - 154
  - 155
  - 149
  jose.backends.cryptography_backend.CryptographyECKey.to_dict:
  - 207
  - 208
  - 211
  - 212
  - 213
  - 187
  - 188
  jose.backends.cryptography_backend.CryptographyECKey.to_pem:
  - 179
  - 182
  - 174
  - 175
  jose.backends.cryptography_backend.CryptographyECKey.verify:
  - 160
  - 159
  jose.backends.cryptography_backend.CryptographyHMACKey:
  - 537
  - 532
  jose.backends.cryptography_backend.CryptographyHMACKey.__init__:
  - 545
  - 546
  - 549
  - 552
  - 553
  - 562
  - 540
  - 543
  jose.backends.cryptography_backend.CryptographyHMACKey._process_jwk:
  - 576
  - 577
  - 571
  - 574
  - 575
  jose.backends.cryptography_backend.CryptographyHMACKey.sign:
  - 592
  - 589
  - 590
  - 591
  jose.backends.cryptography_backend.CryptographyHMACKey.to_dict:
  - 585
  jose.backends.cryptography_backend.CryptographyHMACKey.verify:
  - 596
  - 597
  - 598
  - 599
  - 601
  jose.backends.cryptography_backend.CryptographyRSAKey:
  - 224
  - 225
  - 223
  jose.backends.cryptography_backend.CryptographyRSAKey.__init__:
  - 256
  - 258
  - 228
  - 260
  - 261
  - 231
  - 265
  - 267
  - 238
  - 247
  - 251
  - 252
  - 255
  jose.backends.cryptography_backend.CryptographyRSAKey._process_cert:
  - 316
  - 317
  jose.backends.cryptography_backend.CryptographyRSAKey._process_jwk:
  - 275
  - 278
  - 279
  - 280
  - 282
  - 283
  - 286
  - 290
  - 292
  - 298
  - 299
  - 300
  - 301
  - 302
  - 306
  - 307
  - 308
  - 309
  - 311
  - 313
  jose.backends.cryptography_backend.CryptographyRSAKey.is_public:
  - 337
  jose.backends.cryptography_backend.CryptographyRSAKey.public_key:
  - 340
  - 342
  jose.backends.cryptography_backend.CryptographyRSAKey.sign:
  - 321
  jose.backends.cryptography_backend.CryptographyRSAKey.to_dict:
  - 367
  - 368
  - 375
  - 376
  - 379
  - 380
  jose.backends.cryptography_backend.CryptographyRSAKey.to_pem:
  - 352
  - 355
  - 357
  - 362
  - 363
  - 345
  - 346
  - 348
  jose.backends.cryptography_backend.CryptographyRSAKey.unwrap_key:
  - 403
  jose.backends.cryptography_backend.CryptographyRSAKey.verify:
  - 328
  - 331
  - 327
  jose.backends.cryptography_backend.CryptographyRSAKey.wrap_key:
  - 395
  jose.backends.cryptography_backend.get_random_bytes:
  - 39
  - 40
  - 42
  - 43
  - 44
  - 26
  jose.backends.ecdsa_backend.ECDSAECKey:
  - 12
  jose.backends.ecdsa_backend.ECDSAECKey.__init__:
  - 65
  - 67
  - 37
  - 40
  - 47
  - 49
  - 53
  - 54
  - 57
  - 58
  - 60
  jose.backends.ecdsa_backend.ECDSAECKey._process_jwk:
  - 96
  - 77
  - 80
  - 83
  - 86
  - 87
  - 89
  - 90
  - 92
  - 95
  jose.backends.ecdsa_backend.ECDSAECKey.is_public:
  - 112
  jose.backends.ecdsa_backend.ECDSAECKey.public_key:
  - 115
  - 117
  jose.backends.ecdsa_backend.ECDSAECKey.sign:
  - 99
  jose.backends.ecdsa_backend.ECDSAECKey.to_dict:
  - 128
  - 129
  - 131
  - 143
  - 144
  - 147
  - 148
  - 123
  - 124
  jose.backends.ecdsa_backend.ECDSAECKey.to_pem:
  - 120
  jose.backends.ecdsa_backend.ECDSAECKey.verify:
  - 105
  jose.backends.native.HMACKey:
  - 16
  jose.backends.native.HMACKey.__init__:
  - 33
  - 36
  - 37
  - 46
  - 24
  - 27
  - 29
  - 30
  jose.backends.native.HMACKey._process_jwk:
  - 55
  - 58
  - 59
  - 60
  - 61
  jose.backends.native.HMACKey.sign:
  - 66
  jose.backends.native.HMACKey.to_dict:
  - 75
  jose.backends.native.HMACKey.verify:
  - 69
  jose.backends.native.get_random_bytes:
  - 12
  jose.backends.rsa_backend:
  - 19
  - 21
  - 30
  jose.backends.rsa_backend.RSAKey.__init__:
  - 129
  - 161
  - 163
  - 132
  - 158
  - 168
  - 169
  - 139
  - 140
  - 143
  - 147
  - 148
  - 150
  - 152
  - 155
  - 126
  jose.backends.rsa_backend.RSAKey._process_jwk:
  - 196
  - 197
  - 198
  - 200
  - 201
  - 176
  - 179
  - 180
  - 182
  - 183
  - 185
  - 188
  - 190
  jose.backends.rsa_backend.RSAKey.is_public:
  - 216
  jose.backends.rsa_backend.RSAKey.public_key:
  - 219
  - 221
  jose.backends.rsa_backend.RSAKey.sign:
  - 204
  jose.backends.rsa_backend.RSAKey.to_dict:
  - 258
  - 259
  - 246
  - 247
  - 254
  - 255
  jose.backends.rsa_backend.RSAKey.to_pem:
  - 224
  - 225
  - 226
  - 227
  - 228
  - 229
  - 230
  - 234
  - 235
  - 236
  - 237
  - 238
  - 239
  - 240
  jose.backends.rsa_backend.RSAKey.unwrap_key:
  - 280
  jose.backends.rsa_backend.RSAKey.verify:
  - 208
  - 210
  - 207
  jose.backends.rsa_backend.RSAKey.wrap_key:
  - 273
  - 274
  - 275
  jose.backends.rsa_backend._gcd:
  - 39
  jose.backends.rsa_backend._legacy_private_key_pkcs8_to_pkcs1:
  - 104
  - 114
  - 117
  jose.backends.rsa_backend._rsa_recover_prime_factors:
  - 78
  - 80
  - 83
  - 56
  - 89
  - 92
  - 94
  jose.backends.rsa_backend.pem_to_spki:
  - 99
  - 100
  jose.constants:
  - 89
  - 98
  jose.constants.Algorithms:
  - 64
  - 70
  - 72
  - 55
  - 58
  - 61
  jose.exceptions.JWEAlgorithmUnsupportedError:
  - 55
  jose.exceptions.JWEError:
  - 34
  jose.exceptions.JWEInvalidAuth:
  - 46
  jose.exceptions.JWEParseError:
  - 40
  jose.jwe._auth_tag:
  - 571
  - 573
  - 558
  jose.jwe._big_endian:
  - 359
  jose.jwe._compress:
  - 416
  - 426
  - 428
  - 430
  - 431
  jose.jwe._decompress:
  - 448
  - 450
  - 452
  - 453
  - 438
  jose.jwe._decrypt_and_auth:
  - 230
  - 231
  - 232
  - 233
  - 234
  - 239
  - 240
  - 209
  jose.jwe._encoded_header:
  - 355
  - 331
  - 344
  - 346
  - 348
  - 350
  jose.jwe._encrypt_and_auth:
  - 386
  - 387
  - 388
  - 389
  - 390
  - 391
  - 392
  - 363
  - 382
  jose.jwe._get_cek:
  - 472
  - 474
  - 460
  - 471
  jose.jwe._get_direct_key_wrap_cek:
  - 480
  - 490
  - 491
  - 493
  jose.jwe._get_encryption_key_mac_key_and_key_length_from_cek:
  - 249
  - 251
  - 252
  - 247
  jose.jwe._get_hmac_key:
  - 400
  - 410
  - 411
  jose.jwe._get_key_bytes_from_key:
  - 509
  - 501
  - 511
  jose.jwe._get_key_wrap_cek:
  - 516
  - 526
  - 527
  jose.jwe._get_random_cek_bytes_for_enc:
  - 545
  - 547
  - 549
  - 553
  - 532
  - 541
  - 543
  jose.jwe._jwe_compact_deserialize:
  - 257
  - 323
  - 300
  - 271
  - 304
  - 273
  - 276
  - 308
  - 313
  - 318
  jose.jwe._jwe_compact_serialize:
  - 579
  - 592
  - 593
  - 594
  - 595
  - 596
  jose.jwe.decrypt:
  - 131
  - 101
  - 134
  - 79
  - 152
  - 178
  - 120
  - 186
  - 187
  - 92
  - 61
  - 94
  jose.jwe.encrypt:
  - 45
  - 46
  - 15
  - 48
  - 50
  - 51
  - 53
  - 54
  - 56
  jose.jwe.get_unverified_header:
  - 193
  - 204
  jose.jwk.construct:
  - 64
  - 70
  - 71
  - 73
  - 76
  - 77
  - 79
  jose.jwk.get_key:
  - 32
  - 34
  - 36
  - 40
  - 44
  - 48
  jose.jwk.register_key:
  - 56
  - 59
  jose.jws._encode_header:
  - 136
  - 138
  - 144
  - 135
  jose.jws._encode_payload:
  - 148
  - 157
  - 150
  jose.jws._get_keys:
  - 226
  - 230
  - 231
  - 234
  - 239
  - 240
  - 245
  - 222
  jose.jws._load:
  - 193
  - 197
  - 202
  - 177
  - 178
  - 180
  - 181
  - 182
  - 189
  jose.jws._sig_matches_keys:
  - 210
  - 211
  - 212
  - 214
  jose.jws._sign_header_and_claims:
  - 161
  - 163
  - 164
  - 165
  - 169
  - 171
  - 173
  jose.jws._verify_signature:
  - 258
  - 261
  - 263
  - 254
  - 255
  jose.jws.get_unverified_claims:
  - 128
  - 117
  jose.jws.get_unverified_header:
  - 83
  - 94
  jose.jws.get_unverified_headers:
  - 113
  - 99
  jose.jws.sign:
  - 42
  - 45
  - 46
  - 47
  - 17
  jose.jws.verify:
  - 74
  - 77
  - 76
  - 53
  jose.jwt._validate_at_hash:
  - 452
  - 457
  - 427
  - 444
  - 447
  jose.jwt._validate_aud:
  - 352
  - 321
  - 340
  - 346
  - 348
  - 350
  jose.jwt._validate_claims:
  - 462
  - 464
  - 465
  - 466
  - 467
  - 468
  - 473
  - 476
  - 477
  - 479
  - 480
  - 482
  - 483
  - 485
  - 486
  - 488
  - 489
  - 491
  - 492
  - 494
  - 495
  - 497
  - 498
  jose.jwt._validate_exp:
  - 291
  - 306
  - 310
  - 314
  - 316
  jose.jwt._validate_iat:
  - 240
  - 251
  - 255
  jose.jwt._validate_iss:
  - 373
  - 370
  - 371
  - 357
  jose.jwt._validate_jti:
  - 419
  - 405
  - 422
  jose.jwt._validate_nbf:
  - 261
  - 276
  - 280
  - 284
  - 286
  jose.jwt._validate_sub:
  - 393
  - 396
  - 399
  - 400
  - 378
  jose.jwt.decode:
  - 160
  - 139
  - 140
  - 142
  - 145
  - 150
  - 153
  - 60
  - 157
  jose.jwt.encode:
  - 48
  - 18
  - 51
  - 50
  - 53
  - 54
  - 56
  jose.jwt.get_unverified_claims:
  - 224
  - 233
  - 212
  - 229
  jose.jwt.get_unverified_header:
  - 186
  - 174
  jose.jwt.get_unverified_headers:
  - 208
  - 194
  jose.utils.base64_to_long:
  - 34
  - 35
  - 38
  - 39
  jose.utils.base64url_decode:
  - 72
  - 66
  - 77
  - 74
  jose.utils.base64url_encode:
  - 81
  - 87
  jose.utils.calculate_at_hash:
  - 43
  - 58
  - 59
  - 61
  - 62
  jose.utils.ensure_binary:
  - 105
  - 106
  - 101
  - 103
  jose.utils.int_arr_to_long:
  - 30
  jose.utils.long_to_base64:
  - 26
  jose.utils.long_to_bytes:
  - 10
  - 16
  - 17
  - 20
  - 21
  jose.utils.timedelta_total_seconds:
  - 91
Fuzzer filename: /src/fuzz_jws.py
Inheritance:
  jose.backends._asn1.PKCS8PrivateKey: []
  jose.backends._asn1.PublicKeyInfo: []
  jose.backends._asn1.RsaAlgorithmIdentifier: []
  jose.backends.base.DIRKey:
  - Key
  jose.backends.base.Key: []
  jose.backends.cryptography_backend.CryptographyAESKey:
  - Key
  jose.backends.cryptography_backend.CryptographyECKey:
  - Key
  jose.backends.cryptography_backend.CryptographyHMACKey:
  - Key
  jose.backends.cryptography_backend.CryptographyRSAKey:
  - Key
  jose.backends.ecdsa_backend.ECDSAECKey:
  - Key
  jose.backends.native.HMACKey:
  - Key
  jose.backends.rsa_backend.RSAKey:
  - Key
  jose.constants.Algorithms: []
  jose.constants.Zips: []
  jose.exceptions.ExpiredSignatureError:
  - JWTError
  jose.exceptions.JOSEError:
  - Exception
  jose.exceptions.JWEAlgorithmUnsupportedError:
  - JWEError
  jose.exceptions.JWEError:
  - JOSEError
  jose.exceptions.JWEInvalidAuth:
  - JWEError
  jose.exceptions.JWEParseError:
  - JWEError
  jose.exceptions.JWKError:
  - JOSEError
  jose.exceptions.JWSAlgorithmError:
  - JWSError
  jose.exceptions.JWSError:
  - JOSEError
  jose.exceptions.JWSSignatureError:
  - JWSError
  jose.exceptions.JWTClaimsError:
  - JWTError
  jose.exceptions.JWTError:
  - JOSEError
ep:
  func_name: TestOneInput
  module: '...fuzz_jws'
