public override void Put(IDataWriter wr_)
		{
			var fs_ = Descriptor.Fields;
			if(HasVals) wr_.AsMessage(fs_[0], Vals);
			if(HasReps) wr_.AsMessage(fs_[1], Reps);
			if(_lots.Count > 0) wr_.AsRepeated(fs_[2], _lots.Items);
			if(HasTags) wr_.AsString(fs_[3], Tags);
		}
		public override void Put(IDataWriter wr_)
		{
			var fs_ = Descriptor.Fields;
			if(HasName) wr_.AsString(fs_[3], _name);
			switch (_ztest_id_) 
			{
				case 0: break;
				case 1: wr_.AsString(fs_[0], _str); break; 
				case 2: wr_.AsBytes(fs_[1], _date); break; 
				case 3: wr_.AsMessage(fs_[2], _msg); break; 
				case 10: wr_.AsInt(fs_[4], _i32); break; 
				case 11: wr_.AsBool(fs_[5], _bol); break; 
				case 12: wr_.AsChar(fs_[6], _cha); break; 
				case 14: wr_.AsSi32(fs_[7], _si3); break; 
				case 15: wr_.AsBit32(fs_[8], (int)_fx3); break; 
				case 16: wr_.AsLong(fs_[9], (long)_ui64); break; 
				case 17: wr_.AsSi64(fs_[10], _si64); break; 
				case 18: wr_.AsLong(fs_[11], _i64); break; 
				case 19: wr_.AsDouble(fs_[12], _dbl); break; 
				case 20: wr_.AsFloat(fs_[13], _flt); break; 
				case 21: wr_.AsDate(fs_[14], _dat); break; 
			}
		}
		public override void Put(IDataWriter wr_)
		{
			var fs_ = Descriptor.Fields;
			if(HasName) wr_.AsString(fs_[0], _name);
			if(HasData) wr_.AsMessage(fs_[1], _data);
		}