code: def _unpack_opargs(code):
      extended_arg = 0
      caches = 0
      for i in range(0, len(code), 2):
          # Skip inline CACHE entries:
          if caches:
              caches -= 1
              continue
          op = code[i]
          deop = _deoptop(op)
          caches = _inline_cache_entries[deop]
          if deop >= HAVE_ARGUMENT:
              arg = code[i + 1] | extended_arg
              extended_arg = (arg << 8) if deop == EXTENDED_ARG else 0
              # The oparg is stored as a signed integer
              # If the value exceeds its upper limit, it will overflow and wrap
              # to a negative integer
              if extended_arg >= _INT_OVERFLOW:
                  extended_arg -= 2 * _INT_OVERFLOW
          else:
              arg = None
              extended_arg = 0
          yield (i, op, arg)
  
imports: import sys
  import types
  import collections
  import io
  from opcode import *
  from opcode import __all__, _cache_format, _inline_cache_entries, _nb_ops, _specializations, _specialized_instructions
label_desc: Use image node_id 23 for calling a global function with example usage: _unpack_opargs(code) without return types