code: def test_map_overlap_multiarray():
      # Same ndim, same numblocks, same chunks
      x = da.arange(10, chunks=5)
      y = da.arange(10, chunks=5)
      z = da.map_overlap(
          lambda x, y: x + y, x, y, depth=1, boundary="none"
      )
      assert_eq(z, 2 * np.arange(10))
  
      # Same ndim, same numblocks, different chunks
      x = da.arange(10, chunks=(2, 3, 5))
      y = da.arange(10, chunks=(5, 3, 2))
      z = da.map_overlap(
          lambda x, y: x + y, x, y, depth=1, boundary="none"
      )
      assert z.chunks == ((2, 3, 3, 2),)
      assert_eq(z, 2 * np.arange(10))
  
      # Same ndim, different numblocks, different chunks
      x = da.arange(10, chunks=(10,))
      y = da.arange(10, chunks=(4, 4, 2))
      z = da.map_overlap(
          lambda x, y: x + y, x, y, depth=1, boundary="none"
      )
      assert z.chunks == ((4, 4, 2),)
      assert_eq(z, 2 * np.arange(10))
  
      # Different ndim, different numblocks, different chunks
      x = da.arange(10, chunks=(10,))
      y = da.arange(10).reshape(1, 10).rechunk((1, (4, 4, 2)))
      z = da.map_overlap(
          lambda x, y: x + y, x, y, depth=1, boundary="none"
      )
      assert z.chunks == ((1,), (4, 4, 2))
      assert z.shape == (1, 10)
      assert_eq(z, 2 * np.arange(10)[np.newaxis])
  
imports: from __future__ import annotations
  import pytest
  import numpy
  from numpy.testing import assert_array_almost_equal, assert_array_equal
  import dask.array
  from dask.array.lib.stride_tricks import sliding_window_view
  from dask.array.overlap import boundaries, constant, ensure_minimum_chunksize, nearest, overlap, overlap_internal, periodic, reflect, trim_internal
  from dask.array.utils import assert_eq, same_keys
label_desc: Use image node_id 16 for calling a global function with example usage: test_map_overlap_multiarray() without return types