(cherry picked from commit 63c40c2ad66e5b32d96cecad0b123db28783ae5c)
(cherry picked from commit dd0e94b3a6bfff301988deb01279865d82daa7ea)