async def METHOD_NAME(dkr_client, img, repo, dkr, f):
    img = img['node']
    img_url = f"dkr.plural.sh/{repo['name']}/{dkr['name']}:{img['tag']}"
    if img_url in SEEN:
        return
    click.echo(f"testing {img_url}")
    image_name = ImageName.parse(img_url)
    try:
        manifest = await dkr_client.get_manifest(image_name)
        manifest = manifest.manifest.get_json()
        if manifest.get('layers'):
            imgname = ImageName.parse(f"dkr.plural.sh/{repo['name']}/{dkr['name']}:{manifest['config']['digest']}")
            await delete_missing(dkr_client, manifest, imgname, img_url, f)
            SEEN.add(img_url)
            return
        for man in manifest['manifests']:
            imgname = ImageName.parse(f"dkr.plural.sh/{repo['name']}/{dkr['name']}:{man['digest']}")
            subman = await dkr_client.get_manifest(imgname)
            await delete_missing(dkr_client, subman.manifest.get_json(), imgname, img_url, f)
        SEEN.add(img_url)
    except Exception as e:
        click.echo(f"failure executing {img_url}, attempting a copy")
        copy_from_gcr(img_url)
        print(e)