code: def find_all(self, product_type, short_name, include_hidden=False):
          
  
          all_prods = []
  
          # If product_type is not return products of all types
          if product_type is None:
              for prod_dict in self._product_map.values():
                  all_prods.extend([prod for prod in prod_dict.get(short_name, []) if include_hidden or not prod.hidden])
  
              return all_prods
  
          all_prods = self._product_map.get(product_type, {})
          return [prod for prod in all_prods.get(short_name, []) if include_hidden or not prod.hidden]
docs: Find all providers of a given product by its short name.
  
          This function will return all providers of a given product. If you
          want to ensure that a product's name is unique among all dependencies,
          you should use find_unique.
  
          Args:
              product_type (str): The type of product that we are looking for, like
                  firmware_image, library etc.
              short_name (str): The short name of the product that we wish to find,
                  usually its os.path.basename()
              include_hidden (bool): Return products that are hidden and not selected
                  as visible in the depends section of this tile's module settings.
                  This defaults to False.
  
          Returns:
              list of ProductInfo: A list of all of the matching products.  If no matching
                  products are found, an empty list is returned.  If you want to raise
                  a BuildError in that case use find_unique.