| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891 | // Generated by ProtoGen, Version=2.4.1.521, Culture=neutral, PublicKeyToken=17b3b1f090c3ea48.  DO NOT EDIT!#pragma warning disable 1591, 0612, 3021#region Designer generated codeusing pb = global::Google.ProtocolBuffers;using pbc = global::Google.ProtocolBuffers.Collections;using pbd = global::Google.ProtocolBuffers.Descriptors;using scg = global::System.Collections.Generic;namespace grpc.testing {  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]  public static partial class Messages {    #region Extension registration    public static void RegisterAllExtensions(pb::ExtensionRegistry registry) {    }    #endregion    #region Static variables    internal static pbd::MessageDescriptor internal__static_grpc_testing_Payload__Descriptor;    internal static pb::FieldAccess.FieldAccessorTable<global::grpc.testing.Payload, global::grpc.testing.Payload.Builder> internal__static_grpc_testing_Payload__FieldAccessorTable;    internal static pbd::MessageDescriptor internal__static_grpc_testing_SimpleRequest__Descriptor;    internal static pb::FieldAccess.FieldAccessorTable<global::grpc.testing.SimpleRequest, global::grpc.testing.SimpleRequest.Builder> internal__static_grpc_testing_SimpleRequest__FieldAccessorTable;    internal static pbd::MessageDescriptor internal__static_grpc_testing_SimpleResponse__Descriptor;    internal static pb::FieldAccess.FieldAccessorTable<global::grpc.testing.SimpleResponse, global::grpc.testing.SimpleResponse.Builder> internal__static_grpc_testing_SimpleResponse__FieldAccessorTable;    internal static pbd::MessageDescriptor internal__static_grpc_testing_StreamingInputCallRequest__Descriptor;    internal static pb::FieldAccess.FieldAccessorTable<global::grpc.testing.StreamingInputCallRequest, global::grpc.testing.StreamingInputCallRequest.Builder> internal__static_grpc_testing_StreamingInputCallRequest__FieldAccessorTable;    internal static pbd::MessageDescriptor internal__static_grpc_testing_StreamingInputCallResponse__Descriptor;    internal static pb::FieldAccess.FieldAccessorTable<global::grpc.testing.StreamingInputCallResponse, global::grpc.testing.StreamingInputCallResponse.Builder> internal__static_grpc_testing_StreamingInputCallResponse__FieldAccessorTable;    internal static pbd::MessageDescriptor internal__static_grpc_testing_ResponseParameters__Descriptor;    internal static pb::FieldAccess.FieldAccessorTable<global::grpc.testing.ResponseParameters, global::grpc.testing.ResponseParameters.Builder> internal__static_grpc_testing_ResponseParameters__FieldAccessorTable;    internal static pbd::MessageDescriptor internal__static_grpc_testing_StreamingOutputCallRequest__Descriptor;    internal static pb::FieldAccess.FieldAccessorTable<global::grpc.testing.StreamingOutputCallRequest, global::grpc.testing.StreamingOutputCallRequest.Builder> internal__static_grpc_testing_StreamingOutputCallRequest__FieldAccessorTable;    internal static pbd::MessageDescriptor internal__static_grpc_testing_StreamingOutputCallResponse__Descriptor;    internal static pb::FieldAccess.FieldAccessorTable<global::grpc.testing.StreamingOutputCallResponse, global::grpc.testing.StreamingOutputCallResponse.Builder> internal__static_grpc_testing_StreamingOutputCallResponse__FieldAccessorTable;    #endregion    #region Descriptor    public static pbd::FileDescriptor Descriptor {      get { return descriptor; }    }    private static pbd::FileDescriptor descriptor;    static Messages() {      byte[] descriptorData = global::System.Convert.FromBase64String(          string.Concat(            "Cg5tZXNzYWdlcy5wcm90bxIMZ3JwYy50ZXN0aW5nIkAKB1BheWxvYWQSJwoE",            "dHlwZRgBIAEoDjIZLmdycGMudGVzdGluZy5QYXlsb2FkVHlwZRIMCgRib2R5",            "GAIgASgMIrEBCg1TaW1wbGVSZXF1ZXN0EjAKDXJlc3BvbnNlX3R5cGUYASAB",            "KA4yGS5ncnBjLnRlc3RpbmcuUGF5bG9hZFR5cGUSFQoNcmVzcG9uc2Vfc2l6",            "ZRgCIAEoBRImCgdwYXlsb2FkGAMgASgLMhUuZ3JwYy50ZXN0aW5nLlBheWxv",            "YWQSFQoNZmlsbF91c2VybmFtZRgEIAEoCBIYChBmaWxsX29hdXRoX3Njb3Bl",            "GAUgASgIIl8KDlNpbXBsZVJlc3BvbnNlEiYKB3BheWxvYWQYASABKAsyFS5n",            "cnBjLnRlc3RpbmcuUGF5bG9hZBIQCgh1c2VybmFtZRgCIAEoCRITCgtvYXV0",            "aF9zY29wZRgDIAEoCSJDChlTdHJlYW1pbmdJbnB1dENhbGxSZXF1ZXN0EiYK",            "B3BheWxvYWQYASABKAsyFS5ncnBjLnRlc3RpbmcuUGF5bG9hZCI9ChpTdHJl",            "YW1pbmdJbnB1dENhbGxSZXNwb25zZRIfChdhZ2dyZWdhdGVkX3BheWxvYWRf",            "c2l6ZRgBIAEoBSI3ChJSZXNwb25zZVBhcmFtZXRlcnMSDAoEc2l6ZRgBIAEo",            "BRITCgtpbnRlcnZhbF91cxgCIAEoBSK1AQoaU3RyZWFtaW5nT3V0cHV0Q2Fs",            "bFJlcXVlc3QSMAoNcmVzcG9uc2VfdHlwZRgBIAEoDjIZLmdycGMudGVzdGlu",            "Zy5QYXlsb2FkVHlwZRI9ChNyZXNwb25zZV9wYXJhbWV0ZXJzGAIgAygLMiAu",            "Z3JwYy50ZXN0aW5nLlJlc3BvbnNlUGFyYW1ldGVycxImCgdwYXlsb2FkGAMg",            "ASgLMhUuZ3JwYy50ZXN0aW5nLlBheWxvYWQiRQobU3RyZWFtaW5nT3V0cHV0",            "Q2FsbFJlc3BvbnNlEiYKB3BheWxvYWQYASABKAsyFS5ncnBjLnRlc3Rpbmcu",            "UGF5bG9hZCo/CgtQYXlsb2FkVHlwZRIQCgxDT01QUkVTU0FCTEUQABISCg5V",          "TkNPTVBSRVNTQUJMRRABEgoKBlJBTkRPTRAC"));      pbd::FileDescriptor.InternalDescriptorAssigner assigner = delegate(pbd::FileDescriptor root) {        descriptor = root;        internal__static_grpc_testing_Payload__Descriptor = Descriptor.MessageTypes[0];        internal__static_grpc_testing_Payload__FieldAccessorTable =            new pb::FieldAccess.FieldAccessorTable<global::grpc.testing.Payload, global::grpc.testing.Payload.Builder>(internal__static_grpc_testing_Payload__Descriptor,                new string[] { "Type", "Body", });        internal__static_grpc_testing_SimpleRequest__Descriptor = Descriptor.MessageTypes[1];        internal__static_grpc_testing_SimpleRequest__FieldAccessorTable =            new pb::FieldAccess.FieldAccessorTable<global::grpc.testing.SimpleRequest, global::grpc.testing.SimpleRequest.Builder>(internal__static_grpc_testing_SimpleRequest__Descriptor,                new string[] { "ResponseType", "ResponseSize", "Payload", "FillUsername", "FillOauthScope", });        internal__static_grpc_testing_SimpleResponse__Descriptor = Descriptor.MessageTypes[2];        internal__static_grpc_testing_SimpleResponse__FieldAccessorTable =            new pb::FieldAccess.FieldAccessorTable<global::grpc.testing.SimpleResponse, global::grpc.testing.SimpleResponse.Builder>(internal__static_grpc_testing_SimpleResponse__Descriptor,                new string[] { "Payload", "Username", "OauthScope", });        internal__static_grpc_testing_StreamingInputCallRequest__Descriptor = Descriptor.MessageTypes[3];        internal__static_grpc_testing_StreamingInputCallRequest__FieldAccessorTable =            new pb::FieldAccess.FieldAccessorTable<global::grpc.testing.StreamingInputCallRequest, global::grpc.testing.StreamingInputCallRequest.Builder>(internal__static_grpc_testing_StreamingInputCallRequest__Descriptor,                new string[] { "Payload", });        internal__static_grpc_testing_StreamingInputCallResponse__Descriptor = Descriptor.MessageTypes[4];        internal__static_grpc_testing_StreamingInputCallResponse__FieldAccessorTable =            new pb::FieldAccess.FieldAccessorTable<global::grpc.testing.StreamingInputCallResponse, global::grpc.testing.StreamingInputCallResponse.Builder>(internal__static_grpc_testing_StreamingInputCallResponse__Descriptor,                new string[] { "AggregatedPayloadSize", });        internal__static_grpc_testing_ResponseParameters__Descriptor = Descriptor.MessageTypes[5];        internal__static_grpc_testing_ResponseParameters__FieldAccessorTable =            new pb::FieldAccess.FieldAccessorTable<global::grpc.testing.ResponseParameters, global::grpc.testing.ResponseParameters.Builder>(internal__static_grpc_testing_ResponseParameters__Descriptor,                new string[] { "Size", "IntervalUs", });        internal__static_grpc_testing_StreamingOutputCallRequest__Descriptor = Descriptor.MessageTypes[6];        internal__static_grpc_testing_StreamingOutputCallRequest__FieldAccessorTable =            new pb::FieldAccess.FieldAccessorTable<global::grpc.testing.StreamingOutputCallRequest, global::grpc.testing.StreamingOutputCallRequest.Builder>(internal__static_grpc_testing_StreamingOutputCallRequest__Descriptor,                new string[] { "ResponseType", "ResponseParameters", "Payload", });        internal__static_grpc_testing_StreamingOutputCallResponse__Descriptor = Descriptor.MessageTypes[7];        internal__static_grpc_testing_StreamingOutputCallResponse__FieldAccessorTable =            new pb::FieldAccess.FieldAccessorTable<global::grpc.testing.StreamingOutputCallResponse, global::grpc.testing.StreamingOutputCallResponse.Builder>(internal__static_grpc_testing_StreamingOutputCallResponse__Descriptor,                new string[] { "Payload", });        return null;      };      pbd::FileDescriptor.InternalBuildGeneratedFileFrom(descriptorData,          new pbd::FileDescriptor[] {          }, assigner);    }    #endregion  }  #region Enums  public enum PayloadType {    COMPRESSABLE = 0,    UNCOMPRESSABLE = 1,    RANDOM = 2,  }  #endregion  #region Messages  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]  public sealed partial class Payload : pb::GeneratedMessage<Payload, Payload.Builder> {    private Payload() { }    private static readonly Payload defaultInstance = new Payload().MakeReadOnly();    private static readonly string[] _payloadFieldNames = new string[] { "body", "type" };    private static readonly uint[] _payloadFieldTags = new uint[] { 18, 8 };    public static Payload DefaultInstance {      get { return defaultInstance; }    }    public override Payload DefaultInstanceForType {      get { return DefaultInstance; }    }    protected override Payload ThisMessage {      get { return this; }    }    public static pbd::MessageDescriptor Descriptor {      get { return global::grpc.testing.Messages.internal__static_grpc_testing_Payload__Descriptor; }    }    protected override pb::FieldAccess.FieldAccessorTable<Payload, Payload.Builder> InternalFieldAccessors {      get { return global::grpc.testing.Messages.internal__static_grpc_testing_Payload__FieldAccessorTable; }    }    public const int TypeFieldNumber = 1;    private bool hasType;    private global::grpc.testing.PayloadType type_ = global::grpc.testing.PayloadType.COMPRESSABLE;    public bool HasType {      get { return hasType; }    }    public global::grpc.testing.PayloadType Type {      get { return type_; }    }    public const int BodyFieldNumber = 2;    private bool hasBody;    private pb::ByteString body_ = pb::ByteString.Empty;    public bool HasBody {      get { return hasBody; }    }    public pb::ByteString Body {      get { return body_; }    }    public override bool IsInitialized {      get {        return true;      }    }    public override void WriteTo(pb::ICodedOutputStream output) {      int size = SerializedSize;      string[] field_names = _payloadFieldNames;      if (hasType) {        output.WriteEnum(1, field_names[1], (int) Type, Type);      }      if (hasBody) {        output.WriteBytes(2, field_names[0], Body);      }      UnknownFields.WriteTo(output);    }    private int memoizedSerializedSize = -1;    public override int SerializedSize {      get {        int size = memoizedSerializedSize;        if (size != -1) return size;        size = 0;        if (hasType) {          size += pb::CodedOutputStream.ComputeEnumSize(1, (int) Type);        }        if (hasBody) {          size += pb::CodedOutputStream.ComputeBytesSize(2, Body);        }        size += UnknownFields.SerializedSize;        memoizedSerializedSize = size;        return size;      }    }    public static Payload ParseFrom(pb::ByteString data) {      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();    }    public static Payload ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();    }    public static Payload ParseFrom(byte[] data) {      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();    }    public static Payload ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();    }    public static Payload ParseFrom(global::System.IO.Stream input) {      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();    }    public static Payload ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();    }    public static Payload ParseDelimitedFrom(global::System.IO.Stream input) {      return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();    }    public static Payload ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {      return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();    }    public static Payload ParseFrom(pb::ICodedInputStream input) {      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();    }    public static Payload ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();    }    private Payload MakeReadOnly() {      return this;    }    public static Builder CreateBuilder() { return new Builder(); }    public override Builder ToBuilder() { return CreateBuilder(this); }    public override Builder CreateBuilderForType() { return new Builder(); }    public static Builder CreateBuilder(Payload prototype) {      return new Builder(prototype);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]    public sealed partial class Builder : pb::GeneratedBuilder<Payload, Builder> {      protected override Builder ThisBuilder {        get { return this; }      }      public Builder() {        result = DefaultInstance;        resultIsReadOnly = true;      }      internal Builder(Payload cloneFrom) {        result = cloneFrom;        resultIsReadOnly = true;      }      private bool resultIsReadOnly;      private Payload result;      private Payload PrepareBuilder() {        if (resultIsReadOnly) {          Payload original = result;          result = new Payload();          resultIsReadOnly = false;          MergeFrom(original);        }        return result;      }      public override bool IsInitialized {        get { return result.IsInitialized; }      }      protected override Payload MessageBeingBuilt {        get { return PrepareBuilder(); }      }      public override Builder Clear() {        result = DefaultInstance;        resultIsReadOnly = true;        return this;      }      public override Builder Clone() {        if (resultIsReadOnly) {          return new Builder(result);        } else {          return new Builder().MergeFrom(result);        }      }      public override pbd::MessageDescriptor DescriptorForType {        get { return global::grpc.testing.Payload.Descriptor; }      }      public override Payload DefaultInstanceForType {        get { return global::grpc.testing.Payload.DefaultInstance; }      }      public override Payload BuildPartial() {        if (resultIsReadOnly) {          return result;        }        resultIsReadOnly = true;        return result.MakeReadOnly();      }      public override Builder MergeFrom(pb::IMessage other) {        if (other is Payload) {          return MergeFrom((Payload) other);        } else {          base.MergeFrom(other);          return this;        }      }      public override Builder MergeFrom(Payload other) {        if (other == global::grpc.testing.Payload.DefaultInstance) return this;        PrepareBuilder();        if (other.HasType) {          Type = other.Type;        }        if (other.HasBody) {          Body = other.Body;        }        this.MergeUnknownFields(other.UnknownFields);        return this;      }      public override Builder MergeFrom(pb::ICodedInputStream input) {        return MergeFrom(input, pb::ExtensionRegistry.Empty);      }      public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {        PrepareBuilder();        pb::UnknownFieldSet.Builder unknownFields = null;        uint tag;        string field_name;        while (input.ReadTag(out tag, out field_name)) {          if(tag == 0 && field_name != null) {            int field_ordinal = global::System.Array.BinarySearch(_payloadFieldNames, field_name, global::System.StringComparer.Ordinal);            if(field_ordinal >= 0)              tag = _payloadFieldTags[field_ordinal];            else {              if (unknownFields == null) {                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);              }              ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);              continue;            }          }          switch (tag) {            case 0: {              throw pb::InvalidProtocolBufferException.InvalidTag();            }            default: {              if (pb::WireFormat.IsEndGroupTag(tag)) {                if (unknownFields != null) {                  this.UnknownFields = unknownFields.Build();                }                return this;              }              if (unknownFields == null) {                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);              }              ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);              break;            }            case 8: {              object unknown;              if(input.ReadEnum(ref result.type_, out unknown)) {                result.hasType = true;              } else if(unknown is int) {                if (unknownFields == null) {                  unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);                }                unknownFields.MergeVarintField(1, (ulong)(int)unknown);              }              break;            }            case 18: {              result.hasBody = input.ReadBytes(ref result.body_);              break;            }          }        }        if (unknownFields != null) {          this.UnknownFields = unknownFields.Build();        }        return this;      }      public bool HasType {       get { return result.hasType; }      }      public global::grpc.testing.PayloadType Type {        get { return result.Type; }        set { SetType(value); }      }      public Builder SetType(global::grpc.testing.PayloadType value) {        PrepareBuilder();        result.hasType = true;        result.type_ = value;        return this;      }      public Builder ClearType() {        PrepareBuilder();        result.hasType = false;        result.type_ = global::grpc.testing.PayloadType.COMPRESSABLE;        return this;      }      public bool HasBody {        get { return result.hasBody; }      }      public pb::ByteString Body {        get { return result.Body; }        set { SetBody(value); }      }      public Builder SetBody(pb::ByteString value) {        pb::ThrowHelper.ThrowIfNull(value, "value");        PrepareBuilder();        result.hasBody = true;        result.body_ = value;        return this;      }      public Builder ClearBody() {        PrepareBuilder();        result.hasBody = false;        result.body_ = pb::ByteString.Empty;        return this;      }    }    static Payload() {      object.ReferenceEquals(global::grpc.testing.Messages.Descriptor, null);    }  }  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]  public sealed partial class SimpleRequest : pb::GeneratedMessage<SimpleRequest, SimpleRequest.Builder> {    private SimpleRequest() { }    private static readonly SimpleRequest defaultInstance = new SimpleRequest().MakeReadOnly();    private static readonly string[] _simpleRequestFieldNames = new string[] { "fill_oauth_scope", "fill_username", "payload", "response_size", "response_type" };    private static readonly uint[] _simpleRequestFieldTags = new uint[] { 40, 32, 26, 16, 8 };    public static SimpleRequest DefaultInstance {      get { return defaultInstance; }    }    public override SimpleRequest DefaultInstanceForType {      get { return DefaultInstance; }    }    protected override SimpleRequest ThisMessage {      get { return this; }    }    public static pbd::MessageDescriptor Descriptor {      get { return global::grpc.testing.Messages.internal__static_grpc_testing_SimpleRequest__Descriptor; }    }    protected override pb::FieldAccess.FieldAccessorTable<SimpleRequest, SimpleRequest.Builder> InternalFieldAccessors {      get { return global::grpc.testing.Messages.internal__static_grpc_testing_SimpleRequest__FieldAccessorTable; }    }    public const int ResponseTypeFieldNumber = 1;    private bool hasResponseType;    private global::grpc.testing.PayloadType responseType_ = global::grpc.testing.PayloadType.COMPRESSABLE;    public bool HasResponseType {      get { return hasResponseType; }    }    public global::grpc.testing.PayloadType ResponseType {      get { return responseType_; }    }    public const int ResponseSizeFieldNumber = 2;    private bool hasResponseSize;    private int responseSize_;    public bool HasResponseSize {      get { return hasResponseSize; }    }    public int ResponseSize {      get { return responseSize_; }    }    public const int PayloadFieldNumber = 3;    private bool hasPayload;    private global::grpc.testing.Payload payload_;    public bool HasPayload {      get { return hasPayload; }    }    public global::grpc.testing.Payload Payload {      get { return payload_ ?? global::grpc.testing.Payload.DefaultInstance; }    }    public const int FillUsernameFieldNumber = 4;    private bool hasFillUsername;    private bool fillUsername_;    public bool HasFillUsername {      get { return hasFillUsername; }    }    public bool FillUsername {      get { return fillUsername_; }    }    public const int FillOauthScopeFieldNumber = 5;    private bool hasFillOauthScope;    private bool fillOauthScope_;    public bool HasFillOauthScope {      get { return hasFillOauthScope; }    }    public bool FillOauthScope {      get { return fillOauthScope_; }    }    public override bool IsInitialized {      get {        return true;      }    }    public override void WriteTo(pb::ICodedOutputStream output) {      int size = SerializedSize;      string[] field_names = _simpleRequestFieldNames;      if (hasResponseType) {        output.WriteEnum(1, field_names[4], (int) ResponseType, ResponseType);      }      if (hasResponseSize) {        output.WriteInt32(2, field_names[3], ResponseSize);      }      if (hasPayload) {        output.WriteMessage(3, field_names[2], Payload);      }      if (hasFillUsername) {        output.WriteBool(4, field_names[1], FillUsername);      }      if (hasFillOauthScope) {        output.WriteBool(5, field_names[0], FillOauthScope);      }      UnknownFields.WriteTo(output);    }    private int memoizedSerializedSize = -1;    public override int SerializedSize {      get {        int size = memoizedSerializedSize;        if (size != -1) return size;        size = 0;        if (hasResponseType) {          size += pb::CodedOutputStream.ComputeEnumSize(1, (int) ResponseType);        }        if (hasResponseSize) {          size += pb::CodedOutputStream.ComputeInt32Size(2, ResponseSize);        }        if (hasPayload) {          size += pb::CodedOutputStream.ComputeMessageSize(3, Payload);        }        if (hasFillUsername) {          size += pb::CodedOutputStream.ComputeBoolSize(4, FillUsername);        }        if (hasFillOauthScope) {          size += pb::CodedOutputStream.ComputeBoolSize(5, FillOauthScope);        }        size += UnknownFields.SerializedSize;        memoizedSerializedSize = size;        return size;      }    }    public static SimpleRequest ParseFrom(pb::ByteString data) {      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();    }    public static SimpleRequest ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();    }    public static SimpleRequest ParseFrom(byte[] data) {      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();    }    public static SimpleRequest ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();    }    public static SimpleRequest ParseFrom(global::System.IO.Stream input) {      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();    }    public static SimpleRequest ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();    }    public static SimpleRequest ParseDelimitedFrom(global::System.IO.Stream input) {      return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();    }    public static SimpleRequest ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {      return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();    }    public static SimpleRequest ParseFrom(pb::ICodedInputStream input) {      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();    }    public static SimpleRequest ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();    }    private SimpleRequest MakeReadOnly() {      return this;    }    public static Builder CreateBuilder() { return new Builder(); }    public override Builder ToBuilder() { return CreateBuilder(this); }    public override Builder CreateBuilderForType() { return new Builder(); }    public static Builder CreateBuilder(SimpleRequest prototype) {      return new Builder(prototype);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]    public sealed partial class Builder : pb::GeneratedBuilder<SimpleRequest, Builder> {      protected override Builder ThisBuilder {        get { return this; }      }      public Builder() {        result = DefaultInstance;        resultIsReadOnly = true;      }      internal Builder(SimpleRequest cloneFrom) {        result = cloneFrom;        resultIsReadOnly = true;      }      private bool resultIsReadOnly;      private SimpleRequest result;      private SimpleRequest PrepareBuilder() {        if (resultIsReadOnly) {          SimpleRequest original = result;          result = new SimpleRequest();          resultIsReadOnly = false;          MergeFrom(original);        }        return result;      }      public override bool IsInitialized {        get { return result.IsInitialized; }      }      protected override SimpleRequest MessageBeingBuilt {        get { return PrepareBuilder(); }      }      public override Builder Clear() {        result = DefaultInstance;        resultIsReadOnly = true;        return this;      }      public override Builder Clone() {        if (resultIsReadOnly) {          return new Builder(result);        } else {          return new Builder().MergeFrom(result);        }      }      public override pbd::MessageDescriptor DescriptorForType {        get { return global::grpc.testing.SimpleRequest.Descriptor; }      }      public override SimpleRequest DefaultInstanceForType {        get { return global::grpc.testing.SimpleRequest.DefaultInstance; }      }      public override SimpleRequest BuildPartial() {        if (resultIsReadOnly) {          return result;        }        resultIsReadOnly = true;        return result.MakeReadOnly();      }      public override Builder MergeFrom(pb::IMessage other) {        if (other is SimpleRequest) {          return MergeFrom((SimpleRequest) other);        } else {          base.MergeFrom(other);          return this;        }      }      public override Builder MergeFrom(SimpleRequest other) {        if (other == global::grpc.testing.SimpleRequest.DefaultInstance) return this;        PrepareBuilder();        if (other.HasResponseType) {          ResponseType = other.ResponseType;        }        if (other.HasResponseSize) {          ResponseSize = other.ResponseSize;        }        if (other.HasPayload) {          MergePayload(other.Payload);        }        if (other.HasFillUsername) {          FillUsername = other.FillUsername;        }        if (other.HasFillOauthScope) {          FillOauthScope = other.FillOauthScope;        }        this.MergeUnknownFields(other.UnknownFields);        return this;      }      public override Builder MergeFrom(pb::ICodedInputStream input) {        return MergeFrom(input, pb::ExtensionRegistry.Empty);      }      public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {        PrepareBuilder();        pb::UnknownFieldSet.Builder unknownFields = null;        uint tag;        string field_name;        while (input.ReadTag(out tag, out field_name)) {          if(tag == 0 && field_name != null) {            int field_ordinal = global::System.Array.BinarySearch(_simpleRequestFieldNames, field_name, global::System.StringComparer.Ordinal);            if(field_ordinal >= 0)              tag = _simpleRequestFieldTags[field_ordinal];            else {              if (unknownFields == null) {                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);              }              ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);              continue;            }          }          switch (tag) {            case 0: {              throw pb::InvalidProtocolBufferException.InvalidTag();            }            default: {              if (pb::WireFormat.IsEndGroupTag(tag)) {                if (unknownFields != null) {                  this.UnknownFields = unknownFields.Build();                }                return this;              }              if (unknownFields == null) {                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);              }              ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);              break;            }            case 8: {              object unknown;              if(input.ReadEnum(ref result.responseType_, out unknown)) {                result.hasResponseType = true;              } else if(unknown is int) {                if (unknownFields == null) {                  unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);                }                unknownFields.MergeVarintField(1, (ulong)(int)unknown);              }              break;            }            case 16: {              result.hasResponseSize = input.ReadInt32(ref result.responseSize_);              break;            }            case 26: {              global::grpc.testing.Payload.Builder subBuilder = global::grpc.testing.Payload.CreateBuilder();              if (result.hasPayload) {                subBuilder.MergeFrom(Payload);              }              input.ReadMessage(subBuilder, extensionRegistry);              Payload = subBuilder.BuildPartial();              break;            }            case 32: {              result.hasFillUsername = input.ReadBool(ref result.fillUsername_);              break;            }            case 40: {              result.hasFillOauthScope = input.ReadBool(ref result.fillOauthScope_);              break;            }          }        }        if (unknownFields != null) {          this.UnknownFields = unknownFields.Build();        }        return this;      }      public bool HasResponseType {       get { return result.hasResponseType; }      }      public global::grpc.testing.PayloadType ResponseType {        get { return result.ResponseType; }        set { SetResponseType(value); }      }      public Builder SetResponseType(global::grpc.testing.PayloadType value) {        PrepareBuilder();        result.hasResponseType = true;        result.responseType_ = value;        return this;      }      public Builder ClearResponseType() {        PrepareBuilder();        result.hasResponseType = false;        result.responseType_ = global::grpc.testing.PayloadType.COMPRESSABLE;        return this;      }      public bool HasResponseSize {        get { return result.hasResponseSize; }      }      public int ResponseSize {        get { return result.ResponseSize; }        set { SetResponseSize(value); }      }      public Builder SetResponseSize(int value) {        PrepareBuilder();        result.hasResponseSize = true;        result.responseSize_ = value;        return this;      }      public Builder ClearResponseSize() {        PrepareBuilder();        result.hasResponseSize = false;        result.responseSize_ = 0;        return this;      }      public bool HasPayload {       get { return result.hasPayload; }      }      public global::grpc.testing.Payload Payload {        get { return result.Payload; }        set { SetPayload(value); }      }      public Builder SetPayload(global::grpc.testing.Payload value) {        pb::ThrowHelper.ThrowIfNull(value, "value");        PrepareBuilder();        result.hasPayload = true;        result.payload_ = value;        return this;      }      public Builder SetPayload(global::grpc.testing.Payload.Builder builderForValue) {        pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");        PrepareBuilder();        result.hasPayload = true;        result.payload_ = builderForValue.Build();        return this;      }      public Builder MergePayload(global::grpc.testing.Payload value) {        pb::ThrowHelper.ThrowIfNull(value, "value");        PrepareBuilder();        if (result.hasPayload &&            result.payload_ != global::grpc.testing.Payload.DefaultInstance) {            result.payload_ = global::grpc.testing.Payload.CreateBuilder(result.payload_).MergeFrom(value).BuildPartial();        } else {          result.payload_ = value;        }        result.hasPayload = true;        return this;      }      public Builder ClearPayload() {        PrepareBuilder();        result.hasPayload = false;        result.payload_ = null;        return this;      }      public bool HasFillUsername {        get { return result.hasFillUsername; }      }      public bool FillUsername {        get { return result.FillUsername; }        set { SetFillUsername(value); }      }      public Builder SetFillUsername(bool value) {        PrepareBuilder();        result.hasFillUsername = true;        result.fillUsername_ = value;        return this;      }      public Builder ClearFillUsername() {        PrepareBuilder();        result.hasFillUsername = false;        result.fillUsername_ = false;        return this;      }      public bool HasFillOauthScope {        get { return result.hasFillOauthScope; }      }      public bool FillOauthScope {        get { return result.FillOauthScope; }        set { SetFillOauthScope(value); }      }      public Builder SetFillOauthScope(bool value) {        PrepareBuilder();        result.hasFillOauthScope = true;        result.fillOauthScope_ = value;        return this;      }      public Builder ClearFillOauthScope() {        PrepareBuilder();        result.hasFillOauthScope = false;        result.fillOauthScope_ = false;        return this;      }    }    static SimpleRequest() {      object.ReferenceEquals(global::grpc.testing.Messages.Descriptor, null);    }  }  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]  public sealed partial class SimpleResponse : pb::GeneratedMessage<SimpleResponse, SimpleResponse.Builder> {    private SimpleResponse() { }    private static readonly SimpleResponse defaultInstance = new SimpleResponse().MakeReadOnly();    private static readonly string[] _simpleResponseFieldNames = new string[] { "oauth_scope", "payload", "username" };    private static readonly uint[] _simpleResponseFieldTags = new uint[] { 26, 10, 18 };    public static SimpleResponse DefaultInstance {      get { return defaultInstance; }    }    public override SimpleResponse DefaultInstanceForType {      get { return DefaultInstance; }    }    protected override SimpleResponse ThisMessage {      get { return this; }    }    public static pbd::MessageDescriptor Descriptor {      get { return global::grpc.testing.Messages.internal__static_grpc_testing_SimpleResponse__Descriptor; }    }    protected override pb::FieldAccess.FieldAccessorTable<SimpleResponse, SimpleResponse.Builder> InternalFieldAccessors {      get { return global::grpc.testing.Messages.internal__static_grpc_testing_SimpleResponse__FieldAccessorTable; }    }    public const int PayloadFieldNumber = 1;    private bool hasPayload;    private global::grpc.testing.Payload payload_;    public bool HasPayload {      get { return hasPayload; }    }    public global::grpc.testing.Payload Payload {      get { return payload_ ?? global::grpc.testing.Payload.DefaultInstance; }    }    public const int UsernameFieldNumber = 2;    private bool hasUsername;    private string username_ = "";    public bool HasUsername {      get { return hasUsername; }    }    public string Username {      get { return username_; }    }    public const int OauthScopeFieldNumber = 3;    private bool hasOauthScope;    private string oauthScope_ = "";    public bool HasOauthScope {      get { return hasOauthScope; }    }    public string OauthScope {      get { return oauthScope_; }    }    public override bool IsInitialized {      get {        return true;      }    }    public override void WriteTo(pb::ICodedOutputStream output) {      int size = SerializedSize;      string[] field_names = _simpleResponseFieldNames;      if (hasPayload) {        output.WriteMessage(1, field_names[1], Payload);      }      if (hasUsername) {        output.WriteString(2, field_names[2], Username);      }      if (hasOauthScope) {        output.WriteString(3, field_names[0], OauthScope);      }      UnknownFields.WriteTo(output);    }    private int memoizedSerializedSize = -1;    public override int SerializedSize {      get {        int size = memoizedSerializedSize;        if (size != -1) return size;        size = 0;        if (hasPayload) {          size += pb::CodedOutputStream.ComputeMessageSize(1, Payload);        }        if (hasUsername) {          size += pb::CodedOutputStream.ComputeStringSize(2, Username);        }        if (hasOauthScope) {          size += pb::CodedOutputStream.ComputeStringSize(3, OauthScope);        }        size += UnknownFields.SerializedSize;        memoizedSerializedSize = size;        return size;      }    }    public static SimpleResponse ParseFrom(pb::ByteString data) {      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();    }    public static SimpleResponse ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();    }    public static SimpleResponse ParseFrom(byte[] data) {      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();    }    public static SimpleResponse ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();    }    public static SimpleResponse ParseFrom(global::System.IO.Stream input) {      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();    }    public static SimpleResponse ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();    }    public static SimpleResponse ParseDelimitedFrom(global::System.IO.Stream input) {      return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();    }    public static SimpleResponse ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {      return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();    }    public static SimpleResponse ParseFrom(pb::ICodedInputStream input) {      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();    }    public static SimpleResponse ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();    }    private SimpleResponse MakeReadOnly() {      return this;    }    public static Builder CreateBuilder() { return new Builder(); }    public override Builder ToBuilder() { return CreateBuilder(this); }    public override Builder CreateBuilderForType() { return new Builder(); }    public static Builder CreateBuilder(SimpleResponse prototype) {      return new Builder(prototype);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]    public sealed partial class Builder : pb::GeneratedBuilder<SimpleResponse, Builder> {      protected override Builder ThisBuilder {        get { return this; }      }      public Builder() {        result = DefaultInstance;        resultIsReadOnly = true;      }      internal Builder(SimpleResponse cloneFrom) {        result = cloneFrom;        resultIsReadOnly = true;      }      private bool resultIsReadOnly;      private SimpleResponse result;      private SimpleResponse PrepareBuilder() {        if (resultIsReadOnly) {          SimpleResponse original = result;          result = new SimpleResponse();          resultIsReadOnly = false;          MergeFrom(original);        }        return result;      }      public override bool IsInitialized {        get { return result.IsInitialized; }      }      protected override SimpleResponse MessageBeingBuilt {        get { return PrepareBuilder(); }      }      public override Builder Clear() {        result = DefaultInstance;        resultIsReadOnly = true;        return this;      }      public override Builder Clone() {        if (resultIsReadOnly) {          return new Builder(result);        } else {          return new Builder().MergeFrom(result);        }      }      public override pbd::MessageDescriptor DescriptorForType {        get { return global::grpc.testing.SimpleResponse.Descriptor; }      }      public override SimpleResponse DefaultInstanceForType {        get { return global::grpc.testing.SimpleResponse.DefaultInstance; }      }      public override SimpleResponse BuildPartial() {        if (resultIsReadOnly) {          return result;        }        resultIsReadOnly = true;        return result.MakeReadOnly();      }      public override Builder MergeFrom(pb::IMessage other) {        if (other is SimpleResponse) {          return MergeFrom((SimpleResponse) other);        } else {          base.MergeFrom(other);          return this;        }      }      public override Builder MergeFrom(SimpleResponse other) {        if (other == global::grpc.testing.SimpleResponse.DefaultInstance) return this;        PrepareBuilder();        if (other.HasPayload) {          MergePayload(other.Payload);        }        if (other.HasUsername) {          Username = other.Username;        }        if (other.HasOauthScope) {          OauthScope = other.OauthScope;        }        this.MergeUnknownFields(other.UnknownFields);        return this;      }      public override Builder MergeFrom(pb::ICodedInputStream input) {        return MergeFrom(input, pb::ExtensionRegistry.Empty);      }      public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {        PrepareBuilder();        pb::UnknownFieldSet.Builder unknownFields = null;        uint tag;        string field_name;        while (input.ReadTag(out tag, out field_name)) {          if(tag == 0 && field_name != null) {            int field_ordinal = global::System.Array.BinarySearch(_simpleResponseFieldNames, field_name, global::System.StringComparer.Ordinal);            if(field_ordinal >= 0)              tag = _simpleResponseFieldTags[field_ordinal];            else {              if (unknownFields == null) {                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);              }              ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);              continue;            }          }          switch (tag) {            case 0: {              throw pb::InvalidProtocolBufferException.InvalidTag();            }            default: {              if (pb::WireFormat.IsEndGroupTag(tag)) {                if (unknownFields != null) {                  this.UnknownFields = unknownFields.Build();                }                return this;              }              if (unknownFields == null) {                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);              }              ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);              break;            }            case 10: {              global::grpc.testing.Payload.Builder subBuilder = global::grpc.testing.Payload.CreateBuilder();              if (result.hasPayload) {                subBuilder.MergeFrom(Payload);              }              input.ReadMessage(subBuilder, extensionRegistry);              Payload = subBuilder.BuildPartial();              break;            }            case 18: {              result.hasUsername = input.ReadString(ref result.username_);              break;            }            case 26: {              result.hasOauthScope = input.ReadString(ref result.oauthScope_);              break;            }          }        }        if (unknownFields != null) {          this.UnknownFields = unknownFields.Build();        }        return this;      }      public bool HasPayload {       get { return result.hasPayload; }      }      public global::grpc.testing.Payload Payload {        get { return result.Payload; }        set { SetPayload(value); }      }      public Builder SetPayload(global::grpc.testing.Payload value) {        pb::ThrowHelper.ThrowIfNull(value, "value");        PrepareBuilder();        result.hasPayload = true;        result.payload_ = value;        return this;      }      public Builder SetPayload(global::grpc.testing.Payload.Builder builderForValue) {        pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");        PrepareBuilder();        result.hasPayload = true;        result.payload_ = builderForValue.Build();        return this;      }      public Builder MergePayload(global::grpc.testing.Payload value) {        pb::ThrowHelper.ThrowIfNull(value, "value");        PrepareBuilder();        if (result.hasPayload &&            result.payload_ != global::grpc.testing.Payload.DefaultInstance) {            result.payload_ = global::grpc.testing.Payload.CreateBuilder(result.payload_).MergeFrom(value).BuildPartial();        } else {          result.payload_ = value;        }        result.hasPayload = true;        return this;      }      public Builder ClearPayload() {        PrepareBuilder();        result.hasPayload = false;        result.payload_ = null;        return this;      }      public bool HasUsername {        get { return result.hasUsername; }      }      public string Username {        get { return result.Username; }        set { SetUsername(value); }      }      public Builder SetUsername(string value) {        pb::ThrowHelper.ThrowIfNull(value, "value");        PrepareBuilder();        result.hasUsername = true;        result.username_ = value;        return this;      }      public Builder ClearUsername() {        PrepareBuilder();        result.hasUsername = false;        result.username_ = "";        return this;      }      public bool HasOauthScope {        get { return result.hasOauthScope; }      }      public string OauthScope {        get { return result.OauthScope; }        set { SetOauthScope(value); }      }      public Builder SetOauthScope(string value) {        pb::ThrowHelper.ThrowIfNull(value, "value");        PrepareBuilder();        result.hasOauthScope = true;        result.oauthScope_ = value;        return this;      }      public Builder ClearOauthScope() {        PrepareBuilder();        result.hasOauthScope = false;        result.oauthScope_ = "";        return this;      }    }    static SimpleResponse() {      object.ReferenceEquals(global::grpc.testing.Messages.Descriptor, null);    }  }  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]  public sealed partial class StreamingInputCallRequest : pb::GeneratedMessage<StreamingInputCallRequest, StreamingInputCallRequest.Builder> {    private StreamingInputCallRequest() { }    private static readonly StreamingInputCallRequest defaultInstance = new StreamingInputCallRequest().MakeReadOnly();    private static readonly string[] _streamingInputCallRequestFieldNames = new string[] { "payload" };    private static readonly uint[] _streamingInputCallRequestFieldTags = new uint[] { 10 };    public static StreamingInputCallRequest DefaultInstance {      get { return defaultInstance; }    }    public override StreamingInputCallRequest DefaultInstanceForType {      get { return DefaultInstance; }    }    protected override StreamingInputCallRequest ThisMessage {      get { return this; }    }    public static pbd::MessageDescriptor Descriptor {      get { return global::grpc.testing.Messages.internal__static_grpc_testing_StreamingInputCallRequest__Descriptor; }    }    protected override pb::FieldAccess.FieldAccessorTable<StreamingInputCallRequest, StreamingInputCallRequest.Builder> InternalFieldAccessors {      get { return global::grpc.testing.Messages.internal__static_grpc_testing_StreamingInputCallRequest__FieldAccessorTable; }    }    public const int PayloadFieldNumber = 1;    private bool hasPayload;    private global::grpc.testing.Payload payload_;    public bool HasPayload {      get { return hasPayload; }    }    public global::grpc.testing.Payload Payload {      get { return payload_ ?? global::grpc.testing.Payload.DefaultInstance; }    }    public override bool IsInitialized {      get {        return true;      }    }    public override void WriteTo(pb::ICodedOutputStream output) {      int size = SerializedSize;      string[] field_names = _streamingInputCallRequestFieldNames;      if (hasPayload) {        output.WriteMessage(1, field_names[0], Payload);      }      UnknownFields.WriteTo(output);    }    private int memoizedSerializedSize = -1;    public override int SerializedSize {      get {        int size = memoizedSerializedSize;        if (size != -1) return size;        size = 0;        if (hasPayload) {          size += pb::CodedOutputStream.ComputeMessageSize(1, Payload);        }        size += UnknownFields.SerializedSize;        memoizedSerializedSize = size;        return size;      }    }    public static StreamingInputCallRequest ParseFrom(pb::ByteString data) {      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();    }    public static StreamingInputCallRequest ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();    }    public static StreamingInputCallRequest ParseFrom(byte[] data) {      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();    }    public static StreamingInputCallRequest ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();    }    public static StreamingInputCallRequest ParseFrom(global::System.IO.Stream input) {      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();    }    public static StreamingInputCallRequest ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();    }    public static StreamingInputCallRequest ParseDelimitedFrom(global::System.IO.Stream input) {      return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();    }    public static StreamingInputCallRequest ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {      return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();    }    public static StreamingInputCallRequest ParseFrom(pb::ICodedInputStream input) {      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();    }    public static StreamingInputCallRequest ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();    }    private StreamingInputCallRequest MakeReadOnly() {      return this;    }    public static Builder CreateBuilder() { return new Builder(); }    public override Builder ToBuilder() { return CreateBuilder(this); }    public override Builder CreateBuilderForType() { return new Builder(); }    public static Builder CreateBuilder(StreamingInputCallRequest prototype) {      return new Builder(prototype);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]    public sealed partial class Builder : pb::GeneratedBuilder<StreamingInputCallRequest, Builder> {      protected override Builder ThisBuilder {        get { return this; }      }      public Builder() {        result = DefaultInstance;        resultIsReadOnly = true;      }      internal Builder(StreamingInputCallRequest cloneFrom) {        result = cloneFrom;        resultIsReadOnly = true;      }      private bool resultIsReadOnly;      private StreamingInputCallRequest result;      private StreamingInputCallRequest PrepareBuilder() {        if (resultIsReadOnly) {          StreamingInputCallRequest original = result;          result = new StreamingInputCallRequest();          resultIsReadOnly = false;          MergeFrom(original);        }        return result;      }      public override bool IsInitialized {        get { return result.IsInitialized; }      }      protected override StreamingInputCallRequest MessageBeingBuilt {        get { return PrepareBuilder(); }      }      public override Builder Clear() {        result = DefaultInstance;        resultIsReadOnly = true;        return this;      }      public override Builder Clone() {        if (resultIsReadOnly) {          return new Builder(result);        } else {          return new Builder().MergeFrom(result);        }      }      public override pbd::MessageDescriptor DescriptorForType {        get { return global::grpc.testing.StreamingInputCallRequest.Descriptor; }      }      public override StreamingInputCallRequest DefaultInstanceForType {        get { return global::grpc.testing.StreamingInputCallRequest.DefaultInstance; }      }      public override StreamingInputCallRequest BuildPartial() {        if (resultIsReadOnly) {          return result;        }        resultIsReadOnly = true;        return result.MakeReadOnly();      }      public override Builder MergeFrom(pb::IMessage other) {        if (other is StreamingInputCallRequest) {          return MergeFrom((StreamingInputCallRequest) other);        } else {          base.MergeFrom(other);          return this;        }      }      public override Builder MergeFrom(StreamingInputCallRequest other) {        if (other == global::grpc.testing.StreamingInputCallRequest.DefaultInstance) return this;        PrepareBuilder();        if (other.HasPayload) {          MergePayload(other.Payload);        }        this.MergeUnknownFields(other.UnknownFields);        return this;      }      public override Builder MergeFrom(pb::ICodedInputStream input) {        return MergeFrom(input, pb::ExtensionRegistry.Empty);      }      public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {        PrepareBuilder();        pb::UnknownFieldSet.Builder unknownFields = null;        uint tag;        string field_name;        while (input.ReadTag(out tag, out field_name)) {          if(tag == 0 && field_name != null) {            int field_ordinal = global::System.Array.BinarySearch(_streamingInputCallRequestFieldNames, field_name, global::System.StringComparer.Ordinal);            if(field_ordinal >= 0)              tag = _streamingInputCallRequestFieldTags[field_ordinal];            else {              if (unknownFields == null) {                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);              }              ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);              continue;            }          }          switch (tag) {            case 0: {              throw pb::InvalidProtocolBufferException.InvalidTag();            }            default: {              if (pb::WireFormat.IsEndGroupTag(tag)) {                if (unknownFields != null) {                  this.UnknownFields = unknownFields.Build();                }                return this;              }              if (unknownFields == null) {                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);              }              ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);              break;            }            case 10: {              global::grpc.testing.Payload.Builder subBuilder = global::grpc.testing.Payload.CreateBuilder();              if (result.hasPayload) {                subBuilder.MergeFrom(Payload);              }              input.ReadMessage(subBuilder, extensionRegistry);              Payload = subBuilder.BuildPartial();              break;            }          }        }        if (unknownFields != null) {          this.UnknownFields = unknownFields.Build();        }        return this;      }      public bool HasPayload {       get { return result.hasPayload; }      }      public global::grpc.testing.Payload Payload {        get { return result.Payload; }        set { SetPayload(value); }      }      public Builder SetPayload(global::grpc.testing.Payload value) {        pb::ThrowHelper.ThrowIfNull(value, "value");        PrepareBuilder();        result.hasPayload = true;        result.payload_ = value;        return this;      }      public Builder SetPayload(global::grpc.testing.Payload.Builder builderForValue) {        pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");        PrepareBuilder();        result.hasPayload = true;        result.payload_ = builderForValue.Build();        return this;      }      public Builder MergePayload(global::grpc.testing.Payload value) {        pb::ThrowHelper.ThrowIfNull(value, "value");        PrepareBuilder();        if (result.hasPayload &&            result.payload_ != global::grpc.testing.Payload.DefaultInstance) {            result.payload_ = global::grpc.testing.Payload.CreateBuilder(result.payload_).MergeFrom(value).BuildPartial();        } else {          result.payload_ = value;        }        result.hasPayload = true;        return this;      }      public Builder ClearPayload() {        PrepareBuilder();        result.hasPayload = false;        result.payload_ = null;        return this;      }    }    static StreamingInputCallRequest() {      object.ReferenceEquals(global::grpc.testing.Messages.Descriptor, null);    }  }  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]  public sealed partial class StreamingInputCallResponse : pb::GeneratedMessage<StreamingInputCallResponse, StreamingInputCallResponse.Builder> {    private StreamingInputCallResponse() { }    private static readonly StreamingInputCallResponse defaultInstance = new StreamingInputCallResponse().MakeReadOnly();    private static readonly string[] _streamingInputCallResponseFieldNames = new string[] { "aggregated_payload_size" };    private static readonly uint[] _streamingInputCallResponseFieldTags = new uint[] { 8 };    public static StreamingInputCallResponse DefaultInstance {      get { return defaultInstance; }    }    public override StreamingInputCallResponse DefaultInstanceForType {      get { return DefaultInstance; }    }    protected override StreamingInputCallResponse ThisMessage {      get { return this; }    }    public static pbd::MessageDescriptor Descriptor {      get { return global::grpc.testing.Messages.internal__static_grpc_testing_StreamingInputCallResponse__Descriptor; }    }    protected override pb::FieldAccess.FieldAccessorTable<StreamingInputCallResponse, StreamingInputCallResponse.Builder> InternalFieldAccessors {      get { return global::grpc.testing.Messages.internal__static_grpc_testing_StreamingInputCallResponse__FieldAccessorTable; }    }    public const int AggregatedPayloadSizeFieldNumber = 1;    private bool hasAggregatedPayloadSize;    private int aggregatedPayloadSize_;    public bool HasAggregatedPayloadSize {      get { return hasAggregatedPayloadSize; }    }    public int AggregatedPayloadSize {      get { return aggregatedPayloadSize_; }    }    public override bool IsInitialized {      get {        return true;      }    }    public override void WriteTo(pb::ICodedOutputStream output) {      int size = SerializedSize;      string[] field_names = _streamingInputCallResponseFieldNames;      if (hasAggregatedPayloadSize) {        output.WriteInt32(1, field_names[0], AggregatedPayloadSize);      }      UnknownFields.WriteTo(output);    }    private int memoizedSerializedSize = -1;    public override int SerializedSize {      get {        int size = memoizedSerializedSize;        if (size != -1) return size;        size = 0;        if (hasAggregatedPayloadSize) {          size += pb::CodedOutputStream.ComputeInt32Size(1, AggregatedPayloadSize);        }        size += UnknownFields.SerializedSize;        memoizedSerializedSize = size;        return size;      }    }    public static StreamingInputCallResponse ParseFrom(pb::ByteString data) {      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();    }    public static StreamingInputCallResponse ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();    }    public static StreamingInputCallResponse ParseFrom(byte[] data) {      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();    }    public static StreamingInputCallResponse ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();    }    public static StreamingInputCallResponse ParseFrom(global::System.IO.Stream input) {      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();    }    public static StreamingInputCallResponse ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();    }    public static StreamingInputCallResponse ParseDelimitedFrom(global::System.IO.Stream input) {      return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();    }    public static StreamingInputCallResponse ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {      return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();    }    public static StreamingInputCallResponse ParseFrom(pb::ICodedInputStream input) {      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();    }    public static StreamingInputCallResponse ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();    }    private StreamingInputCallResponse MakeReadOnly() {      return this;    }    public static Builder CreateBuilder() { return new Builder(); }    public override Builder ToBuilder() { return CreateBuilder(this); }    public override Builder CreateBuilderForType() { return new Builder(); }    public static Builder CreateBuilder(StreamingInputCallResponse prototype) {      return new Builder(prototype);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]    public sealed partial class Builder : pb::GeneratedBuilder<StreamingInputCallResponse, Builder> {      protected override Builder ThisBuilder {        get { return this; }      }      public Builder() {        result = DefaultInstance;        resultIsReadOnly = true;      }      internal Builder(StreamingInputCallResponse cloneFrom) {        result = cloneFrom;        resultIsReadOnly = true;      }      private bool resultIsReadOnly;      private StreamingInputCallResponse result;      private StreamingInputCallResponse PrepareBuilder() {        if (resultIsReadOnly) {          StreamingInputCallResponse original = result;          result = new StreamingInputCallResponse();          resultIsReadOnly = false;          MergeFrom(original);        }        return result;      }      public override bool IsInitialized {        get { return result.IsInitialized; }      }      protected override StreamingInputCallResponse MessageBeingBuilt {        get { return PrepareBuilder(); }      }      public override Builder Clear() {        result = DefaultInstance;        resultIsReadOnly = true;        return this;      }      public override Builder Clone() {        if (resultIsReadOnly) {          return new Builder(result);        } else {          return new Builder().MergeFrom(result);        }      }      public override pbd::MessageDescriptor DescriptorForType {        get { return global::grpc.testing.StreamingInputCallResponse.Descriptor; }      }      public override StreamingInputCallResponse DefaultInstanceForType {        get { return global::grpc.testing.StreamingInputCallResponse.DefaultInstance; }      }      public override StreamingInputCallResponse BuildPartial() {        if (resultIsReadOnly) {          return result;        }        resultIsReadOnly = true;        return result.MakeReadOnly();      }      public override Builder MergeFrom(pb::IMessage other) {        if (other is StreamingInputCallResponse) {          return MergeFrom((StreamingInputCallResponse) other);        } else {          base.MergeFrom(other);          return this;        }      }      public override Builder MergeFrom(StreamingInputCallResponse other) {        if (other == global::grpc.testing.StreamingInputCallResponse.DefaultInstance) return this;        PrepareBuilder();        if (other.HasAggregatedPayloadSize) {          AggregatedPayloadSize = other.AggregatedPayloadSize;        }        this.MergeUnknownFields(other.UnknownFields);        return this;      }      public override Builder MergeFrom(pb::ICodedInputStream input) {        return MergeFrom(input, pb::ExtensionRegistry.Empty);      }      public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {        PrepareBuilder();        pb::UnknownFieldSet.Builder unknownFields = null;        uint tag;        string field_name;        while (input.ReadTag(out tag, out field_name)) {          if(tag == 0 && field_name != null) {            int field_ordinal = global::System.Array.BinarySearch(_streamingInputCallResponseFieldNames, field_name, global::System.StringComparer.Ordinal);            if(field_ordinal >= 0)              tag = _streamingInputCallResponseFieldTags[field_ordinal];            else {              if (unknownFields == null) {                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);              }              ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);              continue;            }          }          switch (tag) {            case 0: {              throw pb::InvalidProtocolBufferException.InvalidTag();            }            default: {              if (pb::WireFormat.IsEndGroupTag(tag)) {                if (unknownFields != null) {                  this.UnknownFields = unknownFields.Build();                }                return this;              }              if (unknownFields == null) {                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);              }              ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);              break;            }            case 8: {              result.hasAggregatedPayloadSize = input.ReadInt32(ref result.aggregatedPayloadSize_);              break;            }          }        }        if (unknownFields != null) {          this.UnknownFields = unknownFields.Build();        }        return this;      }      public bool HasAggregatedPayloadSize {        get { return result.hasAggregatedPayloadSize; }      }      public int AggregatedPayloadSize {        get { return result.AggregatedPayloadSize; }        set { SetAggregatedPayloadSize(value); }      }      public Builder SetAggregatedPayloadSize(int value) {        PrepareBuilder();        result.hasAggregatedPayloadSize = true;        result.aggregatedPayloadSize_ = value;        return this;      }      public Builder ClearAggregatedPayloadSize() {        PrepareBuilder();        result.hasAggregatedPayloadSize = false;        result.aggregatedPayloadSize_ = 0;        return this;      }    }    static StreamingInputCallResponse() {      object.ReferenceEquals(global::grpc.testing.Messages.Descriptor, null);    }  }  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]  public sealed partial class ResponseParameters : pb::GeneratedMessage<ResponseParameters, ResponseParameters.Builder> {    private ResponseParameters() { }    private static readonly ResponseParameters defaultInstance = new ResponseParameters().MakeReadOnly();    private static readonly string[] _responseParametersFieldNames = new string[] { "interval_us", "size" };    private static readonly uint[] _responseParametersFieldTags = new uint[] { 16, 8 };    public static ResponseParameters DefaultInstance {      get { return defaultInstance; }    }    public override ResponseParameters DefaultInstanceForType {      get { return DefaultInstance; }    }    protected override ResponseParameters ThisMessage {      get { return this; }    }    public static pbd::MessageDescriptor Descriptor {      get { return global::grpc.testing.Messages.internal__static_grpc_testing_ResponseParameters__Descriptor; }    }    protected override pb::FieldAccess.FieldAccessorTable<ResponseParameters, ResponseParameters.Builder> InternalFieldAccessors {      get { return global::grpc.testing.Messages.internal__static_grpc_testing_ResponseParameters__FieldAccessorTable; }    }    public const int SizeFieldNumber = 1;    private bool hasSize;    private int size_;    public bool HasSize {      get { return hasSize; }    }    public int Size {      get { return size_; }    }    public const int IntervalUsFieldNumber = 2;    private bool hasIntervalUs;    private int intervalUs_;    public bool HasIntervalUs {      get { return hasIntervalUs; }    }    public int IntervalUs {      get { return intervalUs_; }    }    public override bool IsInitialized {      get {        return true;      }    }    public override void WriteTo(pb::ICodedOutputStream output) {      int size = SerializedSize;      string[] field_names = _responseParametersFieldNames;      if (hasSize) {        output.WriteInt32(1, field_names[1], Size);      }      if (hasIntervalUs) {        output.WriteInt32(2, field_names[0], IntervalUs);      }      UnknownFields.WriteTo(output);    }    private int memoizedSerializedSize = -1;    public override int SerializedSize {      get {        int size = memoizedSerializedSize;        if (size != -1) return size;        size = 0;        if (hasSize) {          size += pb::CodedOutputStream.ComputeInt32Size(1, Size);        }        if (hasIntervalUs) {          size += pb::CodedOutputStream.ComputeInt32Size(2, IntervalUs);        }        size += UnknownFields.SerializedSize;        memoizedSerializedSize = size;        return size;      }    }    public static ResponseParameters ParseFrom(pb::ByteString data) {      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();    }    public static ResponseParameters ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();    }    public static ResponseParameters ParseFrom(byte[] data) {      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();    }    public static ResponseParameters ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();    }    public static ResponseParameters ParseFrom(global::System.IO.Stream input) {      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();    }    public static ResponseParameters ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();    }    public static ResponseParameters ParseDelimitedFrom(global::System.IO.Stream input) {      return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();    }    public static ResponseParameters ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {      return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();    }    public static ResponseParameters ParseFrom(pb::ICodedInputStream input) {      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();    }    public static ResponseParameters ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();    }    private ResponseParameters MakeReadOnly() {      return this;    }    public static Builder CreateBuilder() { return new Builder(); }    public override Builder ToBuilder() { return CreateBuilder(this); }    public override Builder CreateBuilderForType() { return new Builder(); }    public static Builder CreateBuilder(ResponseParameters prototype) {      return new Builder(prototype);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]    public sealed partial class Builder : pb::GeneratedBuilder<ResponseParameters, Builder> {      protected override Builder ThisBuilder {        get { return this; }      }      public Builder() {        result = DefaultInstance;        resultIsReadOnly = true;      }      internal Builder(ResponseParameters cloneFrom) {        result = cloneFrom;        resultIsReadOnly = true;      }      private bool resultIsReadOnly;      private ResponseParameters result;      private ResponseParameters PrepareBuilder() {        if (resultIsReadOnly) {          ResponseParameters original = result;          result = new ResponseParameters();          resultIsReadOnly = false;          MergeFrom(original);        }        return result;      }      public override bool IsInitialized {        get { return result.IsInitialized; }      }      protected override ResponseParameters MessageBeingBuilt {        get { return PrepareBuilder(); }      }      public override Builder Clear() {        result = DefaultInstance;        resultIsReadOnly = true;        return this;      }      public override Builder Clone() {        if (resultIsReadOnly) {          return new Builder(result);        } else {          return new Builder().MergeFrom(result);        }      }      public override pbd::MessageDescriptor DescriptorForType {        get { return global::grpc.testing.ResponseParameters.Descriptor; }      }      public override ResponseParameters DefaultInstanceForType {        get { return global::grpc.testing.ResponseParameters.DefaultInstance; }      }      public override ResponseParameters BuildPartial() {        if (resultIsReadOnly) {          return result;        }        resultIsReadOnly = true;        return result.MakeReadOnly();      }      public override Builder MergeFrom(pb::IMessage other) {        if (other is ResponseParameters) {          return MergeFrom((ResponseParameters) other);        } else {          base.MergeFrom(other);          return this;        }      }      public override Builder MergeFrom(ResponseParameters other) {        if (other == global::grpc.testing.ResponseParameters.DefaultInstance) return this;        PrepareBuilder();        if (other.HasSize) {          Size = other.Size;        }        if (other.HasIntervalUs) {          IntervalUs = other.IntervalUs;        }        this.MergeUnknownFields(other.UnknownFields);        return this;      }      public override Builder MergeFrom(pb::ICodedInputStream input) {        return MergeFrom(input, pb::ExtensionRegistry.Empty);      }      public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {        PrepareBuilder();        pb::UnknownFieldSet.Builder unknownFields = null;        uint tag;        string field_name;        while (input.ReadTag(out tag, out field_name)) {          if(tag == 0 && field_name != null) {            int field_ordinal = global::System.Array.BinarySearch(_responseParametersFieldNames, field_name, global::System.StringComparer.Ordinal);            if(field_ordinal >= 0)              tag = _responseParametersFieldTags[field_ordinal];            else {              if (unknownFields == null) {                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);              }              ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);              continue;            }          }          switch (tag) {            case 0: {              throw pb::InvalidProtocolBufferException.InvalidTag();            }            default: {              if (pb::WireFormat.IsEndGroupTag(tag)) {                if (unknownFields != null) {                  this.UnknownFields = unknownFields.Build();                }                return this;              }              if (unknownFields == null) {                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);              }              ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);              break;            }            case 8: {              result.hasSize = input.ReadInt32(ref result.size_);              break;            }            case 16: {              result.hasIntervalUs = input.ReadInt32(ref result.intervalUs_);              break;            }          }        }        if (unknownFields != null) {          this.UnknownFields = unknownFields.Build();        }        return this;      }      public bool HasSize {        get { return result.hasSize; }      }      public int Size {        get { return result.Size; }        set { SetSize(value); }      }      public Builder SetSize(int value) {        PrepareBuilder();        result.hasSize = true;        result.size_ = value;        return this;      }      public Builder ClearSize() {        PrepareBuilder();        result.hasSize = false;        result.size_ = 0;        return this;      }      public bool HasIntervalUs {        get { return result.hasIntervalUs; }      }      public int IntervalUs {        get { return result.IntervalUs; }        set { SetIntervalUs(value); }      }      public Builder SetIntervalUs(int value) {        PrepareBuilder();        result.hasIntervalUs = true;        result.intervalUs_ = value;        return this;      }      public Builder ClearIntervalUs() {        PrepareBuilder();        result.hasIntervalUs = false;        result.intervalUs_ = 0;        return this;      }    }    static ResponseParameters() {      object.ReferenceEquals(global::grpc.testing.Messages.Descriptor, null);    }  }  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]  public sealed partial class StreamingOutputCallRequest : pb::GeneratedMessage<StreamingOutputCallRequest, StreamingOutputCallRequest.Builder> {    private StreamingOutputCallRequest() { }    private static readonly StreamingOutputCallRequest defaultInstance = new StreamingOutputCallRequest().MakeReadOnly();    private static readonly string[] _streamingOutputCallRequestFieldNames = new string[] { "payload", "response_parameters", "response_type" };    private static readonly uint[] _streamingOutputCallRequestFieldTags = new uint[] { 26, 18, 8 };    public static StreamingOutputCallRequest DefaultInstance {      get { return defaultInstance; }    }    public override StreamingOutputCallRequest DefaultInstanceForType {      get { return DefaultInstance; }    }    protected override StreamingOutputCallRequest ThisMessage {      get { return this; }    }    public static pbd::MessageDescriptor Descriptor {      get { return global::grpc.testing.Messages.internal__static_grpc_testing_StreamingOutputCallRequest__Descriptor; }    }    protected override pb::FieldAccess.FieldAccessorTable<StreamingOutputCallRequest, StreamingOutputCallRequest.Builder> InternalFieldAccessors {      get { return global::grpc.testing.Messages.internal__static_grpc_testing_StreamingOutputCallRequest__FieldAccessorTable; }    }    public const int ResponseTypeFieldNumber = 1;    private bool hasResponseType;    private global::grpc.testing.PayloadType responseType_ = global::grpc.testing.PayloadType.COMPRESSABLE;    public bool HasResponseType {      get { return hasResponseType; }    }    public global::grpc.testing.PayloadType ResponseType {      get { return responseType_; }    }    public const int ResponseParametersFieldNumber = 2;    private pbc::PopsicleList<global::grpc.testing.ResponseParameters> responseParameters_ = new pbc::PopsicleList<global::grpc.testing.ResponseParameters>();    public scg::IList<global::grpc.testing.ResponseParameters> ResponseParametersList {      get { return responseParameters_; }    }    public int ResponseParametersCount {      get { return responseParameters_.Count; }    }    public global::grpc.testing.ResponseParameters GetResponseParameters(int index) {      return responseParameters_[index];    }    public const int PayloadFieldNumber = 3;    private bool hasPayload;    private global::grpc.testing.Payload payload_;    public bool HasPayload {      get { return hasPayload; }    }    public global::grpc.testing.Payload Payload {      get { return payload_ ?? global::grpc.testing.Payload.DefaultInstance; }    }    public override bool IsInitialized {      get {        return true;      }    }    public override void WriteTo(pb::ICodedOutputStream output) {      int size = SerializedSize;      string[] field_names = _streamingOutputCallRequestFieldNames;      if (hasResponseType) {        output.WriteEnum(1, field_names[2], (int) ResponseType, ResponseType);      }      if (responseParameters_.Count > 0) {        output.WriteMessageArray(2, field_names[1], responseParameters_);      }      if (hasPayload) {        output.WriteMessage(3, field_names[0], Payload);      }      UnknownFields.WriteTo(output);    }    private int memoizedSerializedSize = -1;    public override int SerializedSize {      get {        int size = memoizedSerializedSize;        if (size != -1) return size;        size = 0;        if (hasResponseType) {          size += pb::CodedOutputStream.ComputeEnumSize(1, (int) ResponseType);        }        foreach (global::grpc.testing.ResponseParameters element in ResponseParametersList) {          size += pb::CodedOutputStream.ComputeMessageSize(2, element);        }        if (hasPayload) {          size += pb::CodedOutputStream.ComputeMessageSize(3, Payload);        }        size += UnknownFields.SerializedSize;        memoizedSerializedSize = size;        return size;      }    }    public static StreamingOutputCallRequest ParseFrom(pb::ByteString data) {      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();    }    public static StreamingOutputCallRequest ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();    }    public static StreamingOutputCallRequest ParseFrom(byte[] data) {      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();    }    public static StreamingOutputCallRequest ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();    }    public static StreamingOutputCallRequest ParseFrom(global::System.IO.Stream input) {      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();    }    public static StreamingOutputCallRequest ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();    }    public static StreamingOutputCallRequest ParseDelimitedFrom(global::System.IO.Stream input) {      return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();    }    public static StreamingOutputCallRequest ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {      return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();    }    public static StreamingOutputCallRequest ParseFrom(pb::ICodedInputStream input) {      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();    }    public static StreamingOutputCallRequest ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();    }    private StreamingOutputCallRequest MakeReadOnly() {      responseParameters_.MakeReadOnly();      return this;    }    public static Builder CreateBuilder() { return new Builder(); }    public override Builder ToBuilder() { return CreateBuilder(this); }    public override Builder CreateBuilderForType() { return new Builder(); }    public static Builder CreateBuilder(StreamingOutputCallRequest prototype) {      return new Builder(prototype);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]    public sealed partial class Builder : pb::GeneratedBuilder<StreamingOutputCallRequest, Builder> {      protected override Builder ThisBuilder {        get { return this; }      }      public Builder() {        result = DefaultInstance;        resultIsReadOnly = true;      }      internal Builder(StreamingOutputCallRequest cloneFrom) {        result = cloneFrom;        resultIsReadOnly = true;      }      private bool resultIsReadOnly;      private StreamingOutputCallRequest result;      private StreamingOutputCallRequest PrepareBuilder() {        if (resultIsReadOnly) {          StreamingOutputCallRequest original = result;          result = new StreamingOutputCallRequest();          resultIsReadOnly = false;          MergeFrom(original);        }        return result;      }      public override bool IsInitialized {        get { return result.IsInitialized; }      }      protected override StreamingOutputCallRequest MessageBeingBuilt {        get { return PrepareBuilder(); }      }      public override Builder Clear() {        result = DefaultInstance;        resultIsReadOnly = true;        return this;      }      public override Builder Clone() {        if (resultIsReadOnly) {          return new Builder(result);        } else {          return new Builder().MergeFrom(result);        }      }      public override pbd::MessageDescriptor DescriptorForType {        get { return global::grpc.testing.StreamingOutputCallRequest.Descriptor; }      }      public override StreamingOutputCallRequest DefaultInstanceForType {        get { return global::grpc.testing.StreamingOutputCallRequest.DefaultInstance; }      }      public override StreamingOutputCallRequest BuildPartial() {        if (resultIsReadOnly) {          return result;        }        resultIsReadOnly = true;        return result.MakeReadOnly();      }      public override Builder MergeFrom(pb::IMessage other) {        if (other is StreamingOutputCallRequest) {          return MergeFrom((StreamingOutputCallRequest) other);        } else {          base.MergeFrom(other);          return this;        }      }      public override Builder MergeFrom(StreamingOutputCallRequest other) {        if (other == global::grpc.testing.StreamingOutputCallRequest.DefaultInstance) return this;        PrepareBuilder();        if (other.HasResponseType) {          ResponseType = other.ResponseType;        }        if (other.responseParameters_.Count != 0) {          result.responseParameters_.Add(other.responseParameters_);        }        if (other.HasPayload) {          MergePayload(other.Payload);        }        this.MergeUnknownFields(other.UnknownFields);        return this;      }      public override Builder MergeFrom(pb::ICodedInputStream input) {        return MergeFrom(input, pb::ExtensionRegistry.Empty);      }      public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {        PrepareBuilder();        pb::UnknownFieldSet.Builder unknownFields = null;        uint tag;        string field_name;        while (input.ReadTag(out tag, out field_name)) {          if(tag == 0 && field_name != null) {            int field_ordinal = global::System.Array.BinarySearch(_streamingOutputCallRequestFieldNames, field_name, global::System.StringComparer.Ordinal);            if(field_ordinal >= 0)              tag = _streamingOutputCallRequestFieldTags[field_ordinal];            else {              if (unknownFields == null) {                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);              }              ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);              continue;            }          }          switch (tag) {            case 0: {              throw pb::InvalidProtocolBufferException.InvalidTag();            }            default: {              if (pb::WireFormat.IsEndGroupTag(tag)) {                if (unknownFields != null) {                  this.UnknownFields = unknownFields.Build();                }                return this;              }              if (unknownFields == null) {                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);              }              ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);              break;            }            case 8: {              object unknown;              if(input.ReadEnum(ref result.responseType_, out unknown)) {                result.hasResponseType = true;              } else if(unknown is int) {                if (unknownFields == null) {                  unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);                }                unknownFields.MergeVarintField(1, (ulong)(int)unknown);              }              break;            }            case 18: {              input.ReadMessageArray(tag, field_name, result.responseParameters_, global::grpc.testing.ResponseParameters.DefaultInstance, extensionRegistry);              break;            }            case 26: {              global::grpc.testing.Payload.Builder subBuilder = global::grpc.testing.Payload.CreateBuilder();              if (result.hasPayload) {                subBuilder.MergeFrom(Payload);              }              input.ReadMessage(subBuilder, extensionRegistry);              Payload = subBuilder.BuildPartial();              break;            }          }        }        if (unknownFields != null) {          this.UnknownFields = unknownFields.Build();        }        return this;      }      public bool HasResponseType {       get { return result.hasResponseType; }      }      public global::grpc.testing.PayloadType ResponseType {        get { return result.ResponseType; }        set { SetResponseType(value); }      }      public Builder SetResponseType(global::grpc.testing.PayloadType value) {        PrepareBuilder();        result.hasResponseType = true;        result.responseType_ = value;        return this;      }      public Builder ClearResponseType() {        PrepareBuilder();        result.hasResponseType = false;        result.responseType_ = global::grpc.testing.PayloadType.COMPRESSABLE;        return this;      }      public pbc::IPopsicleList<global::grpc.testing.ResponseParameters> ResponseParametersList {        get { return PrepareBuilder().responseParameters_; }      }      public int ResponseParametersCount {        get { return result.ResponseParametersCount; }      }      public global::grpc.testing.ResponseParameters GetResponseParameters(int index) {        return result.GetResponseParameters(index);      }      public Builder SetResponseParameters(int index, global::grpc.testing.ResponseParameters value) {        pb::ThrowHelper.ThrowIfNull(value, "value");        PrepareBuilder();        result.responseParameters_[index] = value;        return this;      }      public Builder SetResponseParameters(int index, global::grpc.testing.ResponseParameters.Builder builderForValue) {        pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");        PrepareBuilder();        result.responseParameters_[index] = builderForValue.Build();        return this;      }      public Builder AddResponseParameters(global::grpc.testing.ResponseParameters value) {        pb::ThrowHelper.ThrowIfNull(value, "value");        PrepareBuilder();        result.responseParameters_.Add(value);        return this;      }      public Builder AddResponseParameters(global::grpc.testing.ResponseParameters.Builder builderForValue) {        pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");        PrepareBuilder();        result.responseParameters_.Add(builderForValue.Build());        return this;      }      public Builder AddRangeResponseParameters(scg::IEnumerable<global::grpc.testing.ResponseParameters> values) {        PrepareBuilder();        result.responseParameters_.Add(values);        return this;      }      public Builder ClearResponseParameters() {        PrepareBuilder();        result.responseParameters_.Clear();        return this;      }      public bool HasPayload {       get { return result.hasPayload; }      }      public global::grpc.testing.Payload Payload {        get { return result.Payload; }        set { SetPayload(value); }      }      public Builder SetPayload(global::grpc.testing.Payload value) {        pb::ThrowHelper.ThrowIfNull(value, "value");        PrepareBuilder();        result.hasPayload = true;        result.payload_ = value;        return this;      }      public Builder SetPayload(global::grpc.testing.Payload.Builder builderForValue) {        pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");        PrepareBuilder();        result.hasPayload = true;        result.payload_ = builderForValue.Build();        return this;      }      public Builder MergePayload(global::grpc.testing.Payload value) {        pb::ThrowHelper.ThrowIfNull(value, "value");        PrepareBuilder();        if (result.hasPayload &&            result.payload_ != global::grpc.testing.Payload.DefaultInstance) {            result.payload_ = global::grpc.testing.Payload.CreateBuilder(result.payload_).MergeFrom(value).BuildPartial();        } else {          result.payload_ = value;        }        result.hasPayload = true;        return this;      }      public Builder ClearPayload() {        PrepareBuilder();        result.hasPayload = false;        result.payload_ = null;        return this;      }    }    static StreamingOutputCallRequest() {      object.ReferenceEquals(global::grpc.testing.Messages.Descriptor, null);    }  }  [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]  public sealed partial class StreamingOutputCallResponse : pb::GeneratedMessage<StreamingOutputCallResponse, StreamingOutputCallResponse.Builder> {    private StreamingOutputCallResponse() { }    private static readonly StreamingOutputCallResponse defaultInstance = new StreamingOutputCallResponse().MakeReadOnly();    private static readonly string[] _streamingOutputCallResponseFieldNames = new string[] { "payload" };    private static readonly uint[] _streamingOutputCallResponseFieldTags = new uint[] { 10 };    public static StreamingOutputCallResponse DefaultInstance {      get { return defaultInstance; }    }    public override StreamingOutputCallResponse DefaultInstanceForType {      get { return DefaultInstance; }    }    protected override StreamingOutputCallResponse ThisMessage {      get { return this; }    }    public static pbd::MessageDescriptor Descriptor {      get { return global::grpc.testing.Messages.internal__static_grpc_testing_StreamingOutputCallResponse__Descriptor; }    }    protected override pb::FieldAccess.FieldAccessorTable<StreamingOutputCallResponse, StreamingOutputCallResponse.Builder> InternalFieldAccessors {      get { return global::grpc.testing.Messages.internal__static_grpc_testing_StreamingOutputCallResponse__FieldAccessorTable; }    }    public const int PayloadFieldNumber = 1;    private bool hasPayload;    private global::grpc.testing.Payload payload_;    public bool HasPayload {      get { return hasPayload; }    }    public global::grpc.testing.Payload Payload {      get { return payload_ ?? global::grpc.testing.Payload.DefaultInstance; }    }    public override bool IsInitialized {      get {        return true;      }    }    public override void WriteTo(pb::ICodedOutputStream output) {      int size = SerializedSize;      string[] field_names = _streamingOutputCallResponseFieldNames;      if (hasPayload) {        output.WriteMessage(1, field_names[0], Payload);      }      UnknownFields.WriteTo(output);    }    private int memoizedSerializedSize = -1;    public override int SerializedSize {      get {        int size = memoizedSerializedSize;        if (size != -1) return size;        size = 0;        if (hasPayload) {          size += pb::CodedOutputStream.ComputeMessageSize(1, Payload);        }        size += UnknownFields.SerializedSize;        memoizedSerializedSize = size;        return size;      }    }    public static StreamingOutputCallResponse ParseFrom(pb::ByteString data) {      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();    }    public static StreamingOutputCallResponse ParseFrom(pb::ByteString data, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();    }    public static StreamingOutputCallResponse ParseFrom(byte[] data) {      return ((Builder) CreateBuilder().MergeFrom(data)).BuildParsed();    }    public static StreamingOutputCallResponse ParseFrom(byte[] data, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(data, extensionRegistry)).BuildParsed();    }    public static StreamingOutputCallResponse ParseFrom(global::System.IO.Stream input) {      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();    }    public static StreamingOutputCallResponse ParseFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();    }    public static StreamingOutputCallResponse ParseDelimitedFrom(global::System.IO.Stream input) {      return CreateBuilder().MergeDelimitedFrom(input).BuildParsed();    }    public static StreamingOutputCallResponse ParseDelimitedFrom(global::System.IO.Stream input, pb::ExtensionRegistry extensionRegistry) {      return CreateBuilder().MergeDelimitedFrom(input, extensionRegistry).BuildParsed();    }    public static StreamingOutputCallResponse ParseFrom(pb::ICodedInputStream input) {      return ((Builder) CreateBuilder().MergeFrom(input)).BuildParsed();    }    public static StreamingOutputCallResponse ParseFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {      return ((Builder) CreateBuilder().MergeFrom(input, extensionRegistry)).BuildParsed();    }    private StreamingOutputCallResponse MakeReadOnly() {      return this;    }    public static Builder CreateBuilder() { return new Builder(); }    public override Builder ToBuilder() { return CreateBuilder(this); }    public override Builder CreateBuilderForType() { return new Builder(); }    public static Builder CreateBuilder(StreamingOutputCallResponse prototype) {      return new Builder(prototype);    }    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]    public sealed partial class Builder : pb::GeneratedBuilder<StreamingOutputCallResponse, Builder> {      protected override Builder ThisBuilder {        get { return this; }      }      public Builder() {        result = DefaultInstance;        resultIsReadOnly = true;      }      internal Builder(StreamingOutputCallResponse cloneFrom) {        result = cloneFrom;        resultIsReadOnly = true;      }      private bool resultIsReadOnly;      private StreamingOutputCallResponse result;      private StreamingOutputCallResponse PrepareBuilder() {        if (resultIsReadOnly) {          StreamingOutputCallResponse original = result;          result = new StreamingOutputCallResponse();          resultIsReadOnly = false;          MergeFrom(original);        }        return result;      }      public override bool IsInitialized {        get { return result.IsInitialized; }      }      protected override StreamingOutputCallResponse MessageBeingBuilt {        get { return PrepareBuilder(); }      }      public override Builder Clear() {        result = DefaultInstance;        resultIsReadOnly = true;        return this;      }      public override Builder Clone() {        if (resultIsReadOnly) {          return new Builder(result);        } else {          return new Builder().MergeFrom(result);        }      }      public override pbd::MessageDescriptor DescriptorForType {        get { return global::grpc.testing.StreamingOutputCallResponse.Descriptor; }      }      public override StreamingOutputCallResponse DefaultInstanceForType {        get { return global::grpc.testing.StreamingOutputCallResponse.DefaultInstance; }      }      public override StreamingOutputCallResponse BuildPartial() {        if (resultIsReadOnly) {          return result;        }        resultIsReadOnly = true;        return result.MakeReadOnly();      }      public override Builder MergeFrom(pb::IMessage other) {        if (other is StreamingOutputCallResponse) {          return MergeFrom((StreamingOutputCallResponse) other);        } else {          base.MergeFrom(other);          return this;        }      }      public override Builder MergeFrom(StreamingOutputCallResponse other) {        if (other == global::grpc.testing.StreamingOutputCallResponse.DefaultInstance) return this;        PrepareBuilder();        if (other.HasPayload) {          MergePayload(other.Payload);        }        this.MergeUnknownFields(other.UnknownFields);        return this;      }      public override Builder MergeFrom(pb::ICodedInputStream input) {        return MergeFrom(input, pb::ExtensionRegistry.Empty);      }      public override Builder MergeFrom(pb::ICodedInputStream input, pb::ExtensionRegistry extensionRegistry) {        PrepareBuilder();        pb::UnknownFieldSet.Builder unknownFields = null;        uint tag;        string field_name;        while (input.ReadTag(out tag, out field_name)) {          if(tag == 0 && field_name != null) {            int field_ordinal = global::System.Array.BinarySearch(_streamingOutputCallResponseFieldNames, field_name, global::System.StringComparer.Ordinal);            if(field_ordinal >= 0)              tag = _streamingOutputCallResponseFieldTags[field_ordinal];            else {              if (unknownFields == null) {                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);              }              ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);              continue;            }          }          switch (tag) {            case 0: {              throw pb::InvalidProtocolBufferException.InvalidTag();            }            default: {              if (pb::WireFormat.IsEndGroupTag(tag)) {                if (unknownFields != null) {                  this.UnknownFields = unknownFields.Build();                }                return this;              }              if (unknownFields == null) {                unknownFields = pb::UnknownFieldSet.CreateBuilder(this.UnknownFields);              }              ParseUnknownField(input, unknownFields, extensionRegistry, tag, field_name);              break;            }            case 10: {              global::grpc.testing.Payload.Builder subBuilder = global::grpc.testing.Payload.CreateBuilder();              if (result.hasPayload) {                subBuilder.MergeFrom(Payload);              }              input.ReadMessage(subBuilder, extensionRegistry);              Payload = subBuilder.BuildPartial();              break;            }          }        }        if (unknownFields != null) {          this.UnknownFields = unknownFields.Build();        }        return this;      }      public bool HasPayload {       get { return result.hasPayload; }      }      public global::grpc.testing.Payload Payload {        get { return result.Payload; }        set { SetPayload(value); }      }      public Builder SetPayload(global::grpc.testing.Payload value) {        pb::ThrowHelper.ThrowIfNull(value, "value");        PrepareBuilder();        result.hasPayload = true;        result.payload_ = value;        return this;      }      public Builder SetPayload(global::grpc.testing.Payload.Builder builderForValue) {        pb::ThrowHelper.ThrowIfNull(builderForValue, "builderForValue");        PrepareBuilder();        result.hasPayload = true;        result.payload_ = builderForValue.Build();        return this;      }      public Builder MergePayload(global::grpc.testing.Payload value) {        pb::ThrowHelper.ThrowIfNull(value, "value");        PrepareBuilder();        if (result.hasPayload &&            result.payload_ != global::grpc.testing.Payload.DefaultInstance) {            result.payload_ = global::grpc.testing.Payload.CreateBuilder(result.payload_).MergeFrom(value).BuildPartial();        } else {          result.payload_ = value;        }        result.hasPayload = true;        return this;      }      public Builder ClearPayload() {        PrepareBuilder();        result.hasPayload = false;        result.payload_ = null;        return this;      }    }    static StreamingOutputCallResponse() {      object.ReferenceEquals(global::grpc.testing.Messages.Descriptor, null);    }  }  #endregion}#endregion Designer generated code
 |