CTAN update: contract