python - <<'PY'
from PIL import Image,ImageDraw,ImageCms
import json
plan=json.load(open('/workspace/input/page_plan.json'));o=Image.new('RGB',(1600,6*350),'#ddd');d=ImageDraw.Draw(o)
tr=ImageCms.buildTransformFromOpenProfiles('/workspace/input/profiles/ISOcoated_v2_300_bas.icc','/workspace/input/profiles/sRGB_icc22.icm','CMYK','RGB',renderingIntent=1)
for i,h in enumerate(json.load(open('/workspace/output/handoff.json'))['skus']):
 sku=h['sku'];pg=next(p for p in plan['pages'] if sku in p['skus']);c=tuple(round(x*2.55) for x in pg['background']['cmyk']);color=ImageCms.applyTransform(Image.new('CMYK',(1,1),c),tr).getpixel((0,0));a=Image.open('/workspace/output/'+h['asset']);a.thumbnail((380,320));x=(i%4)*400;y=(i//4)*350;d.rectangle((x,y,x+400,y+350),fill=color);o.paste(a,(x+(400-a.width)//2,y+6),a);d.text((x+10,y+327),sku,fill='white')
o.save('/workspace/scratch/assetscontact.jpg')
PY