(cherry picked from commit 63c40c2ad66e5b32d96cecad0b123db28783ae5c)
(cherry picked from commit 475db80d1216198d2ac7d21f39d13c9b4b5bcd64)