Comcast to buy Time Warner Cable for $45.2 billion: sources