code: def list_sources(embedding_name=None):
      """Get valid token embedding names and their pre-trained file names.
  
      Parameters
      ----------
      embedding_name : str or None, default None
          The pre-trained token embedding name.
  
      Returns
      -------
      dict or list:
          A list of all the valid pre-trained token embedding file names (`source`) for the
          specified token embedding name (`embedding_name`). If the text embedding name is set to
          None, returns a dict mapping each valid token embedding name to a list of valid pre-trained
          files (`source`).
      """
      if embedding_name is not None:
          embedding_name = embedding_name.lower()
          if embedding_name == "fasttext.bin":
              return list(C.FAST_TEXT_BIN_SHA1.keys())
          if embedding_name not in text_embedding_reg:
              raise KeyError(
                  "Cannot find `embedding_name` {}. Use "
                  "`list_sources(embedding_name=None).keys()` to get all the valid"
                  "embedding names.".format(embedding_name)
              )
          return list(text_embedding_reg[embedding_name].keys())
      else:
          return {
              embedding_name: list(embedding_cls.keys())
              for embedding_name, embedding_cls in text_embedding_reg.items()
          }
  
file_path: gluon-nlp/src/gluonnlp/embedding/embed_loader.py
imports: import io
  import logging
  import os
  import warnings
  import fasttext
  import numpy
  from mxnet.gluon.utils import download, check_sha1, _get_repo_file_url
  from .None import _constants
  from ..base import get_home_dir
  from ..data import Vocab
label_desc: Use image node_id 1 for calling a global function with example usage: list_sources(embedding_name) and returns: list, unknown, list