(cherry picked from commit 4734c77b4b64b7c6432da4cc32881aba85f94ea1) (cherry picked from commit 8e71e85af70c17f2350f794f8bc2475eb1e3acea)
(cherry picked from commit 4734c77b4b64b7c6432da4cc32881aba85f94ea1) (cherry picked from commit 8e71e85af70c17f2350f794f8bc2475eb1e3acea)