// SAL_VERSION=4.1.2 XML_VERSION=5.1.0
module MTCamera {
struct ccs_bf3d1be7 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	ccsStatus[20]; // @Metadata=(Units="",Description="")
	  long	imageStatus[20]; // @Metadata=(Units="",Description="")
	};
#pragma keylist ccs_bf3d1be7 
struct clusterEncoder_217a61b2 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  float	imageSD[100]; // @Metadata=(Units="",Description="Standard Deviation")
	  float	imageMean[100]; // @Metadata=(Units="",Description="")
	  float	overscanSD[100]; // @Metadata=(Units="",Description="")
	  float	overscanMean[100]; // @Metadata=(Units="",Description="")
	  float	psf[200]; // @Metadata=(Units="",Description="")
	};
#pragma keylist clusterEncoder_217a61b2 
struct cold_34f9a72b {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  float	compressorLoad[6]; // @Metadata=(Units="watt",Description="")
	  float	compressorSpeed[6]; // @Metadata=(Units="hertz",Description="")
	  float	dischargePressure[6]; // @Metadata=(Units="pascal",Description="")
	  float	dischargeTemp[6]; // @Metadata=(Units="Celsius",Description="")
	  short	flowInterlock[6]; // @Metadata=(Units="",Description="")
	  float	heaterCurrent[6]; // @Metadata=(Units="ampere",Description="")
	  float	heaterVoltage[6]; // @Metadata=(Units="volt",Description="")
	  float	intakeFlow[6]; // @Metadata=(Units="lps",Description="")
	  float	intakePressure[6]; // @Metadata=(Units="pascal",Description="")
	  float	intakeTemp[6]; // @Metadata=(Units="Celsius",Description="")
	  float	ionPump[4]; // @Metadata=(Units="ampere",Description="")
	  short	mechPump[4]; // @Metadata=(Units="",Description="")
	  float	postExpansionPressure[6]; // @Metadata=(Units="pascal",Description="")
	  float	postExpansionTemp[6]; // @Metadata=(Units="Celsius",Description="")
	  float	preExpansionPressure[6]; // @Metadata=(Units="pascal",Description="")
	  float	preExpansionTemp[6]; // @Metadata=(Units="Celsius",Description="")
	  long	rga[10]; // @Metadata=(Units="",Description="")
	  float	returnTemp[6]; // @Metadata=(Units="Celsius",Description="")
	  float	utilityRoomTemperature; // @Metadata=(Units="Celsius",Description="")
	  float	vacuumGauge[5]; // @Metadata=(Units="pascal",Description="")
	  short	valveStatus[6]; // @Metadata=(Units="",Description="")
	};
#pragma keylist cold_34f9a72b 
struct command_abort_073ad923 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="unitless",Description="Not used")
	};
#pragma keylist command_abort_073ad923 
struct command_clear_cc052aba {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	nClears; // @Metadata=(Units="unitless",Description="Number of consecutive clear operations to perform")
	};
#pragma keylist command_clear_cc052aba 
struct command_disable_6c91b969 {  // @Metadata=(Description="Transition from state Enabled to Disabled.")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="unitless",Description="Not used")
	};
#pragma keylist command_disable_6c91b969 
struct command_disableCalibration_c8741ab5 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="unitless",Description="Unused")
	};
#pragma keylist command_disableCalibration_c8741ab5 
struct command_discardRows_07135c0e {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	nRows; // @Metadata=(Units="unitless",Description="Number of rows to discard")
	};
#pragma keylist command_discardRows_07135c0e 
struct command_enable_8186324c {  // @Metadata=(Description="Transition from state Disabled to Enabled.")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="unitless",Description="Not used")
	};
#pragma keylist command_enable_8186324c 
struct command_enableCalibration_50e42143 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="unitless",Description="Unused")
	};
#pragma keylist command_enableCalibration_50e42143 
struct command_endImage_19b8b652 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="unitless",Description="Unused")
	};
#pragma keylist command_endImage_19b8b652 
struct command_enterControl_7e8d5683 {  // @Metadata=(Description="Transition from state Offline to Standby. Only "externally commandable" CSCs support this command; other CSCs start in Standby state and quit when they go to Offline.")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="unitless",Description="Not used")
	};
#pragma keylist command_enterControl_7e8d5683 
struct command_exitControl_da714e70 {  // @Metadata=(Description="Transition from state Standby to Offline. For CSCs that are not "externally commandable" this makes the CSC quit.")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="unitless",Description="Not used")
	};
#pragma keylist command_exitControl_da714e70 
struct command_initGuiders_b773bb7b {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string<256>	roiSpec; // @Metadata=(Units="unitless",Description="TBD specification for region of interest")
	};
