// SAL_VERSION=4.1.2 XML_VERSION=5.1.0
module ATPtg {
struct command_abort_3114c793 {  // @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_3114c793 
struct command_amLimitSet_080e85f7 {  // @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	amlimit; // @Metadata=(Units="unitless",Description="Airmass limit value")
	};
#pragma keylist command_amLimitSet_080e85f7 
struct command_azCurrentWrap_1ea25d6f {  // @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	wrap; // @Metadata=(Units="unitless",Description="Wrap direction (cw=1 or ccw=2)? ")
	};
#pragma keylist command_azCurrentWrap_1ea25d6f 
struct command_azElTarget_867d8914 {  // @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	targetName; // @Metadata=(Units="unitless",Description="Name of AzEl target")
	  double	azDegs; // @Metadata=(Units="degree",Description="Azimuth of target in degrees")
	  double	elDegs; // @Metadata=(Units="degree",Description="Elevation of target in degrees")
	  long	trackId; // @Metadata=(Units="unitless",Description="Target identifier.")
	  double	rotPA; // @Metadata=(Units="degree",Description="Desired instrument position angle; Eastwards from North")
	};
#pragma keylist command_azElTarget_867d8914 
struct command_clearCollOffset_603f373d {  // @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	num; // @Metadata=(Units="unitless",Description="Which offset to clear:  0 = user 1= handset 2=both")
	};
#pragma keylist command_clearCollOffset_603f373d 
struct command_collOffset_4a8be15e {  // @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	ca; // @Metadata=(Units="arcsec",Description="Collimation CA value")
	  double	ce; // @Metadata=(Units="arcsec",Description="Collimation CE value")
	  long	num; // @Metadata=(Units="unitless",Description="Which offset to clear to set:  0 = user  1= handset")
	};
#pragma keylist command_collOffset_4a8be15e 
struct command_debugLevel_3e2929be {  // @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	level; // @Metadata=(Units="unitless",Description="Log level.")
	};
#pragma keylist command_debugLevel_3e2929be 
struct command_disable_719f2f99 {  // @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_719f2f99 
struct command_enable_f2a5b2fc {  // @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_f2a5b2fc 
struct command_enterControl_5ba0a011 {  // @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_5ba0a011 
struct command_ephemTarget_d43192b1 {  // @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>	ephemFile; // @Metadata=(Units="unitless",Description="Name of file containing ephemeris data")
	  string<256>	targetName; // @Metadata=(Units="unitless",Description="Target name")
	  double	dRA; // @Metadata=(Units="arcsec / s",Description="Differential Track Rate in RA; in addition to any inherent tracking rate the object may have")
	  double	dDec; // @Metadata=(Units="arcsec / s",Description="Differential Track Rate in Dec; in addition to any inherent tracking rate the object may have")
	  long	trackId; // @Metadata=(Units="unitless",Description="Target identifier.")
	  double	rotPA; // @Metadata=(Units="degree",Description="Desired instrument position angle; Eastwards from North")
	};
#pragma keylist command_ephemTarget_d43192b1 
struct command_exitControl_15249070 {  // @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_15249070 
struct command_focusName_8e87b577 {  // @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	focus; // @Metadata=(Units="unitless",Description="Select M3 focus position: prime; nasmyth1 or nasmyth2.")
	};
#pragma keylist command_focusName_8e87b577 
struct command_guideAutoclear_71733ba4 {  // @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	state; // @Metadata=(Units="unitless",Description="Set state of the guider auto clear. ")
	};
#pragma keylist command_guideAutoclear_71733ba4 
struct command_guideClear_5b318c8e {  // @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	ignored; // @Metadata=(Units="unitless",Description="This item is ignored and not used.")
	};
#pragma keylist command_guideClear_5b318c8e 
struct command_guideControl_fdf6cfb0 {  // @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	state; // @Metadata=(Units="unitless",Description="Current state of guider control.")
	};
#pragma keylist command_guideControl_fdf6cfb0 
struct command_iersUpdate_880804e1 {  // @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	ignored; // @Metadata=(Units="unitless",Description="This item is ignored and not used.")
	};
#pragma keylist command_iersUpdate_880804e1 
struct command_offsetAbsorb_c1962579 {  // @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	num; // @Metadata=(Units="unitless",Description="Which offset to absorb: 0 = user 1= handset 2 = both")
	};
#pragma keylist command_offsetAbsorb_c1962579 
struct command_offsetAzEl_41adc3ca {  // @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	az; // @Metadata=(Units="arcsec",Description="Az offset position in arcseconds")
	  double	el; // @Metadata=(Units="arcsec",Description="El offset in arcseconds")
	  long	num; // @Metadata=(Units="unitless",Description="Offset identifier: 0 = user 1 = handset")
	};
#pragma keylist command_offsetAzEl_41adc3ca 
struct command_offsetClear_5ccaadef {  // @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	num; // @Metadata=(Units="unitless",Description="Which offset to clear: 0 = user 1= handset 2 = both")
	};
#pragma keylist command_offsetClear_5ccaadef 
struct command_offsetPA_cc32a3c0 {  // @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	angle; // @Metadata=(Units="degree",Description="Offset position angle in degrees; clockwise from North")
	  double	radius; // @Metadata=(Units="arcsec",Description="Radial offset relative to target position")
	};
#pragma keylist command_offsetPA_cc32a3c0 
struct command_offsetRADec_d22ebefa {  // @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	type; // @Metadata=(Units="unitless",Description="Type of offset: RA/Dec or Tangent Plane")
	  double	off1; // @Metadata=(Units="arcsec",Description="Offset in RA or X; relative to target position. (in arcsec if type is TPLANE; second if SIMPLE) ")
	  double	off2; // @Metadata=(Units="arcsec",Description="Offset in Dec or Y; relative to target position")
	  long	num; // @Metadata=(Units="unitless",Description="Offset identifier: 0 = user 1 = handset")
	};
#pragma keylist command_offsetRADec_d22ebefa 
struct command_planetTarget_28ea3390 {  // @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	planetName; // @Metadata=(Units="unitless",Description="Id of the planet name; mercury (1); venus (2); moon (3); mars (4); jupiter (5); saturn (6); uranus (7); neptune (8) or pluto (9)")
	  double	dRA; // @Metadata=(Units="arcsec / second",Description="Differential Track Rate in RA; in addition to the planet's inherent tracking rate")
	  double	dDec; // @Metadata=(Units="arcsec / second",Description="Differential Track Rate in Declination ; in addition to the planet's inherent tracking rate")
	  long	trackId; // @Metadata=(Units="unitless",Description="Target identifier.")
	  double	rotPA; // @Metadata=(Units="degree",Description="Desired instrument position angle; Eastwards from North")
	};
#pragma keylist command_planetTarget_28ea3390 
struct command_pointAddData_bb6bd7c6 {  // @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	ignored; // @Metadata=(Units="unitless",Description="This item is ignored and not used.")
	};
#pragma keylist command_pointAddData_bb6bd7c6 
struct command_pointCloseFile_9207dc9b {  // @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	ignored; // @Metadata=(Units="unitless",Description="Attribute required by the SAL API; but is unused.")
	};
#pragma keylist command_pointCloseFile_9207dc9b 
struct command_pointLoadModel_d99a15a8 {  // @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>	pointingFile; // @Metadata=(Units="unitless",Description="Name of existing pointing model data file")
	};
#pragma keylist command_pointLoadModel_d99a15a8 
struct command_pointNewFile_296d6db9 {  // @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	ignored; // @Metadata=(Units="unitless",Description="This item is ignored and not used.")
	};
#pragma keylist command_pointNewFile_296d6db9 
struct command_poriginAbsorb_4b4dc239 {  // @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	num; // @Metadata=(Units="unitless",Description="Which offset to absorb: 0 = user  1= handset 2 = both")
	};
#pragma keylist command_poriginAbsorb_4b4dc239 
struct command_poriginClear_d2351c9f {  // @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	num; // @Metadata=(Units="unitless",Description="Which offset to absorb: 0 = user  1= handset 2 = both")
	};
#pragma keylist command_poriginClear_d2351c9f 
struct command_poriginOffset_9668490a {  // @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	dx; // @Metadata=(Units="mm",Description="X Pointing origin offset in the focal plane")
	  double	dy; // @Metadata=(Units="mm",Description="Y Pointing origin offset in the focal plane.")
	  long	num; // @Metadata=(Units="unitless",Description="Offset number: 0 = user 1 = handset")
	};
#pragma keylist command_poriginOffset_9668490a 
struct command_poriginXY_28b452d1 {  // @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	x; // @Metadata=(Units="mm",Description="X Pointing origin in the focal plane. Origin is the axis of the rotator")
	  double	y; // @Metadata=(Units="mm",Description="Y Pointing origin in the focal plane. Origin is the axis of the rotator")
	};
#pragma keylist command_poriginXY_28b452d1 
struct command_raDecTarget_31dfbf69 {  // @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	targetName; // @Metadata=(Units="unitless",Description="Name of target")
	  long	frame; // @Metadata=(Units="unitless",Description="Target co-ordinate reference frame")
	  double	epoch; // @Metadata=(Units="year",Description="Target epoch in years e.g. 2000.0. Julian (J) epoch is assumed.")
	  double	equinox; // @Metadata=(Units="year",Description="Target equinox in years e.g. 2000.0")
	  double	ra; // @Metadata=(Units="hour",Description="RA of target (Hours)")
	  double	declination; // @Metadata=(Units="degree",Description="Declination of target (Degrees)")
	  double	parallax; // @Metadata=(Units="arcsec",Description="Parallax (arcseconds)")
	  double	pmRA; // @Metadata=(Units="arcsec / year",Description="Proper Motion (RA) in RA Seconds/year")
	  double	pmDec; // @Metadata=(Units="arcsec / year",Description="Proper motion (Dec) in Arcseconds/year")
	  double	rv; // @Metadata=(Units="km / second",Description="Radial velocity (km/sec)")
	  double	dRA; // @Metadata=(Units="arcsec / second",Description="Differential Track Rate in RA")
	  long	trackId; // @Metadata=(Units="unitless",Description="Target identifier.")
	  double	dDec; // @Metadata=(Units="arcsec / second",Description="Differential Track Rate in Dec")
	  double	rotPA; // @Metadata=(Units="deg",Description="Desired instrument position angle; Eastwards from North")
	  long	rotFrame; // @Metadata=(Units="unitless",Description="Rotator co-ordinate frame. target = same frame as target. fixed   = maintain sky orientation ( = AZEL)")
	  long	rotMode; // @Metadata=(Units="unitless",Description="Rotator position mode (Field or Slit optimized)")
	  long	azWrapStrategy; // @Metadata=(Units="unitless",Description="Azimuth wrap strategy.(1-noUnWrap; 2-optimize; 3-maxTimeOnTarget)")
	  double	timeOnTarget; // @Metadata=(Units="second",Description="The total expected time on the target.")
	};
#pragma keylist command_raDecTarget_31dfbf69 
struct command_rotCurrentWrap_1381824c {  // @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	wrap; // @Metadata=(Units="unitless",Description="Wrap direction (cw = 1 or ccw=2)?")
	};
#pragma keylist command_rotCurrentWrap_1381824c 
struct command_rotOffset_84a66378 {  // @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	iaa; // @Metadata=(Units="deg",Description="Instrument Alignment Angle (IAA)")
	};
#pragma keylist command_rotOffset_84a66378 
struct command_setAccessMode_fc60f42f {  // @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	mode; // @Metadata=(Units="unitless",Description="Set the access mode: Operator (1) or Engineer (2). ")
	};
#pragma keylist command_setAccessMode_fc60f42f 
struct command_setLogLevel_d031039f {  // @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_d031039f 
struct command_setSimulationMode_2e8569a7 {  // @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_2e8569a7 
struct command_setValue_c4f4d2a6 {  // @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_c4f4d2a6 
struct command_standby_cb6c41a3 {  // @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_cb6c41a3 
struct command_start_f9b4fae4 {  // @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_f9b4fae4 
struct command_startTracking_3a7a6acc {  // @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	trackId; // @Metadata=(Units="unitless",Description="Target identifier.")
	};
#pragma keylist command_startTracking_3a7a6acc 
struct command_stopTracking_c02864b3 {  // @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	ignored; // @Metadata=(Units="unitless",Description="This attribute is ignored and not used.")
	};
#pragma keylist command_stopTracking_c02864b3 
struct command_wavelength_125c8ae1 {  // @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	wavelength; // @Metadata=(Units="micron",Description="Effective target wavelength")
	};
#pragma keylist command_wavelength_125c8ae1 
struct currentTargetStatus_6beb5807 {  // @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	timestamp; // @Metadata=(Units="second",Description="Current time in TAI seconds")
	  string	demandAz; // @Metadata=(Units="deg",Description="Demanded target Azimuth.")
	  string	demandEl; // @Metadata=(Units="deg",Description="Demanded target Elevation")
	  string	demandRot; // @Metadata=(Units="deg",Description="Demanded Rotator Angle")
	  double	demandAzVelocity; // @Metadata=(Units="deg / s",Description="Demanded Azimuth velocity.")
	  double	demandElVelocity; // @Metadata=(Units="deg / s",Description="Demanded Elevation velocity")
	  double	demandRotVelocity; // @Metadata=(Units="deg / s",Description="Demanded Rotator velocity")
	  string	ha; // @Metadata=(Units="hour",Description="Current Hour Angle of target")
	  double	parAngle; // @Metadata=(Units="deg",Description="Current Parallactic Angle of the target")
	  double	airmass; // @Metadata=(Units="unitless",Description="Current Airmass of the target")
	  string	demandRaString; // @Metadata=(Units="hour",Description="Demanded target Right Ascension as a string (HH:MM:SS.SS)")
	  string	demandDecString; // @Metadata=(Units="deg",Description="Demanded target Declination as a string (DD:MM:SS.S)")
	};
#pragma keylist currentTargetStatus_6beb5807 
struct guidingAndOffsets_fd72d243 {  // @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	timestamp; // @Metadata=(Units="second",Description="Current time as TAI seconds")
	  double	iaa; // @Metadata=(Units="deg",Description="Rotator Instrument Alignment Angle")
	  boolean	guideControlState; // @Metadata=(Units="unitless",Description="On/off state of guiding.")
	  boolean	guideAutoClearState; // @Metadata=(Units="unitless",Description="On/off state of Guide Auto Clear.")
	  double	guideGA; // @Metadata=(Units="arcsec",Description="Guiding GA term (arcsecs)")
	  double	guideGB; // @Metadata=(Units="arcsec",Description="Guiding GB term (arcsecs)")
	  double	userOffsetRA; // @Metadata=(Units="arcsec",Description="User Offset in RA (secs)")
	  double	userOffsetDec; // @Metadata=(Units="arcsec",Description="User offset in Dec (arcsecs)")
	  double	handsetOffsetRA; // @Metadata=(Units="arcsec",Description="Handset offset in RA (secs)")
	  double	handsetOffsetDec; // @Metadata=(Units="arcsec",Description="Handset offset in Dec (arcsecs)")
	  double	userCollOffsetCA; // @Metadata=(Units="arcsec",Description="Collimation CA user offset (arcsecs)")
	  double	userCollOffsetCE; // @Metadata=(Units="arcsec",Description="Collimation CE user offset (arcsecs)")
	  double	handsetCollOffsetCA; // @Metadata=(Units="arcsec",Description="Collimation handset offset CA (arcsecs)")
	  double	handsetCollOffsetCE; // @Metadata=(Units="arcsec",Description="Collimation CE handset offset (arcsecs)")
	  double	pointingOriginX; // @Metadata=(Units="mm",Description="Pointing origin X on the focal plane (mm)")
	  double	pointingOriginY; // @Metadata=(Units="mm",Description="Pointing origin Y on the focal plane (mm)")
	  double	pointingOriginUserDX; // @Metadata=(Units="mm",Description="User pointing origin offset X on the focal plane (mm)")
	  double	pointingOriginUserDY; // @Metadata=(Units="mm",Description="User pointing origin offset Y on the focal plane (mm)")
	  double	pointingOriginHandsetDX; // @Metadata=(Units="mm",Description="Handset pointing origin offset X on the focal plane (mm)")
	  double	pointingOriginHandsetDY; // @Metadata=(Units="mm",Description="Handset pointing origin offset Y on the focal plane (mm)")
	};
#pragma keylist guidingAndOffsets_fd72d243 
struct logevent_accessMode_350a8748 {  // @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	eventState; // @Metadata=(Units="unitless",Description="Access mode level.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_accessMode_350a8748 
struct logevent_airmassWarning_69becf01 {  // @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	level; // @Metadata=(Units="unitless",Description="Airmass warning level.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_airmassWarning_69becf01 
struct logevent_appliedSettingsMatchStart_f73f879b {  // @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_f73f879b 
struct logevent_axesTrackMode_1697e6cd {  // @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	elevation; // @Metadata=(Units="unitless",Description="Elevation axis track mode.")
	  long	azimuth; // @Metadata=(Units="unitless",Description="Azimuth axis track mode.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_axesTrackMode_1697e6cd 
struct logevent_azWrapWarning_664fb111 {  // @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	level; // @Metadata=(Units="unitless",Description="Warning level for azimuth wrap")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_azWrapWarning_664fb111 
struct logevent_currentDebugLevel_70bbec9a {  // @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	currentLevel; // @Metadata=(Units="unitless",Description="Current debug level.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_currentDebugLevel_70bbec9a 
struct logevent_currentTarget_3d64d4a6 {  // @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	timestamp; // @Metadata=(Units="second",Description="Current time in TAI second")
	  long	targetType; // @Metadata=(Units="unitless",Description="raDec; azEl; planet or ephemeris?")
	  string	targetName; // @Metadata=(Units="unitless",Description="Name of current target")
	  double	ra; // @Metadata=(Units="rad",Description="Target RA in radians")
	  double	declination; // @Metadata=(Units="rad",Description="Target Dec in radians")
	  long	frame; // @Metadata=(Units="unitless",Description="Target tracking co-ordinate frame (FK5 or ICRS)")
	  double	azDegs; // @Metadata=(Units="degree",Description="Azimuth.")
	  double	elDegs; // @Metadata=(Units="degree",Description="Elevation.")
	  long	planetName; // @Metadata=(Units="unitless",Description="Id of the planet name; mercury (1); venus (2); moon (3); mars (4); jupiter (5); saturn (6); uranus (7); neptune (8) or pluto (9)")
	  string	ephemFile; // @Metadata=(Units="unitless",Description="Ephemeris file name.")
	  double	equinox; // @Metadata=(Units="year",Description="Target equinox in years")
	  string	raString; // @Metadata=(Units="hour",Description="Target RA as a string (HH MM SS.SS).")
	  string	decString; // @Metadata=(Units="degree",Description="Target Dec as a string (DD MM SS.SS)")
	  double	epoch; // @Metadata=(Units="year",Description="Target epoch in years")
	  double	difftrackRA; // @Metadata=(Units="arcsec / second",Description="Target differential track rate in RA (units RAsecs/second)")
	  double	difftrackDec; // @Metadata=(Units="arcsec / second",Description="Target differential track rate in Dec (units arcsecs/second)")
	  double	properMotionRA; // @Metadata=(Units="arcsec / year",Description="Target proper motion in RA (units RAsecs/year)")
	  double	properMotionDec; // @Metadata=(Units="arcsec / year",Description="Target proper motion in Dec (units arcsecs/year)")
	  double	parallax; // @Metadata=(Units="arcsec",Description="Target annual parallax in arcseconds")
	  double	radvel; // @Metadata=(Units="km / second",Description="Target radial velocity in kms/sec")
	  double	rotPA; // @Metadata=(Units="degree",Description="Rotator position angle in degrees")
	  long	rotFrame; // @Metadata=(Units="unitless",Description="Rotator tracking co-ordinate frame (FK5 or ICRS)")
	  long	rotMode; // @Metadata=(Units="unitless",Description="Rotator tracking mode (Field or Slit optimized)")
	  double	raHours; // @Metadata=(Units="hour",Description="Target RA in hours")
	  double	decDegs; // @Metadata=(Units="degree",Description="Target Dec in degrees")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_currentTarget_3d64d4a6 
struct logevent_detailedState_18f62542 {  // @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	detailedState; // @Metadata=(Units="unitless",Description="Current detailed state")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_detailedState_18f62542 
struct logevent_elLimitWarning_632e4d11 {  // @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	level; // @Metadata=(Units="unitless",Description="Elevation tracking high limit warning")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_elLimitWarning_632e4d11 
struct logevent_errorCode_c02d825d {  // @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_c02d825d 
struct logevent_focusNameInconsistentWarning_fffd40cc {  // @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	eventState; // @Metadata=(Units="unitless",Description="State of the focus name inconsistency.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_focusNameInconsistentWarning_fffd40cc 
struct logevent_focusNameSelected_505cdf3c {  // @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	focus; // @Metadata=(Units="unitless",Description="Selected Focus Name")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_focusNameSelected_505cdf3c 
	 const long ATPtg_shared_SummaryState_DisabledState=1;
	 const long ATPtg_shared_SummaryState_EnabledState=2;
	 const long ATPtg_shared_SummaryState_FaultState=3;
	 const long ATPtg_shared_SummaryState_OfflineState=4;
	 const long ATPtg_shared_SummaryState_StandbyState=5;
	 const long ATPtg_shared_LogLevel_none=1;
	 const long ATPtg_shared_LogLevel_fatal=2;
	 const long ATPtg_shared_LogLevel_error=3;
	 const long ATPtg_shared_LogLevel_warning=4;
	 const long ATPtg_shared_LogLevel_info=5;
	 const long ATPtg_shared_LogLevel_debug=6;
	 const long ATPtg_shared_LogLevel_verbose=7;
	 const long ATPtg_shared_OffTypes_simple=1;
	 const long ATPtg_shared_OffTypes_tplane=2;
	 const long ATPtg_shared_OnOff_on=1;
	 const long ATPtg_shared_OnOff_off=2;
	 const long ATPtg_shared_Wraps_cw=1;
	 const long ATPtg_shared_Wraps_ccw=2;
	 const long ATPtg_shared_CoordFrame_fk5=1;
	 const long ATPtg_shared_CoordFrame_icrs=2;
	 const long ATPtg_shared_RotFrame_target=1;
	 const long ATPtg_shared_RotFrame_fixed=2;
	 const long ATPtg_shared_RotMode_field=1;
	 const long ATPtg_shared_RotMode_slit=2;
	 const long ATPtg_shared_AccessModes_operator=1;
	 const long ATPtg_shared_AccessModes_engineer=2;
	 const long ATPtg_shared_Planets_mercury=1;
	 const long ATPtg_shared_Planets_venus=2;
	 const long ATPtg_shared_Planets_moon=3;
	 const long ATPtg_shared_Planets_mars=4;
	 const long ATPtg_shared_Planets_jupiter=5;
	 const long ATPtg_shared_Planets_saturn=6;
	 const long ATPtg_shared_Planets_uranus=7;
	 const long ATPtg_shared_Planets_neptune=8;
	 const long ATPtg_shared_Planets_pluto=9;
	 const long ATPtg_shared_Foci_prime=1;
	 const long ATPtg_shared_Foci_nasmyth1=2;
	 const long ATPtg_shared_Foci_nasmyth2=3;
	 const long ATPtg_shared_WarningLevel_none=1;
	 const long ATPtg_shared_WarningLevel_minor=2;
	 const long ATPtg_shared_WarningLevel_major=3;
	 const long ATPtg_shared_DetailedStates_notTracking=1;
	 const long ATPtg_shared_DetailedStates_azEl=2;
	 const long ATPtg_shared_DetailedStates_openLoop=3;
	 const long ATPtg_shared_DetailedStates_guiding=4;
	 const long ATPtg_shared_TargetTypes_raDec=1;
	 const long ATPtg_shared_TargetTypes_azEl=2;
	 const long ATPtg_shared_TargetTypes_planet=3;
	 const long ATPtg_shared_TargetTypes_ephem=4;
	 const long ATPtg_shared_WrapStrategy_noUnWrap=1;
	 const long ATPtg_shared_WrapStrategy_optimize=2;
	 const long ATPtg_shared_WrapStrategy_maxTimeOnTarget=3;
struct logevent_heartbeat_0fb69a21 {  // @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_0fb69a21 
struct logevent_iers_67fd0573 {  // @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	timestamp; // @Metadata=(Units="second",Description="Timestamp (as returned by SAL's getCurrentTime) of successful IERS update.")
	  double	dut1; // @Metadata=(Units="second",Description="DUT1 = UT1 - UTC (seconds)")
	  double	poleX; // @Metadata=(Units="arcsec",Description="Polar Motion X")
	  double	poleY; // @Metadata=(Units="arcsec",Description="Polar Motion Y")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_iers_67fd0573 
struct logevent_iersOutOfDate_c6e79881 {  // @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	eventState; // @Metadata=(Units="unitless",Description="State of the iers")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_iersOutOfDate_c6e79881 
struct logevent_inPosition_7e985111 {  // @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	eventState; // @Metadata=(Units="unitless",Description="Is telescope in position?")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_inPosition_7e985111 
struct logevent_inPositionAz_e0704de9 {  // @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	eventState; // @Metadata=(Units="unitless",Description="Is Azimuth in position?")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_inPositionAz_e0704de9 
struct logevent_inPositionEl_832d54fb {  // @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	eventState; // @Metadata=(Units="unitless",Description="Elevation axis in position.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_inPositionEl_832d54fb 
struct logevent_inPositionRot_44be3c31 {  // @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	eventState; // @Metadata=(Units="unitless",Description="Is rotator in position?")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_inPositionRot_44be3c31 
struct logevent_logLevel_b7f3d2f8 {  // @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_b7f3d2f8 
struct logevent_logMessage_faf6c537 {  // @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_faf6c537 
struct logevent_moonProximityWarning_1e01ac66 {  // @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	level; // @Metadata=(Units="unitless",Description="Level of the moon proximity warning.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_moonProximityWarning_1e01ac66 
struct logevent_mountDataWarning_5a1a9e59 {  // @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	level; // @Metadata=(Units="unitless",Description="Warning level from the mount.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_mountDataWarning_5a1a9e59 
struct logevent_mountGuideMode_d1e730e9 {  // @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	mode; // @Metadata=(Units="unitless",Description="Mount guide mode.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_mountGuideMode_d1e730e9 
struct logevent_objectSetWarning_3bac87dd {  // @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	level; // @Metadata=(Units="unitless",Description="Object is setting warning level.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_objectSetWarning_3bac87dd 
struct logevent_pointingModel_65682ba8 {  // @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	timestamp; // @Metadata=(Units="second",Description="Current time as TAI second")
	  string	pointingModelTermNames; // @Metadata=(Units="unitless",Description="Comma separated list of pointing model term names. ")
	  string	pointingModelTermValues; // @Metadata=(Units="unitless",Description="Comma separated term values.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_pointingModel_65682ba8 
struct logevent_pointing_file_a6e3ded0 {  // @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	file_is_open; // @Metadata=(Units="unitless",Description="If true; pointing file is open. If false; pointing file is closed.")
	  string	file_path; // @Metadata=(Units="unitless",Description="Path of the pointing file.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_pointing_file_a6e3ded0 
struct logevent_ptgAzCurrentWrap_d67e23c2 {  // @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	currentWrap; // @Metadata=(Units="unitless",Description="Direction of the azimuth wrap: cw (1) or ccw (2).")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_ptgAzCurrentWrap_d67e23c2 
struct logevent_ptgRotCurrentWrap_eb5ccc55 {  // @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	currentWrap; // @Metadata=(Units="unitless",Description="Direction of the rotator wrap: cw (1) or ccw (2).")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_ptgRotCurrentWrap_eb5ccc55 
struct logevent_rotWrapWarning_410c967d {  // @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	level; // @Metadata=(Units="unitless",Description="Rotator Wrap limit warning level.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_rotWrapWarning_410c967d 
struct logevent_settingVersions_9deb2606 {  // @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_9deb2606 
struct logevent_settingsApplied_a3f75a94 {  // @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_a3f75a94 
struct logevent_simulationMode_bd1c154a {  // @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_bd1c154a 
struct logevent_softwareVersions_3961edac {  // @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_3961edac 
struct logevent_summaryState_bee21832 {  // @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_bee21832 
struct logevent_sunProximityWarning_4d0bfb6a {  // @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	level; // @Metadata=(Units="unitless",Description="Telescope is approaching the Sun")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_sunProximityWarning_4d0bfb6a 
struct logevent_timesOfLimits_4f959e18 {  // @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	timestamp; // @Metadata=(Units="second",Description="Time the limits were calculated. TAI seconds.")
	  double	timeAzLim; // @Metadata=(Units="second",Description="Time the target reaches azimuth limit. TAI seconds.")
	  double	timeRotLim; // @Metadata=(Units="second",Description="Time the target reaches rotator limit. TAI seconds.")
	  double	timeElHighLimit; // @Metadata=(Units="second",Description="Time the target reaches elevation high limit. TAI seconds.")
	  double	timeElLowLimit; // @Metadata=(Units="second",Description="Time the target reaches elevation low limit. TAI seconds.")
	  double	timeUnobservable; // @Metadata=(Units="second",Description="Time the target becomes unobservable. TAI seconds.")
	  long	trackId; // @Metadata=(Units="unitless",Description="Target identifier.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_timesOfLimits_4f959e18 
struct logevent_trackPosting_1cd7b37e {  // @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	status; // @Metadata=(Units="unitless",Description="If true; PTG controller is currently posting track commands to Mount components.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_trackPosting_1cd7b37e 
struct logevent_wavelength_753d4abf {  // @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	wavelength; // @Metadata=(Units="micron",Description="Wavelength in microns")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_wavelength_753d4abf 
struct logevent_weatherDataApplied_8d37d48c {  // @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	ambient_temp; // @Metadata=(Units="deg_C",Description="Ambient temperature.")
	  double	pressure; // @Metadata=(Units="unitless",Description="Current pressure. (mbar)")
	  double	humidity; // @Metadata=(Units="percent",Description="Air relative humidity")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_weatherDataApplied_8d37d48c 
struct logevent_weatherDataInvalid_6eea8522 {  // @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	eventState; // @Metadata=(Units="unitless",Description="State of the weather data.")
	  long	priority; // @Metadata=(Units="unitless",Description="Priority code")
	};
#pragma keylist logevent_weatherDataInvalid_6eea8522 
struct mountStatus_b8ea16a8 {  // @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	timestamp; // @Metadata=(Units="second",Description="Current time in TAI seconds")
	  double	mountRA; // @Metadata=(Units="deg",Description="Current RA of mount (degrees)")
	  double	mountDec; // @Metadata=(Units="deg",Description="Current Dec of mount (degrees)")
	  string	mountRAString; // @Metadata=(Units="hour",Description="Current mount RA as a sexagesimal string (HH:MM:SS).")
	  string	mountDecString; // @Metadata=(Units="deg",Description="Current mount Dec as a sexagesimal string (DD:MM:SS).")
	  long	mountAzCurrentWrap; // @Metadata=(Units="unitless",Description="Mount azimuth axis current wrap")
	  long	mountRotCurrentWrap; // @Metadata=(Units="unitless",Description="Rotator current wrap")
	  double	mountAzError; // @Metadata=(Units="deg",Description="Azimuth axis position error (degrees)")
	  double	mountElError; // @Metadata=(Units="deg",Description="Elevation axis position error (degrees)")
	  double	mountRotError; // @Metadata=(Units="deg",Description="Rotator position error (degrees)")
	  string	mountAzString; // @Metadata=(Units="deg",Description="Mount azimuth as a sexagesimal string (DD:MM:SS).")
	  string	mountElString; // @Metadata=(Units="deg",Description="Mount elevation as a sexagesimal string (DD:MM:SS).")
	  string	mountRotString; // @Metadata=(Units="deg",Description="Rotator angle as a sexagesimal string (DD:MM:SS).")
	  double	mountRotIAA; // @Metadata=(Units="deg",Description="Rotator IAA (degrees)")
	  double	mountRotIPA; // @Metadata=(Units="deg",Description="Rotator IPA (degrees)")
	};
#pragma keylist mountStatus_b8ea16a8 
struct mount_positions_ce658661 {  // @Metadata=(Description="Telemetry for mount positions in sky coordinate")
	  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	cRIO_timestamp; // @Metadata=(Units="s",Description="Time for the first sample of each telemetry item in this topic; as measured by the cRIO clock; as unix time.")
	  double	azimuthCalculatedAngle[100]; // @Metadata=(Units="deg",Description="Azimuth axis position reported by mount component.")
	  double	elevationCalculatedAngle[100]; // @Metadata=(Units="deg",Description="Elevation axis positions reported by mount component.")
	  double	ra[100]; // @Metadata=(Units="deg",Description="RA calculated from the azimuthCalculatedAngle and elevationCalculatedAngle.")
	  double	declination[100]; // @Metadata=(Units="deg",Description="Dec calculated from the azimuthCalculatedAngle and elevationCalculatedAngle.")
	};
#pragma keylist mount_positions_ce658661 
struct namedAzEl_26094043 {  // @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	names; // @Metadata=(Units="unitless",Description="Names of the Named AzEl positions (Comma separated)")
	  string	azPositions; // @Metadata=(Units="deg",Description="Azimuth positions of the named position. (Comma separated; specify 'n/a' to indicate no movement.)")
	  string	elPositions; // @Metadata=(Units="deg",Description="Elevation positions of the named position. (Comma separated; specify 'n/a' to indicate no movement.)")
	  string	rotPositions; // @Metadata=(Units="deg",Description="Rotator positions of the named position. (Comma separated; specify 'n/a' to indicate no movement.)")
	};
#pragma keylist namedAzEl_26094043 
struct skyEnvironment_32b7413b {  // @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	timestamp; // @Metadata=(Units="second",Description="Current time. TAI seconds.")
	  double	sunsetTime; // @Metadata=(Units="second",Description="Sunset time. TAI seconds.")
	  double	twilightEndTime; // @Metadata=(Units="second",Description="Astronomical twilight end time. TAI seconds.")
	  double	twilightBeginTime; // @Metadata=(Units="second",Description="Astronomical twilight begin time. TAI seconds.")
	  double	sunriseTime; // @Metadata=(Units="second",Description="Sunrise time. TAI seconds.")
	  double	moonriseTime; // @Metadata=(Units="second",Description="Moonrise time. TAI seconds.")
	  double	moonsetTime; // @Metadata=(Units="second",Description="Moonset time. TAI seconds.")
	  double	moonPhase; // @Metadata=(Units="percent",Description="Moon phase (%)")
	  double	sunAltitude; // @Metadata=(Units="deg",Description="Altitude of the Sun")
	  double	moonAltitude; // @Metadata=(Units="deg",Description="Altitude of the Moon")
	  double	sunTargetDistance; // @Metadata=(Units="deg",Description="Distance on the sky between the target and the Sun")
	  double	moonTargetDistance; // @Metadata=(Units="deg",Description="Distance on the sky between the target and the Moon")
	};
#pragma keylist skyEnvironment_32b7413b 
struct timeAndDate_6f73b35c {  // @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	timestamp; // @Metadata=(Units="second",Description="Current time in TAI seconds")
	  string	utc; // @Metadata=(Units="hour",Description="UTC time as a sexagesimal string (HH:MM:SS.SSS)")
	  string	lst; // @Metadata=(Units="hour",Description="Local Sidereal Tame as a sexagesimal string (HH:MM:SS)")
	  double	jd; // @Metadata=(Units="day",Description="Julian date in days")
	  double	mjd; // @Metadata=(Units="day",Description="Modified Julian Data in days")
	  string	localTimeString; // @Metadata=(Units="hour",Description="Local Time (UTC) as a sexagesimal string (HH:MM:SS.SSS)")
	  long	leapSecs; // @Metadata=(Units="second",Description="Number of leap seconds = TAI - UTC")
	  double	timezone; // @Metadata=(Units="hour",Description="Timezone in hours.")
	};
#pragma keylist timeAndDate_6f73b35c 
struct ackcmd_2d655b72 {  // @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_2d655b72 
};

