func (m *Time) MarshalTo(data []byte) (int, error) {
	return m.ProtoTime().MarshalTo(data)
}
MarshalTo implements the protobuf marshalling interface.
package unversioned
import (
	"time"
)
type ProtoTime struct {
	Timestamp Timestamp `json:"timestamp"`
}
type Timestamp struct {
	Seconds int64 `json:"seconds"`
	Nanos int32 `json:"nanos"`
}
func (m *Time) ProtoTime() *ProtoTime {
	if m == nil {
		return &ProtoTime{}
	}
	return &ProtoTime{
		Timestamp: Timestamp{
			Seconds: m.Time.Unix(),
			Nanos:   int32(m.Time.Nanosecond()),
		},
	}
}
func (m *Time) Size() (n int) { return m.ProtoTime().Size() }
func (m *Time) Unmarshal(data []byte) error {
	p := ProtoTime{}
	if err := p.Unmarshal(data); err != nil {
		return err
	}
	m.Time = time.Unix(p.Timestamp.Seconds, int64(p.Timestamp.Nanos))
	return nil
}
func (m *Time) Marshal() (data []byte, err error) {
	return m.ProtoTime().Marshal()
}