#pragma keylist command_initGuiders_b773bb7b 
struct command_initImage_6b215803 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  double	deltaT; // @Metadata=(Units="second",Description="Estimate of time period before takeImages will be issued")
	};
#pragma keylist command_initImage_6b215803 
struct command_setFilter_0a60fb71 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string<256>	name; // @Metadata=(Units="unitless",Description="The filter name to install")
	};
#pragma keylist command_setFilter_0a60fb71 
struct command_setLogLevel_934c32dc {  // @Metadata=(Description="Set the logging level.")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	level; // @Metadata=(Units="unitless",Description="Logging level; as a Python logging level: error=40; warning=30; info=20; debug=10.")
	};
#pragma keylist command_setLogLevel_934c32dc 
struct command_setSimulationMode_2df2bcf9 {  // @Metadata=(Description="Set the simulation mode.")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	mode; // @Metadata=(Units="unitless",Description="Desired simulation mode; 0 for normal operation (no simulation); other supported values are specific to each CSC.")
	};
#pragma keylist command_setSimulationMode_2df2bcf9 
struct command_setValue_103a59c9 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string<256>	parametersAndValues; // @Metadata=(Units="unitless",Description="List of parameters and their values as a Json string")
	};
#pragma keylist command_setValue_103a59c9 
struct command_standby_57875355 {  // @Metadata=(Description="Transition from state Offline; Disabled or Fault to Standby.")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="unitless",Description="Not used")
	};
#pragma keylist command_standby_57875355 
struct command_start_a72be41f {  // @Metadata=(Description="Transition from state Standby to Disable; in a specified configuration.")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string<256>	settingsToApply; // @Metadata=(Units="unitless",Description="Name of the selected settings set")
	};
#pragma keylist command_start_a72be41f 
struct command_startImage_acb56ba1 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	shutter; // @Metadata=(Units="unitless",Description="True if the shutter should be opened/closed")
	  string	sensors; // @Metadata=(Units="unitless",Description="Sensors to be read out; if blank all configured sensors will be read out")
	  string	keyValueMap; // @Metadata=(Units="unitless",Description="Map of additional key value pairs; e.g. imageType: XYZ; groupId: ABC")
	  string	obsNote; // @Metadata=(Units="unitless",Description="An arbitrary operator provided string; useful for informally flagging images")
	  double	timeout; // @Metadata=(Units="second",Description="Timeout after which imaging will be abandoned if no endImage command received")
	};
#pragma keylist command_startImage_acb56ba1 
struct command_stop_c7170743 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	value; // @Metadata=(Units="unitless",Description="Attribute required by the API; but is unused.")
	};
#pragma keylist command_stop_c7170743 
struct command_takeImages_f3406462 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	numImages; // @Metadata=(Units="unitless",Description="Number of consecutive images to take")
	  double	expTime; // @Metadata=(Units="second",Description="Exposure time")
	  boolean	shutter; // @Metadata=(Units="unitless",Description="True if the shutter should be opened/closed")
	  string	sensors; // @Metadata=(Units="unitless",Description="Sensors to be read out; if blank all configured sensors will be read out")
	  string	keyValueMap; // @Metadata=(Units="unitless",Description="Map of additional key value pairs to associate extra data with the image(s); e.g. imageType: XYZ; groupId: ABC")
	  string	obsNote; // @Metadata=(Units="unitless",Description="An arbitrary operator provided string; useful for informally flagging images")
	};
#pragma keylist command_takeImages_f3406462 
struct cyro_5fa1f0d8 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  float	coldTemperature[3]; // @Metadata=(Units="Celsius",Description="")
	  float	compressor; // @Metadata=(Units="watt",Description="")
	  float	compressorSpeed[2]; // @Metadata=(Units="hertz",Description="")
	  float	cryoTemperature[12]; // @Metadata=(Units="Celsius",Description="")
	  float	dischargePressure[2]; // @Metadata=(Units="pascal",Description="")
	  float	dischargeTemp[2]; // @Metadata=(Units="Celsius",Description="")
	  short	flowInterlock[2]; // @Metadata=(Units="",Description="")
	  float	heaterCurrent[6]; // @Metadata=(Units="ampere",Description="")
	  float	heaterVoltage[6]; // @Metadata=(Units="volt",Description="")
	  float	intakeFlow[2]; // @Metadata=(Units="lps",Description="")
	  float	intakePressure[2]; // @Metadata=(Units="pascal",Description="")
	  float	intakeTemp[2]; // @Metadata=(Units="Celsius",Description="")
	  float	postExpansionPressure[2]; // @Metadata=(Units="pascal",Description="")
	  float	postExpansionTemp[2]; // @Metadata=(Units="Celsius",Description="")
	  float	preExpansionPressure[2]; // @Metadata=(Units="pascal",Description="")
	  float	preExpansionTemp[2]; // @Metadata=(Units="Celsius",Description="")
	  float	returnTemp[2]; // @Metadata=(Units="Celsius",Description="")
	};
