      scene.hwType = sm["health"].getHealth().getHwType();
      s->hardware_timeout = 5*30; // 5 seconds at 30 fps
    }
    if (sm.updated("driverState")) {
      auto data = sm["driverState"].getDriverState();
      scene.face_prob = data.getFaceProb();
      auto fxy_list = data.getFacePosition();
      scene.face_x = fxy_list[0];
      scene.face_y = fxy_list[1];
    }
    if (sm.updated("dMonitoringState")) {
      auto data = sm["dMonitoringState"].getDMonitoringState();
      scene.is_rhd = data.getIsRHD();
      scene.awareness_status = data.getAwarenessStatus();
 
</s> remove     scene.awareness_status = data.getAwarenessStatus();
 </s> add  </s> remove     s->model_changed = true;
 </s> add  </s> remove     auto data = sm["thermal"].getThermal();
    scene.networkType = data.getNetworkType();
    scene.networkStrength = data.getNetworkStrength();
    scene.batteryPercent = data.getBatteryPercent();
    scene.batteryCharging = data.getBatteryStatus() == "Charging";
    scene.freeSpace = data.getFreeSpace();
    scene.thermalStatus = data.getThermalStatus();
    scene.paTemp = data.getPa0();

    s->thermal_started = data.getStarted();
 </s> add     scene.thermal = sm["thermal"].getThermal(); </s> remove     scene.frontview = data.getRearViewCam();
 </s> add     scene.frontview = scene.controls_state.getRearViewCam(); </s> remove 
    auto leaddatad = data.getLeadOne();
    scene.lead_status = leaddatad.getStatus();
    scene.lead_d_rel = leaddatad.getDRel();
    scene.lead_y_rel = leaddatad.getYRel();
    scene.lead_v_rel = leaddatad.getVRel();
    auto leaddatad2 = data.getLeadTwo();
    scene.lead_status2 = leaddatad2.getStatus();
    scene.lead_d_rel2 = leaddatad2.getDRel();
    scene.lead_y_rel2 = leaddatad2.getYRel();
    scene.lead_v_rel2 = leaddatad2.getVRel();
    s->livempc_or_radarstate_changed = true;
 </s> add     scene.lead_data[0] = data.getLeadOne();
    scene.lead_data[1] = data.getLeadTwo();
    scene.driver_state = sm["driverState"].getDriverState();
      scene.hwType = sm["health"].getHealth().getHwType();
      s->hardware_timeout = 5*30; // 5 seconds at 30 fps
    }
    if (sm.updated("driverState")) {
    scene.driver_state = sm["driverState"].getDriverState();
    scene.driver_state = sm["driverState"].getDriverState();
    scene.driver_state = sm["driverState"].getDriverState();
    scene.driver_state = sm["driverState"].getDriverState();
    scene.driver_state = sm["driverState"].getDriverState();
    }
    if (sm.updated("dMonitoringState")) {
      auto data = sm["dMonitoringState"].getDMonitoringState();
      scene.is_rhd = data.getIsRHD();
      scene.awareness_status = data.getAwarenessStatus();
keep keep keep keep replace replace replace replace replace keep keep keep keep keep
 ui.cc: remove variables from UIScene, use event::Reader to get data  (#1585)

* use struct to store lead status

* remove white space

* use RadarState::LeadData::Reader

* use reader to get thermal data

* use reader

* continue

* remove variables

reset submodules,fix some errors

reset submodules

revert

* remove s->scene.gps_planner_active

* modify

* cleanup

* done

* resolve conflict

* remove irrelevant comment

* remove white space 
selfdrive/ui/ui.cc