// <auto-generated>
//     Generated by the protocol buffer compiler.  DO NOT EDIT!
//     source: mod-agi.proto
// </auto-generated>
#pragma warning disable 1591, 0612, 3021
#region Designer generated code

using pb = global::Google.Protobuf;
using pbc = global::Google.Protobuf.Collections;
using pbr = global::Google.Protobuf.Reflection;
using scg = global::System.Collections.Generic;
namespace Satllite.Protobuf.Agi {

  /// <summary>Holder for reflection information generated from mod-agi.proto</summary>
  public static partial class ModAgiReflection {

    #region Descriptor
    /// <summary>File descriptor for mod-agi.proto</summary>
    public static pbr::FileDescriptor Descriptor {
      get { return descriptor; }
    }
    private static pbr::FileDescriptor descriptor;

    static ModAgiReflection() {
      byte[] descriptorData = global::System.Convert.FromBase64String(
          string.Concat(
            "Cg1tb2QtYWdpLnByb3RvEhVzYXRsbGl0ZS5wcm90b2J1Zi5hZ2ki0AEKCkNh",
            "bGNUbGVSZXESDwoHbm9yYWRJRBgBIAEoBRIRCglub3JhZE5hbWUYAiABKAkS",
            "DAoEeWVhchgDIAEoBRINCgVtb250aBgEIAEoBRILCgNkYXkYBSABKAUSDAoE",
            "aG91chgGIAEoBRIOCgZtaW51dGUYByABKAUSDgoGc2Vjb25kGAggASgFEgkK",
            "AWEYCSABKAISCgoCZWUYCiABKAISCQoBSRgLIAEoAhIMCgRyYWFuGAwgASgC",
            "EgsKA2FyYxgNIAEoAhIJCgFtGA4gASgCIjkKCkNhbGNUbGVSZXQSDQoFbGlu",
            "ZTAYASABKAkSDQoFbGluZTEYAiABKAkSDQoFbGluZTIYAyABKAkiugIKDUNh",
            "bGNSZXBvcnRSZXESFQoNc3RhcnREYXRlVGltZRgBIAEoCRITCgtlbmREYXRl",
            "VGltZRgCIAEoCRIQCghsYXRpdHVkZRgDIAEoARIRCglsb25naXR1ZGUYBCAB",
            "KAESEAoIYWx0aXR1ZGUYBSABKAESDQoFc2xpY2UYBiABKAESDgoGbWluQXpp",
            "GAcgASgBEg4KBm1heEF6aRgIIAEoARIOCgZtaW5FbGUYCSABKAESDgoGbWF4",
            "RWxlGAogASgBEg8KB21pbkRpc3QYCyABKAESDwoHbWF4RGlzdBgMIAEoARIS",
            "Cgpwb2ludFNsaWNlGA0gASgBEhQKDHBvaW50Q29sbGVjdBgOIAEoBRINCgVs",
            "aW5lMBgPIAEoCRINCgVsaW5lMRgQIAEoCRINCgVsaW5lMhgRIAEoCSJlCg1D",
            "YWxjUmVwb3J0UmV0EigKBHh4ZHMYASADKAsyGi5zYXRsbGl0ZS5wcm90b2J1",
            "Zi5hZ2kuWHhkEioKBXRhc2tzGAIgAygLMhsuc2F0bGxpdGUucHJvdG9idWYu",
            "YWdpLlRhc2siOwoDWHhkEgoKAmR0GAEgASgJEgsKA2xvbhgCIAEoARILCgNs",
            "YXQYAyABKAESDgoGaGVpZ2h0GAQgASgBIrIBCgRUYXNrEg0KBXN0YXJ0GAEg",
            "ASgJEgsKA2VuZBgCIAEoCRIQCghzdGFydEF6aRgDIAEoARIOCgZlbmRBemkY",
            "BCABKAESEAoIc3RhcnRFbGUYBSABKAESDgoGbWF4RWxlGAYgASgBEg8KB21p",
            "bkRpc3QYByABKAESDwoHbWF4RGlzdBgIIAEoARIoCgRvYnNzGAkgAygLMhou",
            "c2F0bGxpdGUucHJvdG9idWYuYWdpLk9icyI6CgNPYnMSCgoCZHQYASABKAkS",
            "CwoDYXppGAIgASgBEgsKA2VsZRgDIAEoARINCgVyYW5nZRgEIAEoAUIMWgou",
            "Li9wcm90b2dvYgZwcm90bzM="));
      descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
          new pbr::FileDescriptor[] { },
          new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
            new pbr::GeneratedClrTypeInfo(typeof(global::Satllite.Protobuf.Agi.CalcTleReq), global::Satllite.Protobuf.Agi.CalcTleReq.Parser, new[]{ "NoradID", "NoradName", "Year", "Month", "Day", "Hour", "Minute", "Second", "A", "Ee", "I", "Raan", "Arc", "M" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Satllite.Protobuf.Agi.CalcTleRet), global::Satllite.Protobuf.Agi.CalcTleRet.Parser, new[]{ "Line0", "Line1", "Line2" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Satllite.Protobuf.Agi.CalcReportReq), global::Satllite.Protobuf.Agi.CalcReportReq.Parser, new[]{ "StartDateTime", "EndDateTime", "Latitude", "Longitude", "Altitude", "Slice", "MinAzi", "MaxAzi", "MinEle", "MaxEle", "MinDist", "MaxDist", "PointSlice", "PointCollect", "Line0", "Line1", "Line2" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Satllite.Protobuf.Agi.CalcReportRet), global::Satllite.Protobuf.Agi.CalcReportRet.Parser, new[]{ "Xxds", "Tasks" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Satllite.Protobuf.Agi.Xxd), global::Satllite.Protobuf.Agi.Xxd.Parser, new[]{ "Dt", "Lon", "Lat", "Height" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Satllite.Protobuf.Agi.Task), global::Satllite.Protobuf.Agi.Task.Parser, new[]{ "Start", "End", "StartAzi", "EndAzi", "StartEle", "MaxEle", "MinDist", "MaxDist", "Obss" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Satllite.Protobuf.Agi.Obs), global::Satllite.Protobuf.Agi.Obs.Parser, new[]{ "Dt", "Azi", "Ele", "Range" }, null, null, null, null)
          }));
    }
    #endregion

  }
  #region Messages
  /// <summary>
  /// 后端请求：六要素计算双根数
  /// </summary>
  public sealed partial class CalcTleReq : pb::IMessage<CalcTleReq>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CalcTleReq> _parser = new pb::MessageParser<CalcTleReq>(() => new CalcTleReq());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CalcTleReq> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Satllite.Protobuf.Agi.ModAgiReflection.Descriptor.MessageTypes[0]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CalcTleReq() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CalcTleReq(CalcTleReq other) : this() {
      noradID_ = other.noradID_;
      noradName_ = other.noradName_;
      year_ = other.year_;
      month_ = other.month_;
      day_ = other.day_;
      hour_ = other.hour_;
      minute_ = other.minute_;
      second_ = other.second_;
      a_ = other.a_;
      ee_ = other.ee_;
      i_ = other.i_;
      raan_ = other.raan_;
      arc_ = other.arc_;
      m_ = other.m_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CalcTleReq Clone() {
      return new CalcTleReq(this);
    }

    /// <summary>Field number for the "noradID" field.</summary>
    public const int NoradIDFieldNumber = 1;
    private int noradID_;
    /// <summary>
    ///卫星编号
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int NoradID {
      get { return noradID_; }
      set {
        noradID_ = value;
      }
    }

    /// <summary>Field number for the "noradName" field.</summary>
    public const int NoradNameFieldNumber = 2;
    private string noradName_ = "";
    /// <summary>
    ///卫星名称
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string NoradName {
      get { return noradName_; }
      set {
        noradName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "year" field.</summary>
    public const int YearFieldNumber = 3;
    private int year_;
    /// <summary>
    ///星历时间(年)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Year {
      get { return year_; }
      set {
        year_ = value;
      }
    }

    /// <summary>Field number for the "month" field.</summary>
    public const int MonthFieldNumber = 4;
    private int month_;
    /// <summary>
    ///星历时间(月)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Month {
      get { return month_; }
      set {
        month_ = value;
      }
    }

    /// <summary>Field number for the "day" field.</summary>
    public const int DayFieldNumber = 5;
    private int day_;
    /// <summary>
    ///星历时间(日)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Day {
      get { return day_; }
      set {
        day_ = value;
      }
    }

    /// <summary>Field number for the "hour" field.</summary>
    public const int HourFieldNumber = 6;
    private int hour_;
    /// <summary>
    ///星历时间(时)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Hour {
      get { return hour_; }
      set {
        hour_ = value;
      }
    }

    /// <summary>Field number for the "minute" field.</summary>
    public const int MinuteFieldNumber = 7;
    private int minute_;
    /// <summary>
    ///星历时间(分)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Minute {
      get { return minute_; }
      set {
        minute_ = value;
      }
    }

    /// <summary>Field number for the "second" field.</summary>
    public const int SecondFieldNumber = 8;
    private int second_;
    /// <summary>
    ///星历时间(秒)
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Second {
      get { return second_; }
      set {
        second_ = value;
      }
    }

    /// <summary>Field number for the "a" field.</summary>
    public const int AFieldNumber = 9;
    private float a_;
    /// <summary>
    ///轨道半轴长
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float A {
      get { return a_; }
      set {
        a_ = value;
      }
    }

    /// <summary>Field number for the "ee" field.</summary>
    public const int EeFieldNumber = 10;
    private float ee_;
    /// <summary>
    ///偏心率
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float Ee {
      get { return ee_; }
      set {
        ee_ = value;
      }
    }

    /// <summary>Field number for the "I" field.</summary>
    public const int IFieldNumber = 11;
    private float i_;
    /// <summary>
    ///轨道倾角
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float I {
      get { return i_; }
      set {
        i_ = value;
      }
    }

    /// <summary>Field number for the "raan" field.</summary>
    public const int RaanFieldNumber = 12;
    private float raan_;
    /// <summary>
    ///升交点赤经
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float Raan {
      get { return raan_; }
      set {
        raan_ = value;
      }
    }

    /// <summary>Field number for the "arc" field.</summary>
    public const int ArcFieldNumber = 13;
    private float arc_;
    /// <summary>
    ///近地点幅角
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float Arc {
      get { return arc_; }
      set {
        arc_ = value;
      }
    }

    /// <summary>Field number for the "m" field.</summary>
    public const int MFieldNumber = 14;
    private float m_;
    /// <summary>
    ///平近点角
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float M {
      get { return m_; }
      set {
        m_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CalcTleReq);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CalcTleReq other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (NoradID != other.NoradID) return false;
      if (NoradName != other.NoradName) return false;
      if (Year != other.Year) return false;
      if (Month != other.Month) return false;
      if (Day != other.Day) return false;
      if (Hour != other.Hour) return false;
      if (Minute != other.Minute) return false;
      if (Second != other.Second) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(A, other.A)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(Ee, other.Ee)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(I, other.I)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(Raan, other.Raan)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(Arc, other.Arc)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(M, other.M)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (NoradID != 0) hash ^= NoradID.GetHashCode();
      if (NoradName.Length != 0) hash ^= NoradName.GetHashCode();
      if (Year != 0) hash ^= Year.GetHashCode();
      if (Month != 0) hash ^= Month.GetHashCode();
      if (Day != 0) hash ^= Day.GetHashCode();
      if (Hour != 0) hash ^= Hour.GetHashCode();
      if (Minute != 0) hash ^= Minute.GetHashCode();
      if (Second != 0) hash ^= Second.GetHashCode();
      if (A != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(A);
      if (Ee != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Ee);
      if (I != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(I);
      if (Raan != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Raan);
      if (Arc != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Arc);
      if (M != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(M);
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (NoradID != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(NoradID);
      }
      if (NoradName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(NoradName);
      }
      if (Year != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Year);
      }
      if (Month != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Month);
      }
      if (Day != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Day);
      }
      if (Hour != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Hour);
      }
      if (Minute != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Minute);
      }
      if (Second != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Second);
      }
      if (A != 0F) {
        output.WriteRawTag(77);
        output.WriteFloat(A);
      }
      if (Ee != 0F) {
        output.WriteRawTag(85);
        output.WriteFloat(Ee);
      }
      if (I != 0F) {
        output.WriteRawTag(93);
        output.WriteFloat(I);
      }
      if (Raan != 0F) {
        output.WriteRawTag(101);
        output.WriteFloat(Raan);
      }
      if (Arc != 0F) {
        output.WriteRawTag(109);
        output.WriteFloat(Arc);
      }
      if (M != 0F) {
        output.WriteRawTag(117);
        output.WriteFloat(M);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (NoradID != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(NoradID);
      }
      if (NoradName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(NoradName);
      }
      if (Year != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Year);
      }
      if (Month != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Month);
      }
      if (Day != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Day);
      }
      if (Hour != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Hour);
      }
      if (Minute != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Minute);
      }
      if (Second != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Second);
      }
      if (A != 0F) {
        output.WriteRawTag(77);
        output.WriteFloat(A);
      }
      if (Ee != 0F) {
        output.WriteRawTag(85);
        output.WriteFloat(Ee);
      }
      if (I != 0F) {
        output.WriteRawTag(93);
        output.WriteFloat(I);
      }
      if (Raan != 0F) {
        output.WriteRawTag(101);
        output.WriteFloat(Raan);
      }
      if (Arc != 0F) {
        output.WriteRawTag(109);
        output.WriteFloat(Arc);
      }
      if (M != 0F) {
        output.WriteRawTag(117);
        output.WriteFloat(M);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (NoradID != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(NoradID);
      }
      if (NoradName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(NoradName);
      }
      if (Year != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Year);
      }
      if (Month != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Month);
      }
      if (Day != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Day);
      }
      if (Hour != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Hour);
      }
      if (Minute != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Minute);
      }
      if (Second != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Second);
      }
      if (A != 0F) {
        size += 1 + 4;
      }
      if (Ee != 0F) {
        size += 1 + 4;
      }
      if (I != 0F) {
        size += 1 + 4;
      }
      if (Raan != 0F) {
        size += 1 + 4;
      }
      if (Arc != 0F) {
        size += 1 + 4;
      }
      if (M != 0F) {
        size += 1 + 4;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CalcTleReq other) {
      if (other == null) {
        return;
      }
      if (other.NoradID != 0) {
        NoradID = other.NoradID;
      }
      if (other.NoradName.Length != 0) {
        NoradName = other.NoradName;
      }
      if (other.Year != 0) {
        Year = other.Year;
      }
      if (other.Month != 0) {
        Month = other.Month;
      }
      if (other.Day != 0) {
        Day = other.Day;
      }
      if (other.Hour != 0) {
        Hour = other.Hour;
      }
      if (other.Minute != 0) {
        Minute = other.Minute;
      }
      if (other.Second != 0) {
        Second = other.Second;
      }
      if (other.A != 0F) {
        A = other.A;
      }
      if (other.Ee != 0F) {
        Ee = other.Ee;
      }
      if (other.I != 0F) {
        I = other.I;
      }
      if (other.Raan != 0F) {
        Raan = other.Raan;
      }
      if (other.Arc != 0F) {
        Arc = other.Arc;
      }
      if (other.M != 0F) {
        M = other.M;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 8: {
            NoradID = input.ReadInt32();
            break;
          }
          case 18: {
            NoradName = input.ReadString();
            break;
          }
          case 24: {
            Year = input.ReadInt32();
            break;
          }
          case 32: {
            Month = input.ReadInt32();
            break;
          }
          case 40: {
            Day = input.ReadInt32();
            break;
          }
          case 48: {
            Hour = input.ReadInt32();
            break;
          }
          case 56: {
            Minute = input.ReadInt32();
            break;
          }
          case 64: {
            Second = input.ReadInt32();
            break;
          }
          case 77: {
            A = input.ReadFloat();
            break;
          }
          case 85: {
            Ee = input.ReadFloat();
            break;
          }
          case 93: {
            I = input.ReadFloat();
            break;
          }
          case 101: {
            Raan = input.ReadFloat();
            break;
          }
          case 109: {
            Arc = input.ReadFloat();
            break;
          }
          case 117: {
            M = input.ReadFloat();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            NoradID = input.ReadInt32();
            break;
          }
          case 18: {
            NoradName = input.ReadString();
            break;
          }
          case 24: {
            Year = input.ReadInt32();
            break;
          }
          case 32: {
            Month = input.ReadInt32();
            break;
          }
          case 40: {
            Day = input.ReadInt32();
            break;
          }
          case 48: {
            Hour = input.ReadInt32();
            break;
          }
          case 56: {
            Minute = input.ReadInt32();
            break;
          }
          case 64: {
            Second = input.ReadInt32();
            break;
          }
          case 77: {
            A = input.ReadFloat();
            break;
          }
          case 85: {
            Ee = input.ReadFloat();
            break;
          }
          case 93: {
            I = input.ReadFloat();
            break;
          }
          case 101: {
            Raan = input.ReadFloat();
            break;
          }
          case 109: {
            Arc = input.ReadFloat();
            break;
          }
          case 117: {
            M = input.ReadFloat();
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  ///AGI返回：六要素计算双根数
  /// </summary>
  public sealed partial class CalcTleRet : pb::IMessage<CalcTleRet>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CalcTleRet> _parser = new pb::MessageParser<CalcTleRet>(() => new CalcTleRet());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CalcTleRet> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Satllite.Protobuf.Agi.ModAgiReflection.Descriptor.MessageTypes[1]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CalcTleRet() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CalcTleRet(CalcTleRet other) : this() {
      line0_ = other.line0_;
      line1_ = other.line1_;
      line2_ = other.line2_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CalcTleRet Clone() {
      return new CalcTleRet(this);
    }

    /// <summary>Field number for the "line0" field.</summary>
    public const int Line0FieldNumber = 1;
    private string line0_ = "";
    /// <summary>
    ///标准双根数第0行
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Line0 {
      get { return line0_; }
      set {
        line0_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "line1" field.</summary>
    public const int Line1FieldNumber = 2;
    private string line1_ = "";
    /// <summary>
    ///标准双根数第1行
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Line1 {
      get { return line1_; }
      set {
        line1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "line2" field.</summary>
    public const int Line2FieldNumber = 3;
    private string line2_ = "";
    /// <summary>
    ///标准双根数第2行
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Line2 {
      get { return line2_; }
      set {
        line2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CalcTleRet);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CalcTleRet other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Line0 != other.Line0) return false;
      if (Line1 != other.Line1) return false;
      if (Line2 != other.Line2) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Line0.Length != 0) hash ^= Line0.GetHashCode();
      if (Line1.Length != 0) hash ^= Line1.GetHashCode();
      if (Line2.Length != 0) hash ^= Line2.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Line0.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Line0);
      }
      if (Line1.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Line1);
      }
      if (Line2.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Line2);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Line0.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Line0);
      }
      if (Line1.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Line1);
      }
      if (Line2.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Line2);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Line0.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Line0);
      }
      if (Line1.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Line1);
      }
      if (Line2.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Line2);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CalcTleRet other) {
      if (other == null) {
        return;
      }
      if (other.Line0.Length != 0) {
        Line0 = other.Line0;
      }
      if (other.Line1.Length != 0) {
        Line1 = other.Line1;
      }
      if (other.Line2.Length != 0) {
        Line2 = other.Line2;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Line0 = input.ReadString();
            break;
          }
          case 18: {
            Line1 = input.ReadString();
            break;
          }
          case 26: {
            Line2 = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Line0 = input.ReadString();
            break;
          }
          case 18: {
            Line1 = input.ReadString();
            break;
          }
          case 26: {
            Line2 = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  ///后端请求：任务预报计算
  /// </summary>
  public sealed partial class CalcReportReq : pb::IMessage<CalcReportReq>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CalcReportReq> _parser = new pb::MessageParser<CalcReportReq>(() => new CalcReportReq());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CalcReportReq> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Satllite.Protobuf.Agi.ModAgiReflection.Descriptor.MessageTypes[2]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CalcReportReq() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CalcReportReq(CalcReportReq other) : this() {
      startDateTime_ = other.startDateTime_;
      endDateTime_ = other.endDateTime_;
      latitude_ = other.latitude_;
      longitude_ = other.longitude_;
      altitude_ = other.altitude_;
      slice_ = other.slice_;
      minAzi_ = other.minAzi_;
      maxAzi_ = other.maxAzi_;
      minEle_ = other.minEle_;
      maxEle_ = other.maxEle_;
      minDist_ = other.minDist_;
      maxDist_ = other.maxDist_;
      pointSlice_ = other.pointSlice_;
      pointCollect_ = other.pointCollect_;
      line0_ = other.line0_;
      line1_ = other.line1_;
      line2_ = other.line2_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CalcReportReq Clone() {
      return new CalcReportReq(this);
    }

    /// <summary>Field number for the "startDateTime" field.</summary>
    public const int StartDateTimeFieldNumber = 1;
    private string startDateTime_ = "";
    /// <summary>
    ///开始时间UTC
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string StartDateTime {
      get { return startDateTime_; }
      set {
        startDateTime_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "endDateTime" field.</summary>
    public const int EndDateTimeFieldNumber = 2;
    private string endDateTime_ = "";
    /// <summary>
    ///结束时间UTC
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string EndDateTime {
      get { return endDateTime_; }
      set {
        endDateTime_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "latitude" field.</summary>
    public const int LatitudeFieldNumber = 3;
    private double latitude_;
    /// <summary>
    ///站点纬度
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public double Latitude {
      get { return latitude_; }
      set {
        latitude_ = value;
      }
    }

    /// <summary>Field number for the "longitude" field.</summary>
    public const int LongitudeFieldNumber = 4;
    private double longitude_;
    /// <summary>
    ///站点经度
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public double Longitude {
      get { return longitude_; }
      set {
        longitude_ = value;
      }
    }

    /// <summary>Field number for the "altitude" field.</summary>
    public const int AltitudeFieldNumber = 5;
    private double altitude_;
    /// <summary>
    ///站点海拔
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public double Altitude {
      get { return altitude_; }
      set {
        altitude_ = value;
      }
    }

    /// <summary>Field number for the "slice" field.</summary>
    public const int SliceFieldNumber = 6;
    private double slice_;
    /// <summary>
    ///点位间隔
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public double Slice {
      get { return slice_; }
      set {
        slice_ = value;
      }
    }

    /// <summary>Field number for the "minAzi" field.</summary>
    public const int MinAziFieldNumber = 7;
    private double minAzi_;
    /// <summary>
    ///最小方位角
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public double MinAzi {
      get { return minAzi_; }
      set {
        minAzi_ = value;
      }
    }

    /// <summary>Field number for the "maxAzi" field.</summary>
    public const int MaxAziFieldNumber = 8;
    private double maxAzi_;
    /// <summary>
    ///最大方位角
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public double MaxAzi {
      get { return maxAzi_; }
      set {
        maxAzi_ = value;
      }
    }

    /// <summary>Field number for the "minEle" field.</summary>
    public const int MinEleFieldNumber = 9;
    private double minEle_;
    /// <summary>
    ///最低仰角
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public double MinEle {
      get { return minEle_; }
      set {
        minEle_ = value;
      }
    }

    /// <summary>Field number for the "maxEle" field.</summary>
    public const int MaxEleFieldNumber = 10;
    private double maxEle_;
    /// <summary>
    ///最高仰角
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public double MaxEle {
      get { return maxEle_; }
      set {
        maxEle_ = value;
      }
    }

    /// <summary>Field number for the "minDist" field.</summary>
    public const int MinDistFieldNumber = 11;
    private double minDist_;
    /// <summary>
    ///最小距离
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public double MinDist {
      get { return minDist_; }
      set {
        minDist_ = value;
      }
    }

    /// <summary>Field number for the "maxDist" field.</summary>
    public const int MaxDistFieldNumber = 12;
    private double maxDist_;
    /// <summary>
    ///最大距离
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public double MaxDist {
      get { return maxDist_; }
      set {
        maxDist_ = value;
      }
    }

    /// <summary>Field number for the "pointSlice" field.</summary>
    public const int PointSliceFieldNumber = 13;
    private double pointSlice_;
    /// <summary>
    ///星下点计算间隔
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public double PointSlice {
      get { return pointSlice_; }
      set {
        pointSlice_ = value;
      }
    }

    /// <summary>Field number for the "pointCollect" field.</summary>
    public const int PointCollectFieldNumber = 14;
    private int pointCollect_;
    /// <summary>
    ///星下点采集间隔
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PointCollect {
      get { return pointCollect_; }
      set {
        pointCollect_ = value;
      }
    }

    /// <summary>Field number for the "line0" field.</summary>
    public const int Line0FieldNumber = 15;
    private string line0_ = "";
    /// <summary>
    ///标准TLE第0行
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Line0 {
      get { return line0_; }
      set {
        line0_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "line1" field.</summary>
    public const int Line1FieldNumber = 16;
    private string line1_ = "";
    /// <summary>
    ///标准TLE第1行
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Line1 {
      get { return line1_; }
      set {
        line1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "line2" field.</summary>
    public const int Line2FieldNumber = 17;
    private string line2_ = "";
    /// <summary>
    ///标准TLE第2行
    /// </summary>
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Line2 {
      get { return line2_; }
      set {
        line2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CalcReportReq);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CalcReportReq other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (StartDateTime != other.StartDateTime) return false;
      if (EndDateTime != other.EndDateTime) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(Latitude, other.Latitude)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(Longitude, other.Longitude)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(Altitude, other.Altitude)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(Slice, other.Slice)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(MinAzi, other.MinAzi)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(MaxAzi, other.MaxAzi)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(MinEle, other.MinEle)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(MaxEle, other.MaxEle)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(MinDist, other.MinDist)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(MaxDist, other.MaxDist)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(PointSlice, other.PointSlice)) return false;
      if (PointCollect != other.PointCollect) return false;
      if (Line0 != other.Line0) return false;
      if (Line1 != other.Line1) return false;
      if (Line2 != other.Line2) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (StartDateTime.Length != 0) hash ^= StartDateTime.GetHashCode();
      if (EndDateTime.Length != 0) hash ^= EndDateTime.GetHashCode();
      if (Latitude != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(Latitude);
      if (Longitude != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(Longitude);
      if (Altitude != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(Altitude);
      if (Slice != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(Slice);
      if (MinAzi != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(MinAzi);
      if (MaxAzi != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(MaxAzi);
      if (MinEle != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(MinEle);
      if (MaxEle != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(MaxEle);
      if (MinDist != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(MinDist);
      if (MaxDist != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(MaxDist);
      if (PointSlice != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(PointSlice);
      if (PointCollect != 0) hash ^= PointCollect.GetHashCode();
      if (Line0.Length != 0) hash ^= Line0.GetHashCode();
      if (Line1.Length != 0) hash ^= Line1.GetHashCode();
      if (Line2.Length != 0) hash ^= Line2.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (StartDateTime.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(StartDateTime);
      }
      if (EndDateTime.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(EndDateTime);
      }
      if (Latitude != 0D) {
        output.WriteRawTag(25);
        output.WriteDouble(Latitude);
      }
      if (Longitude != 0D) {
        output.WriteRawTag(33);
        output.WriteDouble(Longitude);
      }
      if (Altitude != 0D) {
        output.WriteRawTag(41);
        output.WriteDouble(Altitude);
      }
      if (Slice != 0D) {
        output.WriteRawTag(49);
        output.WriteDouble(Slice);
      }
      if (MinAzi != 0D) {
        output.WriteRawTag(57);
        output.WriteDouble(MinAzi);
      }
      if (MaxAzi != 0D) {
        output.WriteRawTag(65);
        output.WriteDouble(MaxAzi);
      }
      if (MinEle != 0D) {
        output.WriteRawTag(73);
        output.WriteDouble(MinEle);
      }
      if (MaxEle != 0D) {
        output.WriteRawTag(81);
        output.WriteDouble(MaxEle);
      }
      if (MinDist != 0D) {
        output.WriteRawTag(89);
        output.WriteDouble(MinDist);
      }
      if (MaxDist != 0D) {
        output.WriteRawTag(97);
        output.WriteDouble(MaxDist);
      }
      if (PointSlice != 0D) {
        output.WriteRawTag(105);
        output.WriteDouble(PointSlice);
      }
      if (PointCollect != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(PointCollect);
      }
      if (Line0.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(Line0);
      }
      if (Line1.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(Line1);
      }
      if (Line2.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(Line2);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (StartDateTime.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(StartDateTime);
      }
      if (EndDateTime.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(EndDateTime);
      }
      if (Latitude != 0D) {
        output.WriteRawTag(25);
        output.WriteDouble(Latitude);
      }
      if (Longitude != 0D) {
        output.WriteRawTag(33);
        output.WriteDouble(Longitude);
      }
      if (Altitude != 0D) {
        output.WriteRawTag(41);
        output.WriteDouble(Altitude);
      }
      if (Slice != 0D) {
        output.WriteRawTag(49);
        output.WriteDouble(Slice);
      }
      if (MinAzi != 0D) {
        output.WriteRawTag(57);
        output.WriteDouble(MinAzi);
      }
      if (MaxAzi != 0D) {
        output.WriteRawTag(65);
        output.WriteDouble(MaxAzi);
      }
      if (MinEle != 0D) {
        output.WriteRawTag(73);
        output.WriteDouble(MinEle);
      }
      if (MaxEle != 0D) {
        output.WriteRawTag(81);
        output.WriteDouble(MaxEle);
      }
      if (MinDist != 0D) {
        output.WriteRawTag(89);
        output.WriteDouble(MinDist);
      }
      if (MaxDist != 0D) {
        output.WriteRawTag(97);
        output.WriteDouble(MaxDist);
      }
      if (PointSlice != 0D) {
        output.WriteRawTag(105);
        output.WriteDouble(PointSlice);
      }
      if (PointCollect != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(PointCollect);
      }
      if (Line0.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(Line0);
      }
      if (Line1.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(Line1);
      }
      if (Line2.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(Line2);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (StartDateTime.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(StartDateTime);
      }
      if (EndDateTime.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(EndDateTime);
      }
      if (Latitude != 0D) {
        size += 1 + 8;
      }
      if (Longitude != 0D) {
        size += 1 + 8;
      }
      if (Altitude != 0D) {
        size += 1 + 8;
      }
      if (Slice != 0D) {
        size += 1 + 8;
      }
      if (MinAzi != 0D) {
        size += 1 + 8;
      }
      if (MaxAzi != 0D) {
        size += 1 + 8;
      }
      if (MinEle != 0D) {
        size += 1 + 8;
      }
      if (MaxEle != 0D) {
        size += 1 + 8;
      }
      if (MinDist != 0D) {
        size += 1 + 8;
      }
      if (MaxDist != 0D) {
        size += 1 + 8;
      }
      if (PointSlice != 0D) {
        size += 1 + 8;
      }
      if (PointCollect != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PointCollect);
      }
      if (Line0.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Line0);
      }
      if (Line1.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Line1);
      }
      if (Line2.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Line2);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CalcReportReq other) {
      if (other == null) {
        return;
      }
      if (other.StartDateTime.Length != 0) {
        StartDateTime = other.StartDateTime;
      }
      if (other.EndDateTime.Length != 0) {
        EndDateTime = other.EndDateTime;
      }
      if (other.Latitude != 0D) {
        Latitude = other.Latitude;
      }
      if (other.Longitude != 0D) {
        Longitude = other.Longitude;
      }
      if (other.Altitude != 0D) {
        Altitude = other.Altitude;
      }
      if (other.Slice != 0D) {
        Slice = other.Slice;
      }
      if (other.MinAzi != 0D) {
        MinAzi = other.MinAzi;
      }
      if (other.MaxAzi != 0D) {
        MaxAzi = other.MaxAzi;
      }
      if (other.MinEle != 0D) {
        MinEle = other.MinEle;
      }
      if (other.MaxEle != 0D) {
        MaxEle = other.MaxEle;
      }
      if (other.MinDist != 0D) {
        MinDist = other.MinDist;
      }
      if (other.MaxDist != 0D) {
        MaxDist = other.MaxDist;
      }
      if (other.PointSlice != 0D) {
        PointSlice = other.PointSlice;
      }
      if (other.PointCollect != 0) {
        PointCollect = other.PointCollect;
      }
      if (other.Line0.Length != 0) {
        Line0 = other.Line0;
      }
      if (other.Line1.Length != 0) {
        Line1 = other.Line1;
      }
      if (other.Line2.Length != 0) {
        Line2 = other.Line2;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            StartDateTime = input.ReadString();
            break;
          }
          case 18: {
            EndDateTime = input.ReadString();
            break;
          }
          case 25: {
            Latitude = input.ReadDouble();
            break;
          }
          case 33: {
            Longitude = input.ReadDouble();
            break;
          }
          case 41: {
            Altitude = input.ReadDouble();
            break;
          }
          case 49: {
            Slice = input.ReadDouble();
            break;
          }
          case 57: {
            MinAzi = input.ReadDouble();
            break;
          }
          case 65: {
            MaxAzi = input.ReadDouble();
            break;
          }
          case 73: {
            MinEle = input.ReadDouble();
            break;
          }
          case 81: {
            MaxEle = input.ReadDouble();
            break;
          }
          case 89: {
            MinDist = input.ReadDouble();
            break;
          }
          case 97: {
            MaxDist = input.ReadDouble();
            break;
          }
          case 105: {
            PointSlice = input.ReadDouble();
            break;
          }
          case 112: {
            PointCollect = input.ReadInt32();
            break;
          }
          case 122: {
            Line0 = input.ReadString();
            break;
          }
          case 130: {
            Line1 = input.ReadString();
            break;
          }
          case 138: {
            Line2 = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            StartDateTime = input.ReadString();
            break;
          }
          case 18: {
            EndDateTime = input.ReadString();
            break;
          }
          case 25: {
            Latitude = input.ReadDouble();
            break;
          }
          case 33: {
            Longitude = input.ReadDouble();
            break;
          }
          case 41: {
            Altitude = input.ReadDouble();
            break;
          }
          case 49: {
            Slice = input.ReadDouble();
            break;
          }
          case 57: {
            MinAzi = input.ReadDouble();
            break;
          }
          case 65: {
            MaxAzi = input.ReadDouble();
            break;
          }
          case 73: {
            MinEle = input.ReadDouble();
            break;
          }
          case 81: {
            MaxEle = input.ReadDouble();
            break;
          }
          case 89: {
            MinDist = input.ReadDouble();
            break;
          }
          case 97: {
            MaxDist = input.ReadDouble();
            break;
          }
          case 105: {
            PointSlice = input.ReadDouble();
            break;
          }
          case 112: {
            PointCollect = input.ReadInt32();
            break;
          }
          case 122: {
            Line0 = input.ReadString();
            break;
          }
          case 130: {
            Line1 = input.ReadString();
            break;
          }
          case 138: {
            Line2 = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  ///AGI返回：任务预报report
  /// </summary>
  public sealed partial class CalcReportRet : pb::IMessage<CalcReportRet>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CalcReportRet> _parser = new pb::MessageParser<CalcReportRet>(() => new CalcReportRet());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CalcReportRet> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Satllite.Protobuf.Agi.ModAgiReflection.Descriptor.MessageTypes[3]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CalcReportRet() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CalcReportRet(CalcReportRet other) : this() {
      xxds_ = other.xxds_.Clone();
      tasks_ = other.tasks_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CalcReportRet Clone() {
      return new CalcReportRet(this);
    }

    /// <summary>Field number for the "xxds" field.</summary>
    public const int XxdsFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Satllite.Protobuf.Agi.Xxd> _repeated_xxds_codec
        = pb::FieldCodec.ForMessage(10, global::Satllite.Protobuf.Agi.Xxd.Parser);
    private readonly pbc::RepeatedField<global::Satllite.Protobuf.Agi.Xxd> xxds_ = new pbc::RepeatedField<global::Satllite.Protobuf.Agi.Xxd>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Satllite.Protobuf.Agi.Xxd> Xxds {
      get { return xxds_; }
    }

    /// <summary>Field number for the "tasks" field.</summary>
    public const int TasksFieldNumber = 2;
    private static readonly pb::FieldCodec<global::Satllite.Protobuf.Agi.Task> _repeated_tasks_codec
        = pb::FieldCodec.ForMessage(18, global::Satllite.Protobuf.Agi.Task.Parser);
    private readonly pbc::RepeatedField<global::Satllite.Protobuf.Agi.Task> tasks_ = new pbc::RepeatedField<global::Satllite.Protobuf.Agi.Task>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Satllite.Protobuf.Agi.Task> Tasks {
      get { return tasks_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CalcReportRet);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CalcReportRet other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!xxds_.Equals(other.xxds_)) return false;
      if(!tasks_.Equals(other.tasks_)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      hash ^= xxds_.GetHashCode();
      hash ^= tasks_.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      xxds_.WriteTo(output, _repeated_xxds_codec);
      tasks_.WriteTo(output, _repeated_tasks_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      xxds_.WriteTo(ref output, _repeated_xxds_codec);
      tasks_.WriteTo(ref output, _repeated_tasks_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += xxds_.CalculateSize(_repeated_xxds_codec);
      size += tasks_.CalculateSize(_repeated_tasks_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CalcReportRet other) {
      if (other == null) {
        return;
      }
      xxds_.Add(other.xxds_);
      tasks_.Add(other.tasks_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            xxds_.AddEntriesFrom(input, _repeated_xxds_codec);
            break;
          }
          case 18: {
            tasks_.AddEntriesFrom(input, _repeated_tasks_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            xxds_.AddEntriesFrom(ref input, _repeated_xxds_codec);
            break;
          }
          case 18: {
            tasks_.AddEntriesFrom(ref input, _repeated_tasks_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  ///星下点
  /// </summary>
  public sealed partial class Xxd : pb::IMessage<Xxd>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Xxd> _parser = new pb::MessageParser<Xxd>(() => new Xxd());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Xxd> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Satllite.Protobuf.Agi.ModAgiReflection.Descriptor.MessageTypes[4]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Xxd() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Xxd(Xxd other) : this() {
      dt_ = other.dt_;
      lon_ = other.lon_;
      lat_ = other.lat_;
      height_ = other.height_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Xxd Clone() {
      return new Xxd(this);
    }

    /// <summary>Field number for the "dt" field.</summary>
    public const int DtFieldNumber = 1;
    private string dt_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Dt {
      get { return dt_; }
      set {
        dt_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "lon" field.</summary>
    public const int LonFieldNumber = 2;
    private double lon_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public double Lon {
      get { return lon_; }
      set {
        lon_ = value;
      }
    }

    /// <summary>Field number for the "lat" field.</summary>
    public const int LatFieldNumber = 3;
    private double lat_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public double Lat {
      get { return lat_; }
      set {
        lat_ = value;
      }
    }

    /// <summary>Field number for the "height" field.</summary>
    public const int HeightFieldNumber = 4;
    private double height_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public double Height {
      get { return height_; }
      set {
        height_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as Xxd);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Xxd other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Dt != other.Dt) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(Lon, other.Lon)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(Lat, other.Lat)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(Height, other.Height)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Dt.Length != 0) hash ^= Dt.GetHashCode();
      if (Lon != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(Lon);
      if (Lat != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(Lat);
      if (Height != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(Height);
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Dt.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Dt);
      }
      if (Lon != 0D) {
        output.WriteRawTag(17);
        output.WriteDouble(Lon);
      }
      if (Lat != 0D) {
        output.WriteRawTag(25);
        output.WriteDouble(Lat);
      }
      if (Height != 0D) {
        output.WriteRawTag(33);
        output.WriteDouble(Height);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Dt.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Dt);
      }
      if (Lon != 0D) {
        output.WriteRawTag(17);
        output.WriteDouble(Lon);
      }
      if (Lat != 0D) {
        output.WriteRawTag(25);
        output.WriteDouble(Lat);
      }
      if (Height != 0D) {
        output.WriteRawTag(33);
        output.WriteDouble(Height);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Dt.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Dt);
      }
      if (Lon != 0D) {
        size += 1 + 8;
      }
      if (Lat != 0D) {
        size += 1 + 8;
      }
      if (Height != 0D) {
        size += 1 + 8;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Xxd other) {
      if (other == null) {
        return;
      }
      if (other.Dt.Length != 0) {
        Dt = other.Dt;
      }
      if (other.Lon != 0D) {
        Lon = other.Lon;
      }
      if (other.Lat != 0D) {
        Lat = other.Lat;
      }
      if (other.Height != 0D) {
        Height = other.Height;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Dt = input.ReadString();
            break;
          }
          case 17: {
            Lon = input.ReadDouble();
            break;
          }
          case 25: {
            Lat = input.ReadDouble();
            break;
          }
          case 33: {
            Height = input.ReadDouble();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Dt = input.ReadString();
            break;
          }
          case 17: {
            Lon = input.ReadDouble();
            break;
          }
          case 25: {
            Lat = input.ReadDouble();
            break;
          }
          case 33: {
            Height = input.ReadDouble();
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  ///单圈次任务预报
  /// </summary>
  public sealed partial class Task : pb::IMessage<Task>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Task> _parser = new pb::MessageParser<Task>(() => new Task());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Task> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Satllite.Protobuf.Agi.ModAgiReflection.Descriptor.MessageTypes[5]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Task() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Task(Task other) : this() {
      start_ = other.start_;
      end_ = other.end_;
      startAzi_ = other.startAzi_;
      endAzi_ = other.endAzi_;
      startEle_ = other.startEle_;
      maxEle_ = other.maxEle_;
      minDist_ = other.minDist_;
      maxDist_ = other.maxDist_;
      obss_ = other.obss_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Task Clone() {
      return new Task(this);
    }

    /// <summary>Field number for the "start" field.</summary>
    public const int StartFieldNumber = 1;
    private string start_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Start {
      get { return start_; }
      set {
        start_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "end" field.</summary>
    public const int EndFieldNumber = 2;
    private string end_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string End {
      get { return end_; }
      set {
        end_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "startAzi" field.</summary>
    public const int StartAziFieldNumber = 3;
    private double startAzi_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public double StartAzi {
      get { return startAzi_; }
      set {
        startAzi_ = value;
      }
    }

    /// <summary>Field number for the "endAzi" field.</summary>
    public const int EndAziFieldNumber = 4;
    private double endAzi_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public double EndAzi {
      get { return endAzi_; }
      set {
        endAzi_ = value;
      }
    }

    /// <summary>Field number for the "startEle" field.</summary>
    public const int StartEleFieldNumber = 5;
    private double startEle_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public double StartEle {
      get { return startEle_; }
      set {
        startEle_ = value;
      }
    }

    /// <summary>Field number for the "maxEle" field.</summary>
    public const int MaxEleFieldNumber = 6;
    private double maxEle_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public double MaxEle {
      get { return maxEle_; }
      set {
        maxEle_ = value;
      }
    }

    /// <summary>Field number for the "minDist" field.</summary>
    public const int MinDistFieldNumber = 7;
    private double minDist_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public double MinDist {
      get { return minDist_; }
      set {
        minDist_ = value;
      }
    }

    /// <summary>Field number for the "maxDist" field.</summary>
    public const int MaxDistFieldNumber = 8;
    private double maxDist_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public double MaxDist {
      get { return maxDist_; }
      set {
        maxDist_ = value;
      }
    }

    /// <summary>Field number for the "obss" field.</summary>
    public const int ObssFieldNumber = 9;
    private static readonly pb::FieldCodec<global::Satllite.Protobuf.Agi.Obs> _repeated_obss_codec
        = pb::FieldCodec.ForMessage(74, global::Satllite.Protobuf.Agi.Obs.Parser);
    private readonly pbc::RepeatedField<global::Satllite.Protobuf.Agi.Obs> obss_ = new pbc::RepeatedField<global::Satllite.Protobuf.Agi.Obs>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Satllite.Protobuf.Agi.Obs> Obss {
      get { return obss_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as Task);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Task other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Start != other.Start) return false;
      if (End != other.End) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(StartAzi, other.StartAzi)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(EndAzi, other.EndAzi)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(StartEle, other.StartEle)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(MaxEle, other.MaxEle)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(MinDist, other.MinDist)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(MaxDist, other.MaxDist)) return false;
      if(!obss_.Equals(other.obss_)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Start.Length != 0) hash ^= Start.GetHashCode();
      if (End.Length != 0) hash ^= End.GetHashCode();
      if (StartAzi != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(StartAzi);
      if (EndAzi != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(EndAzi);
      if (StartEle != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(StartEle);
      if (MaxEle != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(MaxEle);
      if (MinDist != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(MinDist);
      if (MaxDist != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(MaxDist);
      hash ^= obss_.GetHashCode();
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Start.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Start);
      }
      if (End.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(End);
      }
      if (StartAzi != 0D) {
        output.WriteRawTag(25);
        output.WriteDouble(StartAzi);
      }
      if (EndAzi != 0D) {
        output.WriteRawTag(33);
        output.WriteDouble(EndAzi);
      }
      if (StartEle != 0D) {
        output.WriteRawTag(41);
        output.WriteDouble(StartEle);
      }
      if (MaxEle != 0D) {
        output.WriteRawTag(49);
        output.WriteDouble(MaxEle);
      }
      if (MinDist != 0D) {
        output.WriteRawTag(57);
        output.WriteDouble(MinDist);
      }
      if (MaxDist != 0D) {
        output.WriteRawTag(65);
        output.WriteDouble(MaxDist);
      }
      obss_.WriteTo(output, _repeated_obss_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Start.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Start);
      }
      if (End.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(End);
      }
      if (StartAzi != 0D) {
        output.WriteRawTag(25);
        output.WriteDouble(StartAzi);
      }
      if (EndAzi != 0D) {
        output.WriteRawTag(33);
        output.WriteDouble(EndAzi);
      }
      if (StartEle != 0D) {
        output.WriteRawTag(41);
        output.WriteDouble(StartEle);
      }
      if (MaxEle != 0D) {
        output.WriteRawTag(49);
        output.WriteDouble(MaxEle);
      }
      if (MinDist != 0D) {
        output.WriteRawTag(57);
        output.WriteDouble(MinDist);
      }
      if (MaxDist != 0D) {
        output.WriteRawTag(65);
        output.WriteDouble(MaxDist);
      }
      obss_.WriteTo(ref output, _repeated_obss_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Start.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Start);
      }
      if (End.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(End);
      }
      if (StartAzi != 0D) {
        size += 1 + 8;
      }
      if (EndAzi != 0D) {
        size += 1 + 8;
      }
      if (StartEle != 0D) {
        size += 1 + 8;
      }
      if (MaxEle != 0D) {
        size += 1 + 8;
      }
      if (MinDist != 0D) {
        size += 1 + 8;
      }
      if (MaxDist != 0D) {
        size += 1 + 8;
      }
      size += obss_.CalculateSize(_repeated_obss_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Task other) {
      if (other == null) {
        return;
      }
      if (other.Start.Length != 0) {
        Start = other.Start;
      }
      if (other.End.Length != 0) {
        End = other.End;
      }
      if (other.StartAzi != 0D) {
        StartAzi = other.StartAzi;
      }
      if (other.EndAzi != 0D) {
        EndAzi = other.EndAzi;
      }
      if (other.StartEle != 0D) {
        StartEle = other.StartEle;
      }
      if (other.MaxEle != 0D) {
        MaxEle = other.MaxEle;
      }
      if (other.MinDist != 0D) {
        MinDist = other.MinDist;
      }
      if (other.MaxDist != 0D) {
        MaxDist = other.MaxDist;
      }
      obss_.Add(other.obss_);
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Start = input.ReadString();
            break;
          }
          case 18: {
            End = input.ReadString();
            break;
          }
          case 25: {
            StartAzi = input.ReadDouble();
            break;
          }
          case 33: {
            EndAzi = input.ReadDouble();
            break;
          }
          case 41: {
            StartEle = input.ReadDouble();
            break;
          }
          case 49: {
            MaxEle = input.ReadDouble();
            break;
          }
          case 57: {
            MinDist = input.ReadDouble();
            break;
          }
          case 65: {
            MaxDist = input.ReadDouble();
            break;
          }
          case 74: {
            obss_.AddEntriesFrom(input, _repeated_obss_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Start = input.ReadString();
            break;
          }
          case 18: {
            End = input.ReadString();
            break;
          }
          case 25: {
            StartAzi = input.ReadDouble();
            break;
          }
          case 33: {
            EndAzi = input.ReadDouble();
            break;
          }
          case 41: {
            StartEle = input.ReadDouble();
            break;
          }
          case 49: {
            MaxEle = input.ReadDouble();
            break;
          }
          case 57: {
            MinDist = input.ReadDouble();
            break;
          }
          case 65: {
            MaxDist = input.ReadDouble();
            break;
          }
          case 74: {
            obss_.AddEntriesFrom(ref input, _repeated_obss_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  /// <summary>
  ///dat文件俯仰角方位角
  /// </summary>
  public sealed partial class Obs : pb::IMessage<Obs>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Obs> _parser = new pb::MessageParser<Obs>(() => new Obs());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Obs> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Satllite.Protobuf.Agi.ModAgiReflection.Descriptor.MessageTypes[6]; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    pbr::MessageDescriptor pb::IMessage.Descriptor {
      get { return Descriptor; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Obs() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Obs(Obs other) : this() {
      dt_ = other.dt_;
      azi_ = other.azi_;
      ele_ = other.ele_;
      range_ = other.range_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Obs Clone() {
      return new Obs(this);
    }

    /// <summary>Field number for the "dt" field.</summary>
    public const int DtFieldNumber = 1;
    private string dt_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Dt {
      get { return dt_; }
      set {
        dt_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "azi" field.</summary>
    public const int AziFieldNumber = 2;
    private double azi_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public double Azi {
      get { return azi_; }
      set {
        azi_ = value;
      }
    }

    /// <summary>Field number for the "ele" field.</summary>
    public const int EleFieldNumber = 3;
    private double ele_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public double Ele {
      get { return ele_; }
      set {
        ele_ = value;
      }
    }

    /// <summary>Field number for the "range" field.</summary>
    public const int RangeFieldNumber = 4;
    private double range_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public double Range {
      get { return range_; }
      set {
        range_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as Obs);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Obs other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Dt != other.Dt) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(Azi, other.Azi)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(Ele, other.Ele)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.Equals(Range, other.Range)) return false;
      return Equals(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override int GetHashCode() {
      int hash = 1;
      if (Dt.Length != 0) hash ^= Dt.GetHashCode();
      if (Azi != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(Azi);
      if (Ele != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(Ele);
      if (Range != 0D) hash ^= pbc::ProtobufEqualityComparers.BitwiseDoubleEqualityComparer.GetHashCode(Range);
      if (_unknownFields != null) {
        hash ^= _unknownFields.GetHashCode();
      }
      return hash;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override string ToString() {
      return pb::JsonFormatter.ToDiagnosticString(this);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void WriteTo(pb::CodedOutputStream output) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      output.WriteRawMessage(this);
    #else
      if (Dt.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Dt);
      }
      if (Azi != 0D) {
        output.WriteRawTag(17);
        output.WriteDouble(Azi);
      }
      if (Ele != 0D) {
        output.WriteRawTag(25);
        output.WriteDouble(Ele);
      }
      if (Range != 0D) {
        output.WriteRawTag(33);
        output.WriteDouble(Range);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Dt.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Dt);
      }
      if (Azi != 0D) {
        output.WriteRawTag(17);
        output.WriteDouble(Azi);
      }
      if (Ele != 0D) {
        output.WriteRawTag(25);
        output.WriteDouble(Ele);
      }
      if (Range != 0D) {
        output.WriteRawTag(33);
        output.WriteDouble(Range);
      }
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Dt.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Dt);
      }
      if (Azi != 0D) {
        size += 1 + 8;
      }
      if (Ele != 0D) {
        size += 1 + 8;
      }
      if (Range != 0D) {
        size += 1 + 8;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Obs other) {
      if (other == null) {
        return;
      }
      if (other.Dt.Length != 0) {
        Dt = other.Dt;
      }
      if (other.Azi != 0D) {
        Azi = other.Azi;
      }
      if (other.Ele != 0D) {
        Ele = other.Ele;
      }
      if (other.Range != 0D) {
        Range = other.Range;
      }
      _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(pb::CodedInputStream input) {
    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      input.ReadRawMessage(this);
    #else
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input);
            break;
          case 10: {
            Dt = input.ReadString();
            break;
          }
          case 17: {
            Azi = input.ReadDouble();
            break;
          }
          case 25: {
            Ele = input.ReadDouble();
            break;
          }
          case 33: {
            Range = input.ReadDouble();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
        switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Dt = input.ReadString();
            break;
          }
          case 17: {
            Azi = input.ReadDouble();
            break;
          }
          case 25: {
            Ele = input.ReadDouble();
            break;
          }
          case 33: {
            Range = input.ReadDouble();
            break;
          }
        }
      }
    }
    #endif

  }

  #endregion

}

#endregion Designer generated code