#pragma keylist cyro_5fa1f0d8 
struct filter_100029f1 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	loaderTelemetry; // @Metadata=(Units="",Description="")
	  short	rebID; // @Metadata=(Units="",Description="")
	};
#pragma keylist filter_100029f1 
struct gas_dcfc610c {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  short	boardID; // @Metadata=(Units="",Description="")
	  float	boardCurrent[4]; // @Metadata=(Units="ampere",Description="")
	  float	boardTemp[12]; // @Metadata=(Units="kelvin",Description="")
	  float	boardVoltage[4]; // @Metadata=(Units="volt",Description="")
	  long	cabacMUX[4]; // @Metadata=(Units="",Description="")
	  short	ccdID; // @Metadata=(Units="",Description="")
	  long	ccdtemp; // @Metadata=(Units="kelvin",Description="")
	  long	fpgaCheckSum[2]; // @Metadata=(Units="",Description="")
	  short	rebID; // @Metadata=(Units="",Description="")
	};
#pragma keylist gas_dcfc610c 
struct gds_97ee69ec {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  short	rebID; // @Metadata=(Units="",Description="")
	  long	timingParameters[10]; // @Metadata=(Units="",Description="")
	  long	flag[20]; // @Metadata=(Units="",Description="")
	};
#pragma keylist gds_97ee69ec 
struct heartbeat_11b07c82 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	heartbeat; // @Metadata=(Units="",Description="")
	  long	priority; // @Metadata=(Units="",Description="")
	};
#pragma keylist heartbeat_11b07c82 
struct logevent_appliedSettingsMatchStart_80b249e5 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	appliedSettingsMatchStartIsTrue; // @Metadata=(Units="unitless",Description="True when the configuration matches the start conditions")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_appliedSettingsMatchStart_80b249e5 
struct logevent_availableFilters_45395e57 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string<256>	filterNames; // @Metadata=(Units="unitless",Description="A list of installed filter names (comma delimimted; U-001;G-004;R-010;Z-012;Y-014); in the same order as the list of filter types.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_availableFilters_45395e57 
struct logevent_calibrationDetailedState_463c1cd9 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	substate; // @Metadata=(Units="unitless",Description="Enumeration of valid substates")
	  double	transitionTimestamp; // @Metadata=(Units="second",Description="The time at which the state transition occurred")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_calibrationDetailedState_463c1cd9 
	 const long calibrationDetailedState_DISABLED=1;
	 const long calibrationDetailedState_ENABLED=2;
	 const long calibrationDetailedState_INTEGRATING=3;
struct logevent_ccsCommandState_f574bed6 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	substate; // @Metadata=(Units="unitless",Description="Substate of the CCS command.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_ccsCommandState_f574bed6 
	 const long ccsCommandState_IDLE=1;
	 const long ccsCommandState_BUSY=2;
