(cherry picked from commit 4e15aea3ad871da35b49f20b4953f94f353a383f) (cherry picked from commit 1a8b545caab11b45286beb52c0fa8520c039645d)