Generated code from  1c32a99d3b00f9b7dfc9d7f16d7f7469416de34c