code: def __new__(cls, key):
      instance = cls._weak_cache.get(key, None)
      if instance is None:
          instance = cls._weak_cache.setdefault(
              key, cls._new_instance(key)
          )
          instance._from_cache = True
  
      # Update the "strong" cache
      cls._strong_cache[key] = cls._strong_cache.pop(key, instance)
  
      if len(cls._strong_cache) > cls._strong_cache_size:
          cls._strong_cache.popitem(last=False)
  
      return instance
  
imports: import bisect
  import calendar
  import collections
  import functools
  import re
  import weakref
  from datetime import datetime, timedelta, tzinfo
  from .None import _common, _tzpath
label_desc: Use image node_id 2 for calling the ZoneInfo obj's underlying member method code with example usage: obj.__new__(cls, key) and returns: instance