code: def compare_lists_close(a: list, b: list, rtol=1e-05, atol=1e-08):
      """Reimplementation of `allclose()` for lists."""
      # Check if list a and b are numbers
      if isinstance(a, (int, float)) and isinstance(b, (int, float)):
          bad = abs(a - b) <= atol + rtol * abs(b)
          if not bad:
              print(f"Old package = {a}, New package = {b}")
              print(f"Value diff: {abs(a - b)}")
          return bad
  
      # Check if a and b are lists
      if isinstance(a, list) and isinstance(b, list):
          # Check if lenghts of the lists are equal
          if len(a) != len(b):
              return False
  
          for i in range(len(a)):
              if not compare_lists_close(
                  a[i], b[i], rtol=rtol, atol=atol
              ):
                  return False
  
          return True
      # If the inputs are not compatible types
      return False
  
imports: import os
  import random
  from typing import Any, Union
  import numpy
  import torch
  from PIL import Image
  from torch import squeeze
  import jsonlines
  import requests
  import transformers
  from adapters import AutoAdapterModel, init
  from transformers import AlbertConfig, BartConfig, BatchEncoding, BeitConfig, BeitImageProcessor, BertConfig, CLIPProcessor, CLIPVisionConfig, CLIPVisionModelWithProjection, DebertaConfig, DebertaV2Config, DistilBertConfig, EncoderDecoderConfig, EncoderDecoderModel, GPT2Config, GPTJConfig, MBartConfig, RobertaConfig, T5Config, ViTConfig, ViTImageProcessor, XLMRobertaConfig
label_desc: Use image node_id 12 for calling a global function with example usage: compare_lists_close(a, b, rtol, atol) and returns: False, bad, True, False, False