Constrained Discrete Diffusion