(cherry picked from commit 1901d66c9100ca455c91ee8c95341de2a283eb67)
(cherry picked from commit e0ace535d5f3af71eb13598d92524caf2c6d9bbf)