How does the editor know what shader to use when adding an ImageEffect script?

When adding an image effect (e.g. GrayscaleEffect) to a camera game object, Unity automatically fills in the shader property on the ancestor ImageEffectBase. I don’t see any code in the GrayscaleEffect class that tells Unity which shader to use by default, so how does Unity know this?

Does my answer in this question gives you the info you needed?