code: def _redirect_aggs(arg):
      """Redirect aggregations to their corresponding name in cuDF"""
      redirects = {
          sum: "sum",
          max: "max",
          min: "min",
          list: "collect",
          "list": "collect",
      }
      if isinstance(arg, dict):
          new_arg = dict()
          for col in arg:
              if isinstance(arg[col], list):
                  new_arg[col] = [
                      redirects.get(agg, agg) for agg in arg[col]
                  ]
              elif isinstance(arg[col], dict):
                  new_arg[col] = {
                      k: redirects.get(v, v)
                      for k, v in arg[col].items()
                  }
              else:
                  new_arg[col] = redirects.get(arg[col], arg[col])
          return new_arg
      if isinstance(arg, list):
          return [redirects.get(agg, agg) for agg in arg]
      return redirects.get(arg, arg)
  
imports: from functools import wraps
  from typing import Set
  import numpy
  import pandas
  from dask.dataframe.core import DataFrame, aca, split_out_on_cols
  from dask.dataframe.groupby import DataFrameGroupBy, SeriesGroupBy
  from dask.utils import funcname
  import cudf
  from cudf.utils.nvtx_annotation import _dask_cudf_nvtx_annotate
  from dask_cudf.sorting import _deprecate_shuffle_kwarg
label_desc: Use image node_id 5 for calling a global function with example usage: _redirect_aggs(arg) and returns: redirects, new_arg, unknown