code: def _get_node_downloader():
      if platform.machine() == "x86_64":
          glibc_minor = _get_glibc_minor_version()
          if glibc_minor is None or glibc_minor >= 28:
              _arch = "x64"
          elif glibc_minor >= 27:
              _print(
                  "Detected deprecated glibc version < 2.28. Please upgrade as soon as possible.",
                  color="yellow",
              )
              _arch = "glibc-2.27"
          else:
              _print(
                  "glibc version is too low. We will try to use the node version compiled with glibc 2.23, "
                  "but it might not work.",
                  color="yellow",
              )
              _print(
                  "Please check your glibc version by running `ldd --version`, and upgrade it if necessary.",
                  color="yellow",
              )
              _arch = "glibc-2.23"
      else:
          _arch = platform.machine()
  
      if _arch.startswith("glibc"):
          node_legacy_version = "v18.12.1"  # We might not upgrade node version for legacy builds every time.
          node_spec = f"node-{node_legacy_version}-{sys.platform}-x64"
          node_download_url = f"https://nni.blob.core.windows.net/cache/toolchain/node-{node_legacy_version}-{sys.platform}-{_arch}.tar.gz"
          node_extractor = lambda data: tarfile.open(
              fileobj=BytesIO(data), mode="r:gz"
          )
      else:
          node_spec = f"node-{node_version}-{sys.platform}-" + _arch
          node_download_url = f"https://nodejs.org/dist/{node_version}/{node_spec}.tar.xz"
          node_extractor = lambda data: tarfile.open(
              fileobj=BytesIO(data), mode="r:xz"
          )
      return node_download_url, node_spec, node_extractor
  
imports: from io import BytesIO
  import json
  import os
  from pathlib import Path
  import platform
  import shutil
  import subprocess
  import sys
  import tarfile
  import traceback
  from zipfile import ZipFile
label_desc: Use image node_id 3 for calling a global function with example usage: _get_node_downloader() and returns: node_download_url,  node_spec,  node_extractor