struct logevent_ccsConfigured_f25a3bcf {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_ccsConfigured_f25a3bcf 
struct logevent_endInitializeGuider_45d7a43e {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_endInitializeGuider_45d7a43e 
struct logevent_endInitializeImage_1f90fb21 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_endInitializeImage_1f90fb21 
struct logevent_endLoadFilter_fbea3196 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_endLoadFilter_fbea3196 
struct logevent_endOfImageTelemetry_89ecdec6 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string	imageType; // @Metadata=(Units="unitless",Description="The imageType as passed to the takeImages command (using keyValueMap)")
	  string	groupId; // @Metadata=(Units="unitless",Description="The groupId as passed to the takeImages command (using keyValueMap)")
	  string	additionalKeys; // @Metadata=(Units="unitless",Description="Additional keys passed to the takeImages command (: delimited)")
	  string	additionalValues; // @Metadata=(Units="unitless",Description="Additional values passed to the takeImages command (: delimited; in same order as additionalKeys)")
	  long	imagesInSequence; // @Metadata=(Units="unitless",Description="The total number of requested images in sequence")
	  string<32>	imageName; // @Metadata=(Units="unitless",Description="The imageName for this specific exposure; assigned by the camera")
	  long	imageIndex; // @Metadata=(Units="unitless",Description="The zero based index number for this specific exposure within the sequence")
	  string<2>	imageSource; // @Metadata=(Units="unitless",Description="The source component of the image name (AT/CC/MC)")
	  string	imageController; // @Metadata=(Units="unitless",Description="The controller for the image  (O=OCS/C=CCS/...)")
	  string<8>	imageDate; // @Metadata=(Units="unitless",Description="The date component of the image name (YYYYMMDD)")
	  long	imageNumber; // @Metadata=(Units="unitless",Description="The image number (SEQNO) component of the image name")
	  double	timeStampAcquisitionStart; // @Metadata=(Units="second",Description="The effective time at which the image acquisition started (i.e. the end of the previous clear or readout)")
	  double	exposureTime; // @Metadata=(Units="second",Description="The requested exposure time")
	  string<64>	imageTag; // @Metadata=(Units="unitless",Description="The DAQ assigned image tag (hex string)")
	  double	timestampDateObs; // @Metadata=(Units="second",Description="The observation date; as computed by CCS (as TAI)")
	  double	timestampDateEnd; // @Metadata=(Units="second",Description="The end observation date; as computed by CCS (as TAI)")
	  double	expTime; // @Metadata=(Units="second",Description="The exposure time; as computed by CCS")
	  double	darkTime; // @Metadata=(Units="second",Description="The dark time; as computed by CCS")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_endOfImageTelemetry_89ecdec6 
struct logevent_endReadout_6839f6b8 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string	imageType; // @Metadata=(Units="unitless",Description="The imageType as passed to the takeImages command (using keyValueMap)")
	  string	groupId; // @Metadata=(Units="unitless",Description="The groupId as passed to the takeImages command (using keyValueMap)")
	  string	additionalKeys; // @Metadata=(Units="unitless",Description="Additional keys passed to the takeImages command (: delimited)")
	  string	additionalValues; // @Metadata=(Units="unitless",Description="Additional values passed to the takeImages command (: delimited; in same order as additionalKeys)")
	  long	imagesInSequence; // @Metadata=(Units="unitless",Description="The total number of requested images in sequence")
	  string<32>	imageName; // @Metadata=(Units="unitless",Description="The imageName for this specific exposure; assigned by the camera")
	  long	imageIndex; // @Metadata=(Units="unitless",Description="The zero based index number for this specific exposure within the sequence")
	  string<2>	imageSource; // @Metadata=(Units="unitless",Description="The source component of the image name (AT/CC/MC)")
	  string	imageController; // @Metadata=(Units="unitless",Description="The controller for the image  (O=OCS/C=CCS/...)")
	  string<8>	imageDate; // @Metadata=(Units="unitless",Description="The date component of the image name (YYYYMMDD)")
	  long	imageNumber; // @Metadata=(Units="unitless",Description="The image number (SEQNO) component of the image name")
	  double	timeStampAcquisitionStart; // @Metadata=(Units="second",Description="The effective time at which the image acquisition started (i.e. the end of the previous clear or readout)")
	  double	exposureTime; // @Metadata=(Units="second",Description="The requested exposure time")
	  double	timeStampEndOfReadout; // @Metadata=(Units="second",Description="The time at which the readout was completed")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_endReadout_6839f6b8 
struct logevent_endRotateCarousel_66d5dca0 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_endRotateCarousel_66d5dca0 
struct logevent_endSetFilter_ab125168 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string<256>	filterName; // @Metadata=(Units="unitless",Description="The name of the filter being installed (e.g. U-001)")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_endSetFilter_ab125168 
struct logevent_endShutterClose_c463fdf8 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_endShutterClose_c463fdf8 
struct logevent_endShutterOpen_7567e4b5 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_endShutterOpen_7567e4b5 
struct logevent_endTakeImage_68fe3e8d {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_endTakeImage_68fe3e8d 
struct logevent_endUnloadFilter_2b280038 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_endUnloadFilter_2b280038 
struct logevent_errorCode_a56682a0 {  // @Metadata=(Description="Output when a CSC goes into the Fault state as an explanation of the problem.")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	errorCode; // @Metadata=(Units="unitless",Description="A numeric error code")
	  string	errorReport; // @Metadata=(Units="unitless",Description="An string providing detailed information about the error")
	  string	traceback; // @Metadata=(Units="unitless",Description="An optional stack trace of the error condition")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_errorCode_a56682a0 
struct logevent_filterChangerDetailedState_184bdf01 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	substate; // @Metadata=(Units="unitless",Description="")
	  double	transitionTimestamp; // @Metadata=(Units="second",Description="The time at which the state transition occurred")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_filterChangerDetailedState_184bdf01 
	 const long filterChangerDetailedState_UNLOADING=1;
	 const long filterChangerDetailedState_LOADING=2;
	 const long filterChangerDetailedState_LOADED=3;
	 const long filterChangerDetailedState_UNLOADED=4;
	 const long filterChangerDetailedState_ROTATING=5;
struct logevent_heartbeat_3c59f337 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  boolean	heartbeat; // @Metadata=(Units="unitless",Description="Beats the drum.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_heartbeat_3c59f337 
struct logevent_imageReadinessDetailedState_46566fd9 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	substate; // @Metadata=(Units="unitless",Description="Enumeration of valid substates")
	  double	transitionTimestamp; // @Metadata=(Units="second",Description="The time at which the state transition occurred")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_imageReadinessDetailedState_46566fd9 
	 const long imageReadinessDetailedState_READY=1;
	 const long imageReadinessDetailedState_NOT_READY=2;
	 const long imageReadinessDetailedState_GETTING_READY=3;
struct logevent_imageReadoutParameters_1a33f28f {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string	imageName; // @Metadata=(Units="unitless",Description="The imageName for this specific exposure")
	  string	ccdNames; // @Metadata=(Units="unitless",Description="A list of all ccds currently configured; of the form RnnSnn; : delimited (empty if entry not used)")
	  string	raftBay; // @Metadata=(Units="unitless",Description="The raft bay for each CCD listed above; of the form Rnn : delimited")
	  string	ccdSlot; // @Metadata=(Units="unitless",Description="The CCD slot for each CCD listed above; of the form SXn : delimited")
	  long	ccdType[201]; // @Metadata=(Units="unitless",Description="The type of each CCD; this determines segRows; segCols and serCols")
	  long	overRows[201]; // @Metadata=(Units="unitless",Description="See CCD Readout Parameters Diagram")
	  long	overCols[201]; // @Metadata=(Units="unitless",Description="See CCD Readout Parameters Diagram")
	  long	readRows[201]; // @Metadata=(Units="unitless",Description="See CCD Readout Parameters Diagram")
	  long	readCols[201]; // @Metadata=(Units="unitless",Description="See CCD Readout Parameters Diagram")
	  long	readCols2[201]; // @Metadata=(Units="unitless",Description="See CCD Readout Parameters Diagram")
	  long	preCols[201]; // @Metadata=(Units="unitless",Description="See CCD Readout Parameters Diagram")
	  long	preRows[201]; // @Metadata=(Units="unitless",Description="See CCD Readout Parameters Diagram")
	  long	postCols[201]; // @Metadata=(Units="unitless",Description="See CCD Readout Parameters Diagram")
	  long	underCols[201]; // @Metadata=(Units="unitless",Description="See CCD Readout Parameters Diagram")
	  string	daqFolder; // @Metadata=(Units="unitless",Description="DAQ folder where image will be created")
	  string	daqAnnotation; // @Metadata=(Units="unitless",Description="Annotation sent to DAQ")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_imageReadoutParameters_1a33f28f 
	 const long imageReadoutParameters_E2V=1;
	 const long imageReadoutParameters_ITL=2;
struct logevent_logLevel_52231130 {  // @Metadata=(Description="Current logging level.")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	level; // @Metadata=(Units="unitless",Description="Current logging level; a Python logging level: error=40; warning=30; info=20; debug=10.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_logLevel_52231130 
struct logevent_logMessage_e60d29da {  // @Metadata=(Description="A log message.")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string	name; // @Metadata=(Units="unitless",Description="Log name.")
	  long	level; // @Metadata=(Units="unitless",Description="Message level; a Python logging level: error=40; warning=30; info=20; debug=10.")
	  string	message; // @Metadata=(Units="unitless",Description="Log message.")
	  string	traceback; // @Metadata=(Units="unitless",Description="Exception traceback; "" if not an exception.")
	  string	filePath; // @Metadata=(Units="unitless",Description="Path to source file.")
	  string	functionName; // @Metadata=(Units="unitless",Description="Function or method name.")
	  long	lineNumber; // @Metadata=(Units="unitless",Description="Line number in the file specified by filePath.")
	  long	process; // @Metadata=(Units="unitless",Description="Process ID.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_logMessage_e60d29da 
struct logevent_notReadyToTakeImage_0cbf51b8 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_notReadyToTakeImage_0cbf51b8 
struct logevent_offlineDetailedState_5a453b9d {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	substate; // @Metadata=(Units="unitless",Description="Enumeration of valid substates")
	  double	transitionTimestamp; // @Metadata=(Units="second",Description="The time at which the state transition occurred")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_offlineDetailedState_5a453b9d 
	 const long offlineDetailedState_OFFLINE_AVAILABLE=1;
	 const long offlineDetailedState_OFFLINE_PUBLISH_ONLY=2;
struct logevent_prepareToTakeImage_93300714 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_prepareToTakeImage_93300714 
struct logevent_raftsDetailedState_0ecb22b9 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	substate; // @Metadata=(Units="unitless",Description="Enumeration of valid substates")
	  double	transitionTimestamp; // @Metadata=(Units="second",Description="The time at which the state transition occurred")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_raftsDetailedState_0ecb22b9 
	 const long raftsDetailedState_NEEDS_CLEAR=1;
	 const long raftsDetailedState_CLEARING=2;
	 const long raftsDetailedState_INTEGRATING=3;
	 const long raftsDetailedState_READING_OUT=4;
	 const long raftsDetailedState_QUIESCENT=5;
struct logevent_readyToTakeImage_fe98e40a {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_readyToTakeImage_fe98e40a 
struct logevent_settingVersions_b3ef284d {  // @Metadata=(Description="Information about settings which can be specified in the start command.")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string	recommendedSettingsVersion; // @Metadata=(Units="unitless",Description="List of comma seperated recomended versions of settings sets")
	  string	recommendedSettingsLabels; // @Metadata=(Units="unitless",Description="List of comma seperated names of settings sets")
	  string	settingsUrl; // @Metadata=(Units="unitless",Description="The URL where the settings sets definitions can be found")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_settingVersions_b3ef284d 
struct logevent_settingsApplied_2398f177 {  // @Metadata=(Description="Base settings applied.")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string<256>	settingsVersion; // @Metadata=(Units="unitless",Description="The SHA or name corresponding to the published configuration")
	  string	otherSettingsEvents; // @Metadata=(Units="unitless",Description="A comma delimited list of other specific CSC configuration events. This may be blank if no other CSC specific events are necessary")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_settingsApplied_2398f177 
struct logevent_shutterDetailedState_d164a1b3 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	substate; // @Metadata=(Units="unitless",Description="Enumeration of valid substates")
	  double	transitionTimestamp; // @Metadata=(Units="second",Description="The time at which the state transition occurred")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_shutterDetailedState_d164a1b3 
	 const long shutterDetailedState_CLOSED=1;
	 const long shutterDetailedState_OPEN=2;
	 const long shutterDetailedState_CLOSING=3;
	 const long shutterDetailedState_OPENING=4;
struct logevent_simulationMode_18465cd8 {  // @Metadata=(Description="Current simulation mode.")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	mode; // @Metadata=(Units="unitless",Description="Current simulation mode; 0 for normal operation (no simulation); other supported values are specific to each CSC.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_simulationMode_18465cd8 
struct logevent_softwareVersions_8a3d980d {  // @Metadata=(Description="Current verions of software in use by CSC.")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string<16>	salVersion; // @Metadata=(Units="unitless",Description="This is the current version of SAL generation")
	  string<16>	xmlVersion; // @Metadata=(Units="unitless",Description="This is the current version of CSC XML")
	  string<16>	openSpliceVersion; // @Metadata=(Units="unitless",Description="This is the current version of OpenSplice")
	  string<16>	cscVersion; // @Metadata=(Units="unitless",Description="This is the top-level version of the CSC")
	  string	subsystemVersions; // @Metadata=(Units="unitless",Description="A comma delimited list of key=value pairs relating subsystem name (key) to its version number (value). This may be left blank if there are no subsystems within a CSC")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_softwareVersions_8a3d980d 
struct logevent_startIntegration_e4afc698 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string	imageType; // @Metadata=(Units="unitless",Description="The imageType as passed to the takeImages command (using keyValueMap)")
	  string	groupId; // @Metadata=(Units="unitless",Description="The groupId as passed to the takeImages command (using keyValueMap)")
	  string	additionalKeys; // @Metadata=(Units="unitless",Description="Additional keys passed to the takeImages command (: delimited)")
	  string	additionalValues; // @Metadata=(Units="unitless",Description="Additional values passed to the takeImages command (: delimited; in same order as additionalKeys)")
	  long	imagesInSequence; // @Metadata=(Units="unitless",Description="The total number of requested images in sequence")
	  string<32>	imageName; // @Metadata=(Units="unitless",Description="The imageName for this specific exposure; assigned by the camera")
	  long	imageIndex; // @Metadata=(Units="unitless",Description="The zero based index number for this specific exposure within the sequence")
	  string<2>	imageSource; // @Metadata=(Units="unitless",Description="The source component of the image name (AT/CC/MC)")
	  string	imageController; // @Metadata=(Units="unitless",Description="The controller for the image  (O=OCS/C=CCS/...)")
	  string<8>	imageDate; // @Metadata=(Units="unitless",Description="The date component of the image name (YYYYMMDD)")
	  long	imageNumber; // @Metadata=(Units="unitless",Description="The image number (SEQNO) component of the image name")
	  double	timeStampAcquisitionStart; // @Metadata=(Units="second",Description="The effective time at which the image acquisition started (i.e. the end of the previous clear or readout)")
	  double	exposureTime; // @Metadata=(Units="second",Description="The requested exposure time")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_startIntegration_e4afc698 
struct logevent_startLoadFilter_4b036cc9 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_startLoadFilter_4b036cc9 
struct logevent_startReadout_64cfff55 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string	imageType; // @Metadata=(Units="unitless",Description="The imageType as passed to the takeImages command (using keyValueMap)")
	  string	groupId; // @Metadata=(Units="unitless",Description="The groupId as passed to the takeImages command (using keyValueMap)")
	  string	additionalKeys; // @Metadata=(Units="unitless",Description="Additional keys passed to the takeImages command (: delimited)")
	  string	additionalValues; // @Metadata=(Units="unitless",Description="Additional values passed to the takeImages command (: delimited; in same order as additionalKeys)")
	  long	imagesInSequence; // @Metadata=(Units="unitless",Description="The total number of requested images in sequence")
	  string<32>	imageName; // @Metadata=(Units="unitless",Description="The imageName for this specific exposure; assigned by the camera")
	  long	imageIndex; // @Metadata=(Units="unitless",Description="The zero based index number for this specific exposure within the sequence")
	  string<2>	imageSource; // @Metadata=(Units="unitless",Description="The source component of the image name (AT/CC/MC)")
	  string	imageController; // @Metadata=(Units="unitless",Description="The controller for the image  (O=OCS/C=CCS/...)")
	  string<8>	imageDate; // @Metadata=(Units="unitless",Description="The date component of the image name (YYYYMMDD)")
	  long	imageNumber; // @Metadata=(Units="unitless",Description="The image number (SEQNO) component of the image name")
	  double	timeStampAcquisitionStart; // @Metadata=(Units="second",Description="The effective time at which the image acquisition started (i.e. the end of the previous clear or readout)")
	  double	exposureTime; // @Metadata=(Units="second",Description="The requested exposure time")
	  double	timeStampStartOfReadout; // @Metadata=(Units="second",Description="The time at which the readout was triggered")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_startReadout_64cfff55 
struct logevent_startRotateCarousel_510e71dd {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_startRotateCarousel_510e71dd 
struct logevent_startSetFilter_fcfa6197 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  string<256>	filterName; // @Metadata=(Units="unitless",Description="The name of the filter being installed (e.g. U-001)")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_startSetFilter_fcfa6197 
struct logevent_startShutterClose_d3655c31 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_startShutterClose_d3655c31 
struct logevent_startShutterOpen_bd863dbd {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_startShutterOpen_bd863dbd 
struct logevent_startUnloadFilter_6431ce5b {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_startUnloadFilter_6431ce5b 
struct logevent_summaryState_1e00395c {  // @Metadata=(Description="Current summary state of the CSC")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	summaryState; // @Metadata=(Units="unitless",Description="High level state machine state identifier")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_summaryState_1e00395c 
struct pcms_ed35d911 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  short	biasStatus; // @Metadata=(Units="",Description="")
	  float	biasCurrent; // @Metadata=(Units="ampere",Description="")
	  float	biasVoltage; // @Metadata=(Units="volt",Description="")
	  short	clockStatus; // @Metadata=(Units="",Description="")
	  short	clockCurrent; // @Metadata=(Units="ampere",Description="")
	  float	clockVoltage; // @Metadata=(Units="volt",Description="")
	  short	fpgaStatus; // @Metadata=(Units="",Description="")
	  float	fpgaCurrent; // @Metadata=(Units="ampere",Description="")
	  float	fpgaVoltage; // @Metadata=(Units="volt",Description="")
	  short	lowStatus; // @Metadata=(Units="",Description="")
	  float	lowCurrent; // @Metadata=(Units="ampere",Description="")
	  short	lowVoltage; // @Metadata=(Units="volt",Description="")
	  short	odStatus; // @Metadata=(Units="",Description="")
	  float	odCurrent; // @Metadata=(Units="ampere",Description="")
	  float	odVoltage; // @Metadata=(Units="volt",Description="")
	  float	rebID; // @Metadata=(Units="",Description="")
	};
#pragma keylist pcms_ed35d911 
struct prot_e0e288c2 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  long	status[2]; // @Metadata=(Units="",Description="")
	};
#pragma keylist prot_e0e288c2 
struct purge_5ae6c133 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  float	accelerometer[6]; // @Metadata=(Units="meter",Description="")
	  float	blowerSetting; // @Metadata=(Units="hertz",Description="")
	  float	blowerSpeed; // @Metadata=(Units="hertz",Description="")
	  float	bodyFlowMeter; // @Metadata=(Units="lps",Description="")
	  float	bodyTemp; // @Metadata=(Units="Celsius",Description="")
	  float	heaterCurrent; // @Metadata=(Units="ampere",Description="")
	  float	heaters; // @Metadata=(Units="ampere",Description="")
	  long	microphone; // @Metadata=(Units="",Description="")
	  float	trunkFlowMeter; // @Metadata=(Units="lps",Description="")
	  float	trunkTemp; // @Metadata=(Units="Celsius",Description="")
	  long	valveSetting; // @Metadata=(Units="",Description="")
	  long	valves; // @Metadata=(Units="",Description="")
	};
#pragma keylist purge_5ae6c133 
struct sas_1f9b6d8b {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  short	boardID; // @Metadata=(Units="",Description="")
	  float	boardCurrent[4]; // @Metadata=(Units="ampere",Description="")
	  float	boardTemp[12]; // @Metadata=(Units="kelvin",Description="")
	  float	boardVoltage[4]; // @Metadata=(Units="volt",Description="")
	  long	cabacMUX[4]; // @Metadata=(Units="",Description="")
	  short	ccdID; // @Metadata=(Units="",Description="")
	  long	ccdtemp; // @Metadata=(Units="kelvin",Description="")
	  long	fpgaCheckSum[2]; // @Metadata=(Units="",Description="")
	  short	rebID; // @Metadata=(Units="",Description="")
	};
#pragma keylist sas_1f9b6d8b 
struct sds_bb94cd57 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  short	rebID; // @Metadata=(Units="",Description="")
	  long	timingParameters[10]; // @Metadata=(Units="",Description="")
	  long	flag[20]; // @Metadata=(Units="",Description="")
	};
#pragma keylist sds_bb94cd57 
struct shutter_47267677 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  short	bladeHome[2]; // @Metadata=(Units="",Description="")
	  float	closeProfile[24]; // @Metadata=(Units="second",Description="")
	  float	motorCurrent[2]; // @Metadata=(Units="ampere",Description="")
	  float	motorTemp[2]; // @Metadata=(Units="Celsius",Description="")
	  short	openDirection; // @Metadata=(Units="",Description="")
	  float	openProfile[24]; // @Metadata=(Units="second",Description="")
	  string<256>	profileFunction; // @Metadata=(Units="",Description="")
	};
#pragma keylist shutter_47267677 
struct was_bbb304f6 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  short	boardID; // @Metadata=(Units="",Description="")
	  float	boardCurrent[4]; // @Metadata=(Units="ampere",Description="")
	  float	boardTemp[12]; // @Metadata=(Units="kelvin",Description="")
	  float	boardVoltage[4]; // @Metadata=(Units="volt",Description="")
	  long	cabacMUX[4]; // @Metadata=(Units="",Description="")
	  short	ccdID; // @Metadata=(Units="",Description="")
	  long	ccdtemp; // @Metadata=(Units="kelvin",Description="")
	  long	fpgaCheckSum[2]; // @Metadata=(Units="",Description="")
	  short	rebID; // @Metadata=(Units="",Description="")
	};
#pragma keylist was_bbb304f6 
struct wds_9a6ba6a9 {  // @Metadata=(Description="")
	  string<8>	private_revCode; //private // @Metadata=(Units="unitless",Description="Revision code of topic")
	  double	private_sndStamp; //private // @Metadata=(Units="second",Description="TAI at sender")
	  double	private_rcvStamp; //private // @Metadata=(Units="second",Description="TAI at receiver")
	  long		private_seqNum; //private // @Metadata=(Units="unitless",Description="Sequence number")
	  long		private_origin; //private // @Metadata=(Units="unitless",Description="PID code of sender")
	  long		private_host; //private // @Metadata=(Units="unitless",Description="IP of sender")
	  short	rebID; // @Metadata=(Units="",Description="")
	  long	timingParameters[10]; // @Metadata=(Units="",Description="")
	  long	flag[20]; // @Metadata=(Units="",Description="")
	};
#pragma keylist wds_9a6ba6a9 
struct ackcmd_9a266741 {  // @Metadata=(Description="")
      string<8>	private_revCode;
      double		private_sndStamp;
      double		private_rcvStamp;
      long		private_origin;
      long 		private_host;
      long		private_seqNum;
      long 		ack;
      long 		error;
      string<256>	result;
      long		host;
      long		origin;
      long		cmdtype;
      double		timeout;
	};
#pragma keylist ackcmd_9a266741 
};

