001// Generated by the protocol buffer compiler.  DO NOT EDIT!
002// source: hapi/chart/metadata.proto
003
004package hapi.chart;
005
006public final class MetadataOuterClass {
007  private MetadataOuterClass() {}
008  public static void registerAllExtensions(
009      com.google.protobuf.ExtensionRegistryLite registry) {
010  }
011
012  public static void registerAllExtensions(
013      com.google.protobuf.ExtensionRegistry registry) {
014    registerAllExtensions(
015        (com.google.protobuf.ExtensionRegistryLite) registry);
016  }
017  public interface MaintainerOrBuilder extends
018      // @@protoc_insertion_point(interface_extends:hapi.chart.Maintainer)
019      com.google.protobuf.MessageOrBuilder {
020
021    /**
022     * <pre>
023     * Name is a user name or organization name
024     * </pre>
025     *
026     * <code>string name = 1;</code>
027     */
028    java.lang.String getName();
029    /**
030     * <pre>
031     * Name is a user name or organization name
032     * </pre>
033     *
034     * <code>string name = 1;</code>
035     */
036    com.google.protobuf.ByteString
037        getNameBytes();
038
039    /**
040     * <pre>
041     * Email is an optional email address to contact the named maintainer
042     * </pre>
043     *
044     * <code>string email = 2;</code>
045     */
046    java.lang.String getEmail();
047    /**
048     * <pre>
049     * Email is an optional email address to contact the named maintainer
050     * </pre>
051     *
052     * <code>string email = 2;</code>
053     */
054    com.google.protobuf.ByteString
055        getEmailBytes();
056  }
057  /**
058   * <pre>
059   * Maintainer describes a Chart maintainer.
060   * </pre>
061   *
062   * Protobuf type {@code hapi.chart.Maintainer}
063   */
064  public  static final class Maintainer extends
065      com.google.protobuf.GeneratedMessageV3 implements
066      // @@protoc_insertion_point(message_implements:hapi.chart.Maintainer)
067      MaintainerOrBuilder {
068  private static final long serialVersionUID = 0L;
069    // Use Maintainer.newBuilder() to construct.
070    private Maintainer(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
071      super(builder);
072    }
073    private Maintainer() {
074      name_ = "";
075      email_ = "";
076    }
077
078    @java.lang.Override
079    public final com.google.protobuf.UnknownFieldSet
080    getUnknownFields() {
081      return this.unknownFields;
082    }
083    private Maintainer(
084        com.google.protobuf.CodedInputStream input,
085        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
086        throws com.google.protobuf.InvalidProtocolBufferException {
087      this();
088      int mutable_bitField0_ = 0;
089      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
090          com.google.protobuf.UnknownFieldSet.newBuilder();
091      try {
092        boolean done = false;
093        while (!done) {
094          int tag = input.readTag();
095          switch (tag) {
096            case 0:
097              done = true;
098              break;
099            default: {
100              if (!parseUnknownFieldProto3(
101                  input, unknownFields, extensionRegistry, tag)) {
102                done = true;
103              }
104              break;
105            }
106            case 10: {
107              java.lang.String s = input.readStringRequireUtf8();
108
109              name_ = s;
110              break;
111            }
112            case 18: {
113              java.lang.String s = input.readStringRequireUtf8();
114
115              email_ = s;
116              break;
117            }
118          }
119        }
120      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
121        throw e.setUnfinishedMessage(this);
122      } catch (java.io.IOException e) {
123        throw new com.google.protobuf.InvalidProtocolBufferException(
124            e).setUnfinishedMessage(this);
125      } finally {
126        this.unknownFields = unknownFields.build();
127        makeExtensionsImmutable();
128      }
129    }
130    public static final com.google.protobuf.Descriptors.Descriptor
131        getDescriptor() {
132      return hapi.chart.MetadataOuterClass.internal_static_hapi_chart_Maintainer_descriptor;
133    }
134
135    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
136        internalGetFieldAccessorTable() {
137      return hapi.chart.MetadataOuterClass.internal_static_hapi_chart_Maintainer_fieldAccessorTable
138          .ensureFieldAccessorsInitialized(
139              hapi.chart.MetadataOuterClass.Maintainer.class, hapi.chart.MetadataOuterClass.Maintainer.Builder.class);
140    }
141
142    public static final int NAME_FIELD_NUMBER = 1;
143    private volatile java.lang.Object name_;
144    /**
145     * <pre>
146     * Name is a user name or organization name
147     * </pre>
148     *
149     * <code>string name = 1;</code>
150     */
151    public java.lang.String getName() {
152      java.lang.Object ref = name_;
153      if (ref instanceof java.lang.String) {
154        return (java.lang.String) ref;
155      } else {
156        com.google.protobuf.ByteString bs = 
157            (com.google.protobuf.ByteString) ref;
158        java.lang.String s = bs.toStringUtf8();
159        name_ = s;
160        return s;
161      }
162    }
163    /**
164     * <pre>
165     * Name is a user name or organization name
166     * </pre>
167     *
168     * <code>string name = 1;</code>
169     */
170    public com.google.protobuf.ByteString
171        getNameBytes() {
172      java.lang.Object ref = name_;
173      if (ref instanceof java.lang.String) {
174        com.google.protobuf.ByteString b = 
175            com.google.protobuf.ByteString.copyFromUtf8(
176                (java.lang.String) ref);
177        name_ = b;
178        return b;
179      } else {
180        return (com.google.protobuf.ByteString) ref;
181      }
182    }
183
184    public static final int EMAIL_FIELD_NUMBER = 2;
185    private volatile java.lang.Object email_;
186    /**
187     * <pre>
188     * Email is an optional email address to contact the named maintainer
189     * </pre>
190     *
191     * <code>string email = 2;</code>
192     */
193    public java.lang.String getEmail() {
194      java.lang.Object ref = email_;
195      if (ref instanceof java.lang.String) {
196        return (java.lang.String) ref;
197      } else {
198        com.google.protobuf.ByteString bs = 
199            (com.google.protobuf.ByteString) ref;
200        java.lang.String s = bs.toStringUtf8();
201        email_ = s;
202        return s;
203      }
204    }
205    /**
206     * <pre>
207     * Email is an optional email address to contact the named maintainer
208     * </pre>
209     *
210     * <code>string email = 2;</code>
211     */
212    public com.google.protobuf.ByteString
213        getEmailBytes() {
214      java.lang.Object ref = email_;
215      if (ref instanceof java.lang.String) {
216        com.google.protobuf.ByteString b = 
217            com.google.protobuf.ByteString.copyFromUtf8(
218                (java.lang.String) ref);
219        email_ = b;
220        return b;
221      } else {
222        return (com.google.protobuf.ByteString) ref;
223      }
224    }
225
226    private byte memoizedIsInitialized = -1;
227    public final boolean isInitialized() {
228      byte isInitialized = memoizedIsInitialized;
229      if (isInitialized == 1) return true;
230      if (isInitialized == 0) return false;
231
232      memoizedIsInitialized = 1;
233      return true;
234    }
235
236    public void writeTo(com.google.protobuf.CodedOutputStream output)
237                        throws java.io.IOException {
238      if (!getNameBytes().isEmpty()) {
239        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
240      }
241      if (!getEmailBytes().isEmpty()) {
242        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, email_);
243      }
244      unknownFields.writeTo(output);
245    }
246
247    public int getSerializedSize() {
248      int size = memoizedSize;
249      if (size != -1) return size;
250
251      size = 0;
252      if (!getNameBytes().isEmpty()) {
253        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
254      }
255      if (!getEmailBytes().isEmpty()) {
256        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, email_);
257      }
258      size += unknownFields.getSerializedSize();
259      memoizedSize = size;
260      return size;
261    }
262
263    @java.lang.Override
264    public boolean equals(final java.lang.Object obj) {
265      if (obj == this) {
266       return true;
267      }
268      if (!(obj instanceof hapi.chart.MetadataOuterClass.Maintainer)) {
269        return super.equals(obj);
270      }
271      hapi.chart.MetadataOuterClass.Maintainer other = (hapi.chart.MetadataOuterClass.Maintainer) obj;
272
273      boolean result = true;
274      result = result && getName()
275          .equals(other.getName());
276      result = result && getEmail()
277          .equals(other.getEmail());
278      result = result && unknownFields.equals(other.unknownFields);
279      return result;
280    }
281
282    @java.lang.Override
283    public int hashCode() {
284      if (memoizedHashCode != 0) {
285        return memoizedHashCode;
286      }
287      int hash = 41;
288      hash = (19 * hash) + getDescriptor().hashCode();
289      hash = (37 * hash) + NAME_FIELD_NUMBER;
290      hash = (53 * hash) + getName().hashCode();
291      hash = (37 * hash) + EMAIL_FIELD_NUMBER;
292      hash = (53 * hash) + getEmail().hashCode();
293      hash = (29 * hash) + unknownFields.hashCode();
294      memoizedHashCode = hash;
295      return hash;
296    }
297
298    public static hapi.chart.MetadataOuterClass.Maintainer parseFrom(
299        java.nio.ByteBuffer data)
300        throws com.google.protobuf.InvalidProtocolBufferException {
301      return PARSER.parseFrom(data);
302    }
303    public static hapi.chart.MetadataOuterClass.Maintainer parseFrom(
304        java.nio.ByteBuffer data,
305        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
306        throws com.google.protobuf.InvalidProtocolBufferException {
307      return PARSER.parseFrom(data, extensionRegistry);
308    }
309    public static hapi.chart.MetadataOuterClass.Maintainer parseFrom(
310        com.google.protobuf.ByteString data)
311        throws com.google.protobuf.InvalidProtocolBufferException {
312      return PARSER.parseFrom(data);
313    }
314    public static hapi.chart.MetadataOuterClass.Maintainer parseFrom(
315        com.google.protobuf.ByteString data,
316        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
317        throws com.google.protobuf.InvalidProtocolBufferException {
318      return PARSER.parseFrom(data, extensionRegistry);
319    }
320    public static hapi.chart.MetadataOuterClass.Maintainer parseFrom(byte[] data)
321        throws com.google.protobuf.InvalidProtocolBufferException {
322      return PARSER.parseFrom(data);
323    }
324    public static hapi.chart.MetadataOuterClass.Maintainer parseFrom(
325        byte[] data,
326        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
327        throws com.google.protobuf.InvalidProtocolBufferException {
328      return PARSER.parseFrom(data, extensionRegistry);
329    }
330    public static hapi.chart.MetadataOuterClass.Maintainer parseFrom(java.io.InputStream input)
331        throws java.io.IOException {
332      return com.google.protobuf.GeneratedMessageV3
333          .parseWithIOException(PARSER, input);
334    }
335    public static hapi.chart.MetadataOuterClass.Maintainer parseFrom(
336        java.io.InputStream input,
337        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
338        throws java.io.IOException {
339      return com.google.protobuf.GeneratedMessageV3
340          .parseWithIOException(PARSER, input, extensionRegistry);
341    }
342    public static hapi.chart.MetadataOuterClass.Maintainer parseDelimitedFrom(java.io.InputStream input)
343        throws java.io.IOException {
344      return com.google.protobuf.GeneratedMessageV3
345          .parseDelimitedWithIOException(PARSER, input);
346    }
347    public static hapi.chart.MetadataOuterClass.Maintainer parseDelimitedFrom(
348        java.io.InputStream input,
349        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
350        throws java.io.IOException {
351      return com.google.protobuf.GeneratedMessageV3
352          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
353    }
354    public static hapi.chart.MetadataOuterClass.Maintainer parseFrom(
355        com.google.protobuf.CodedInputStream input)
356        throws java.io.IOException {
357      return com.google.protobuf.GeneratedMessageV3
358          .parseWithIOException(PARSER, input);
359    }
360    public static hapi.chart.MetadataOuterClass.Maintainer parseFrom(
361        com.google.protobuf.CodedInputStream input,
362        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
363        throws java.io.IOException {
364      return com.google.protobuf.GeneratedMessageV3
365          .parseWithIOException(PARSER, input, extensionRegistry);
366    }
367
368    public Builder newBuilderForType() { return newBuilder(); }
369    public static Builder newBuilder() {
370      return DEFAULT_INSTANCE.toBuilder();
371    }
372    public static Builder newBuilder(hapi.chart.MetadataOuterClass.Maintainer prototype) {
373      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
374    }
375    public Builder toBuilder() {
376      return this == DEFAULT_INSTANCE
377          ? new Builder() : new Builder().mergeFrom(this);
378    }
379
380    @java.lang.Override
381    protected Builder newBuilderForType(
382        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
383      Builder builder = new Builder(parent);
384      return builder;
385    }
386    /**
387     * <pre>
388     * Maintainer describes a Chart maintainer.
389     * </pre>
390     *
391     * Protobuf type {@code hapi.chart.Maintainer}
392     */
393    public static final class Builder extends
394        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
395        // @@protoc_insertion_point(builder_implements:hapi.chart.Maintainer)
396        hapi.chart.MetadataOuterClass.MaintainerOrBuilder {
397      public static final com.google.protobuf.Descriptors.Descriptor
398          getDescriptor() {
399        return hapi.chart.MetadataOuterClass.internal_static_hapi_chart_Maintainer_descriptor;
400      }
401
402      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
403          internalGetFieldAccessorTable() {
404        return hapi.chart.MetadataOuterClass.internal_static_hapi_chart_Maintainer_fieldAccessorTable
405            .ensureFieldAccessorsInitialized(
406                hapi.chart.MetadataOuterClass.Maintainer.class, hapi.chart.MetadataOuterClass.Maintainer.Builder.class);
407      }
408
409      // Construct using hapi.chart.MetadataOuterClass.Maintainer.newBuilder()
410      private Builder() {
411        maybeForceBuilderInitialization();
412      }
413
414      private Builder(
415          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
416        super(parent);
417        maybeForceBuilderInitialization();
418      }
419      private void maybeForceBuilderInitialization() {
420        if (com.google.protobuf.GeneratedMessageV3
421                .alwaysUseFieldBuilders) {
422        }
423      }
424      public Builder clear() {
425        super.clear();
426        name_ = "";
427
428        email_ = "";
429
430        return this;
431      }
432
433      public com.google.protobuf.Descriptors.Descriptor
434          getDescriptorForType() {
435        return hapi.chart.MetadataOuterClass.internal_static_hapi_chart_Maintainer_descriptor;
436      }
437
438      public hapi.chart.MetadataOuterClass.Maintainer getDefaultInstanceForType() {
439        return hapi.chart.MetadataOuterClass.Maintainer.getDefaultInstance();
440      }
441
442      public hapi.chart.MetadataOuterClass.Maintainer build() {
443        hapi.chart.MetadataOuterClass.Maintainer result = buildPartial();
444        if (!result.isInitialized()) {
445          throw newUninitializedMessageException(result);
446        }
447        return result;
448      }
449
450      public hapi.chart.MetadataOuterClass.Maintainer buildPartial() {
451        hapi.chart.MetadataOuterClass.Maintainer result = new hapi.chart.MetadataOuterClass.Maintainer(this);
452        result.name_ = name_;
453        result.email_ = email_;
454        onBuilt();
455        return result;
456      }
457
458      public Builder clone() {
459        return (Builder) super.clone();
460      }
461      public Builder setField(
462          com.google.protobuf.Descriptors.FieldDescriptor field,
463          java.lang.Object value) {
464        return (Builder) super.setField(field, value);
465      }
466      public Builder clearField(
467          com.google.protobuf.Descriptors.FieldDescriptor field) {
468        return (Builder) super.clearField(field);
469      }
470      public Builder clearOneof(
471          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
472        return (Builder) super.clearOneof(oneof);
473      }
474      public Builder setRepeatedField(
475          com.google.protobuf.Descriptors.FieldDescriptor field,
476          int index, java.lang.Object value) {
477        return (Builder) super.setRepeatedField(field, index, value);
478      }
479      public Builder addRepeatedField(
480          com.google.protobuf.Descriptors.FieldDescriptor field,
481          java.lang.Object value) {
482        return (Builder) super.addRepeatedField(field, value);
483      }
484      public Builder mergeFrom(com.google.protobuf.Message other) {
485        if (other instanceof hapi.chart.MetadataOuterClass.Maintainer) {
486          return mergeFrom((hapi.chart.MetadataOuterClass.Maintainer)other);
487        } else {
488          super.mergeFrom(other);
489          return this;
490        }
491      }
492
493      public Builder mergeFrom(hapi.chart.MetadataOuterClass.Maintainer other) {
494        if (other == hapi.chart.MetadataOuterClass.Maintainer.getDefaultInstance()) return this;
495        if (!other.getName().isEmpty()) {
496          name_ = other.name_;
497          onChanged();
498        }
499        if (!other.getEmail().isEmpty()) {
500          email_ = other.email_;
501          onChanged();
502        }
503        this.mergeUnknownFields(other.unknownFields);
504        onChanged();
505        return this;
506      }
507
508      public final boolean isInitialized() {
509        return true;
510      }
511
512      public Builder mergeFrom(
513          com.google.protobuf.CodedInputStream input,
514          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
515          throws java.io.IOException {
516        hapi.chart.MetadataOuterClass.Maintainer parsedMessage = null;
517        try {
518          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
519        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
520          parsedMessage = (hapi.chart.MetadataOuterClass.Maintainer) e.getUnfinishedMessage();
521          throw e.unwrapIOException();
522        } finally {
523          if (parsedMessage != null) {
524            mergeFrom(parsedMessage);
525          }
526        }
527        return this;
528      }
529
530      private java.lang.Object name_ = "";
531      /**
532       * <pre>
533       * Name is a user name or organization name
534       * </pre>
535       *
536       * <code>string name = 1;</code>
537       */
538      public java.lang.String getName() {
539        java.lang.Object ref = name_;
540        if (!(ref instanceof java.lang.String)) {
541          com.google.protobuf.ByteString bs =
542              (com.google.protobuf.ByteString) ref;
543          java.lang.String s = bs.toStringUtf8();
544          name_ = s;
545          return s;
546        } else {
547          return (java.lang.String) ref;
548        }
549      }
550      /**
551       * <pre>
552       * Name is a user name or organization name
553       * </pre>
554       *
555       * <code>string name = 1;</code>
556       */
557      public com.google.protobuf.ByteString
558          getNameBytes() {
559        java.lang.Object ref = name_;
560        if (ref instanceof String) {
561          com.google.protobuf.ByteString b = 
562              com.google.protobuf.ByteString.copyFromUtf8(
563                  (java.lang.String) ref);
564          name_ = b;
565          return b;
566        } else {
567          return (com.google.protobuf.ByteString) ref;
568        }
569      }
570      /**
571       * <pre>
572       * Name is a user name or organization name
573       * </pre>
574       *
575       * <code>string name = 1;</code>
576       */
577      public Builder setName(
578          java.lang.String value) {
579        if (value == null) {
580    throw new NullPointerException();
581  }
582  
583        name_ = value;
584        onChanged();
585        return this;
586      }
587      /**
588       * <pre>
589       * Name is a user name or organization name
590       * </pre>
591       *
592       * <code>string name = 1;</code>
593       */
594      public Builder clearName() {
595        
596        name_ = getDefaultInstance().getName();
597        onChanged();
598        return this;
599      }
600      /**
601       * <pre>
602       * Name is a user name or organization name
603       * </pre>
604       *
605       * <code>string name = 1;</code>
606       */
607      public Builder setNameBytes(
608          com.google.protobuf.ByteString value) {
609        if (value == null) {
610    throw new NullPointerException();
611  }
612  checkByteStringIsUtf8(value);
613        
614        name_ = value;
615        onChanged();
616        return this;
617      }
618
619      private java.lang.Object email_ = "";
620      /**
621       * <pre>
622       * Email is an optional email address to contact the named maintainer
623       * </pre>
624       *
625       * <code>string email = 2;</code>
626       */
627      public java.lang.String getEmail() {
628        java.lang.Object ref = email_;
629        if (!(ref instanceof java.lang.String)) {
630          com.google.protobuf.ByteString bs =
631              (com.google.protobuf.ByteString) ref;
632          java.lang.String s = bs.toStringUtf8();
633          email_ = s;
634          return s;
635        } else {
636          return (java.lang.String) ref;
637        }
638      }
639      /**
640       * <pre>
641       * Email is an optional email address to contact the named maintainer
642       * </pre>
643       *
644       * <code>string email = 2;</code>
645       */
646      public com.google.protobuf.ByteString
647          getEmailBytes() {
648        java.lang.Object ref = email_;
649        if (ref instanceof String) {
650          com.google.protobuf.ByteString b = 
651              com.google.protobuf.ByteString.copyFromUtf8(
652                  (java.lang.String) ref);
653          email_ = b;
654          return b;
655        } else {
656          return (com.google.protobuf.ByteString) ref;
657        }
658      }
659      /**
660       * <pre>
661       * Email is an optional email address to contact the named maintainer
662       * </pre>
663       *
664       * <code>string email = 2;</code>
665       */
666      public Builder setEmail(
667          java.lang.String value) {
668        if (value == null) {
669    throw new NullPointerException();
670  }
671  
672        email_ = value;
673        onChanged();
674        return this;
675      }
676      /**
677       * <pre>
678       * Email is an optional email address to contact the named maintainer
679       * </pre>
680       *
681       * <code>string email = 2;</code>
682       */
683      public Builder clearEmail() {
684        
685        email_ = getDefaultInstance().getEmail();
686        onChanged();
687        return this;
688      }
689      /**
690       * <pre>
691       * Email is an optional email address to contact the named maintainer
692       * </pre>
693       *
694       * <code>string email = 2;</code>
695       */
696      public Builder setEmailBytes(
697          com.google.protobuf.ByteString value) {
698        if (value == null) {
699    throw new NullPointerException();
700  }
701  checkByteStringIsUtf8(value);
702        
703        email_ = value;
704        onChanged();
705        return this;
706      }
707      public final Builder setUnknownFields(
708          final com.google.protobuf.UnknownFieldSet unknownFields) {
709        return super.setUnknownFieldsProto3(unknownFields);
710      }
711
712      public final Builder mergeUnknownFields(
713          final com.google.protobuf.UnknownFieldSet unknownFields) {
714        return super.mergeUnknownFields(unknownFields);
715      }
716
717
718      // @@protoc_insertion_point(builder_scope:hapi.chart.Maintainer)
719    }
720
721    // @@protoc_insertion_point(class_scope:hapi.chart.Maintainer)
722    private static final hapi.chart.MetadataOuterClass.Maintainer DEFAULT_INSTANCE;
723    static {
724      DEFAULT_INSTANCE = new hapi.chart.MetadataOuterClass.Maintainer();
725    }
726
727    public static hapi.chart.MetadataOuterClass.Maintainer getDefaultInstance() {
728      return DEFAULT_INSTANCE;
729    }
730
731    private static final com.google.protobuf.Parser<Maintainer>
732        PARSER = new com.google.protobuf.AbstractParser<Maintainer>() {
733      public Maintainer parsePartialFrom(
734          com.google.protobuf.CodedInputStream input,
735          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
736          throws com.google.protobuf.InvalidProtocolBufferException {
737          return new Maintainer(input, extensionRegistry);
738      }
739    };
740
741    public static com.google.protobuf.Parser<Maintainer> parser() {
742      return PARSER;
743    }
744
745    @java.lang.Override
746    public com.google.protobuf.Parser<Maintainer> getParserForType() {
747      return PARSER;
748    }
749
750    public hapi.chart.MetadataOuterClass.Maintainer getDefaultInstanceForType() {
751      return DEFAULT_INSTANCE;
752    }
753
754  }
755
756  public interface MetadataOrBuilder extends
757      // @@protoc_insertion_point(interface_extends:hapi.chart.Metadata)
758      com.google.protobuf.MessageOrBuilder {
759
760    /**
761     * <pre>
762     * The name of the chart
763     * </pre>
764     *
765     * <code>string name = 1;</code>
766     */
767    java.lang.String getName();
768    /**
769     * <pre>
770     * The name of the chart
771     * </pre>
772     *
773     * <code>string name = 1;</code>
774     */
775    com.google.protobuf.ByteString
776        getNameBytes();
777
778    /**
779     * <pre>
780     * The URL to a relevant project page, git repo, or contact person
781     * </pre>
782     *
783     * <code>string home = 2;</code>
784     */
785    java.lang.String getHome();
786    /**
787     * <pre>
788     * The URL to a relevant project page, git repo, or contact person
789     * </pre>
790     *
791     * <code>string home = 2;</code>
792     */
793    com.google.protobuf.ByteString
794        getHomeBytes();
795
796    /**
797     * <pre>
798     * Source is the URL to the source code of this chart
799     * </pre>
800     *
801     * <code>repeated string sources = 3;</code>
802     */
803    java.util.List<java.lang.String>
804        getSourcesList();
805    /**
806     * <pre>
807     * Source is the URL to the source code of this chart
808     * </pre>
809     *
810     * <code>repeated string sources = 3;</code>
811     */
812    int getSourcesCount();
813    /**
814     * <pre>
815     * Source is the URL to the source code of this chart
816     * </pre>
817     *
818     * <code>repeated string sources = 3;</code>
819     */
820    java.lang.String getSources(int index);
821    /**
822     * <pre>
823     * Source is the URL to the source code of this chart
824     * </pre>
825     *
826     * <code>repeated string sources = 3;</code>
827     */
828    com.google.protobuf.ByteString
829        getSourcesBytes(int index);
830
831    /**
832     * <pre>
833     * A SemVer 2 conformant version string of the chart
834     * </pre>
835     *
836     * <code>string version = 4;</code>
837     */
838    java.lang.String getVersion();
839    /**
840     * <pre>
841     * A SemVer 2 conformant version string of the chart
842     * </pre>
843     *
844     * <code>string version = 4;</code>
845     */
846    com.google.protobuf.ByteString
847        getVersionBytes();
848
849    /**
850     * <pre>
851     * A one-sentence description of the chart
852     * </pre>
853     *
854     * <code>string description = 5;</code>
855     */
856    java.lang.String getDescription();
857    /**
858     * <pre>
859     * A one-sentence description of the chart
860     * </pre>
861     *
862     * <code>string description = 5;</code>
863     */
864    com.google.protobuf.ByteString
865        getDescriptionBytes();
866
867    /**
868     * <pre>
869     * A list of string keywords
870     * </pre>
871     *
872     * <code>repeated string keywords = 6;</code>
873     */
874    java.util.List<java.lang.String>
875        getKeywordsList();
876    /**
877     * <pre>
878     * A list of string keywords
879     * </pre>
880     *
881     * <code>repeated string keywords = 6;</code>
882     */
883    int getKeywordsCount();
884    /**
885     * <pre>
886     * A list of string keywords
887     * </pre>
888     *
889     * <code>repeated string keywords = 6;</code>
890     */
891    java.lang.String getKeywords(int index);
892    /**
893     * <pre>
894     * A list of string keywords
895     * </pre>
896     *
897     * <code>repeated string keywords = 6;</code>
898     */
899    com.google.protobuf.ByteString
900        getKeywordsBytes(int index);
901
902    /**
903     * <pre>
904     * A list of name and URL/email address combinations for the maintainer(s)
905     * </pre>
906     *
907     * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
908     */
909    java.util.List<hapi.chart.MetadataOuterClass.Maintainer> 
910        getMaintainersList();
911    /**
912     * <pre>
913     * A list of name and URL/email address combinations for the maintainer(s)
914     * </pre>
915     *
916     * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
917     */
918    hapi.chart.MetadataOuterClass.Maintainer getMaintainers(int index);
919    /**
920     * <pre>
921     * A list of name and URL/email address combinations for the maintainer(s)
922     * </pre>
923     *
924     * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
925     */
926    int getMaintainersCount();
927    /**
928     * <pre>
929     * A list of name and URL/email address combinations for the maintainer(s)
930     * </pre>
931     *
932     * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
933     */
934    java.util.List<? extends hapi.chart.MetadataOuterClass.MaintainerOrBuilder> 
935        getMaintainersOrBuilderList();
936    /**
937     * <pre>
938     * A list of name and URL/email address combinations for the maintainer(s)
939     * </pre>
940     *
941     * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
942     */
943    hapi.chart.MetadataOuterClass.MaintainerOrBuilder getMaintainersOrBuilder(
944        int index);
945
946    /**
947     * <pre>
948     * The name of the template engine to use. Defaults to 'gotpl'.
949     * </pre>
950     *
951     * <code>string engine = 8;</code>
952     */
953    java.lang.String getEngine();
954    /**
955     * <pre>
956     * The name of the template engine to use. Defaults to 'gotpl'.
957     * </pre>
958     *
959     * <code>string engine = 8;</code>
960     */
961    com.google.protobuf.ByteString
962        getEngineBytes();
963
964    /**
965     * <pre>
966     * The URL to an icon file.
967     * </pre>
968     *
969     * <code>string icon = 9;</code>
970     */
971    java.lang.String getIcon();
972    /**
973     * <pre>
974     * The URL to an icon file.
975     * </pre>
976     *
977     * <code>string icon = 9;</code>
978     */
979    com.google.protobuf.ByteString
980        getIconBytes();
981
982    /**
983     * <pre>
984     * The API Version of this chart.
985     * </pre>
986     *
987     * <code>string apiVersion = 10;</code>
988     */
989    java.lang.String getApiVersion();
990    /**
991     * <pre>
992     * The API Version of this chart.
993     * </pre>
994     *
995     * <code>string apiVersion = 10;</code>
996     */
997    com.google.protobuf.ByteString
998        getApiVersionBytes();
999
1000    /**
1001     * <pre>
1002     * The condition to check to enable chart
1003     * </pre>
1004     *
1005     * <code>string condition = 11;</code>
1006     */
1007    java.lang.String getCondition();
1008    /**
1009     * <pre>
1010     * The condition to check to enable chart
1011     * </pre>
1012     *
1013     * <code>string condition = 11;</code>
1014     */
1015    com.google.protobuf.ByteString
1016        getConditionBytes();
1017
1018    /**
1019     * <pre>
1020     * The tags to check to enable chart
1021     * </pre>
1022     *
1023     * <code>string tags = 12;</code>
1024     */
1025    java.lang.String getTags();
1026    /**
1027     * <pre>
1028     * The tags to check to enable chart
1029     * </pre>
1030     *
1031     * <code>string tags = 12;</code>
1032     */
1033    com.google.protobuf.ByteString
1034        getTagsBytes();
1035
1036    /**
1037     * <pre>
1038     * The version of the application enclosed inside of this chart.
1039     * </pre>
1040     *
1041     * <code>string appVersion = 13;</code>
1042     */
1043    java.lang.String getAppVersion();
1044    /**
1045     * <pre>
1046     * The version of the application enclosed inside of this chart.
1047     * </pre>
1048     *
1049     * <code>string appVersion = 13;</code>
1050     */
1051    com.google.protobuf.ByteString
1052        getAppVersionBytes();
1053
1054    /**
1055     * <pre>
1056     * Whether or not this chart is deprecated
1057     * </pre>
1058     *
1059     * <code>bool deprecated = 14;</code>
1060     */
1061    boolean getDeprecated();
1062
1063    /**
1064     * <pre>
1065     * TillerVersion is a SemVer constraints on what version of Tiller is required.
1066     * See SemVer ranges here: https://github.com/Masterminds/semver#basic-comparisons
1067     * </pre>
1068     *
1069     * <code>string tillerVersion = 15;</code>
1070     */
1071    java.lang.String getTillerVersion();
1072    /**
1073     * <pre>
1074     * TillerVersion is a SemVer constraints on what version of Tiller is required.
1075     * See SemVer ranges here: https://github.com/Masterminds/semver#basic-comparisons
1076     * </pre>
1077     *
1078     * <code>string tillerVersion = 15;</code>
1079     */
1080    com.google.protobuf.ByteString
1081        getTillerVersionBytes();
1082  }
1083  /**
1084   * <pre>
1085   *  Metadata for a Chart file. This models the structure of a Chart.yaml file.
1086   *  Spec: https://k8s.io/helm/blob/master/docs/design/chart_format.md#the-chart-file
1087   * </pre>
1088   *
1089   * Protobuf type {@code hapi.chart.Metadata}
1090   */
1091  public  static final class Metadata extends
1092      com.google.protobuf.GeneratedMessageV3 implements
1093      // @@protoc_insertion_point(message_implements:hapi.chart.Metadata)
1094      MetadataOrBuilder {
1095  private static final long serialVersionUID = 0L;
1096    // Use Metadata.newBuilder() to construct.
1097    private Metadata(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
1098      super(builder);
1099    }
1100    private Metadata() {
1101      name_ = "";
1102      home_ = "";
1103      sources_ = com.google.protobuf.LazyStringArrayList.EMPTY;
1104      version_ = "";
1105      description_ = "";
1106      keywords_ = com.google.protobuf.LazyStringArrayList.EMPTY;
1107      maintainers_ = java.util.Collections.emptyList();
1108      engine_ = "";
1109      icon_ = "";
1110      apiVersion_ = "";
1111      condition_ = "";
1112      tags_ = "";
1113      appVersion_ = "";
1114      deprecated_ = false;
1115      tillerVersion_ = "";
1116    }
1117
1118    @java.lang.Override
1119    public final com.google.protobuf.UnknownFieldSet
1120    getUnknownFields() {
1121      return this.unknownFields;
1122    }
1123    private Metadata(
1124        com.google.protobuf.CodedInputStream input,
1125        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1126        throws com.google.protobuf.InvalidProtocolBufferException {
1127      this();
1128      int mutable_bitField0_ = 0;
1129      com.google.protobuf.UnknownFieldSet.Builder unknownFields =
1130          com.google.protobuf.UnknownFieldSet.newBuilder();
1131      try {
1132        boolean done = false;
1133        while (!done) {
1134          int tag = input.readTag();
1135          switch (tag) {
1136            case 0:
1137              done = true;
1138              break;
1139            default: {
1140              if (!parseUnknownFieldProto3(
1141                  input, unknownFields, extensionRegistry, tag)) {
1142                done = true;
1143              }
1144              break;
1145            }
1146            case 10: {
1147              java.lang.String s = input.readStringRequireUtf8();
1148
1149              name_ = s;
1150              break;
1151            }
1152            case 18: {
1153              java.lang.String s = input.readStringRequireUtf8();
1154
1155              home_ = s;
1156              break;
1157            }
1158            case 26: {
1159              java.lang.String s = input.readStringRequireUtf8();
1160              if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
1161                sources_ = new com.google.protobuf.LazyStringArrayList();
1162                mutable_bitField0_ |= 0x00000004;
1163              }
1164              sources_.add(s);
1165              break;
1166            }
1167            case 34: {
1168              java.lang.String s = input.readStringRequireUtf8();
1169
1170              version_ = s;
1171              break;
1172            }
1173            case 42: {
1174              java.lang.String s = input.readStringRequireUtf8();
1175
1176              description_ = s;
1177              break;
1178            }
1179            case 50: {
1180              java.lang.String s = input.readStringRequireUtf8();
1181              if (!((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
1182                keywords_ = new com.google.protobuf.LazyStringArrayList();
1183                mutable_bitField0_ |= 0x00000020;
1184              }
1185              keywords_.add(s);
1186              break;
1187            }
1188            case 58: {
1189              if (!((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
1190                maintainers_ = new java.util.ArrayList<hapi.chart.MetadataOuterClass.Maintainer>();
1191                mutable_bitField0_ |= 0x00000040;
1192              }
1193              maintainers_.add(
1194                  input.readMessage(hapi.chart.MetadataOuterClass.Maintainer.parser(), extensionRegistry));
1195              break;
1196            }
1197            case 66: {
1198              java.lang.String s = input.readStringRequireUtf8();
1199
1200              engine_ = s;
1201              break;
1202            }
1203            case 74: {
1204              java.lang.String s = input.readStringRequireUtf8();
1205
1206              icon_ = s;
1207              break;
1208            }
1209            case 82: {
1210              java.lang.String s = input.readStringRequireUtf8();
1211
1212              apiVersion_ = s;
1213              break;
1214            }
1215            case 90: {
1216              java.lang.String s = input.readStringRequireUtf8();
1217
1218              condition_ = s;
1219              break;
1220            }
1221            case 98: {
1222              java.lang.String s = input.readStringRequireUtf8();
1223
1224              tags_ = s;
1225              break;
1226            }
1227            case 106: {
1228              java.lang.String s = input.readStringRequireUtf8();
1229
1230              appVersion_ = s;
1231              break;
1232            }
1233            case 112: {
1234
1235              deprecated_ = input.readBool();
1236              break;
1237            }
1238            case 122: {
1239              java.lang.String s = input.readStringRequireUtf8();
1240
1241              tillerVersion_ = s;
1242              break;
1243            }
1244          }
1245        }
1246      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1247        throw e.setUnfinishedMessage(this);
1248      } catch (java.io.IOException e) {
1249        throw new com.google.protobuf.InvalidProtocolBufferException(
1250            e).setUnfinishedMessage(this);
1251      } finally {
1252        if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
1253          sources_ = sources_.getUnmodifiableView();
1254        }
1255        if (((mutable_bitField0_ & 0x00000020) == 0x00000020)) {
1256          keywords_ = keywords_.getUnmodifiableView();
1257        }
1258        if (((mutable_bitField0_ & 0x00000040) == 0x00000040)) {
1259          maintainers_ = java.util.Collections.unmodifiableList(maintainers_);
1260        }
1261        this.unknownFields = unknownFields.build();
1262        makeExtensionsImmutable();
1263      }
1264    }
1265    public static final com.google.protobuf.Descriptors.Descriptor
1266        getDescriptor() {
1267      return hapi.chart.MetadataOuterClass.internal_static_hapi_chart_Metadata_descriptor;
1268    }
1269
1270    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
1271        internalGetFieldAccessorTable() {
1272      return hapi.chart.MetadataOuterClass.internal_static_hapi_chart_Metadata_fieldAccessorTable
1273          .ensureFieldAccessorsInitialized(
1274              hapi.chart.MetadataOuterClass.Metadata.class, hapi.chart.MetadataOuterClass.Metadata.Builder.class);
1275    }
1276
1277    /**
1278     * Protobuf enum {@code hapi.chart.Metadata.Engine}
1279     */
1280    public enum Engine
1281        implements com.google.protobuf.ProtocolMessageEnum {
1282      /**
1283       * <code>UNKNOWN = 0;</code>
1284       */
1285      UNKNOWN(0),
1286      /**
1287       * <code>GOTPL = 1;</code>
1288       */
1289      GOTPL(1),
1290      UNRECOGNIZED(-1),
1291      ;
1292
1293      /**
1294       * <code>UNKNOWN = 0;</code>
1295       */
1296      public static final int UNKNOWN_VALUE = 0;
1297      /**
1298       * <code>GOTPL = 1;</code>
1299       */
1300      public static final int GOTPL_VALUE = 1;
1301
1302
1303      public final int getNumber() {
1304        if (this == UNRECOGNIZED) {
1305          throw new java.lang.IllegalArgumentException(
1306              "Can't get the number of an unknown enum value.");
1307        }
1308        return value;
1309      }
1310
1311      /**
1312       * @deprecated Use {@link #forNumber(int)} instead.
1313       */
1314      @java.lang.Deprecated
1315      public static Engine valueOf(int value) {
1316        return forNumber(value);
1317      }
1318
1319      public static Engine forNumber(int value) {
1320        switch (value) {
1321          case 0: return UNKNOWN;
1322          case 1: return GOTPL;
1323          default: return null;
1324        }
1325      }
1326
1327      public static com.google.protobuf.Internal.EnumLiteMap<Engine>
1328          internalGetValueMap() {
1329        return internalValueMap;
1330      }
1331      private static final com.google.protobuf.Internal.EnumLiteMap<
1332          Engine> internalValueMap =
1333            new com.google.protobuf.Internal.EnumLiteMap<Engine>() {
1334              public Engine findValueByNumber(int number) {
1335                return Engine.forNumber(number);
1336              }
1337            };
1338
1339      public final com.google.protobuf.Descriptors.EnumValueDescriptor
1340          getValueDescriptor() {
1341        return getDescriptor().getValues().get(ordinal());
1342      }
1343      public final com.google.protobuf.Descriptors.EnumDescriptor
1344          getDescriptorForType() {
1345        return getDescriptor();
1346      }
1347      public static final com.google.protobuf.Descriptors.EnumDescriptor
1348          getDescriptor() {
1349        return hapi.chart.MetadataOuterClass.Metadata.getDescriptor().getEnumTypes().get(0);
1350      }
1351
1352      private static final Engine[] VALUES = values();
1353
1354      public static Engine valueOf(
1355          com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
1356        if (desc.getType() != getDescriptor()) {
1357          throw new java.lang.IllegalArgumentException(
1358            "EnumValueDescriptor is not for this type.");
1359        }
1360        if (desc.getIndex() == -1) {
1361          return UNRECOGNIZED;
1362        }
1363        return VALUES[desc.getIndex()];
1364      }
1365
1366      private final int value;
1367
1368      private Engine(int value) {
1369        this.value = value;
1370      }
1371
1372      // @@protoc_insertion_point(enum_scope:hapi.chart.Metadata.Engine)
1373    }
1374
1375    private int bitField0_;
1376    public static final int NAME_FIELD_NUMBER = 1;
1377    private volatile java.lang.Object name_;
1378    /**
1379     * <pre>
1380     * The name of the chart
1381     * </pre>
1382     *
1383     * <code>string name = 1;</code>
1384     */
1385    public java.lang.String getName() {
1386      java.lang.Object ref = name_;
1387      if (ref instanceof java.lang.String) {
1388        return (java.lang.String) ref;
1389      } else {
1390        com.google.protobuf.ByteString bs = 
1391            (com.google.protobuf.ByteString) ref;
1392        java.lang.String s = bs.toStringUtf8();
1393        name_ = s;
1394        return s;
1395      }
1396    }
1397    /**
1398     * <pre>
1399     * The name of the chart
1400     * </pre>
1401     *
1402     * <code>string name = 1;</code>
1403     */
1404    public com.google.protobuf.ByteString
1405        getNameBytes() {
1406      java.lang.Object ref = name_;
1407      if (ref instanceof java.lang.String) {
1408        com.google.protobuf.ByteString b = 
1409            com.google.protobuf.ByteString.copyFromUtf8(
1410                (java.lang.String) ref);
1411        name_ = b;
1412        return b;
1413      } else {
1414        return (com.google.protobuf.ByteString) ref;
1415      }
1416    }
1417
1418    public static final int HOME_FIELD_NUMBER = 2;
1419    private volatile java.lang.Object home_;
1420    /**
1421     * <pre>
1422     * The URL to a relevant project page, git repo, or contact person
1423     * </pre>
1424     *
1425     * <code>string home = 2;</code>
1426     */
1427    public java.lang.String getHome() {
1428      java.lang.Object ref = home_;
1429      if (ref instanceof java.lang.String) {
1430        return (java.lang.String) ref;
1431      } else {
1432        com.google.protobuf.ByteString bs = 
1433            (com.google.protobuf.ByteString) ref;
1434        java.lang.String s = bs.toStringUtf8();
1435        home_ = s;
1436        return s;
1437      }
1438    }
1439    /**
1440     * <pre>
1441     * The URL to a relevant project page, git repo, or contact person
1442     * </pre>
1443     *
1444     * <code>string home = 2;</code>
1445     */
1446    public com.google.protobuf.ByteString
1447        getHomeBytes() {
1448      java.lang.Object ref = home_;
1449      if (ref instanceof java.lang.String) {
1450        com.google.protobuf.ByteString b = 
1451            com.google.protobuf.ByteString.copyFromUtf8(
1452                (java.lang.String) ref);
1453        home_ = b;
1454        return b;
1455      } else {
1456        return (com.google.protobuf.ByteString) ref;
1457      }
1458    }
1459
1460    public static final int SOURCES_FIELD_NUMBER = 3;
1461    private com.google.protobuf.LazyStringList sources_;
1462    /**
1463     * <pre>
1464     * Source is the URL to the source code of this chart
1465     * </pre>
1466     *
1467     * <code>repeated string sources = 3;</code>
1468     */
1469    public com.google.protobuf.ProtocolStringList
1470        getSourcesList() {
1471      return sources_;
1472    }
1473    /**
1474     * <pre>
1475     * Source is the URL to the source code of this chart
1476     * </pre>
1477     *
1478     * <code>repeated string sources = 3;</code>
1479     */
1480    public int getSourcesCount() {
1481      return sources_.size();
1482    }
1483    /**
1484     * <pre>
1485     * Source is the URL to the source code of this chart
1486     * </pre>
1487     *
1488     * <code>repeated string sources = 3;</code>
1489     */
1490    public java.lang.String getSources(int index) {
1491      return sources_.get(index);
1492    }
1493    /**
1494     * <pre>
1495     * Source is the URL to the source code of this chart
1496     * </pre>
1497     *
1498     * <code>repeated string sources = 3;</code>
1499     */
1500    public com.google.protobuf.ByteString
1501        getSourcesBytes(int index) {
1502      return sources_.getByteString(index);
1503    }
1504
1505    public static final int VERSION_FIELD_NUMBER = 4;
1506    private volatile java.lang.Object version_;
1507    /**
1508     * <pre>
1509     * A SemVer 2 conformant version string of the chart
1510     * </pre>
1511     *
1512     * <code>string version = 4;</code>
1513     */
1514    public java.lang.String getVersion() {
1515      java.lang.Object ref = version_;
1516      if (ref instanceof java.lang.String) {
1517        return (java.lang.String) ref;
1518      } else {
1519        com.google.protobuf.ByteString bs = 
1520            (com.google.protobuf.ByteString) ref;
1521        java.lang.String s = bs.toStringUtf8();
1522        version_ = s;
1523        return s;
1524      }
1525    }
1526    /**
1527     * <pre>
1528     * A SemVer 2 conformant version string of the chart
1529     * </pre>
1530     *
1531     * <code>string version = 4;</code>
1532     */
1533    public com.google.protobuf.ByteString
1534        getVersionBytes() {
1535      java.lang.Object ref = version_;
1536      if (ref instanceof java.lang.String) {
1537        com.google.protobuf.ByteString b = 
1538            com.google.protobuf.ByteString.copyFromUtf8(
1539                (java.lang.String) ref);
1540        version_ = b;
1541        return b;
1542      } else {
1543        return (com.google.protobuf.ByteString) ref;
1544      }
1545    }
1546
1547    public static final int DESCRIPTION_FIELD_NUMBER = 5;
1548    private volatile java.lang.Object description_;
1549    /**
1550     * <pre>
1551     * A one-sentence description of the chart
1552     * </pre>
1553     *
1554     * <code>string description = 5;</code>
1555     */
1556    public java.lang.String getDescription() {
1557      java.lang.Object ref = description_;
1558      if (ref instanceof java.lang.String) {
1559        return (java.lang.String) ref;
1560      } else {
1561        com.google.protobuf.ByteString bs = 
1562            (com.google.protobuf.ByteString) ref;
1563        java.lang.String s = bs.toStringUtf8();
1564        description_ = s;
1565        return s;
1566      }
1567    }
1568    /**
1569     * <pre>
1570     * A one-sentence description of the chart
1571     * </pre>
1572     *
1573     * <code>string description = 5;</code>
1574     */
1575    public com.google.protobuf.ByteString
1576        getDescriptionBytes() {
1577      java.lang.Object ref = description_;
1578      if (ref instanceof java.lang.String) {
1579        com.google.protobuf.ByteString b = 
1580            com.google.protobuf.ByteString.copyFromUtf8(
1581                (java.lang.String) ref);
1582        description_ = b;
1583        return b;
1584      } else {
1585        return (com.google.protobuf.ByteString) ref;
1586      }
1587    }
1588
1589    public static final int KEYWORDS_FIELD_NUMBER = 6;
1590    private com.google.protobuf.LazyStringList keywords_;
1591    /**
1592     * <pre>
1593     * A list of string keywords
1594     * </pre>
1595     *
1596     * <code>repeated string keywords = 6;</code>
1597     */
1598    public com.google.protobuf.ProtocolStringList
1599        getKeywordsList() {
1600      return keywords_;
1601    }
1602    /**
1603     * <pre>
1604     * A list of string keywords
1605     * </pre>
1606     *
1607     * <code>repeated string keywords = 6;</code>
1608     */
1609    public int getKeywordsCount() {
1610      return keywords_.size();
1611    }
1612    /**
1613     * <pre>
1614     * A list of string keywords
1615     * </pre>
1616     *
1617     * <code>repeated string keywords = 6;</code>
1618     */
1619    public java.lang.String getKeywords(int index) {
1620      return keywords_.get(index);
1621    }
1622    /**
1623     * <pre>
1624     * A list of string keywords
1625     * </pre>
1626     *
1627     * <code>repeated string keywords = 6;</code>
1628     */
1629    public com.google.protobuf.ByteString
1630        getKeywordsBytes(int index) {
1631      return keywords_.getByteString(index);
1632    }
1633
1634    public static final int MAINTAINERS_FIELD_NUMBER = 7;
1635    private java.util.List<hapi.chart.MetadataOuterClass.Maintainer> maintainers_;
1636    /**
1637     * <pre>
1638     * A list of name and URL/email address combinations for the maintainer(s)
1639     * </pre>
1640     *
1641     * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
1642     */
1643    public java.util.List<hapi.chart.MetadataOuterClass.Maintainer> getMaintainersList() {
1644      return maintainers_;
1645    }
1646    /**
1647     * <pre>
1648     * A list of name and URL/email address combinations for the maintainer(s)
1649     * </pre>
1650     *
1651     * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
1652     */
1653    public java.util.List<? extends hapi.chart.MetadataOuterClass.MaintainerOrBuilder> 
1654        getMaintainersOrBuilderList() {
1655      return maintainers_;
1656    }
1657    /**
1658     * <pre>
1659     * A list of name and URL/email address combinations for the maintainer(s)
1660     * </pre>
1661     *
1662     * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
1663     */
1664    public int getMaintainersCount() {
1665      return maintainers_.size();
1666    }
1667    /**
1668     * <pre>
1669     * A list of name and URL/email address combinations for the maintainer(s)
1670     * </pre>
1671     *
1672     * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
1673     */
1674    public hapi.chart.MetadataOuterClass.Maintainer getMaintainers(int index) {
1675      return maintainers_.get(index);
1676    }
1677    /**
1678     * <pre>
1679     * A list of name and URL/email address combinations for the maintainer(s)
1680     * </pre>
1681     *
1682     * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
1683     */
1684    public hapi.chart.MetadataOuterClass.MaintainerOrBuilder getMaintainersOrBuilder(
1685        int index) {
1686      return maintainers_.get(index);
1687    }
1688
1689    public static final int ENGINE_FIELD_NUMBER = 8;
1690    private volatile java.lang.Object engine_;
1691    /**
1692     * <pre>
1693     * The name of the template engine to use. Defaults to 'gotpl'.
1694     * </pre>
1695     *
1696     * <code>string engine = 8;</code>
1697     */
1698    public java.lang.String getEngine() {
1699      java.lang.Object ref = engine_;
1700      if (ref instanceof java.lang.String) {
1701        return (java.lang.String) ref;
1702      } else {
1703        com.google.protobuf.ByteString bs = 
1704            (com.google.protobuf.ByteString) ref;
1705        java.lang.String s = bs.toStringUtf8();
1706        engine_ = s;
1707        return s;
1708      }
1709    }
1710    /**
1711     * <pre>
1712     * The name of the template engine to use. Defaults to 'gotpl'.
1713     * </pre>
1714     *
1715     * <code>string engine = 8;</code>
1716     */
1717    public com.google.protobuf.ByteString
1718        getEngineBytes() {
1719      java.lang.Object ref = engine_;
1720      if (ref instanceof java.lang.String) {
1721        com.google.protobuf.ByteString b = 
1722            com.google.protobuf.ByteString.copyFromUtf8(
1723                (java.lang.String) ref);
1724        engine_ = b;
1725        return b;
1726      } else {
1727        return (com.google.protobuf.ByteString) ref;
1728      }
1729    }
1730
1731    public static final int ICON_FIELD_NUMBER = 9;
1732    private volatile java.lang.Object icon_;
1733    /**
1734     * <pre>
1735     * The URL to an icon file.
1736     * </pre>
1737     *
1738     * <code>string icon = 9;</code>
1739     */
1740    public java.lang.String getIcon() {
1741      java.lang.Object ref = icon_;
1742      if (ref instanceof java.lang.String) {
1743        return (java.lang.String) ref;
1744      } else {
1745        com.google.protobuf.ByteString bs = 
1746            (com.google.protobuf.ByteString) ref;
1747        java.lang.String s = bs.toStringUtf8();
1748        icon_ = s;
1749        return s;
1750      }
1751    }
1752    /**
1753     * <pre>
1754     * The URL to an icon file.
1755     * </pre>
1756     *
1757     * <code>string icon = 9;</code>
1758     */
1759    public com.google.protobuf.ByteString
1760        getIconBytes() {
1761      java.lang.Object ref = icon_;
1762      if (ref instanceof java.lang.String) {
1763        com.google.protobuf.ByteString b = 
1764            com.google.protobuf.ByteString.copyFromUtf8(
1765                (java.lang.String) ref);
1766        icon_ = b;
1767        return b;
1768      } else {
1769        return (com.google.protobuf.ByteString) ref;
1770      }
1771    }
1772
1773    public static final int APIVERSION_FIELD_NUMBER = 10;
1774    private volatile java.lang.Object apiVersion_;
1775    /**
1776     * <pre>
1777     * The API Version of this chart.
1778     * </pre>
1779     *
1780     * <code>string apiVersion = 10;</code>
1781     */
1782    public java.lang.String getApiVersion() {
1783      java.lang.Object ref = apiVersion_;
1784      if (ref instanceof java.lang.String) {
1785        return (java.lang.String) ref;
1786      } else {
1787        com.google.protobuf.ByteString bs = 
1788            (com.google.protobuf.ByteString) ref;
1789        java.lang.String s = bs.toStringUtf8();
1790        apiVersion_ = s;
1791        return s;
1792      }
1793    }
1794    /**
1795     * <pre>
1796     * The API Version of this chart.
1797     * </pre>
1798     *
1799     * <code>string apiVersion = 10;</code>
1800     */
1801    public com.google.protobuf.ByteString
1802        getApiVersionBytes() {
1803      java.lang.Object ref = apiVersion_;
1804      if (ref instanceof java.lang.String) {
1805        com.google.protobuf.ByteString b = 
1806            com.google.protobuf.ByteString.copyFromUtf8(
1807                (java.lang.String) ref);
1808        apiVersion_ = b;
1809        return b;
1810      } else {
1811        return (com.google.protobuf.ByteString) ref;
1812      }
1813    }
1814
1815    public static final int CONDITION_FIELD_NUMBER = 11;
1816    private volatile java.lang.Object condition_;
1817    /**
1818     * <pre>
1819     * The condition to check to enable chart
1820     * </pre>
1821     *
1822     * <code>string condition = 11;</code>
1823     */
1824    public java.lang.String getCondition() {
1825      java.lang.Object ref = condition_;
1826      if (ref instanceof java.lang.String) {
1827        return (java.lang.String) ref;
1828      } else {
1829        com.google.protobuf.ByteString bs = 
1830            (com.google.protobuf.ByteString) ref;
1831        java.lang.String s = bs.toStringUtf8();
1832        condition_ = s;
1833        return s;
1834      }
1835    }
1836    /**
1837     * <pre>
1838     * The condition to check to enable chart
1839     * </pre>
1840     *
1841     * <code>string condition = 11;</code>
1842     */
1843    public com.google.protobuf.ByteString
1844        getConditionBytes() {
1845      java.lang.Object ref = condition_;
1846      if (ref instanceof java.lang.String) {
1847        com.google.protobuf.ByteString b = 
1848            com.google.protobuf.ByteString.copyFromUtf8(
1849                (java.lang.String) ref);
1850        condition_ = b;
1851        return b;
1852      } else {
1853        return (com.google.protobuf.ByteString) ref;
1854      }
1855    }
1856
1857    public static final int TAGS_FIELD_NUMBER = 12;
1858    private volatile java.lang.Object tags_;
1859    /**
1860     * <pre>
1861     * The tags to check to enable chart
1862     * </pre>
1863     *
1864     * <code>string tags = 12;</code>
1865     */
1866    public java.lang.String getTags() {
1867      java.lang.Object ref = tags_;
1868      if (ref instanceof java.lang.String) {
1869        return (java.lang.String) ref;
1870      } else {
1871        com.google.protobuf.ByteString bs = 
1872            (com.google.protobuf.ByteString) ref;
1873        java.lang.String s = bs.toStringUtf8();
1874        tags_ = s;
1875        return s;
1876      }
1877    }
1878    /**
1879     * <pre>
1880     * The tags to check to enable chart
1881     * </pre>
1882     *
1883     * <code>string tags = 12;</code>
1884     */
1885    public com.google.protobuf.ByteString
1886        getTagsBytes() {
1887      java.lang.Object ref = tags_;
1888      if (ref instanceof java.lang.String) {
1889        com.google.protobuf.ByteString b = 
1890            com.google.protobuf.ByteString.copyFromUtf8(
1891                (java.lang.String) ref);
1892        tags_ = b;
1893        return b;
1894      } else {
1895        return (com.google.protobuf.ByteString) ref;
1896      }
1897    }
1898
1899    public static final int APPVERSION_FIELD_NUMBER = 13;
1900    private volatile java.lang.Object appVersion_;
1901    /**
1902     * <pre>
1903     * The version of the application enclosed inside of this chart.
1904     * </pre>
1905     *
1906     * <code>string appVersion = 13;</code>
1907     */
1908    public java.lang.String getAppVersion() {
1909      java.lang.Object ref = appVersion_;
1910      if (ref instanceof java.lang.String) {
1911        return (java.lang.String) ref;
1912      } else {
1913        com.google.protobuf.ByteString bs = 
1914            (com.google.protobuf.ByteString) ref;
1915        java.lang.String s = bs.toStringUtf8();
1916        appVersion_ = s;
1917        return s;
1918      }
1919    }
1920    /**
1921     * <pre>
1922     * The version of the application enclosed inside of this chart.
1923     * </pre>
1924     *
1925     * <code>string appVersion = 13;</code>
1926     */
1927    public com.google.protobuf.ByteString
1928        getAppVersionBytes() {
1929      java.lang.Object ref = appVersion_;
1930      if (ref instanceof java.lang.String) {
1931        com.google.protobuf.ByteString b = 
1932            com.google.protobuf.ByteString.copyFromUtf8(
1933                (java.lang.String) ref);
1934        appVersion_ = b;
1935        return b;
1936      } else {
1937        return (com.google.protobuf.ByteString) ref;
1938      }
1939    }
1940
1941    public static final int DEPRECATED_FIELD_NUMBER = 14;
1942    private boolean deprecated_;
1943    /**
1944     * <pre>
1945     * Whether or not this chart is deprecated
1946     * </pre>
1947     *
1948     * <code>bool deprecated = 14;</code>
1949     */
1950    public boolean getDeprecated() {
1951      return deprecated_;
1952    }
1953
1954    public static final int TILLERVERSION_FIELD_NUMBER = 15;
1955    private volatile java.lang.Object tillerVersion_;
1956    /**
1957     * <pre>
1958     * TillerVersion is a SemVer constraints on what version of Tiller is required.
1959     * See SemVer ranges here: https://github.com/Masterminds/semver#basic-comparisons
1960     * </pre>
1961     *
1962     * <code>string tillerVersion = 15;</code>
1963     */
1964    public java.lang.String getTillerVersion() {
1965      java.lang.Object ref = tillerVersion_;
1966      if (ref instanceof java.lang.String) {
1967        return (java.lang.String) ref;
1968      } else {
1969        com.google.protobuf.ByteString bs = 
1970            (com.google.protobuf.ByteString) ref;
1971        java.lang.String s = bs.toStringUtf8();
1972        tillerVersion_ = s;
1973        return s;
1974      }
1975    }
1976    /**
1977     * <pre>
1978     * TillerVersion is a SemVer constraints on what version of Tiller is required.
1979     * See SemVer ranges here: https://github.com/Masterminds/semver#basic-comparisons
1980     * </pre>
1981     *
1982     * <code>string tillerVersion = 15;</code>
1983     */
1984    public com.google.protobuf.ByteString
1985        getTillerVersionBytes() {
1986      java.lang.Object ref = tillerVersion_;
1987      if (ref instanceof java.lang.String) {
1988        com.google.protobuf.ByteString b = 
1989            com.google.protobuf.ByteString.copyFromUtf8(
1990                (java.lang.String) ref);
1991        tillerVersion_ = b;
1992        return b;
1993      } else {
1994        return (com.google.protobuf.ByteString) ref;
1995      }
1996    }
1997
1998    private byte memoizedIsInitialized = -1;
1999    public final boolean isInitialized() {
2000      byte isInitialized = memoizedIsInitialized;
2001      if (isInitialized == 1) return true;
2002      if (isInitialized == 0) return false;
2003
2004      memoizedIsInitialized = 1;
2005      return true;
2006    }
2007
2008    public void writeTo(com.google.protobuf.CodedOutputStream output)
2009                        throws java.io.IOException {
2010      if (!getNameBytes().isEmpty()) {
2011        com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_);
2012      }
2013      if (!getHomeBytes().isEmpty()) {
2014        com.google.protobuf.GeneratedMessageV3.writeString(output, 2, home_);
2015      }
2016      for (int i = 0; i < sources_.size(); i++) {
2017        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, sources_.getRaw(i));
2018      }
2019      if (!getVersionBytes().isEmpty()) {
2020        com.google.protobuf.GeneratedMessageV3.writeString(output, 4, version_);
2021      }
2022      if (!getDescriptionBytes().isEmpty()) {
2023        com.google.protobuf.GeneratedMessageV3.writeString(output, 5, description_);
2024      }
2025      for (int i = 0; i < keywords_.size(); i++) {
2026        com.google.protobuf.GeneratedMessageV3.writeString(output, 6, keywords_.getRaw(i));
2027      }
2028      for (int i = 0; i < maintainers_.size(); i++) {
2029        output.writeMessage(7, maintainers_.get(i));
2030      }
2031      if (!getEngineBytes().isEmpty()) {
2032        com.google.protobuf.GeneratedMessageV3.writeString(output, 8, engine_);
2033      }
2034      if (!getIconBytes().isEmpty()) {
2035        com.google.protobuf.GeneratedMessageV3.writeString(output, 9, icon_);
2036      }
2037      if (!getApiVersionBytes().isEmpty()) {
2038        com.google.protobuf.GeneratedMessageV3.writeString(output, 10, apiVersion_);
2039      }
2040      if (!getConditionBytes().isEmpty()) {
2041        com.google.protobuf.GeneratedMessageV3.writeString(output, 11, condition_);
2042      }
2043      if (!getTagsBytes().isEmpty()) {
2044        com.google.protobuf.GeneratedMessageV3.writeString(output, 12, tags_);
2045      }
2046      if (!getAppVersionBytes().isEmpty()) {
2047        com.google.protobuf.GeneratedMessageV3.writeString(output, 13, appVersion_);
2048      }
2049      if (deprecated_ != false) {
2050        output.writeBool(14, deprecated_);
2051      }
2052      if (!getTillerVersionBytes().isEmpty()) {
2053        com.google.protobuf.GeneratedMessageV3.writeString(output, 15, tillerVersion_);
2054      }
2055      unknownFields.writeTo(output);
2056    }
2057
2058    public int getSerializedSize() {
2059      int size = memoizedSize;
2060      if (size != -1) return size;
2061
2062      size = 0;
2063      if (!getNameBytes().isEmpty()) {
2064        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_);
2065      }
2066      if (!getHomeBytes().isEmpty()) {
2067        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, home_);
2068      }
2069      {
2070        int dataSize = 0;
2071        for (int i = 0; i < sources_.size(); i++) {
2072          dataSize += computeStringSizeNoTag(sources_.getRaw(i));
2073        }
2074        size += dataSize;
2075        size += 1 * getSourcesList().size();
2076      }
2077      if (!getVersionBytes().isEmpty()) {
2078        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, version_);
2079      }
2080      if (!getDescriptionBytes().isEmpty()) {
2081        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, description_);
2082      }
2083      {
2084        int dataSize = 0;
2085        for (int i = 0; i < keywords_.size(); i++) {
2086          dataSize += computeStringSizeNoTag(keywords_.getRaw(i));
2087        }
2088        size += dataSize;
2089        size += 1 * getKeywordsList().size();
2090      }
2091      for (int i = 0; i < maintainers_.size(); i++) {
2092        size += com.google.protobuf.CodedOutputStream
2093          .computeMessageSize(7, maintainers_.get(i));
2094      }
2095      if (!getEngineBytes().isEmpty()) {
2096        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(8, engine_);
2097      }
2098      if (!getIconBytes().isEmpty()) {
2099        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(9, icon_);
2100      }
2101      if (!getApiVersionBytes().isEmpty()) {
2102        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(10, apiVersion_);
2103      }
2104      if (!getConditionBytes().isEmpty()) {
2105        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(11, condition_);
2106      }
2107      if (!getTagsBytes().isEmpty()) {
2108        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(12, tags_);
2109      }
2110      if (!getAppVersionBytes().isEmpty()) {
2111        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(13, appVersion_);
2112      }
2113      if (deprecated_ != false) {
2114        size += com.google.protobuf.CodedOutputStream
2115          .computeBoolSize(14, deprecated_);
2116      }
2117      if (!getTillerVersionBytes().isEmpty()) {
2118        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(15, tillerVersion_);
2119      }
2120      size += unknownFields.getSerializedSize();
2121      memoizedSize = size;
2122      return size;
2123    }
2124
2125    @java.lang.Override
2126    public boolean equals(final java.lang.Object obj) {
2127      if (obj == this) {
2128       return true;
2129      }
2130      if (!(obj instanceof hapi.chart.MetadataOuterClass.Metadata)) {
2131        return super.equals(obj);
2132      }
2133      hapi.chart.MetadataOuterClass.Metadata other = (hapi.chart.MetadataOuterClass.Metadata) obj;
2134
2135      boolean result = true;
2136      result = result && getName()
2137          .equals(other.getName());
2138      result = result && getHome()
2139          .equals(other.getHome());
2140      result = result && getSourcesList()
2141          .equals(other.getSourcesList());
2142      result = result && getVersion()
2143          .equals(other.getVersion());
2144      result = result && getDescription()
2145          .equals(other.getDescription());
2146      result = result && getKeywordsList()
2147          .equals(other.getKeywordsList());
2148      result = result && getMaintainersList()
2149          .equals(other.getMaintainersList());
2150      result = result && getEngine()
2151          .equals(other.getEngine());
2152      result = result && getIcon()
2153          .equals(other.getIcon());
2154      result = result && getApiVersion()
2155          .equals(other.getApiVersion());
2156      result = result && getCondition()
2157          .equals(other.getCondition());
2158      result = result && getTags()
2159          .equals(other.getTags());
2160      result = result && getAppVersion()
2161          .equals(other.getAppVersion());
2162      result = result && (getDeprecated()
2163          == other.getDeprecated());
2164      result = result && getTillerVersion()
2165          .equals(other.getTillerVersion());
2166      result = result && unknownFields.equals(other.unknownFields);
2167      return result;
2168    }
2169
2170    @java.lang.Override
2171    public int hashCode() {
2172      if (memoizedHashCode != 0) {
2173        return memoizedHashCode;
2174      }
2175      int hash = 41;
2176      hash = (19 * hash) + getDescriptor().hashCode();
2177      hash = (37 * hash) + NAME_FIELD_NUMBER;
2178      hash = (53 * hash) + getName().hashCode();
2179      hash = (37 * hash) + HOME_FIELD_NUMBER;
2180      hash = (53 * hash) + getHome().hashCode();
2181      if (getSourcesCount() > 0) {
2182        hash = (37 * hash) + SOURCES_FIELD_NUMBER;
2183        hash = (53 * hash) + getSourcesList().hashCode();
2184      }
2185      hash = (37 * hash) + VERSION_FIELD_NUMBER;
2186      hash = (53 * hash) + getVersion().hashCode();
2187      hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER;
2188      hash = (53 * hash) + getDescription().hashCode();
2189      if (getKeywordsCount() > 0) {
2190        hash = (37 * hash) + KEYWORDS_FIELD_NUMBER;
2191        hash = (53 * hash) + getKeywordsList().hashCode();
2192      }
2193      if (getMaintainersCount() > 0) {
2194        hash = (37 * hash) + MAINTAINERS_FIELD_NUMBER;
2195        hash = (53 * hash) + getMaintainersList().hashCode();
2196      }
2197      hash = (37 * hash) + ENGINE_FIELD_NUMBER;
2198      hash = (53 * hash) + getEngine().hashCode();
2199      hash = (37 * hash) + ICON_FIELD_NUMBER;
2200      hash = (53 * hash) + getIcon().hashCode();
2201      hash = (37 * hash) + APIVERSION_FIELD_NUMBER;
2202      hash = (53 * hash) + getApiVersion().hashCode();
2203      hash = (37 * hash) + CONDITION_FIELD_NUMBER;
2204      hash = (53 * hash) + getCondition().hashCode();
2205      hash = (37 * hash) + TAGS_FIELD_NUMBER;
2206      hash = (53 * hash) + getTags().hashCode();
2207      hash = (37 * hash) + APPVERSION_FIELD_NUMBER;
2208      hash = (53 * hash) + getAppVersion().hashCode();
2209      hash = (37 * hash) + DEPRECATED_FIELD_NUMBER;
2210      hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
2211          getDeprecated());
2212      hash = (37 * hash) + TILLERVERSION_FIELD_NUMBER;
2213      hash = (53 * hash) + getTillerVersion().hashCode();
2214      hash = (29 * hash) + unknownFields.hashCode();
2215      memoizedHashCode = hash;
2216      return hash;
2217    }
2218
2219    public static hapi.chart.MetadataOuterClass.Metadata parseFrom(
2220        java.nio.ByteBuffer data)
2221        throws com.google.protobuf.InvalidProtocolBufferException {
2222      return PARSER.parseFrom(data);
2223    }
2224    public static hapi.chart.MetadataOuterClass.Metadata parseFrom(
2225        java.nio.ByteBuffer data,
2226        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2227        throws com.google.protobuf.InvalidProtocolBufferException {
2228      return PARSER.parseFrom(data, extensionRegistry);
2229    }
2230    public static hapi.chart.MetadataOuterClass.Metadata parseFrom(
2231        com.google.protobuf.ByteString data)
2232        throws com.google.protobuf.InvalidProtocolBufferException {
2233      return PARSER.parseFrom(data);
2234    }
2235    public static hapi.chart.MetadataOuterClass.Metadata parseFrom(
2236        com.google.protobuf.ByteString data,
2237        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2238        throws com.google.protobuf.InvalidProtocolBufferException {
2239      return PARSER.parseFrom(data, extensionRegistry);
2240    }
2241    public static hapi.chart.MetadataOuterClass.Metadata parseFrom(byte[] data)
2242        throws com.google.protobuf.InvalidProtocolBufferException {
2243      return PARSER.parseFrom(data);
2244    }
2245    public static hapi.chart.MetadataOuterClass.Metadata parseFrom(
2246        byte[] data,
2247        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2248        throws com.google.protobuf.InvalidProtocolBufferException {
2249      return PARSER.parseFrom(data, extensionRegistry);
2250    }
2251    public static hapi.chart.MetadataOuterClass.Metadata parseFrom(java.io.InputStream input)
2252        throws java.io.IOException {
2253      return com.google.protobuf.GeneratedMessageV3
2254          .parseWithIOException(PARSER, input);
2255    }
2256    public static hapi.chart.MetadataOuterClass.Metadata parseFrom(
2257        java.io.InputStream input,
2258        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2259        throws java.io.IOException {
2260      return com.google.protobuf.GeneratedMessageV3
2261          .parseWithIOException(PARSER, input, extensionRegistry);
2262    }
2263    public static hapi.chart.MetadataOuterClass.Metadata parseDelimitedFrom(java.io.InputStream input)
2264        throws java.io.IOException {
2265      return com.google.protobuf.GeneratedMessageV3
2266          .parseDelimitedWithIOException(PARSER, input);
2267    }
2268    public static hapi.chart.MetadataOuterClass.Metadata parseDelimitedFrom(
2269        java.io.InputStream input,
2270        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2271        throws java.io.IOException {
2272      return com.google.protobuf.GeneratedMessageV3
2273          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
2274    }
2275    public static hapi.chart.MetadataOuterClass.Metadata parseFrom(
2276        com.google.protobuf.CodedInputStream input)
2277        throws java.io.IOException {
2278      return com.google.protobuf.GeneratedMessageV3
2279          .parseWithIOException(PARSER, input);
2280    }
2281    public static hapi.chart.MetadataOuterClass.Metadata parseFrom(
2282        com.google.protobuf.CodedInputStream input,
2283        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2284        throws java.io.IOException {
2285      return com.google.protobuf.GeneratedMessageV3
2286          .parseWithIOException(PARSER, input, extensionRegistry);
2287    }
2288
2289    public Builder newBuilderForType() { return newBuilder(); }
2290    public static Builder newBuilder() {
2291      return DEFAULT_INSTANCE.toBuilder();
2292    }
2293    public static Builder newBuilder(hapi.chart.MetadataOuterClass.Metadata prototype) {
2294      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
2295    }
2296    public Builder toBuilder() {
2297      return this == DEFAULT_INSTANCE
2298          ? new Builder() : new Builder().mergeFrom(this);
2299    }
2300
2301    @java.lang.Override
2302    protected Builder newBuilderForType(
2303        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
2304      Builder builder = new Builder(parent);
2305      return builder;
2306    }
2307    /**
2308     * <pre>
2309     *  Metadata for a Chart file. This models the structure of a Chart.yaml file.
2310     *  Spec: https://k8s.io/helm/blob/master/docs/design/chart_format.md#the-chart-file
2311     * </pre>
2312     *
2313     * Protobuf type {@code hapi.chart.Metadata}
2314     */
2315    public static final class Builder extends
2316        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
2317        // @@protoc_insertion_point(builder_implements:hapi.chart.Metadata)
2318        hapi.chart.MetadataOuterClass.MetadataOrBuilder {
2319      public static final com.google.protobuf.Descriptors.Descriptor
2320          getDescriptor() {
2321        return hapi.chart.MetadataOuterClass.internal_static_hapi_chart_Metadata_descriptor;
2322      }
2323
2324      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
2325          internalGetFieldAccessorTable() {
2326        return hapi.chart.MetadataOuterClass.internal_static_hapi_chart_Metadata_fieldAccessorTable
2327            .ensureFieldAccessorsInitialized(
2328                hapi.chart.MetadataOuterClass.Metadata.class, hapi.chart.MetadataOuterClass.Metadata.Builder.class);
2329      }
2330
2331      // Construct using hapi.chart.MetadataOuterClass.Metadata.newBuilder()
2332      private Builder() {
2333        maybeForceBuilderInitialization();
2334      }
2335
2336      private Builder(
2337          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
2338        super(parent);
2339        maybeForceBuilderInitialization();
2340      }
2341      private void maybeForceBuilderInitialization() {
2342        if (com.google.protobuf.GeneratedMessageV3
2343                .alwaysUseFieldBuilders) {
2344          getMaintainersFieldBuilder();
2345        }
2346      }
2347      public Builder clear() {
2348        super.clear();
2349        name_ = "";
2350
2351        home_ = "";
2352
2353        sources_ = com.google.protobuf.LazyStringArrayList.EMPTY;
2354        bitField0_ = (bitField0_ & ~0x00000004);
2355        version_ = "";
2356
2357        description_ = "";
2358
2359        keywords_ = com.google.protobuf.LazyStringArrayList.EMPTY;
2360        bitField0_ = (bitField0_ & ~0x00000020);
2361        if (maintainersBuilder_ == null) {
2362          maintainers_ = java.util.Collections.emptyList();
2363          bitField0_ = (bitField0_ & ~0x00000040);
2364        } else {
2365          maintainersBuilder_.clear();
2366        }
2367        engine_ = "";
2368
2369        icon_ = "";
2370
2371        apiVersion_ = "";
2372
2373        condition_ = "";
2374
2375        tags_ = "";
2376
2377        appVersion_ = "";
2378
2379        deprecated_ = false;
2380
2381        tillerVersion_ = "";
2382
2383        return this;
2384      }
2385
2386      public com.google.protobuf.Descriptors.Descriptor
2387          getDescriptorForType() {
2388        return hapi.chart.MetadataOuterClass.internal_static_hapi_chart_Metadata_descriptor;
2389      }
2390
2391      public hapi.chart.MetadataOuterClass.Metadata getDefaultInstanceForType() {
2392        return hapi.chart.MetadataOuterClass.Metadata.getDefaultInstance();
2393      }
2394
2395      public hapi.chart.MetadataOuterClass.Metadata build() {
2396        hapi.chart.MetadataOuterClass.Metadata result = buildPartial();
2397        if (!result.isInitialized()) {
2398          throw newUninitializedMessageException(result);
2399        }
2400        return result;
2401      }
2402
2403      public hapi.chart.MetadataOuterClass.Metadata buildPartial() {
2404        hapi.chart.MetadataOuterClass.Metadata result = new hapi.chart.MetadataOuterClass.Metadata(this);
2405        int from_bitField0_ = bitField0_;
2406        int to_bitField0_ = 0;
2407        result.name_ = name_;
2408        result.home_ = home_;
2409        if (((bitField0_ & 0x00000004) == 0x00000004)) {
2410          sources_ = sources_.getUnmodifiableView();
2411          bitField0_ = (bitField0_ & ~0x00000004);
2412        }
2413        result.sources_ = sources_;
2414        result.version_ = version_;
2415        result.description_ = description_;
2416        if (((bitField0_ & 0x00000020) == 0x00000020)) {
2417          keywords_ = keywords_.getUnmodifiableView();
2418          bitField0_ = (bitField0_ & ~0x00000020);
2419        }
2420        result.keywords_ = keywords_;
2421        if (maintainersBuilder_ == null) {
2422          if (((bitField0_ & 0x00000040) == 0x00000040)) {
2423            maintainers_ = java.util.Collections.unmodifiableList(maintainers_);
2424            bitField0_ = (bitField0_ & ~0x00000040);
2425          }
2426          result.maintainers_ = maintainers_;
2427        } else {
2428          result.maintainers_ = maintainersBuilder_.build();
2429        }
2430        result.engine_ = engine_;
2431        result.icon_ = icon_;
2432        result.apiVersion_ = apiVersion_;
2433        result.condition_ = condition_;
2434        result.tags_ = tags_;
2435        result.appVersion_ = appVersion_;
2436        result.deprecated_ = deprecated_;
2437        result.tillerVersion_ = tillerVersion_;
2438        result.bitField0_ = to_bitField0_;
2439        onBuilt();
2440        return result;
2441      }
2442
2443      public Builder clone() {
2444        return (Builder) super.clone();
2445      }
2446      public Builder setField(
2447          com.google.protobuf.Descriptors.FieldDescriptor field,
2448          java.lang.Object value) {
2449        return (Builder) super.setField(field, value);
2450      }
2451      public Builder clearField(
2452          com.google.protobuf.Descriptors.FieldDescriptor field) {
2453        return (Builder) super.clearField(field);
2454      }
2455      public Builder clearOneof(
2456          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
2457        return (Builder) super.clearOneof(oneof);
2458      }
2459      public Builder setRepeatedField(
2460          com.google.protobuf.Descriptors.FieldDescriptor field,
2461          int index, java.lang.Object value) {
2462        return (Builder) super.setRepeatedField(field, index, value);
2463      }
2464      public Builder addRepeatedField(
2465          com.google.protobuf.Descriptors.FieldDescriptor field,
2466          java.lang.Object value) {
2467        return (Builder) super.addRepeatedField(field, value);
2468      }
2469      public Builder mergeFrom(com.google.protobuf.Message other) {
2470        if (other instanceof hapi.chart.MetadataOuterClass.Metadata) {
2471          return mergeFrom((hapi.chart.MetadataOuterClass.Metadata)other);
2472        } else {
2473          super.mergeFrom(other);
2474          return this;
2475        }
2476      }
2477
2478      public Builder mergeFrom(hapi.chart.MetadataOuterClass.Metadata other) {
2479        if (other == hapi.chart.MetadataOuterClass.Metadata.getDefaultInstance()) return this;
2480        if (!other.getName().isEmpty()) {
2481          name_ = other.name_;
2482          onChanged();
2483        }
2484        if (!other.getHome().isEmpty()) {
2485          home_ = other.home_;
2486          onChanged();
2487        }
2488        if (!other.sources_.isEmpty()) {
2489          if (sources_.isEmpty()) {
2490            sources_ = other.sources_;
2491            bitField0_ = (bitField0_ & ~0x00000004);
2492          } else {
2493            ensureSourcesIsMutable();
2494            sources_.addAll(other.sources_);
2495          }
2496          onChanged();
2497        }
2498        if (!other.getVersion().isEmpty()) {
2499          version_ = other.version_;
2500          onChanged();
2501        }
2502        if (!other.getDescription().isEmpty()) {
2503          description_ = other.description_;
2504          onChanged();
2505        }
2506        if (!other.keywords_.isEmpty()) {
2507          if (keywords_.isEmpty()) {
2508            keywords_ = other.keywords_;
2509            bitField0_ = (bitField0_ & ~0x00000020);
2510          } else {
2511            ensureKeywordsIsMutable();
2512            keywords_.addAll(other.keywords_);
2513          }
2514          onChanged();
2515        }
2516        if (maintainersBuilder_ == null) {
2517          if (!other.maintainers_.isEmpty()) {
2518            if (maintainers_.isEmpty()) {
2519              maintainers_ = other.maintainers_;
2520              bitField0_ = (bitField0_ & ~0x00000040);
2521            } else {
2522              ensureMaintainersIsMutable();
2523              maintainers_.addAll(other.maintainers_);
2524            }
2525            onChanged();
2526          }
2527        } else {
2528          if (!other.maintainers_.isEmpty()) {
2529            if (maintainersBuilder_.isEmpty()) {
2530              maintainersBuilder_.dispose();
2531              maintainersBuilder_ = null;
2532              maintainers_ = other.maintainers_;
2533              bitField0_ = (bitField0_ & ~0x00000040);
2534              maintainersBuilder_ = 
2535                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
2536                   getMaintainersFieldBuilder() : null;
2537            } else {
2538              maintainersBuilder_.addAllMessages(other.maintainers_);
2539            }
2540          }
2541        }
2542        if (!other.getEngine().isEmpty()) {
2543          engine_ = other.engine_;
2544          onChanged();
2545        }
2546        if (!other.getIcon().isEmpty()) {
2547          icon_ = other.icon_;
2548          onChanged();
2549        }
2550        if (!other.getApiVersion().isEmpty()) {
2551          apiVersion_ = other.apiVersion_;
2552          onChanged();
2553        }
2554        if (!other.getCondition().isEmpty()) {
2555          condition_ = other.condition_;
2556          onChanged();
2557        }
2558        if (!other.getTags().isEmpty()) {
2559          tags_ = other.tags_;
2560          onChanged();
2561        }
2562        if (!other.getAppVersion().isEmpty()) {
2563          appVersion_ = other.appVersion_;
2564          onChanged();
2565        }
2566        if (other.getDeprecated() != false) {
2567          setDeprecated(other.getDeprecated());
2568        }
2569        if (!other.getTillerVersion().isEmpty()) {
2570          tillerVersion_ = other.tillerVersion_;
2571          onChanged();
2572        }
2573        this.mergeUnknownFields(other.unknownFields);
2574        onChanged();
2575        return this;
2576      }
2577
2578      public final boolean isInitialized() {
2579        return true;
2580      }
2581
2582      public Builder mergeFrom(
2583          com.google.protobuf.CodedInputStream input,
2584          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2585          throws java.io.IOException {
2586        hapi.chart.MetadataOuterClass.Metadata parsedMessage = null;
2587        try {
2588          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
2589        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
2590          parsedMessage = (hapi.chart.MetadataOuterClass.Metadata) e.getUnfinishedMessage();
2591          throw e.unwrapIOException();
2592        } finally {
2593          if (parsedMessage != null) {
2594            mergeFrom(parsedMessage);
2595          }
2596        }
2597        return this;
2598      }
2599      private int bitField0_;
2600
2601      private java.lang.Object name_ = "";
2602      /**
2603       * <pre>
2604       * The name of the chart
2605       * </pre>
2606       *
2607       * <code>string name = 1;</code>
2608       */
2609      public java.lang.String getName() {
2610        java.lang.Object ref = name_;
2611        if (!(ref instanceof java.lang.String)) {
2612          com.google.protobuf.ByteString bs =
2613              (com.google.protobuf.ByteString) ref;
2614          java.lang.String s = bs.toStringUtf8();
2615          name_ = s;
2616          return s;
2617        } else {
2618          return (java.lang.String) ref;
2619        }
2620      }
2621      /**
2622       * <pre>
2623       * The name of the chart
2624       * </pre>
2625       *
2626       * <code>string name = 1;</code>
2627       */
2628      public com.google.protobuf.ByteString
2629          getNameBytes() {
2630        java.lang.Object ref = name_;
2631        if (ref instanceof String) {
2632          com.google.protobuf.ByteString b = 
2633              com.google.protobuf.ByteString.copyFromUtf8(
2634                  (java.lang.String) ref);
2635          name_ = b;
2636          return b;
2637        } else {
2638          return (com.google.protobuf.ByteString) ref;
2639        }
2640      }
2641      /**
2642       * <pre>
2643       * The name of the chart
2644       * </pre>
2645       *
2646       * <code>string name = 1;</code>
2647       */
2648      public Builder setName(
2649          java.lang.String value) {
2650        if (value == null) {
2651    throw new NullPointerException();
2652  }
2653  
2654        name_ = value;
2655        onChanged();
2656        return this;
2657      }
2658      /**
2659       * <pre>
2660       * The name of the chart
2661       * </pre>
2662       *
2663       * <code>string name = 1;</code>
2664       */
2665      public Builder clearName() {
2666        
2667        name_ = getDefaultInstance().getName();
2668        onChanged();
2669        return this;
2670      }
2671      /**
2672       * <pre>
2673       * The name of the chart
2674       * </pre>
2675       *
2676       * <code>string name = 1;</code>
2677       */
2678      public Builder setNameBytes(
2679          com.google.protobuf.ByteString value) {
2680        if (value == null) {
2681    throw new NullPointerException();
2682  }
2683  checkByteStringIsUtf8(value);
2684        
2685        name_ = value;
2686        onChanged();
2687        return this;
2688      }
2689
2690      private java.lang.Object home_ = "";
2691      /**
2692       * <pre>
2693       * The URL to a relevant project page, git repo, or contact person
2694       * </pre>
2695       *
2696       * <code>string home = 2;</code>
2697       */
2698      public java.lang.String getHome() {
2699        java.lang.Object ref = home_;
2700        if (!(ref instanceof java.lang.String)) {
2701          com.google.protobuf.ByteString bs =
2702              (com.google.protobuf.ByteString) ref;
2703          java.lang.String s = bs.toStringUtf8();
2704          home_ = s;
2705          return s;
2706        } else {
2707          return (java.lang.String) ref;
2708        }
2709      }
2710      /**
2711       * <pre>
2712       * The URL to a relevant project page, git repo, or contact person
2713       * </pre>
2714       *
2715       * <code>string home = 2;</code>
2716       */
2717      public com.google.protobuf.ByteString
2718          getHomeBytes() {
2719        java.lang.Object ref = home_;
2720        if (ref instanceof String) {
2721          com.google.protobuf.ByteString b = 
2722              com.google.protobuf.ByteString.copyFromUtf8(
2723                  (java.lang.String) ref);
2724          home_ = b;
2725          return b;
2726        } else {
2727          return (com.google.protobuf.ByteString) ref;
2728        }
2729      }
2730      /**
2731       * <pre>
2732       * The URL to a relevant project page, git repo, or contact person
2733       * </pre>
2734       *
2735       * <code>string home = 2;</code>
2736       */
2737      public Builder setHome(
2738          java.lang.String value) {
2739        if (value == null) {
2740    throw new NullPointerException();
2741  }
2742  
2743        home_ = value;
2744        onChanged();
2745        return this;
2746      }
2747      /**
2748       * <pre>
2749       * The URL to a relevant project page, git repo, or contact person
2750       * </pre>
2751       *
2752       * <code>string home = 2;</code>
2753       */
2754      public Builder clearHome() {
2755        
2756        home_ = getDefaultInstance().getHome();
2757        onChanged();
2758        return this;
2759      }
2760      /**
2761       * <pre>
2762       * The URL to a relevant project page, git repo, or contact person
2763       * </pre>
2764       *
2765       * <code>string home = 2;</code>
2766       */
2767      public Builder setHomeBytes(
2768          com.google.protobuf.ByteString value) {
2769        if (value == null) {
2770    throw new NullPointerException();
2771  }
2772  checkByteStringIsUtf8(value);
2773        
2774        home_ = value;
2775        onChanged();
2776        return this;
2777      }
2778
2779      private com.google.protobuf.LazyStringList sources_ = com.google.protobuf.LazyStringArrayList.EMPTY;
2780      private void ensureSourcesIsMutable() {
2781        if (!((bitField0_ & 0x00000004) == 0x00000004)) {
2782          sources_ = new com.google.protobuf.LazyStringArrayList(sources_);
2783          bitField0_ |= 0x00000004;
2784         }
2785      }
2786      /**
2787       * <pre>
2788       * Source is the URL to the source code of this chart
2789       * </pre>
2790       *
2791       * <code>repeated string sources = 3;</code>
2792       */
2793      public com.google.protobuf.ProtocolStringList
2794          getSourcesList() {
2795        return sources_.getUnmodifiableView();
2796      }
2797      /**
2798       * <pre>
2799       * Source is the URL to the source code of this chart
2800       * </pre>
2801       *
2802       * <code>repeated string sources = 3;</code>
2803       */
2804      public int getSourcesCount() {
2805        return sources_.size();
2806      }
2807      /**
2808       * <pre>
2809       * Source is the URL to the source code of this chart
2810       * </pre>
2811       *
2812       * <code>repeated string sources = 3;</code>
2813       */
2814      public java.lang.String getSources(int index) {
2815        return sources_.get(index);
2816      }
2817      /**
2818       * <pre>
2819       * Source is the URL to the source code of this chart
2820       * </pre>
2821       *
2822       * <code>repeated string sources = 3;</code>
2823       */
2824      public com.google.protobuf.ByteString
2825          getSourcesBytes(int index) {
2826        return sources_.getByteString(index);
2827      }
2828      /**
2829       * <pre>
2830       * Source is the URL to the source code of this chart
2831       * </pre>
2832       *
2833       * <code>repeated string sources = 3;</code>
2834       */
2835      public Builder setSources(
2836          int index, java.lang.String value) {
2837        if (value == null) {
2838    throw new NullPointerException();
2839  }
2840  ensureSourcesIsMutable();
2841        sources_.set(index, value);
2842        onChanged();
2843        return this;
2844      }
2845      /**
2846       * <pre>
2847       * Source is the URL to the source code of this chart
2848       * </pre>
2849       *
2850       * <code>repeated string sources = 3;</code>
2851       */
2852      public Builder addSources(
2853          java.lang.String value) {
2854        if (value == null) {
2855    throw new NullPointerException();
2856  }
2857  ensureSourcesIsMutable();
2858        sources_.add(value);
2859        onChanged();
2860        return this;
2861      }
2862      /**
2863       * <pre>
2864       * Source is the URL to the source code of this chart
2865       * </pre>
2866       *
2867       * <code>repeated string sources = 3;</code>
2868       */
2869      public Builder addAllSources(
2870          java.lang.Iterable<java.lang.String> values) {
2871        ensureSourcesIsMutable();
2872        com.google.protobuf.AbstractMessageLite.Builder.addAll(
2873            values, sources_);
2874        onChanged();
2875        return this;
2876      }
2877      /**
2878       * <pre>
2879       * Source is the URL to the source code of this chart
2880       * </pre>
2881       *
2882       * <code>repeated string sources = 3;</code>
2883       */
2884      public Builder clearSources() {
2885        sources_ = com.google.protobuf.LazyStringArrayList.EMPTY;
2886        bitField0_ = (bitField0_ & ~0x00000004);
2887        onChanged();
2888        return this;
2889      }
2890      /**
2891       * <pre>
2892       * Source is the URL to the source code of this chart
2893       * </pre>
2894       *
2895       * <code>repeated string sources = 3;</code>
2896       */
2897      public Builder addSourcesBytes(
2898          com.google.protobuf.ByteString value) {
2899        if (value == null) {
2900    throw new NullPointerException();
2901  }
2902  checkByteStringIsUtf8(value);
2903        ensureSourcesIsMutable();
2904        sources_.add(value);
2905        onChanged();
2906        return this;
2907      }
2908
2909      private java.lang.Object version_ = "";
2910      /**
2911       * <pre>
2912       * A SemVer 2 conformant version string of the chart
2913       * </pre>
2914       *
2915       * <code>string version = 4;</code>
2916       */
2917      public java.lang.String getVersion() {
2918        java.lang.Object ref = version_;
2919        if (!(ref instanceof java.lang.String)) {
2920          com.google.protobuf.ByteString bs =
2921              (com.google.protobuf.ByteString) ref;
2922          java.lang.String s = bs.toStringUtf8();
2923          version_ = s;
2924          return s;
2925        } else {
2926          return (java.lang.String) ref;
2927        }
2928      }
2929      /**
2930       * <pre>
2931       * A SemVer 2 conformant version string of the chart
2932       * </pre>
2933       *
2934       * <code>string version = 4;</code>
2935       */
2936      public com.google.protobuf.ByteString
2937          getVersionBytes() {
2938        java.lang.Object ref = version_;
2939        if (ref instanceof String) {
2940          com.google.protobuf.ByteString b = 
2941              com.google.protobuf.ByteString.copyFromUtf8(
2942                  (java.lang.String) ref);
2943          version_ = b;
2944          return b;
2945        } else {
2946          return (com.google.protobuf.ByteString) ref;
2947        }
2948      }
2949      /**
2950       * <pre>
2951       * A SemVer 2 conformant version string of the chart
2952       * </pre>
2953       *
2954       * <code>string version = 4;</code>
2955       */
2956      public Builder setVersion(
2957          java.lang.String value) {
2958        if (value == null) {
2959    throw new NullPointerException();
2960  }
2961  
2962        version_ = value;
2963        onChanged();
2964        return this;
2965      }
2966      /**
2967       * <pre>
2968       * A SemVer 2 conformant version string of the chart
2969       * </pre>
2970       *
2971       * <code>string version = 4;</code>
2972       */
2973      public Builder clearVersion() {
2974        
2975        version_ = getDefaultInstance().getVersion();
2976        onChanged();
2977        return this;
2978      }
2979      /**
2980       * <pre>
2981       * A SemVer 2 conformant version string of the chart
2982       * </pre>
2983       *
2984       * <code>string version = 4;</code>
2985       */
2986      public Builder setVersionBytes(
2987          com.google.protobuf.ByteString value) {
2988        if (value == null) {
2989    throw new NullPointerException();
2990  }
2991  checkByteStringIsUtf8(value);
2992        
2993        version_ = value;
2994        onChanged();
2995        return this;
2996      }
2997
2998      private java.lang.Object description_ = "";
2999      /**
3000       * <pre>
3001       * A one-sentence description of the chart
3002       * </pre>
3003       *
3004       * <code>string description = 5;</code>
3005       */
3006      public java.lang.String getDescription() {
3007        java.lang.Object ref = description_;
3008        if (!(ref instanceof java.lang.String)) {
3009          com.google.protobuf.ByteString bs =
3010              (com.google.protobuf.ByteString) ref;
3011          java.lang.String s = bs.toStringUtf8();
3012          description_ = s;
3013          return s;
3014        } else {
3015          return (java.lang.String) ref;
3016        }
3017      }
3018      /**
3019       * <pre>
3020       * A one-sentence description of the chart
3021       * </pre>
3022       *
3023       * <code>string description = 5;</code>
3024       */
3025      public com.google.protobuf.ByteString
3026          getDescriptionBytes() {
3027        java.lang.Object ref = description_;
3028        if (ref instanceof String) {
3029          com.google.protobuf.ByteString b = 
3030              com.google.protobuf.ByteString.copyFromUtf8(
3031                  (java.lang.String) ref);
3032          description_ = b;
3033          return b;
3034        } else {
3035          return (com.google.protobuf.ByteString) ref;
3036        }
3037      }
3038      /**
3039       * <pre>
3040       * A one-sentence description of the chart
3041       * </pre>
3042       *
3043       * <code>string description = 5;</code>
3044       */
3045      public Builder setDescription(
3046          java.lang.String value) {
3047        if (value == null) {
3048    throw new NullPointerException();
3049  }
3050  
3051        description_ = value;
3052        onChanged();
3053        return this;
3054      }
3055      /**
3056       * <pre>
3057       * A one-sentence description of the chart
3058       * </pre>
3059       *
3060       * <code>string description = 5;</code>
3061       */
3062      public Builder clearDescription() {
3063        
3064        description_ = getDefaultInstance().getDescription();
3065        onChanged();
3066        return this;
3067      }
3068      /**
3069       * <pre>
3070       * A one-sentence description of the chart
3071       * </pre>
3072       *
3073       * <code>string description = 5;</code>
3074       */
3075      public Builder setDescriptionBytes(
3076          com.google.protobuf.ByteString value) {
3077        if (value == null) {
3078    throw new NullPointerException();
3079  }
3080  checkByteStringIsUtf8(value);
3081        
3082        description_ = value;
3083        onChanged();
3084        return this;
3085      }
3086
3087      private com.google.protobuf.LazyStringList keywords_ = com.google.protobuf.LazyStringArrayList.EMPTY;
3088      private void ensureKeywordsIsMutable() {
3089        if (!((bitField0_ & 0x00000020) == 0x00000020)) {
3090          keywords_ = new com.google.protobuf.LazyStringArrayList(keywords_);
3091          bitField0_ |= 0x00000020;
3092         }
3093      }
3094      /**
3095       * <pre>
3096       * A list of string keywords
3097       * </pre>
3098       *
3099       * <code>repeated string keywords = 6;</code>
3100       */
3101      public com.google.protobuf.ProtocolStringList
3102          getKeywordsList() {
3103        return keywords_.getUnmodifiableView();
3104      }
3105      /**
3106       * <pre>
3107       * A list of string keywords
3108       * </pre>
3109       *
3110       * <code>repeated string keywords = 6;</code>
3111       */
3112      public int getKeywordsCount() {
3113        return keywords_.size();
3114      }
3115      /**
3116       * <pre>
3117       * A list of string keywords
3118       * </pre>
3119       *
3120       * <code>repeated string keywords = 6;</code>
3121       */
3122      public java.lang.String getKeywords(int index) {
3123        return keywords_.get(index);
3124      }
3125      /**
3126       * <pre>
3127       * A list of string keywords
3128       * </pre>
3129       *
3130       * <code>repeated string keywords = 6;</code>
3131       */
3132      public com.google.protobuf.ByteString
3133          getKeywordsBytes(int index) {
3134        return keywords_.getByteString(index);
3135      }
3136      /**
3137       * <pre>
3138       * A list of string keywords
3139       * </pre>
3140       *
3141       * <code>repeated string keywords = 6;</code>
3142       */
3143      public Builder setKeywords(
3144          int index, java.lang.String value) {
3145        if (value == null) {
3146    throw new NullPointerException();
3147  }
3148  ensureKeywordsIsMutable();
3149        keywords_.set(index, value);
3150        onChanged();
3151        return this;
3152      }
3153      /**
3154       * <pre>
3155       * A list of string keywords
3156       * </pre>
3157       *
3158       * <code>repeated string keywords = 6;</code>
3159       */
3160      public Builder addKeywords(
3161          java.lang.String value) {
3162        if (value == null) {
3163    throw new NullPointerException();
3164  }
3165  ensureKeywordsIsMutable();
3166        keywords_.add(value);
3167        onChanged();
3168        return this;
3169      }
3170      /**
3171       * <pre>
3172       * A list of string keywords
3173       * </pre>
3174       *
3175       * <code>repeated string keywords = 6;</code>
3176       */
3177      public Builder addAllKeywords(
3178          java.lang.Iterable<java.lang.String> values) {
3179        ensureKeywordsIsMutable();
3180        com.google.protobuf.AbstractMessageLite.Builder.addAll(
3181            values, keywords_);
3182        onChanged();
3183        return this;
3184      }
3185      /**
3186       * <pre>
3187       * A list of string keywords
3188       * </pre>
3189       *
3190       * <code>repeated string keywords = 6;</code>
3191       */
3192      public Builder clearKeywords() {
3193        keywords_ = com.google.protobuf.LazyStringArrayList.EMPTY;
3194        bitField0_ = (bitField0_ & ~0x00000020);
3195        onChanged();
3196        return this;
3197      }
3198      /**
3199       * <pre>
3200       * A list of string keywords
3201       * </pre>
3202       *
3203       * <code>repeated string keywords = 6;</code>
3204       */
3205      public Builder addKeywordsBytes(
3206          com.google.protobuf.ByteString value) {
3207        if (value == null) {
3208    throw new NullPointerException();
3209  }
3210  checkByteStringIsUtf8(value);
3211        ensureKeywordsIsMutable();
3212        keywords_.add(value);
3213        onChanged();
3214        return this;
3215      }
3216
3217      private java.util.List<hapi.chart.MetadataOuterClass.Maintainer> maintainers_ =
3218        java.util.Collections.emptyList();
3219      private void ensureMaintainersIsMutable() {
3220        if (!((bitField0_ & 0x00000040) == 0x00000040)) {
3221          maintainers_ = new java.util.ArrayList<hapi.chart.MetadataOuterClass.Maintainer>(maintainers_);
3222          bitField0_ |= 0x00000040;
3223         }
3224      }
3225
3226      private com.google.protobuf.RepeatedFieldBuilderV3<
3227          hapi.chart.MetadataOuterClass.Maintainer, hapi.chart.MetadataOuterClass.Maintainer.Builder, hapi.chart.MetadataOuterClass.MaintainerOrBuilder> maintainersBuilder_;
3228
3229      /**
3230       * <pre>
3231       * A list of name and URL/email address combinations for the maintainer(s)
3232       * </pre>
3233       *
3234       * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
3235       */
3236      public java.util.List<hapi.chart.MetadataOuterClass.Maintainer> getMaintainersList() {
3237        if (maintainersBuilder_ == null) {
3238          return java.util.Collections.unmodifiableList(maintainers_);
3239        } else {
3240          return maintainersBuilder_.getMessageList();
3241        }
3242      }
3243      /**
3244       * <pre>
3245       * A list of name and URL/email address combinations for the maintainer(s)
3246       * </pre>
3247       *
3248       * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
3249       */
3250      public int getMaintainersCount() {
3251        if (maintainersBuilder_ == null) {
3252          return maintainers_.size();
3253        } else {
3254          return maintainersBuilder_.getCount();
3255        }
3256      }
3257      /**
3258       * <pre>
3259       * A list of name and URL/email address combinations for the maintainer(s)
3260       * </pre>
3261       *
3262       * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
3263       */
3264      public hapi.chart.MetadataOuterClass.Maintainer getMaintainers(int index) {
3265        if (maintainersBuilder_ == null) {
3266          return maintainers_.get(index);
3267        } else {
3268          return maintainersBuilder_.getMessage(index);
3269        }
3270      }
3271      /**
3272       * <pre>
3273       * A list of name and URL/email address combinations for the maintainer(s)
3274       * </pre>
3275       *
3276       * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
3277       */
3278      public Builder setMaintainers(
3279          int index, hapi.chart.MetadataOuterClass.Maintainer value) {
3280        if (maintainersBuilder_ == null) {
3281          if (value == null) {
3282            throw new NullPointerException();
3283          }
3284          ensureMaintainersIsMutable();
3285          maintainers_.set(index, value);
3286          onChanged();
3287        } else {
3288          maintainersBuilder_.setMessage(index, value);
3289        }
3290        return this;
3291      }
3292      /**
3293       * <pre>
3294       * A list of name and URL/email address combinations for the maintainer(s)
3295       * </pre>
3296       *
3297       * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
3298       */
3299      public Builder setMaintainers(
3300          int index, hapi.chart.MetadataOuterClass.Maintainer.Builder builderForValue) {
3301        if (maintainersBuilder_ == null) {
3302          ensureMaintainersIsMutable();
3303          maintainers_.set(index, builderForValue.build());
3304          onChanged();
3305        } else {
3306          maintainersBuilder_.setMessage(index, builderForValue.build());
3307        }
3308        return this;
3309      }
3310      /**
3311       * <pre>
3312       * A list of name and URL/email address combinations for the maintainer(s)
3313       * </pre>
3314       *
3315       * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
3316       */
3317      public Builder addMaintainers(hapi.chart.MetadataOuterClass.Maintainer value) {
3318        if (maintainersBuilder_ == null) {
3319          if (value == null) {
3320            throw new NullPointerException();
3321          }
3322          ensureMaintainersIsMutable();
3323          maintainers_.add(value);
3324          onChanged();
3325        } else {
3326          maintainersBuilder_.addMessage(value);
3327        }
3328        return this;
3329      }
3330      /**
3331       * <pre>
3332       * A list of name and URL/email address combinations for the maintainer(s)
3333       * </pre>
3334       *
3335       * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
3336       */
3337      public Builder addMaintainers(
3338          int index, hapi.chart.MetadataOuterClass.Maintainer value) {
3339        if (maintainersBuilder_ == null) {
3340          if (value == null) {
3341            throw new NullPointerException();
3342          }
3343          ensureMaintainersIsMutable();
3344          maintainers_.add(index, value);
3345          onChanged();
3346        } else {
3347          maintainersBuilder_.addMessage(index, value);
3348        }
3349        return this;
3350      }
3351      /**
3352       * <pre>
3353       * A list of name and URL/email address combinations for the maintainer(s)
3354       * </pre>
3355       *
3356       * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
3357       */
3358      public Builder addMaintainers(
3359          hapi.chart.MetadataOuterClass.Maintainer.Builder builderForValue) {
3360        if (maintainersBuilder_ == null) {
3361          ensureMaintainersIsMutable();
3362          maintainers_.add(builderForValue.build());
3363          onChanged();
3364        } else {
3365          maintainersBuilder_.addMessage(builderForValue.build());
3366        }
3367        return this;
3368      }
3369      /**
3370       * <pre>
3371       * A list of name and URL/email address combinations for the maintainer(s)
3372       * </pre>
3373       *
3374       * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
3375       */
3376      public Builder addMaintainers(
3377          int index, hapi.chart.MetadataOuterClass.Maintainer.Builder builderForValue) {
3378        if (maintainersBuilder_ == null) {
3379          ensureMaintainersIsMutable();
3380          maintainers_.add(index, builderForValue.build());
3381          onChanged();
3382        } else {
3383          maintainersBuilder_.addMessage(index, builderForValue.build());
3384        }
3385        return this;
3386      }
3387      /**
3388       * <pre>
3389       * A list of name and URL/email address combinations for the maintainer(s)
3390       * </pre>
3391       *
3392       * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
3393       */
3394      public Builder addAllMaintainers(
3395          java.lang.Iterable<? extends hapi.chart.MetadataOuterClass.Maintainer> values) {
3396        if (maintainersBuilder_ == null) {
3397          ensureMaintainersIsMutable();
3398          com.google.protobuf.AbstractMessageLite.Builder.addAll(
3399              values, maintainers_);
3400          onChanged();
3401        } else {
3402          maintainersBuilder_.addAllMessages(values);
3403        }
3404        return this;
3405      }
3406      /**
3407       * <pre>
3408       * A list of name and URL/email address combinations for the maintainer(s)
3409       * </pre>
3410       *
3411       * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
3412       */
3413      public Builder clearMaintainers() {
3414        if (maintainersBuilder_ == null) {
3415          maintainers_ = java.util.Collections.emptyList();
3416          bitField0_ = (bitField0_ & ~0x00000040);
3417          onChanged();
3418        } else {
3419          maintainersBuilder_.clear();
3420        }
3421        return this;
3422      }
3423      /**
3424       * <pre>
3425       * A list of name and URL/email address combinations for the maintainer(s)
3426       * </pre>
3427       *
3428       * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
3429       */
3430      public Builder removeMaintainers(int index) {
3431        if (maintainersBuilder_ == null) {
3432          ensureMaintainersIsMutable();
3433          maintainers_.remove(index);
3434          onChanged();
3435        } else {
3436          maintainersBuilder_.remove(index);
3437        }
3438        return this;
3439      }
3440      /**
3441       * <pre>
3442       * A list of name and URL/email address combinations for the maintainer(s)
3443       * </pre>
3444       *
3445       * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
3446       */
3447      public hapi.chart.MetadataOuterClass.Maintainer.Builder getMaintainersBuilder(
3448          int index) {
3449        return getMaintainersFieldBuilder().getBuilder(index);
3450      }
3451      /**
3452       * <pre>
3453       * A list of name and URL/email address combinations for the maintainer(s)
3454       * </pre>
3455       *
3456       * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
3457       */
3458      public hapi.chart.MetadataOuterClass.MaintainerOrBuilder getMaintainersOrBuilder(
3459          int index) {
3460        if (maintainersBuilder_ == null) {
3461          return maintainers_.get(index);  } else {
3462          return maintainersBuilder_.getMessageOrBuilder(index);
3463        }
3464      }
3465      /**
3466       * <pre>
3467       * A list of name and URL/email address combinations for the maintainer(s)
3468       * </pre>
3469       *
3470       * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
3471       */
3472      public java.util.List<? extends hapi.chart.MetadataOuterClass.MaintainerOrBuilder> 
3473           getMaintainersOrBuilderList() {
3474        if (maintainersBuilder_ != null) {
3475          return maintainersBuilder_.getMessageOrBuilderList();
3476        } else {
3477          return java.util.Collections.unmodifiableList(maintainers_);
3478        }
3479      }
3480      /**
3481       * <pre>
3482       * A list of name and URL/email address combinations for the maintainer(s)
3483       * </pre>
3484       *
3485       * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
3486       */
3487      public hapi.chart.MetadataOuterClass.Maintainer.Builder addMaintainersBuilder() {
3488        return getMaintainersFieldBuilder().addBuilder(
3489            hapi.chart.MetadataOuterClass.Maintainer.getDefaultInstance());
3490      }
3491      /**
3492       * <pre>
3493       * A list of name and URL/email address combinations for the maintainer(s)
3494       * </pre>
3495       *
3496       * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
3497       */
3498      public hapi.chart.MetadataOuterClass.Maintainer.Builder addMaintainersBuilder(
3499          int index) {
3500        return getMaintainersFieldBuilder().addBuilder(
3501            index, hapi.chart.MetadataOuterClass.Maintainer.getDefaultInstance());
3502      }
3503      /**
3504       * <pre>
3505       * A list of name and URL/email address combinations for the maintainer(s)
3506       * </pre>
3507       *
3508       * <code>repeated .hapi.chart.Maintainer maintainers = 7;</code>
3509       */
3510      public java.util.List<hapi.chart.MetadataOuterClass.Maintainer.Builder> 
3511           getMaintainersBuilderList() {
3512        return getMaintainersFieldBuilder().getBuilderList();
3513      }
3514      private com.google.protobuf.RepeatedFieldBuilderV3<
3515          hapi.chart.MetadataOuterClass.Maintainer, hapi.chart.MetadataOuterClass.Maintainer.Builder, hapi.chart.MetadataOuterClass.MaintainerOrBuilder> 
3516          getMaintainersFieldBuilder() {
3517        if (maintainersBuilder_ == null) {
3518          maintainersBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
3519              hapi.chart.MetadataOuterClass.Maintainer, hapi.chart.MetadataOuterClass.Maintainer.Builder, hapi.chart.MetadataOuterClass.MaintainerOrBuilder>(
3520                  maintainers_,
3521                  ((bitField0_ & 0x00000040) == 0x00000040),
3522                  getParentForChildren(),
3523                  isClean());
3524          maintainers_ = null;
3525        }
3526        return maintainersBuilder_;
3527      }
3528
3529      private java.lang.Object engine_ = "";
3530      /**
3531       * <pre>
3532       * The name of the template engine to use. Defaults to 'gotpl'.
3533       * </pre>
3534       *
3535       * <code>string engine = 8;</code>
3536       */
3537      public java.lang.String getEngine() {
3538        java.lang.Object ref = engine_;
3539        if (!(ref instanceof java.lang.String)) {
3540          com.google.protobuf.ByteString bs =
3541              (com.google.protobuf.ByteString) ref;
3542          java.lang.String s = bs.toStringUtf8();
3543          engine_ = s;
3544          return s;
3545        } else {
3546          return (java.lang.String) ref;
3547        }
3548      }
3549      /**
3550       * <pre>
3551       * The name of the template engine to use. Defaults to 'gotpl'.
3552       * </pre>
3553       *
3554       * <code>string engine = 8;</code>
3555       */
3556      public com.google.protobuf.ByteString
3557          getEngineBytes() {
3558        java.lang.Object ref = engine_;
3559        if (ref instanceof String) {
3560          com.google.protobuf.ByteString b = 
3561              com.google.protobuf.ByteString.copyFromUtf8(
3562                  (java.lang.String) ref);
3563          engine_ = b;
3564          return b;
3565        } else {
3566          return (com.google.protobuf.ByteString) ref;
3567        }
3568      }
3569      /**
3570       * <pre>
3571       * The name of the template engine to use. Defaults to 'gotpl'.
3572       * </pre>
3573       *
3574       * <code>string engine = 8;</code>
3575       */
3576      public Builder setEngine(
3577          java.lang.String value) {
3578        if (value == null) {
3579    throw new NullPointerException();
3580  }
3581  
3582        engine_ = value;
3583        onChanged();
3584        return this;
3585      }
3586      /**
3587       * <pre>
3588       * The name of the template engine to use. Defaults to 'gotpl'.
3589       * </pre>
3590       *
3591       * <code>string engine = 8;</code>
3592       */
3593      public Builder clearEngine() {
3594        
3595        engine_ = getDefaultInstance().getEngine();
3596        onChanged();
3597        return this;
3598      }
3599      /**
3600       * <pre>
3601       * The name of the template engine to use. Defaults to 'gotpl'.
3602       * </pre>
3603       *
3604       * <code>string engine = 8;</code>
3605       */
3606      public Builder setEngineBytes(
3607          com.google.protobuf.ByteString value) {
3608        if (value == null) {
3609    throw new NullPointerException();
3610  }
3611  checkByteStringIsUtf8(value);
3612        
3613        engine_ = value;
3614        onChanged();
3615        return this;
3616      }
3617
3618      private java.lang.Object icon_ = "";
3619      /**
3620       * <pre>
3621       * The URL to an icon file.
3622       * </pre>
3623       *
3624       * <code>string icon = 9;</code>
3625       */
3626      public java.lang.String getIcon() {
3627        java.lang.Object ref = icon_;
3628        if (!(ref instanceof java.lang.String)) {
3629          com.google.protobuf.ByteString bs =
3630              (com.google.protobuf.ByteString) ref;
3631          java.lang.String s = bs.toStringUtf8();
3632          icon_ = s;
3633          return s;
3634        } else {
3635          return (java.lang.String) ref;
3636        }
3637      }
3638      /**
3639       * <pre>
3640       * The URL to an icon file.
3641       * </pre>
3642       *
3643       * <code>string icon = 9;</code>
3644       */
3645      public com.google.protobuf.ByteString
3646          getIconBytes() {
3647        java.lang.Object ref = icon_;
3648        if (ref instanceof String) {
3649          com.google.protobuf.ByteString b = 
3650              com.google.protobuf.ByteString.copyFromUtf8(
3651                  (java.lang.String) ref);
3652          icon_ = b;
3653          return b;
3654        } else {
3655          return (com.google.protobuf.ByteString) ref;
3656        }
3657      }
3658      /**
3659       * <pre>
3660       * The URL to an icon file.
3661       * </pre>
3662       *
3663       * <code>string icon = 9;</code>
3664       */
3665      public Builder setIcon(
3666          java.lang.String value) {
3667        if (value == null) {
3668    throw new NullPointerException();
3669  }
3670  
3671        icon_ = value;
3672        onChanged();
3673        return this;
3674      }
3675      /**
3676       * <pre>
3677       * The URL to an icon file.
3678       * </pre>
3679       *
3680       * <code>string icon = 9;</code>
3681       */
3682      public Builder clearIcon() {
3683        
3684        icon_ = getDefaultInstance().getIcon();
3685        onChanged();
3686        return this;
3687      }
3688      /**
3689       * <pre>
3690       * The URL to an icon file.
3691       * </pre>
3692       *
3693       * <code>string icon = 9;</code>
3694       */
3695      public Builder setIconBytes(
3696          com.google.protobuf.ByteString value) {
3697        if (value == null) {
3698    throw new NullPointerException();
3699  }
3700  checkByteStringIsUtf8(value);
3701        
3702        icon_ = value;
3703        onChanged();
3704        return this;
3705      }
3706
3707      private java.lang.Object apiVersion_ = "";
3708      /**
3709       * <pre>
3710       * The API Version of this chart.
3711       * </pre>
3712       *
3713       * <code>string apiVersion = 10;</code>
3714       */
3715      public java.lang.String getApiVersion() {
3716        java.lang.Object ref = apiVersion_;
3717        if (!(ref instanceof java.lang.String)) {
3718          com.google.protobuf.ByteString bs =
3719              (com.google.protobuf.ByteString) ref;
3720          java.lang.String s = bs.toStringUtf8();
3721          apiVersion_ = s;
3722          return s;
3723        } else {
3724          return (java.lang.String) ref;
3725        }
3726      }
3727      /**
3728       * <pre>
3729       * The API Version of this chart.
3730       * </pre>
3731       *
3732       * <code>string apiVersion = 10;</code>
3733       */
3734      public com.google.protobuf.ByteString
3735          getApiVersionBytes() {
3736        java.lang.Object ref = apiVersion_;
3737        if (ref instanceof String) {
3738          com.google.protobuf.ByteString b = 
3739              com.google.protobuf.ByteString.copyFromUtf8(
3740                  (java.lang.String) ref);
3741          apiVersion_ = b;
3742          return b;
3743        } else {
3744          return (com.google.protobuf.ByteString) ref;
3745        }
3746      }
3747      /**
3748       * <pre>
3749       * The API Version of this chart.
3750       * </pre>
3751       *
3752       * <code>string apiVersion = 10;</code>
3753       */
3754      public Builder setApiVersion(
3755          java.lang.String value) {
3756        if (value == null) {
3757    throw new NullPointerException();
3758  }
3759  
3760        apiVersion_ = value;
3761        onChanged();
3762        return this;
3763      }
3764      /**
3765       * <pre>
3766       * The API Version of this chart.
3767       * </pre>
3768       *
3769       * <code>string apiVersion = 10;</code>
3770       */
3771      public Builder clearApiVersion() {
3772        
3773        apiVersion_ = getDefaultInstance().getApiVersion();
3774        onChanged();
3775        return this;
3776      }
3777      /**
3778       * <pre>
3779       * The API Version of this chart.
3780       * </pre>
3781       *
3782       * <code>string apiVersion = 10;</code>
3783       */
3784      public Builder setApiVersionBytes(
3785          com.google.protobuf.ByteString value) {
3786        if (value == null) {
3787    throw new NullPointerException();
3788  }
3789  checkByteStringIsUtf8(value);
3790        
3791        apiVersion_ = value;
3792        onChanged();
3793        return this;
3794      }
3795
3796      private java.lang.Object condition_ = "";
3797      /**
3798       * <pre>
3799       * The condition to check to enable chart
3800       * </pre>
3801       *
3802       * <code>string condition = 11;</code>
3803       */
3804      public java.lang.String getCondition() {
3805        java.lang.Object ref = condition_;
3806        if (!(ref instanceof java.lang.String)) {
3807          com.google.protobuf.ByteString bs =
3808              (com.google.protobuf.ByteString) ref;
3809          java.lang.String s = bs.toStringUtf8();
3810          condition_ = s;
3811          return s;
3812        } else {
3813          return (java.lang.String) ref;
3814        }
3815      }
3816      /**
3817       * <pre>
3818       * The condition to check to enable chart
3819       * </pre>
3820       *
3821       * <code>string condition = 11;</code>
3822       */
3823      public com.google.protobuf.ByteString
3824          getConditionBytes() {
3825        java.lang.Object ref = condition_;
3826        if (ref instanceof String) {
3827          com.google.protobuf.ByteString b = 
3828              com.google.protobuf.ByteString.copyFromUtf8(
3829                  (java.lang.String) ref);
3830          condition_ = b;
3831          return b;
3832        } else {
3833          return (com.google.protobuf.ByteString) ref;
3834        }
3835      }
3836      /**
3837       * <pre>
3838       * The condition to check to enable chart
3839       * </pre>
3840       *
3841       * <code>string condition = 11;</code>
3842       */
3843      public Builder setCondition(
3844          java.lang.String value) {
3845        if (value == null) {
3846    throw new NullPointerException();
3847  }
3848  
3849        condition_ = value;
3850        onChanged();
3851        return this;
3852      }
3853      /**
3854       * <pre>
3855       * The condition to check to enable chart
3856       * </pre>
3857       *
3858       * <code>string condition = 11;</code>
3859       */
3860      public Builder clearCondition() {
3861        
3862        condition_ = getDefaultInstance().getCondition();
3863        onChanged();
3864        return this;
3865      }
3866      /**
3867       * <pre>
3868       * The condition to check to enable chart
3869       * </pre>
3870       *
3871       * <code>string condition = 11;</code>
3872       */
3873      public Builder setConditionBytes(
3874          com.google.protobuf.ByteString value) {
3875        if (value == null) {
3876    throw new NullPointerException();
3877  }
3878  checkByteStringIsUtf8(value);
3879        
3880        condition_ = value;
3881        onChanged();
3882        return this;
3883      }
3884
3885      private java.lang.Object tags_ = "";
3886      /**
3887       * <pre>
3888       * The tags to check to enable chart
3889       * </pre>
3890       *
3891       * <code>string tags = 12;</code>
3892       */
3893      public java.lang.String getTags() {
3894        java.lang.Object ref = tags_;
3895        if (!(ref instanceof java.lang.String)) {
3896          com.google.protobuf.ByteString bs =
3897              (com.google.protobuf.ByteString) ref;
3898          java.lang.String s = bs.toStringUtf8();
3899          tags_ = s;
3900          return s;
3901        } else {
3902          return (java.lang.String) ref;
3903        }
3904      }
3905      /**
3906       * <pre>
3907       * The tags to check to enable chart
3908       * </pre>
3909       *
3910       * <code>string tags = 12;</code>
3911       */
3912      public com.google.protobuf.ByteString
3913          getTagsBytes() {
3914        java.lang.Object ref = tags_;
3915        if (ref instanceof String) {
3916          com.google.protobuf.ByteString b = 
3917              com.google.protobuf.ByteString.copyFromUtf8(
3918                  (java.lang.String) ref);
3919          tags_ = b;
3920          return b;
3921        } else {
3922          return (com.google.protobuf.ByteString) ref;
3923        }
3924      }
3925      /**
3926       * <pre>
3927       * The tags to check to enable chart
3928       * </pre>
3929       *
3930       * <code>string tags = 12;</code>
3931       */
3932      public Builder setTags(
3933          java.lang.String value) {
3934        if (value == null) {
3935    throw new NullPointerException();
3936  }
3937  
3938        tags_ = value;
3939        onChanged();
3940        return this;
3941      }
3942      /**
3943       * <pre>
3944       * The tags to check to enable chart
3945       * </pre>
3946       *
3947       * <code>string tags = 12;</code>
3948       */
3949      public Builder clearTags() {
3950        
3951        tags_ = getDefaultInstance().getTags();
3952        onChanged();
3953        return this;
3954      }
3955      /**
3956       * <pre>
3957       * The tags to check to enable chart
3958       * </pre>
3959       *
3960       * <code>string tags = 12;</code>
3961       */
3962      public Builder setTagsBytes(
3963          com.google.protobuf.ByteString value) {
3964        if (value == null) {
3965    throw new NullPointerException();
3966  }
3967  checkByteStringIsUtf8(value);
3968        
3969        tags_ = value;
3970        onChanged();
3971        return this;
3972      }
3973
3974      private java.lang.Object appVersion_ = "";
3975      /**
3976       * <pre>
3977       * The version of the application enclosed inside of this chart.
3978       * </pre>
3979       *
3980       * <code>string appVersion = 13;</code>
3981       */
3982      public java.lang.String getAppVersion() {
3983        java.lang.Object ref = appVersion_;
3984        if (!(ref instanceof java.lang.String)) {
3985          com.google.protobuf.ByteString bs =
3986              (com.google.protobuf.ByteString) ref;
3987          java.lang.String s = bs.toStringUtf8();
3988          appVersion_ = s;
3989          return s;
3990        } else {
3991          return (java.lang.String) ref;
3992        }
3993      }
3994      /**
3995       * <pre>
3996       * The version of the application enclosed inside of this chart.
3997       * </pre>
3998       *
3999       * <code>string appVersion = 13;</code>
4000       */
4001      public com.google.protobuf.ByteString
4002          getAppVersionBytes() {
4003        java.lang.Object ref = appVersion_;
4004        if (ref instanceof String) {
4005          com.google.protobuf.ByteString b = 
4006              com.google.protobuf.ByteString.copyFromUtf8(
4007                  (java.lang.String) ref);
4008          appVersion_ = b;
4009          return b;
4010        } else {
4011          return (com.google.protobuf.ByteString) ref;
4012        }
4013      }
4014      /**
4015       * <pre>
4016       * The version of the application enclosed inside of this chart.
4017       * </pre>
4018       *
4019       * <code>string appVersion = 13;</code>
4020       */
4021      public Builder setAppVersion(
4022          java.lang.String value) {
4023        if (value == null) {
4024    throw new NullPointerException();
4025  }
4026  
4027        appVersion_ = value;
4028        onChanged();
4029        return this;
4030      }
4031      /**
4032       * <pre>
4033       * The version of the application enclosed inside of this chart.
4034       * </pre>
4035       *
4036       * <code>string appVersion = 13;</code>
4037       */
4038      public Builder clearAppVersion() {
4039        
4040        appVersion_ = getDefaultInstance().getAppVersion();
4041        onChanged();
4042        return this;
4043      }
4044      /**
4045       * <pre>
4046       * The version of the application enclosed inside of this chart.
4047       * </pre>
4048       *
4049       * <code>string appVersion = 13;</code>
4050       */
4051      public Builder setAppVersionBytes(
4052          com.google.protobuf.ByteString value) {
4053        if (value == null) {
4054    throw new NullPointerException();
4055  }
4056  checkByteStringIsUtf8(value);
4057        
4058        appVersion_ = value;
4059        onChanged();
4060        return this;
4061      }
4062
4063      private boolean deprecated_ ;
4064      /**
4065       * <pre>
4066       * Whether or not this chart is deprecated
4067       * </pre>
4068       *
4069       * <code>bool deprecated = 14;</code>
4070       */
4071      public boolean getDeprecated() {
4072        return deprecated_;
4073      }
4074      /**
4075       * <pre>
4076       * Whether or not this chart is deprecated
4077       * </pre>
4078       *
4079       * <code>bool deprecated = 14;</code>
4080       */
4081      public Builder setDeprecated(boolean value) {
4082        
4083        deprecated_ = value;
4084        onChanged();
4085        return this;
4086      }
4087      /**
4088       * <pre>
4089       * Whether or not this chart is deprecated
4090       * </pre>
4091       *
4092       * <code>bool deprecated = 14;</code>
4093       */
4094      public Builder clearDeprecated() {
4095        
4096        deprecated_ = false;
4097        onChanged();
4098        return this;
4099      }
4100
4101      private java.lang.Object tillerVersion_ = "";
4102      /**
4103       * <pre>
4104       * TillerVersion is a SemVer constraints on what version of Tiller is required.
4105       * See SemVer ranges here: https://github.com/Masterminds/semver#basic-comparisons
4106       * </pre>
4107       *
4108       * <code>string tillerVersion = 15;</code>
4109       */
4110      public java.lang.String getTillerVersion() {
4111        java.lang.Object ref = tillerVersion_;
4112        if (!(ref instanceof java.lang.String)) {
4113          com.google.protobuf.ByteString bs =
4114              (com.google.protobuf.ByteString) ref;
4115          java.lang.String s = bs.toStringUtf8();
4116          tillerVersion_ = s;
4117          return s;
4118        } else {
4119          return (java.lang.String) ref;
4120        }
4121      }
4122      /**
4123       * <pre>
4124       * TillerVersion is a SemVer constraints on what version of Tiller is required.
4125       * See SemVer ranges here: https://github.com/Masterminds/semver#basic-comparisons
4126       * </pre>
4127       *
4128       * <code>string tillerVersion = 15;</code>
4129       */
4130      public com.google.protobuf.ByteString
4131          getTillerVersionBytes() {
4132        java.lang.Object ref = tillerVersion_;
4133        if (ref instanceof String) {
4134          com.google.protobuf.ByteString b = 
4135              com.google.protobuf.ByteString.copyFromUtf8(
4136                  (java.lang.String) ref);
4137          tillerVersion_ = b;
4138          return b;
4139        } else {
4140          return (com.google.protobuf.ByteString) ref;
4141        }
4142      }
4143      /**
4144       * <pre>
4145       * TillerVersion is a SemVer constraints on what version of Tiller is required.
4146       * See SemVer ranges here: https://github.com/Masterminds/semver#basic-comparisons
4147       * </pre>
4148       *
4149       * <code>string tillerVersion = 15;</code>
4150       */
4151      public Builder setTillerVersion(
4152          java.lang.String value) {
4153        if (value == null) {
4154    throw new NullPointerException();
4155  }
4156  
4157        tillerVersion_ = value;
4158        onChanged();
4159        return this;
4160      }
4161      /**
4162       * <pre>
4163       * TillerVersion is a SemVer constraints on what version of Tiller is required.
4164       * See SemVer ranges here: https://github.com/Masterminds/semver#basic-comparisons
4165       * </pre>
4166       *
4167       * <code>string tillerVersion = 15;</code>
4168       */
4169      public Builder clearTillerVersion() {
4170        
4171        tillerVersion_ = getDefaultInstance().getTillerVersion();
4172        onChanged();
4173        return this;
4174      }
4175      /**
4176       * <pre>
4177       * TillerVersion is a SemVer constraints on what version of Tiller is required.
4178       * See SemVer ranges here: https://github.com/Masterminds/semver#basic-comparisons
4179       * </pre>
4180       *
4181       * <code>string tillerVersion = 15;</code>
4182       */
4183      public Builder setTillerVersionBytes(
4184          com.google.protobuf.ByteString value) {
4185        if (value == null) {
4186    throw new NullPointerException();
4187  }
4188  checkByteStringIsUtf8(value);
4189        
4190        tillerVersion_ = value;
4191        onChanged();
4192        return this;
4193      }
4194      public final Builder setUnknownFields(
4195          final com.google.protobuf.UnknownFieldSet unknownFields) {
4196        return super.setUnknownFieldsProto3(unknownFields);
4197      }
4198
4199      public final Builder mergeUnknownFields(
4200          final com.google.protobuf.UnknownFieldSet unknownFields) {
4201        return super.mergeUnknownFields(unknownFields);
4202      }
4203
4204
4205      // @@protoc_insertion_point(builder_scope:hapi.chart.Metadata)
4206    }
4207
4208    // @@protoc_insertion_point(class_scope:hapi.chart.Metadata)
4209    private static final hapi.chart.MetadataOuterClass.Metadata DEFAULT_INSTANCE;
4210    static {
4211      DEFAULT_INSTANCE = new hapi.chart.MetadataOuterClass.Metadata();
4212    }
4213
4214    public static hapi.chart.MetadataOuterClass.Metadata getDefaultInstance() {
4215      return DEFAULT_INSTANCE;
4216    }
4217
4218    private static final com.google.protobuf.Parser<Metadata>
4219        PARSER = new com.google.protobuf.AbstractParser<Metadata>() {
4220      public Metadata parsePartialFrom(
4221          com.google.protobuf.CodedInputStream input,
4222          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
4223          throws com.google.protobuf.InvalidProtocolBufferException {
4224          return new Metadata(input, extensionRegistry);
4225      }
4226    };
4227
4228    public static com.google.protobuf.Parser<Metadata> parser() {
4229      return PARSER;
4230    }
4231
4232    @java.lang.Override
4233    public com.google.protobuf.Parser<Metadata> getParserForType() {
4234      return PARSER;
4235    }
4236
4237    public hapi.chart.MetadataOuterClass.Metadata getDefaultInstanceForType() {
4238      return DEFAULT_INSTANCE;
4239    }
4240
4241  }
4242
4243  private static final com.google.protobuf.Descriptors.Descriptor
4244    internal_static_hapi_chart_Maintainer_descriptor;
4245  private static final 
4246    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
4247      internal_static_hapi_chart_Maintainer_fieldAccessorTable;
4248  private static final com.google.protobuf.Descriptors.Descriptor
4249    internal_static_hapi_chart_Metadata_descriptor;
4250  private static final 
4251    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
4252      internal_static_hapi_chart_Metadata_fieldAccessorTable;
4253
4254  public static com.google.protobuf.Descriptors.FileDescriptor
4255      getDescriptor() {
4256    return descriptor;
4257  }
4258  private static  com.google.protobuf.Descriptors.FileDescriptor
4259      descriptor;
4260  static {
4261    java.lang.String[] descriptorData = {
4262      "\n\031hapi/chart/metadata.proto\022\nhapi.chart\"" +
4263      ")\n\nMaintainer\022\014\n\004name\030\001 \001(\t\022\r\n\005email\030\002 \001" +
4264      "(\t\"\320\002\n\010Metadata\022\014\n\004name\030\001 \001(\t\022\014\n\004home\030\002 " +
4265      "\001(\t\022\017\n\007sources\030\003 \003(\t\022\017\n\007version\030\004 \001(\t\022\023\n" +
4266      "\013description\030\005 \001(\t\022\020\n\010keywords\030\006 \003(\t\022+\n\013" +
4267      "maintainers\030\007 \003(\0132\026.hapi.chart.Maintaine" +
4268      "r\022\016\n\006engine\030\010 \001(\t\022\014\n\004icon\030\t \001(\t\022\022\n\napiVe" +
4269      "rsion\030\n \001(\t\022\021\n\tcondition\030\013 \001(\t\022\014\n\004tags\030\014" +
4270      " \001(\t\022\022\n\nappVersion\030\r \001(\t\022\022\n\ndeprecated\030\016" +
4271      " \001(\010\022\025\n\rtillerVersion\030\017 \001(\t\" \n\006Engine\022\013\n",
4272      "\007UNKNOWN\020\000\022\t\n\005GOTPL\020\001B\007Z\005chartb\006proto3"
4273    };
4274    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
4275        new com.google.protobuf.Descriptors.FileDescriptor.    InternalDescriptorAssigner() {
4276          public com.google.protobuf.ExtensionRegistry assignDescriptors(
4277              com.google.protobuf.Descriptors.FileDescriptor root) {
4278            descriptor = root;
4279            return null;
4280          }
4281        };
4282    com.google.protobuf.Descriptors.FileDescriptor
4283      .internalBuildGeneratedFileFrom(descriptorData,
4284        new com.google.protobuf.Descriptors.FileDescriptor[] {
4285        }, assigner);
4286    internal_static_hapi_chart_Maintainer_descriptor =
4287      getDescriptor().getMessageTypes().get(0);
4288    internal_static_hapi_chart_Maintainer_fieldAccessorTable = new
4289      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
4290        internal_static_hapi_chart_Maintainer_descriptor,
4291        new java.lang.String[] { "Name", "Email", });
4292    internal_static_hapi_chart_Metadata_descriptor =
4293      getDescriptor().getMessageTypes().get(1);
4294    internal_static_hapi_chart_Metadata_fieldAccessorTable = new
4295      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
4296        internal_static_hapi_chart_Metadata_descriptor,
4297        new java.lang.String[] { "Name", "Home", "Sources", "Version", "Description", "Keywords", "Maintainers", "Engine", "Icon", "ApiVersion", "Condition", "Tags", "AppVersion", "Deprecated", "TillerVersion", });
4298  }
4299
4300  // @@protoc_insertion_point(outer_class_scope)
4301}