code: def linkcode_resolve(domain, info):
      """
      Determine the URL corresponding to Python object
      """
      if domain != "py":
          return None
  
      modname = info["module"]
      fullname = info["fullname"]
  
      submod = sys.modules.get(modname)
      if submod is None:
          return None
  
      obj = submod
      for part in fullname.split("."):
          try:
              obj = getattr(obj, part)
          except Exception:
              return None
  
      # Use the original function object if it is wrapped.
      while hasattr(obj, "__wrapped__"):
          obj = obj.__wrapped__
      # SciPy's distributions are instances of *_gen. Point to this
      # class since it contains the implementation of all the methods.
      if isinstance(obj, (rv_generic, multi_rv_generic)):
          obj = obj.__class__
      try:
          fn = inspect.getsourcefile(obj)
      except Exception:
          fn = None
      if not fn:
          try:
              fn = inspect.getsourcefile(sys.modules[obj.__module__])
          except Exception:
              fn = None
      if not fn:
          return None
  
      try:
          source, lineno = inspect.getsourcelines(obj)
      except Exception:
          lineno = None
  
      if lineno:
          linespec = "#L%d-L%d" % (lineno, lineno + len(source) - 1)
      else:
          linespec = ""
  
      startdir = os.path.abspath(
          os.path.join(dirname(scipy.__file__), "..")
      )
      fn = relpath(fn, start=startdir).replace(os.path.sep, "/")
  
      if fn.startswith("scipy/"):
          m = re.match(r"^.*dev0\+([a-f0-9]+)$", scipy.__version__)
          base_url = "https://github.com/scipy/scipy/blob"
          if m:
              return f"{base_url}/{m.group(1)}/{fn}{linespec}"
          elif "dev" in scipy.__version__:
              return f"{base_url}/main/{fn}{linespec}"
          else:
              return f"{base_url}/v{scipy.__version__}/{fn}{linespec}"
      else:
          return None
  
imports: import math
  import os
  from os.path import relpath, dirname
  import re
  import sys
  import warnings
  from datetime import date
  from docutils import nodes
  from docutils.parsers.rst import Directive
  import matplotlib
  import matplotlib.pyplot
  from numpydoc.docscrape_sphinx import SphinxDocString
  from sphinx.util import inspect
  import scipy
  from scipy._lib._util import _rng_html_rewrite
  import scipy._lib.uarray
  from scipy.stats._distn_infrastructure import rv_generic
  from scipy.stats._multivariate import multi_rv_generic
  import numpydoc.docscrape
  import inspect
label_desc: Use image node_id 1 for calling a global function with example usage: linkcode_resolve(domain, info) and returns: None, None, None, None, base_url, str, m, str, fn, linespec, None, base_url, str, fn, linespec, base_url, str, scipy, str, fn, linespec