001// Generated by the protocol buffer compiler.  DO NOT EDIT!
002// source: hapi/chart/chart.proto
003
004package hapi.chart;
005
006public final class ChartOuterClass {
007  private ChartOuterClass() {}
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 ChartOrBuilder extends
018      // @@protoc_insertion_point(interface_extends:hapi.chart.Chart)
019      com.google.protobuf.MessageOrBuilder {
020
021    /**
022     * <pre>
023     * Contents of the Chartfile.
024     * </pre>
025     *
026     * <code>.hapi.chart.Metadata metadata = 1;</code>
027     */
028    boolean hasMetadata();
029    /**
030     * <pre>
031     * Contents of the Chartfile.
032     * </pre>
033     *
034     * <code>.hapi.chart.Metadata metadata = 1;</code>
035     */
036    hapi.chart.MetadataOuterClass.Metadata getMetadata();
037    /**
038     * <pre>
039     * Contents of the Chartfile.
040     * </pre>
041     *
042     * <code>.hapi.chart.Metadata metadata = 1;</code>
043     */
044    hapi.chart.MetadataOuterClass.MetadataOrBuilder getMetadataOrBuilder();
045
046    /**
047     * <pre>
048     * Templates for this chart.
049     * </pre>
050     *
051     * <code>repeated .hapi.chart.Template templates = 2;</code>
052     */
053    java.util.List<hapi.chart.TemplateOuterClass.Template> 
054        getTemplatesList();
055    /**
056     * <pre>
057     * Templates for this chart.
058     * </pre>
059     *
060     * <code>repeated .hapi.chart.Template templates = 2;</code>
061     */
062    hapi.chart.TemplateOuterClass.Template getTemplates(int index);
063    /**
064     * <pre>
065     * Templates for this chart.
066     * </pre>
067     *
068     * <code>repeated .hapi.chart.Template templates = 2;</code>
069     */
070    int getTemplatesCount();
071    /**
072     * <pre>
073     * Templates for this chart.
074     * </pre>
075     *
076     * <code>repeated .hapi.chart.Template templates = 2;</code>
077     */
078    java.util.List<? extends hapi.chart.TemplateOuterClass.TemplateOrBuilder> 
079        getTemplatesOrBuilderList();
080    /**
081     * <pre>
082     * Templates for this chart.
083     * </pre>
084     *
085     * <code>repeated .hapi.chart.Template templates = 2;</code>
086     */
087    hapi.chart.TemplateOuterClass.TemplateOrBuilder getTemplatesOrBuilder(
088        int index);
089
090    /**
091     * <pre>
092     * Charts that this chart depends on.
093     * </pre>
094     *
095     * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
096     */
097    java.util.List<hapi.chart.ChartOuterClass.Chart> 
098        getDependenciesList();
099    /**
100     * <pre>
101     * Charts that this chart depends on.
102     * </pre>
103     *
104     * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
105     */
106    hapi.chart.ChartOuterClass.Chart getDependencies(int index);
107    /**
108     * <pre>
109     * Charts that this chart depends on.
110     * </pre>
111     *
112     * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
113     */
114    int getDependenciesCount();
115    /**
116     * <pre>
117     * Charts that this chart depends on.
118     * </pre>
119     *
120     * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
121     */
122    java.util.List<? extends hapi.chart.ChartOuterClass.ChartOrBuilder> 
123        getDependenciesOrBuilderList();
124    /**
125     * <pre>
126     * Charts that this chart depends on.
127     * </pre>
128     *
129     * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
130     */
131    hapi.chart.ChartOuterClass.ChartOrBuilder getDependenciesOrBuilder(
132        int index);
133
134    /**
135     * <pre>
136     * Default config for this template.
137     * </pre>
138     *
139     * <code>.hapi.chart.Config values = 4;</code>
140     */
141    boolean hasValues();
142    /**
143     * <pre>
144     * Default config for this template.
145     * </pre>
146     *
147     * <code>.hapi.chart.Config values = 4;</code>
148     */
149    hapi.chart.ConfigOuterClass.Config getValues();
150    /**
151     * <pre>
152     * Default config for this template.
153     * </pre>
154     *
155     * <code>.hapi.chart.Config values = 4;</code>
156     */
157    hapi.chart.ConfigOuterClass.ConfigOrBuilder getValuesOrBuilder();
158
159    /**
160     * <pre>
161     * Miscellaneous files in a chart archive,
162     * e.g. README, LICENSE, etc.
163     * </pre>
164     *
165     * <code>repeated .google.protobuf.Any files = 5;</code>
166     */
167    java.util.List<com.google.protobuf.Any> 
168        getFilesList();
169    /**
170     * <pre>
171     * Miscellaneous files in a chart archive,
172     * e.g. README, LICENSE, etc.
173     * </pre>
174     *
175     * <code>repeated .google.protobuf.Any files = 5;</code>
176     */
177    com.google.protobuf.Any getFiles(int index);
178    /**
179     * <pre>
180     * Miscellaneous files in a chart archive,
181     * e.g. README, LICENSE, etc.
182     * </pre>
183     *
184     * <code>repeated .google.protobuf.Any files = 5;</code>
185     */
186    int getFilesCount();
187    /**
188     * <pre>
189     * Miscellaneous files in a chart archive,
190     * e.g. README, LICENSE, etc.
191     * </pre>
192     *
193     * <code>repeated .google.protobuf.Any files = 5;</code>
194     */
195    java.util.List<? extends com.google.protobuf.AnyOrBuilder> 
196        getFilesOrBuilderList();
197    /**
198     * <pre>
199     * Miscellaneous files in a chart archive,
200     * e.g. README, LICENSE, etc.
201     * </pre>
202     *
203     * <code>repeated .google.protobuf.Any files = 5;</code>
204     */
205    com.google.protobuf.AnyOrBuilder getFilesOrBuilder(
206        int index);
207  }
208  /**
209   * <pre>
210   *  Chart is a helm package that contains metadata, a default config, zero or more
211   *  optionally parameterizable templates, and zero or more charts (dependencies).
212   * </pre>
213   *
214   * Protobuf type {@code hapi.chart.Chart}
215   */
216  public  static final class Chart extends
217      com.google.protobuf.GeneratedMessageV3 implements
218      // @@protoc_insertion_point(message_implements:hapi.chart.Chart)
219      ChartOrBuilder {
220    // Use Chart.newBuilder() to construct.
221    private Chart(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
222      super(builder);
223    }
224    private Chart() {
225      templates_ = java.util.Collections.emptyList();
226      dependencies_ = java.util.Collections.emptyList();
227      files_ = java.util.Collections.emptyList();
228    }
229
230    @java.lang.Override
231    public final com.google.protobuf.UnknownFieldSet
232    getUnknownFields() {
233      return com.google.protobuf.UnknownFieldSet.getDefaultInstance();
234    }
235    private Chart(
236        com.google.protobuf.CodedInputStream input,
237        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
238        throws com.google.protobuf.InvalidProtocolBufferException {
239      this();
240      int mutable_bitField0_ = 0;
241      try {
242        boolean done = false;
243        while (!done) {
244          int tag = input.readTag();
245          switch (tag) {
246            case 0:
247              done = true;
248              break;
249            default: {
250              if (!input.skipField(tag)) {
251                done = true;
252              }
253              break;
254            }
255            case 10: {
256              hapi.chart.MetadataOuterClass.Metadata.Builder subBuilder = null;
257              if (metadata_ != null) {
258                subBuilder = metadata_.toBuilder();
259              }
260              metadata_ = input.readMessage(hapi.chart.MetadataOuterClass.Metadata.parser(), extensionRegistry);
261              if (subBuilder != null) {
262                subBuilder.mergeFrom(metadata_);
263                metadata_ = subBuilder.buildPartial();
264              }
265
266              break;
267            }
268            case 18: {
269              if (!((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
270                templates_ = new java.util.ArrayList<hapi.chart.TemplateOuterClass.Template>();
271                mutable_bitField0_ |= 0x00000002;
272              }
273              templates_.add(
274                  input.readMessage(hapi.chart.TemplateOuterClass.Template.parser(), extensionRegistry));
275              break;
276            }
277            case 26: {
278              if (!((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
279                dependencies_ = new java.util.ArrayList<hapi.chart.ChartOuterClass.Chart>();
280                mutable_bitField0_ |= 0x00000004;
281              }
282              dependencies_.add(
283                  input.readMessage(hapi.chart.ChartOuterClass.Chart.parser(), extensionRegistry));
284              break;
285            }
286            case 34: {
287              hapi.chart.ConfigOuterClass.Config.Builder subBuilder = null;
288              if (values_ != null) {
289                subBuilder = values_.toBuilder();
290              }
291              values_ = input.readMessage(hapi.chart.ConfigOuterClass.Config.parser(), extensionRegistry);
292              if (subBuilder != null) {
293                subBuilder.mergeFrom(values_);
294                values_ = subBuilder.buildPartial();
295              }
296
297              break;
298            }
299            case 42: {
300              if (!((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
301                files_ = new java.util.ArrayList<com.google.protobuf.Any>();
302                mutable_bitField0_ |= 0x00000010;
303              }
304              files_.add(
305                  input.readMessage(com.google.protobuf.Any.parser(), extensionRegistry));
306              break;
307            }
308          }
309        }
310      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
311        throw e.setUnfinishedMessage(this);
312      } catch (java.io.IOException e) {
313        throw new com.google.protobuf.InvalidProtocolBufferException(
314            e).setUnfinishedMessage(this);
315      } finally {
316        if (((mutable_bitField0_ & 0x00000002) == 0x00000002)) {
317          templates_ = java.util.Collections.unmodifiableList(templates_);
318        }
319        if (((mutable_bitField0_ & 0x00000004) == 0x00000004)) {
320          dependencies_ = java.util.Collections.unmodifiableList(dependencies_);
321        }
322        if (((mutable_bitField0_ & 0x00000010) == 0x00000010)) {
323          files_ = java.util.Collections.unmodifiableList(files_);
324        }
325        makeExtensionsImmutable();
326      }
327    }
328    public static final com.google.protobuf.Descriptors.Descriptor
329        getDescriptor() {
330      return hapi.chart.ChartOuterClass.internal_static_hapi_chart_Chart_descriptor;
331    }
332
333    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
334        internalGetFieldAccessorTable() {
335      return hapi.chart.ChartOuterClass.internal_static_hapi_chart_Chart_fieldAccessorTable
336          .ensureFieldAccessorsInitialized(
337              hapi.chart.ChartOuterClass.Chart.class, hapi.chart.ChartOuterClass.Chart.Builder.class);
338    }
339
340    private int bitField0_;
341    public static final int METADATA_FIELD_NUMBER = 1;
342    private hapi.chart.MetadataOuterClass.Metadata metadata_;
343    /**
344     * <pre>
345     * Contents of the Chartfile.
346     * </pre>
347     *
348     * <code>.hapi.chart.Metadata metadata = 1;</code>
349     */
350    public boolean hasMetadata() {
351      return metadata_ != null;
352    }
353    /**
354     * <pre>
355     * Contents of the Chartfile.
356     * </pre>
357     *
358     * <code>.hapi.chart.Metadata metadata = 1;</code>
359     */
360    public hapi.chart.MetadataOuterClass.Metadata getMetadata() {
361      return metadata_ == null ? hapi.chart.MetadataOuterClass.Metadata.getDefaultInstance() : metadata_;
362    }
363    /**
364     * <pre>
365     * Contents of the Chartfile.
366     * </pre>
367     *
368     * <code>.hapi.chart.Metadata metadata = 1;</code>
369     */
370    public hapi.chart.MetadataOuterClass.MetadataOrBuilder getMetadataOrBuilder() {
371      return getMetadata();
372    }
373
374    public static final int TEMPLATES_FIELD_NUMBER = 2;
375    private java.util.List<hapi.chart.TemplateOuterClass.Template> templates_;
376    /**
377     * <pre>
378     * Templates for this chart.
379     * </pre>
380     *
381     * <code>repeated .hapi.chart.Template templates = 2;</code>
382     */
383    public java.util.List<hapi.chart.TemplateOuterClass.Template> getTemplatesList() {
384      return templates_;
385    }
386    /**
387     * <pre>
388     * Templates for this chart.
389     * </pre>
390     *
391     * <code>repeated .hapi.chart.Template templates = 2;</code>
392     */
393    public java.util.List<? extends hapi.chart.TemplateOuterClass.TemplateOrBuilder> 
394        getTemplatesOrBuilderList() {
395      return templates_;
396    }
397    /**
398     * <pre>
399     * Templates for this chart.
400     * </pre>
401     *
402     * <code>repeated .hapi.chart.Template templates = 2;</code>
403     */
404    public int getTemplatesCount() {
405      return templates_.size();
406    }
407    /**
408     * <pre>
409     * Templates for this chart.
410     * </pre>
411     *
412     * <code>repeated .hapi.chart.Template templates = 2;</code>
413     */
414    public hapi.chart.TemplateOuterClass.Template getTemplates(int index) {
415      return templates_.get(index);
416    }
417    /**
418     * <pre>
419     * Templates for this chart.
420     * </pre>
421     *
422     * <code>repeated .hapi.chart.Template templates = 2;</code>
423     */
424    public hapi.chart.TemplateOuterClass.TemplateOrBuilder getTemplatesOrBuilder(
425        int index) {
426      return templates_.get(index);
427    }
428
429    public static final int DEPENDENCIES_FIELD_NUMBER = 3;
430    private java.util.List<hapi.chart.ChartOuterClass.Chart> dependencies_;
431    /**
432     * <pre>
433     * Charts that this chart depends on.
434     * </pre>
435     *
436     * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
437     */
438    public java.util.List<hapi.chart.ChartOuterClass.Chart> getDependenciesList() {
439      return dependencies_;
440    }
441    /**
442     * <pre>
443     * Charts that this chart depends on.
444     * </pre>
445     *
446     * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
447     */
448    public java.util.List<? extends hapi.chart.ChartOuterClass.ChartOrBuilder> 
449        getDependenciesOrBuilderList() {
450      return dependencies_;
451    }
452    /**
453     * <pre>
454     * Charts that this chart depends on.
455     * </pre>
456     *
457     * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
458     */
459    public int getDependenciesCount() {
460      return dependencies_.size();
461    }
462    /**
463     * <pre>
464     * Charts that this chart depends on.
465     * </pre>
466     *
467     * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
468     */
469    public hapi.chart.ChartOuterClass.Chart getDependencies(int index) {
470      return dependencies_.get(index);
471    }
472    /**
473     * <pre>
474     * Charts that this chart depends on.
475     * </pre>
476     *
477     * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
478     */
479    public hapi.chart.ChartOuterClass.ChartOrBuilder getDependenciesOrBuilder(
480        int index) {
481      return dependencies_.get(index);
482    }
483
484    public static final int VALUES_FIELD_NUMBER = 4;
485    private hapi.chart.ConfigOuterClass.Config values_;
486    /**
487     * <pre>
488     * Default config for this template.
489     * </pre>
490     *
491     * <code>.hapi.chart.Config values = 4;</code>
492     */
493    public boolean hasValues() {
494      return values_ != null;
495    }
496    /**
497     * <pre>
498     * Default config for this template.
499     * </pre>
500     *
501     * <code>.hapi.chart.Config values = 4;</code>
502     */
503    public hapi.chart.ConfigOuterClass.Config getValues() {
504      return values_ == null ? hapi.chart.ConfigOuterClass.Config.getDefaultInstance() : values_;
505    }
506    /**
507     * <pre>
508     * Default config for this template.
509     * </pre>
510     *
511     * <code>.hapi.chart.Config values = 4;</code>
512     */
513    public hapi.chart.ConfigOuterClass.ConfigOrBuilder getValuesOrBuilder() {
514      return getValues();
515    }
516
517    public static final int FILES_FIELD_NUMBER = 5;
518    private java.util.List<com.google.protobuf.Any> files_;
519    /**
520     * <pre>
521     * Miscellaneous files in a chart archive,
522     * e.g. README, LICENSE, etc.
523     * </pre>
524     *
525     * <code>repeated .google.protobuf.Any files = 5;</code>
526     */
527    public java.util.List<com.google.protobuf.Any> getFilesList() {
528      return files_;
529    }
530    /**
531     * <pre>
532     * Miscellaneous files in a chart archive,
533     * e.g. README, LICENSE, etc.
534     * </pre>
535     *
536     * <code>repeated .google.protobuf.Any files = 5;</code>
537     */
538    public java.util.List<? extends com.google.protobuf.AnyOrBuilder> 
539        getFilesOrBuilderList() {
540      return files_;
541    }
542    /**
543     * <pre>
544     * Miscellaneous files in a chart archive,
545     * e.g. README, LICENSE, etc.
546     * </pre>
547     *
548     * <code>repeated .google.protobuf.Any files = 5;</code>
549     */
550    public int getFilesCount() {
551      return files_.size();
552    }
553    /**
554     * <pre>
555     * Miscellaneous files in a chart archive,
556     * e.g. README, LICENSE, etc.
557     * </pre>
558     *
559     * <code>repeated .google.protobuf.Any files = 5;</code>
560     */
561    public com.google.protobuf.Any getFiles(int index) {
562      return files_.get(index);
563    }
564    /**
565     * <pre>
566     * Miscellaneous files in a chart archive,
567     * e.g. README, LICENSE, etc.
568     * </pre>
569     *
570     * <code>repeated .google.protobuf.Any files = 5;</code>
571     */
572    public com.google.protobuf.AnyOrBuilder getFilesOrBuilder(
573        int index) {
574      return files_.get(index);
575    }
576
577    private byte memoizedIsInitialized = -1;
578    public final boolean isInitialized() {
579      byte isInitialized = memoizedIsInitialized;
580      if (isInitialized == 1) return true;
581      if (isInitialized == 0) return false;
582
583      memoizedIsInitialized = 1;
584      return true;
585    }
586
587    public void writeTo(com.google.protobuf.CodedOutputStream output)
588                        throws java.io.IOException {
589      if (metadata_ != null) {
590        output.writeMessage(1, getMetadata());
591      }
592      for (int i = 0; i < templates_.size(); i++) {
593        output.writeMessage(2, templates_.get(i));
594      }
595      for (int i = 0; i < dependencies_.size(); i++) {
596        output.writeMessage(3, dependencies_.get(i));
597      }
598      if (values_ != null) {
599        output.writeMessage(4, getValues());
600      }
601      for (int i = 0; i < files_.size(); i++) {
602        output.writeMessage(5, files_.get(i));
603      }
604    }
605
606    public int getSerializedSize() {
607      int size = memoizedSize;
608      if (size != -1) return size;
609
610      size = 0;
611      if (metadata_ != null) {
612        size += com.google.protobuf.CodedOutputStream
613          .computeMessageSize(1, getMetadata());
614      }
615      for (int i = 0; i < templates_.size(); i++) {
616        size += com.google.protobuf.CodedOutputStream
617          .computeMessageSize(2, templates_.get(i));
618      }
619      for (int i = 0; i < dependencies_.size(); i++) {
620        size += com.google.protobuf.CodedOutputStream
621          .computeMessageSize(3, dependencies_.get(i));
622      }
623      if (values_ != null) {
624        size += com.google.protobuf.CodedOutputStream
625          .computeMessageSize(4, getValues());
626      }
627      for (int i = 0; i < files_.size(); i++) {
628        size += com.google.protobuf.CodedOutputStream
629          .computeMessageSize(5, files_.get(i));
630      }
631      memoizedSize = size;
632      return size;
633    }
634
635    private static final long serialVersionUID = 0L;
636    @java.lang.Override
637    public boolean equals(final java.lang.Object obj) {
638      if (obj == this) {
639       return true;
640      }
641      if (!(obj instanceof hapi.chart.ChartOuterClass.Chart)) {
642        return super.equals(obj);
643      }
644      hapi.chart.ChartOuterClass.Chart other = (hapi.chart.ChartOuterClass.Chart) obj;
645
646      boolean result = true;
647      result = result && (hasMetadata() == other.hasMetadata());
648      if (hasMetadata()) {
649        result = result && getMetadata()
650            .equals(other.getMetadata());
651      }
652      result = result && getTemplatesList()
653          .equals(other.getTemplatesList());
654      result = result && getDependenciesList()
655          .equals(other.getDependenciesList());
656      result = result && (hasValues() == other.hasValues());
657      if (hasValues()) {
658        result = result && getValues()
659            .equals(other.getValues());
660      }
661      result = result && getFilesList()
662          .equals(other.getFilesList());
663      return result;
664    }
665
666    @java.lang.Override
667    public int hashCode() {
668      if (memoizedHashCode != 0) {
669        return memoizedHashCode;
670      }
671      int hash = 41;
672      hash = (19 * hash) + getDescriptor().hashCode();
673      if (hasMetadata()) {
674        hash = (37 * hash) + METADATA_FIELD_NUMBER;
675        hash = (53 * hash) + getMetadata().hashCode();
676      }
677      if (getTemplatesCount() > 0) {
678        hash = (37 * hash) + TEMPLATES_FIELD_NUMBER;
679        hash = (53 * hash) + getTemplatesList().hashCode();
680      }
681      if (getDependenciesCount() > 0) {
682        hash = (37 * hash) + DEPENDENCIES_FIELD_NUMBER;
683        hash = (53 * hash) + getDependenciesList().hashCode();
684      }
685      if (hasValues()) {
686        hash = (37 * hash) + VALUES_FIELD_NUMBER;
687        hash = (53 * hash) + getValues().hashCode();
688      }
689      if (getFilesCount() > 0) {
690        hash = (37 * hash) + FILES_FIELD_NUMBER;
691        hash = (53 * hash) + getFilesList().hashCode();
692      }
693      hash = (29 * hash) + unknownFields.hashCode();
694      memoizedHashCode = hash;
695      return hash;
696    }
697
698    public static hapi.chart.ChartOuterClass.Chart parseFrom(
699        java.nio.ByteBuffer data)
700        throws com.google.protobuf.InvalidProtocolBufferException {
701      return PARSER.parseFrom(data);
702    }
703    public static hapi.chart.ChartOuterClass.Chart parseFrom(
704        java.nio.ByteBuffer data,
705        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
706        throws com.google.protobuf.InvalidProtocolBufferException {
707      return PARSER.parseFrom(data, extensionRegistry);
708    }
709    public static hapi.chart.ChartOuterClass.Chart parseFrom(
710        com.google.protobuf.ByteString data)
711        throws com.google.protobuf.InvalidProtocolBufferException {
712      return PARSER.parseFrom(data);
713    }
714    public static hapi.chart.ChartOuterClass.Chart parseFrom(
715        com.google.protobuf.ByteString data,
716        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
717        throws com.google.protobuf.InvalidProtocolBufferException {
718      return PARSER.parseFrom(data, extensionRegistry);
719    }
720    public static hapi.chart.ChartOuterClass.Chart parseFrom(byte[] data)
721        throws com.google.protobuf.InvalidProtocolBufferException {
722      return PARSER.parseFrom(data);
723    }
724    public static hapi.chart.ChartOuterClass.Chart parseFrom(
725        byte[] data,
726        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
727        throws com.google.protobuf.InvalidProtocolBufferException {
728      return PARSER.parseFrom(data, extensionRegistry);
729    }
730    public static hapi.chart.ChartOuterClass.Chart parseFrom(java.io.InputStream input)
731        throws java.io.IOException {
732      return com.google.protobuf.GeneratedMessageV3
733          .parseWithIOException(PARSER, input);
734    }
735    public static hapi.chart.ChartOuterClass.Chart parseFrom(
736        java.io.InputStream input,
737        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
738        throws java.io.IOException {
739      return com.google.protobuf.GeneratedMessageV3
740          .parseWithIOException(PARSER, input, extensionRegistry);
741    }
742    public static hapi.chart.ChartOuterClass.Chart parseDelimitedFrom(java.io.InputStream input)
743        throws java.io.IOException {
744      return com.google.protobuf.GeneratedMessageV3
745          .parseDelimitedWithIOException(PARSER, input);
746    }
747    public static hapi.chart.ChartOuterClass.Chart parseDelimitedFrom(
748        java.io.InputStream input,
749        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
750        throws java.io.IOException {
751      return com.google.protobuf.GeneratedMessageV3
752          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
753    }
754    public static hapi.chart.ChartOuterClass.Chart parseFrom(
755        com.google.protobuf.CodedInputStream input)
756        throws java.io.IOException {
757      return com.google.protobuf.GeneratedMessageV3
758          .parseWithIOException(PARSER, input);
759    }
760    public static hapi.chart.ChartOuterClass.Chart parseFrom(
761        com.google.protobuf.CodedInputStream input,
762        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
763        throws java.io.IOException {
764      return com.google.protobuf.GeneratedMessageV3
765          .parseWithIOException(PARSER, input, extensionRegistry);
766    }
767
768    public Builder newBuilderForType() { return newBuilder(); }
769    public static Builder newBuilder() {
770      return DEFAULT_INSTANCE.toBuilder();
771    }
772    public static Builder newBuilder(hapi.chart.ChartOuterClass.Chart prototype) {
773      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
774    }
775    public Builder toBuilder() {
776      return this == DEFAULT_INSTANCE
777          ? new Builder() : new Builder().mergeFrom(this);
778    }
779
780    @java.lang.Override
781    protected Builder newBuilderForType(
782        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
783      Builder builder = new Builder(parent);
784      return builder;
785    }
786    /**
787     * <pre>
788     *  Chart is a helm package that contains metadata, a default config, zero or more
789     *  optionally parameterizable templates, and zero or more charts (dependencies).
790     * </pre>
791     *
792     * Protobuf type {@code hapi.chart.Chart}
793     */
794    public static final class Builder extends
795        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
796        // @@protoc_insertion_point(builder_implements:hapi.chart.Chart)
797        hapi.chart.ChartOuterClass.ChartOrBuilder {
798      public static final com.google.protobuf.Descriptors.Descriptor
799          getDescriptor() {
800        return hapi.chart.ChartOuterClass.internal_static_hapi_chart_Chart_descriptor;
801      }
802
803      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
804          internalGetFieldAccessorTable() {
805        return hapi.chart.ChartOuterClass.internal_static_hapi_chart_Chart_fieldAccessorTable
806            .ensureFieldAccessorsInitialized(
807                hapi.chart.ChartOuterClass.Chart.class, hapi.chart.ChartOuterClass.Chart.Builder.class);
808      }
809
810      // Construct using hapi.chart.ChartOuterClass.Chart.newBuilder()
811      private Builder() {
812        maybeForceBuilderInitialization();
813      }
814
815      private Builder(
816          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
817        super(parent);
818        maybeForceBuilderInitialization();
819      }
820      private void maybeForceBuilderInitialization() {
821        if (com.google.protobuf.GeneratedMessageV3
822                .alwaysUseFieldBuilders) {
823          getTemplatesFieldBuilder();
824          getDependenciesFieldBuilder();
825          getFilesFieldBuilder();
826        }
827      }
828      public Builder clear() {
829        super.clear();
830        if (metadataBuilder_ == null) {
831          metadata_ = null;
832        } else {
833          metadata_ = null;
834          metadataBuilder_ = null;
835        }
836        if (templatesBuilder_ == null) {
837          templates_ = java.util.Collections.emptyList();
838          bitField0_ = (bitField0_ & ~0x00000002);
839        } else {
840          templatesBuilder_.clear();
841        }
842        if (dependenciesBuilder_ == null) {
843          dependencies_ = java.util.Collections.emptyList();
844          bitField0_ = (bitField0_ & ~0x00000004);
845        } else {
846          dependenciesBuilder_.clear();
847        }
848        if (valuesBuilder_ == null) {
849          values_ = null;
850        } else {
851          values_ = null;
852          valuesBuilder_ = null;
853        }
854        if (filesBuilder_ == null) {
855          files_ = java.util.Collections.emptyList();
856          bitField0_ = (bitField0_ & ~0x00000010);
857        } else {
858          filesBuilder_.clear();
859        }
860        return this;
861      }
862
863      public com.google.protobuf.Descriptors.Descriptor
864          getDescriptorForType() {
865        return hapi.chart.ChartOuterClass.internal_static_hapi_chart_Chart_descriptor;
866      }
867
868      public hapi.chart.ChartOuterClass.Chart getDefaultInstanceForType() {
869        return hapi.chart.ChartOuterClass.Chart.getDefaultInstance();
870      }
871
872      public hapi.chart.ChartOuterClass.Chart build() {
873        hapi.chart.ChartOuterClass.Chart result = buildPartial();
874        if (!result.isInitialized()) {
875          throw newUninitializedMessageException(result);
876        }
877        return result;
878      }
879
880      public hapi.chart.ChartOuterClass.Chart buildPartial() {
881        hapi.chart.ChartOuterClass.Chart result = new hapi.chart.ChartOuterClass.Chart(this);
882        int from_bitField0_ = bitField0_;
883        int to_bitField0_ = 0;
884        if (metadataBuilder_ == null) {
885          result.metadata_ = metadata_;
886        } else {
887          result.metadata_ = metadataBuilder_.build();
888        }
889        if (templatesBuilder_ == null) {
890          if (((bitField0_ & 0x00000002) == 0x00000002)) {
891            templates_ = java.util.Collections.unmodifiableList(templates_);
892            bitField0_ = (bitField0_ & ~0x00000002);
893          }
894          result.templates_ = templates_;
895        } else {
896          result.templates_ = templatesBuilder_.build();
897        }
898        if (dependenciesBuilder_ == null) {
899          if (((bitField0_ & 0x00000004) == 0x00000004)) {
900            dependencies_ = java.util.Collections.unmodifiableList(dependencies_);
901            bitField0_ = (bitField0_ & ~0x00000004);
902          }
903          result.dependencies_ = dependencies_;
904        } else {
905          result.dependencies_ = dependenciesBuilder_.build();
906        }
907        if (valuesBuilder_ == null) {
908          result.values_ = values_;
909        } else {
910          result.values_ = valuesBuilder_.build();
911        }
912        if (filesBuilder_ == null) {
913          if (((bitField0_ & 0x00000010) == 0x00000010)) {
914            files_ = java.util.Collections.unmodifiableList(files_);
915            bitField0_ = (bitField0_ & ~0x00000010);
916          }
917          result.files_ = files_;
918        } else {
919          result.files_ = filesBuilder_.build();
920        }
921        result.bitField0_ = to_bitField0_;
922        onBuilt();
923        return result;
924      }
925
926      public Builder clone() {
927        return (Builder) super.clone();
928      }
929      public Builder setField(
930          com.google.protobuf.Descriptors.FieldDescriptor field,
931          Object value) {
932        return (Builder) super.setField(field, value);
933      }
934      public Builder clearField(
935          com.google.protobuf.Descriptors.FieldDescriptor field) {
936        return (Builder) super.clearField(field);
937      }
938      public Builder clearOneof(
939          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
940        return (Builder) super.clearOneof(oneof);
941      }
942      public Builder setRepeatedField(
943          com.google.protobuf.Descriptors.FieldDescriptor field,
944          int index, Object value) {
945        return (Builder) super.setRepeatedField(field, index, value);
946      }
947      public Builder addRepeatedField(
948          com.google.protobuf.Descriptors.FieldDescriptor field,
949          Object value) {
950        return (Builder) super.addRepeatedField(field, value);
951      }
952      public Builder mergeFrom(com.google.protobuf.Message other) {
953        if (other instanceof hapi.chart.ChartOuterClass.Chart) {
954          return mergeFrom((hapi.chart.ChartOuterClass.Chart)other);
955        } else {
956          super.mergeFrom(other);
957          return this;
958        }
959      }
960
961      public Builder mergeFrom(hapi.chart.ChartOuterClass.Chart other) {
962        if (other == hapi.chart.ChartOuterClass.Chart.getDefaultInstance()) return this;
963        if (other.hasMetadata()) {
964          mergeMetadata(other.getMetadata());
965        }
966        if (templatesBuilder_ == null) {
967          if (!other.templates_.isEmpty()) {
968            if (templates_.isEmpty()) {
969              templates_ = other.templates_;
970              bitField0_ = (bitField0_ & ~0x00000002);
971            } else {
972              ensureTemplatesIsMutable();
973              templates_.addAll(other.templates_);
974            }
975            onChanged();
976          }
977        } else {
978          if (!other.templates_.isEmpty()) {
979            if (templatesBuilder_.isEmpty()) {
980              templatesBuilder_.dispose();
981              templatesBuilder_ = null;
982              templates_ = other.templates_;
983              bitField0_ = (bitField0_ & ~0x00000002);
984              templatesBuilder_ = 
985                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
986                   getTemplatesFieldBuilder() : null;
987            } else {
988              templatesBuilder_.addAllMessages(other.templates_);
989            }
990          }
991        }
992        if (dependenciesBuilder_ == null) {
993          if (!other.dependencies_.isEmpty()) {
994            if (dependencies_.isEmpty()) {
995              dependencies_ = other.dependencies_;
996              bitField0_ = (bitField0_ & ~0x00000004);
997            } else {
998              ensureDependenciesIsMutable();
999              dependencies_.addAll(other.dependencies_);
1000            }
1001            onChanged();
1002          }
1003        } else {
1004          if (!other.dependencies_.isEmpty()) {
1005            if (dependenciesBuilder_.isEmpty()) {
1006              dependenciesBuilder_.dispose();
1007              dependenciesBuilder_ = null;
1008              dependencies_ = other.dependencies_;
1009              bitField0_ = (bitField0_ & ~0x00000004);
1010              dependenciesBuilder_ = 
1011                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
1012                   getDependenciesFieldBuilder() : null;
1013            } else {
1014              dependenciesBuilder_.addAllMessages(other.dependencies_);
1015            }
1016          }
1017        }
1018        if (other.hasValues()) {
1019          mergeValues(other.getValues());
1020        }
1021        if (filesBuilder_ == null) {
1022          if (!other.files_.isEmpty()) {
1023            if (files_.isEmpty()) {
1024              files_ = other.files_;
1025              bitField0_ = (bitField0_ & ~0x00000010);
1026            } else {
1027              ensureFilesIsMutable();
1028              files_.addAll(other.files_);
1029            }
1030            onChanged();
1031          }
1032        } else {
1033          if (!other.files_.isEmpty()) {
1034            if (filesBuilder_.isEmpty()) {
1035              filesBuilder_.dispose();
1036              filesBuilder_ = null;
1037              files_ = other.files_;
1038              bitField0_ = (bitField0_ & ~0x00000010);
1039              filesBuilder_ = 
1040                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
1041                   getFilesFieldBuilder() : null;
1042            } else {
1043              filesBuilder_.addAllMessages(other.files_);
1044            }
1045          }
1046        }
1047        onChanged();
1048        return this;
1049      }
1050
1051      public final boolean isInitialized() {
1052        return true;
1053      }
1054
1055      public Builder mergeFrom(
1056          com.google.protobuf.CodedInputStream input,
1057          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
1058          throws java.io.IOException {
1059        hapi.chart.ChartOuterClass.Chart parsedMessage = null;
1060        try {
1061          parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
1062        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
1063          parsedMessage = (hapi.chart.ChartOuterClass.Chart) e.getUnfinishedMessage();
1064          throw e.unwrapIOException();
1065        } finally {
1066          if (parsedMessage != null) {
1067            mergeFrom(parsedMessage);
1068          }
1069        }
1070        return this;
1071      }
1072      private int bitField0_;
1073
1074      private hapi.chart.MetadataOuterClass.Metadata metadata_ = null;
1075      private com.google.protobuf.SingleFieldBuilderV3<
1076          hapi.chart.MetadataOuterClass.Metadata, hapi.chart.MetadataOuterClass.Metadata.Builder, hapi.chart.MetadataOuterClass.MetadataOrBuilder> metadataBuilder_;
1077      /**
1078       * <pre>
1079       * Contents of the Chartfile.
1080       * </pre>
1081       *
1082       * <code>.hapi.chart.Metadata metadata = 1;</code>
1083       */
1084      public boolean hasMetadata() {
1085        return metadataBuilder_ != null || metadata_ != null;
1086      }
1087      /**
1088       * <pre>
1089       * Contents of the Chartfile.
1090       * </pre>
1091       *
1092       * <code>.hapi.chart.Metadata metadata = 1;</code>
1093       */
1094      public hapi.chart.MetadataOuterClass.Metadata getMetadata() {
1095        if (metadataBuilder_ == null) {
1096          return metadata_ == null ? hapi.chart.MetadataOuterClass.Metadata.getDefaultInstance() : metadata_;
1097        } else {
1098          return metadataBuilder_.getMessage();
1099        }
1100      }
1101      /**
1102       * <pre>
1103       * Contents of the Chartfile.
1104       * </pre>
1105       *
1106       * <code>.hapi.chart.Metadata metadata = 1;</code>
1107       */
1108      public Builder setMetadata(hapi.chart.MetadataOuterClass.Metadata value) {
1109        if (metadataBuilder_ == null) {
1110          if (value == null) {
1111            throw new NullPointerException();
1112          }
1113          metadata_ = value;
1114          onChanged();
1115        } else {
1116          metadataBuilder_.setMessage(value);
1117        }
1118
1119        return this;
1120      }
1121      /**
1122       * <pre>
1123       * Contents of the Chartfile.
1124       * </pre>
1125       *
1126       * <code>.hapi.chart.Metadata metadata = 1;</code>
1127       */
1128      public Builder setMetadata(
1129          hapi.chart.MetadataOuterClass.Metadata.Builder builderForValue) {
1130        if (metadataBuilder_ == null) {
1131          metadata_ = builderForValue.build();
1132          onChanged();
1133        } else {
1134          metadataBuilder_.setMessage(builderForValue.build());
1135        }
1136
1137        return this;
1138      }
1139      /**
1140       * <pre>
1141       * Contents of the Chartfile.
1142       * </pre>
1143       *
1144       * <code>.hapi.chart.Metadata metadata = 1;</code>
1145       */
1146      public Builder mergeMetadata(hapi.chart.MetadataOuterClass.Metadata value) {
1147        if (metadataBuilder_ == null) {
1148          if (metadata_ != null) {
1149            metadata_ =
1150              hapi.chart.MetadataOuterClass.Metadata.newBuilder(metadata_).mergeFrom(value).buildPartial();
1151          } else {
1152            metadata_ = value;
1153          }
1154          onChanged();
1155        } else {
1156          metadataBuilder_.mergeFrom(value);
1157        }
1158
1159        return this;
1160      }
1161      /**
1162       * <pre>
1163       * Contents of the Chartfile.
1164       * </pre>
1165       *
1166       * <code>.hapi.chart.Metadata metadata = 1;</code>
1167       */
1168      public Builder clearMetadata() {
1169        if (metadataBuilder_ == null) {
1170          metadata_ = null;
1171          onChanged();
1172        } else {
1173          metadata_ = null;
1174          metadataBuilder_ = null;
1175        }
1176
1177        return this;
1178      }
1179      /**
1180       * <pre>
1181       * Contents of the Chartfile.
1182       * </pre>
1183       *
1184       * <code>.hapi.chart.Metadata metadata = 1;</code>
1185       */
1186      public hapi.chart.MetadataOuterClass.Metadata.Builder getMetadataBuilder() {
1187        
1188        onChanged();
1189        return getMetadataFieldBuilder().getBuilder();
1190      }
1191      /**
1192       * <pre>
1193       * Contents of the Chartfile.
1194       * </pre>
1195       *
1196       * <code>.hapi.chart.Metadata metadata = 1;</code>
1197       */
1198      public hapi.chart.MetadataOuterClass.MetadataOrBuilder getMetadataOrBuilder() {
1199        if (metadataBuilder_ != null) {
1200          return metadataBuilder_.getMessageOrBuilder();
1201        } else {
1202          return metadata_ == null ?
1203              hapi.chart.MetadataOuterClass.Metadata.getDefaultInstance() : metadata_;
1204        }
1205      }
1206      /**
1207       * <pre>
1208       * Contents of the Chartfile.
1209       * </pre>
1210       *
1211       * <code>.hapi.chart.Metadata metadata = 1;</code>
1212       */
1213      private com.google.protobuf.SingleFieldBuilderV3<
1214          hapi.chart.MetadataOuterClass.Metadata, hapi.chart.MetadataOuterClass.Metadata.Builder, hapi.chart.MetadataOuterClass.MetadataOrBuilder> 
1215          getMetadataFieldBuilder() {
1216        if (metadataBuilder_ == null) {
1217          metadataBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
1218              hapi.chart.MetadataOuterClass.Metadata, hapi.chart.MetadataOuterClass.Metadata.Builder, hapi.chart.MetadataOuterClass.MetadataOrBuilder>(
1219                  getMetadata(),
1220                  getParentForChildren(),
1221                  isClean());
1222          metadata_ = null;
1223        }
1224        return metadataBuilder_;
1225      }
1226
1227      private java.util.List<hapi.chart.TemplateOuterClass.Template> templates_ =
1228        java.util.Collections.emptyList();
1229      private void ensureTemplatesIsMutable() {
1230        if (!((bitField0_ & 0x00000002) == 0x00000002)) {
1231          templates_ = new java.util.ArrayList<hapi.chart.TemplateOuterClass.Template>(templates_);
1232          bitField0_ |= 0x00000002;
1233         }
1234      }
1235
1236      private com.google.protobuf.RepeatedFieldBuilderV3<
1237          hapi.chart.TemplateOuterClass.Template, hapi.chart.TemplateOuterClass.Template.Builder, hapi.chart.TemplateOuterClass.TemplateOrBuilder> templatesBuilder_;
1238
1239      /**
1240       * <pre>
1241       * Templates for this chart.
1242       * </pre>
1243       *
1244       * <code>repeated .hapi.chart.Template templates = 2;</code>
1245       */
1246      public java.util.List<hapi.chart.TemplateOuterClass.Template> getTemplatesList() {
1247        if (templatesBuilder_ == null) {
1248          return java.util.Collections.unmodifiableList(templates_);
1249        } else {
1250          return templatesBuilder_.getMessageList();
1251        }
1252      }
1253      /**
1254       * <pre>
1255       * Templates for this chart.
1256       * </pre>
1257       *
1258       * <code>repeated .hapi.chart.Template templates = 2;</code>
1259       */
1260      public int getTemplatesCount() {
1261        if (templatesBuilder_ == null) {
1262          return templates_.size();
1263        } else {
1264          return templatesBuilder_.getCount();
1265        }
1266      }
1267      /**
1268       * <pre>
1269       * Templates for this chart.
1270       * </pre>
1271       *
1272       * <code>repeated .hapi.chart.Template templates = 2;</code>
1273       */
1274      public hapi.chart.TemplateOuterClass.Template getTemplates(int index) {
1275        if (templatesBuilder_ == null) {
1276          return templates_.get(index);
1277        } else {
1278          return templatesBuilder_.getMessage(index);
1279        }
1280      }
1281      /**
1282       * <pre>
1283       * Templates for this chart.
1284       * </pre>
1285       *
1286       * <code>repeated .hapi.chart.Template templates = 2;</code>
1287       */
1288      public Builder setTemplates(
1289          int index, hapi.chart.TemplateOuterClass.Template value) {
1290        if (templatesBuilder_ == null) {
1291          if (value == null) {
1292            throw new NullPointerException();
1293          }
1294          ensureTemplatesIsMutable();
1295          templates_.set(index, value);
1296          onChanged();
1297        } else {
1298          templatesBuilder_.setMessage(index, value);
1299        }
1300        return this;
1301      }
1302      /**
1303       * <pre>
1304       * Templates for this chart.
1305       * </pre>
1306       *
1307       * <code>repeated .hapi.chart.Template templates = 2;</code>
1308       */
1309      public Builder setTemplates(
1310          int index, hapi.chart.TemplateOuterClass.Template.Builder builderForValue) {
1311        if (templatesBuilder_ == null) {
1312          ensureTemplatesIsMutable();
1313          templates_.set(index, builderForValue.build());
1314          onChanged();
1315        } else {
1316          templatesBuilder_.setMessage(index, builderForValue.build());
1317        }
1318        return this;
1319      }
1320      /**
1321       * <pre>
1322       * Templates for this chart.
1323       * </pre>
1324       *
1325       * <code>repeated .hapi.chart.Template templates = 2;</code>
1326       */
1327      public Builder addTemplates(hapi.chart.TemplateOuterClass.Template value) {
1328        if (templatesBuilder_ == null) {
1329          if (value == null) {
1330            throw new NullPointerException();
1331          }
1332          ensureTemplatesIsMutable();
1333          templates_.add(value);
1334          onChanged();
1335        } else {
1336          templatesBuilder_.addMessage(value);
1337        }
1338        return this;
1339      }
1340      /**
1341       * <pre>
1342       * Templates for this chart.
1343       * </pre>
1344       *
1345       * <code>repeated .hapi.chart.Template templates = 2;</code>
1346       */
1347      public Builder addTemplates(
1348          int index, hapi.chart.TemplateOuterClass.Template value) {
1349        if (templatesBuilder_ == null) {
1350          if (value == null) {
1351            throw new NullPointerException();
1352          }
1353          ensureTemplatesIsMutable();
1354          templates_.add(index, value);
1355          onChanged();
1356        } else {
1357          templatesBuilder_.addMessage(index, value);
1358        }
1359        return this;
1360      }
1361      /**
1362       * <pre>
1363       * Templates for this chart.
1364       * </pre>
1365       *
1366       * <code>repeated .hapi.chart.Template templates = 2;</code>
1367       */
1368      public Builder addTemplates(
1369          hapi.chart.TemplateOuterClass.Template.Builder builderForValue) {
1370        if (templatesBuilder_ == null) {
1371          ensureTemplatesIsMutable();
1372          templates_.add(builderForValue.build());
1373          onChanged();
1374        } else {
1375          templatesBuilder_.addMessage(builderForValue.build());
1376        }
1377        return this;
1378      }
1379      /**
1380       * <pre>
1381       * Templates for this chart.
1382       * </pre>
1383       *
1384       * <code>repeated .hapi.chart.Template templates = 2;</code>
1385       */
1386      public Builder addTemplates(
1387          int index, hapi.chart.TemplateOuterClass.Template.Builder builderForValue) {
1388        if (templatesBuilder_ == null) {
1389          ensureTemplatesIsMutable();
1390          templates_.add(index, builderForValue.build());
1391          onChanged();
1392        } else {
1393          templatesBuilder_.addMessage(index, builderForValue.build());
1394        }
1395        return this;
1396      }
1397      /**
1398       * <pre>
1399       * Templates for this chart.
1400       * </pre>
1401       *
1402       * <code>repeated .hapi.chart.Template templates = 2;</code>
1403       */
1404      public Builder addAllTemplates(
1405          java.lang.Iterable<? extends hapi.chart.TemplateOuterClass.Template> values) {
1406        if (templatesBuilder_ == null) {
1407          ensureTemplatesIsMutable();
1408          com.google.protobuf.AbstractMessageLite.Builder.addAll(
1409              values, templates_);
1410          onChanged();
1411        } else {
1412          templatesBuilder_.addAllMessages(values);
1413        }
1414        return this;
1415      }
1416      /**
1417       * <pre>
1418       * Templates for this chart.
1419       * </pre>
1420       *
1421       * <code>repeated .hapi.chart.Template templates = 2;</code>
1422       */
1423      public Builder clearTemplates() {
1424        if (templatesBuilder_ == null) {
1425          templates_ = java.util.Collections.emptyList();
1426          bitField0_ = (bitField0_ & ~0x00000002);
1427          onChanged();
1428        } else {
1429          templatesBuilder_.clear();
1430        }
1431        return this;
1432      }
1433      /**
1434       * <pre>
1435       * Templates for this chart.
1436       * </pre>
1437       *
1438       * <code>repeated .hapi.chart.Template templates = 2;</code>
1439       */
1440      public Builder removeTemplates(int index) {
1441        if (templatesBuilder_ == null) {
1442          ensureTemplatesIsMutable();
1443          templates_.remove(index);
1444          onChanged();
1445        } else {
1446          templatesBuilder_.remove(index);
1447        }
1448        return this;
1449      }
1450      /**
1451       * <pre>
1452       * Templates for this chart.
1453       * </pre>
1454       *
1455       * <code>repeated .hapi.chart.Template templates = 2;</code>
1456       */
1457      public hapi.chart.TemplateOuterClass.Template.Builder getTemplatesBuilder(
1458          int index) {
1459        return getTemplatesFieldBuilder().getBuilder(index);
1460      }
1461      /**
1462       * <pre>
1463       * Templates for this chart.
1464       * </pre>
1465       *
1466       * <code>repeated .hapi.chart.Template templates = 2;</code>
1467       */
1468      public hapi.chart.TemplateOuterClass.TemplateOrBuilder getTemplatesOrBuilder(
1469          int index) {
1470        if (templatesBuilder_ == null) {
1471          return templates_.get(index);  } else {
1472          return templatesBuilder_.getMessageOrBuilder(index);
1473        }
1474      }
1475      /**
1476       * <pre>
1477       * Templates for this chart.
1478       * </pre>
1479       *
1480       * <code>repeated .hapi.chart.Template templates = 2;</code>
1481       */
1482      public java.util.List<? extends hapi.chart.TemplateOuterClass.TemplateOrBuilder> 
1483           getTemplatesOrBuilderList() {
1484        if (templatesBuilder_ != null) {
1485          return templatesBuilder_.getMessageOrBuilderList();
1486        } else {
1487          return java.util.Collections.unmodifiableList(templates_);
1488        }
1489      }
1490      /**
1491       * <pre>
1492       * Templates for this chart.
1493       * </pre>
1494       *
1495       * <code>repeated .hapi.chart.Template templates = 2;</code>
1496       */
1497      public hapi.chart.TemplateOuterClass.Template.Builder addTemplatesBuilder() {
1498        return getTemplatesFieldBuilder().addBuilder(
1499            hapi.chart.TemplateOuterClass.Template.getDefaultInstance());
1500      }
1501      /**
1502       * <pre>
1503       * Templates for this chart.
1504       * </pre>
1505       *
1506       * <code>repeated .hapi.chart.Template templates = 2;</code>
1507       */
1508      public hapi.chart.TemplateOuterClass.Template.Builder addTemplatesBuilder(
1509          int index) {
1510        return getTemplatesFieldBuilder().addBuilder(
1511            index, hapi.chart.TemplateOuterClass.Template.getDefaultInstance());
1512      }
1513      /**
1514       * <pre>
1515       * Templates for this chart.
1516       * </pre>
1517       *
1518       * <code>repeated .hapi.chart.Template templates = 2;</code>
1519       */
1520      public java.util.List<hapi.chart.TemplateOuterClass.Template.Builder> 
1521           getTemplatesBuilderList() {
1522        return getTemplatesFieldBuilder().getBuilderList();
1523      }
1524      private com.google.protobuf.RepeatedFieldBuilderV3<
1525          hapi.chart.TemplateOuterClass.Template, hapi.chart.TemplateOuterClass.Template.Builder, hapi.chart.TemplateOuterClass.TemplateOrBuilder> 
1526          getTemplatesFieldBuilder() {
1527        if (templatesBuilder_ == null) {
1528          templatesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
1529              hapi.chart.TemplateOuterClass.Template, hapi.chart.TemplateOuterClass.Template.Builder, hapi.chart.TemplateOuterClass.TemplateOrBuilder>(
1530                  templates_,
1531                  ((bitField0_ & 0x00000002) == 0x00000002),
1532                  getParentForChildren(),
1533                  isClean());
1534          templates_ = null;
1535        }
1536        return templatesBuilder_;
1537      }
1538
1539      private java.util.List<hapi.chart.ChartOuterClass.Chart> dependencies_ =
1540        java.util.Collections.emptyList();
1541      private void ensureDependenciesIsMutable() {
1542        if (!((bitField0_ & 0x00000004) == 0x00000004)) {
1543          dependencies_ = new java.util.ArrayList<hapi.chart.ChartOuterClass.Chart>(dependencies_);
1544          bitField0_ |= 0x00000004;
1545         }
1546      }
1547
1548      private com.google.protobuf.RepeatedFieldBuilderV3<
1549          hapi.chart.ChartOuterClass.Chart, hapi.chart.ChartOuterClass.Chart.Builder, hapi.chart.ChartOuterClass.ChartOrBuilder> dependenciesBuilder_;
1550
1551      /**
1552       * <pre>
1553       * Charts that this chart depends on.
1554       * </pre>
1555       *
1556       * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
1557       */
1558      public java.util.List<hapi.chart.ChartOuterClass.Chart> getDependenciesList() {
1559        if (dependenciesBuilder_ == null) {
1560          return java.util.Collections.unmodifiableList(dependencies_);
1561        } else {
1562          return dependenciesBuilder_.getMessageList();
1563        }
1564      }
1565      /**
1566       * <pre>
1567       * Charts that this chart depends on.
1568       * </pre>
1569       *
1570       * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
1571       */
1572      public int getDependenciesCount() {
1573        if (dependenciesBuilder_ == null) {
1574          return dependencies_.size();
1575        } else {
1576          return dependenciesBuilder_.getCount();
1577        }
1578      }
1579      /**
1580       * <pre>
1581       * Charts that this chart depends on.
1582       * </pre>
1583       *
1584       * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
1585       */
1586      public hapi.chart.ChartOuterClass.Chart getDependencies(int index) {
1587        if (dependenciesBuilder_ == null) {
1588          return dependencies_.get(index);
1589        } else {
1590          return dependenciesBuilder_.getMessage(index);
1591        }
1592      }
1593      /**
1594       * <pre>
1595       * Charts that this chart depends on.
1596       * </pre>
1597       *
1598       * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
1599       */
1600      public Builder setDependencies(
1601          int index, hapi.chart.ChartOuterClass.Chart value) {
1602        if (dependenciesBuilder_ == null) {
1603          if (value == null) {
1604            throw new NullPointerException();
1605          }
1606          ensureDependenciesIsMutable();
1607          dependencies_.set(index, value);
1608          onChanged();
1609        } else {
1610          dependenciesBuilder_.setMessage(index, value);
1611        }
1612        return this;
1613      }
1614      /**
1615       * <pre>
1616       * Charts that this chart depends on.
1617       * </pre>
1618       *
1619       * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
1620       */
1621      public Builder setDependencies(
1622          int index, hapi.chart.ChartOuterClass.Chart.Builder builderForValue) {
1623        if (dependenciesBuilder_ == null) {
1624          ensureDependenciesIsMutable();
1625          dependencies_.set(index, builderForValue.build());
1626          onChanged();
1627        } else {
1628          dependenciesBuilder_.setMessage(index, builderForValue.build());
1629        }
1630        return this;
1631      }
1632      /**
1633       * <pre>
1634       * Charts that this chart depends on.
1635       * </pre>
1636       *
1637       * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
1638       */
1639      public Builder addDependencies(hapi.chart.ChartOuterClass.Chart value) {
1640        if (dependenciesBuilder_ == null) {
1641          if (value == null) {
1642            throw new NullPointerException();
1643          }
1644          ensureDependenciesIsMutable();
1645          dependencies_.add(value);
1646          onChanged();
1647        } else {
1648          dependenciesBuilder_.addMessage(value);
1649        }
1650        return this;
1651      }
1652      /**
1653       * <pre>
1654       * Charts that this chart depends on.
1655       * </pre>
1656       *
1657       * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
1658       */
1659      public Builder addDependencies(
1660          int index, hapi.chart.ChartOuterClass.Chart value) {
1661        if (dependenciesBuilder_ == null) {
1662          if (value == null) {
1663            throw new NullPointerException();
1664          }
1665          ensureDependenciesIsMutable();
1666          dependencies_.add(index, value);
1667          onChanged();
1668        } else {
1669          dependenciesBuilder_.addMessage(index, value);
1670        }
1671        return this;
1672      }
1673      /**
1674       * <pre>
1675       * Charts that this chart depends on.
1676       * </pre>
1677       *
1678       * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
1679       */
1680      public Builder addDependencies(
1681          hapi.chart.ChartOuterClass.Chart.Builder builderForValue) {
1682        if (dependenciesBuilder_ == null) {
1683          ensureDependenciesIsMutable();
1684          dependencies_.add(builderForValue.build());
1685          onChanged();
1686        } else {
1687          dependenciesBuilder_.addMessage(builderForValue.build());
1688        }
1689        return this;
1690      }
1691      /**
1692       * <pre>
1693       * Charts that this chart depends on.
1694       * </pre>
1695       *
1696       * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
1697       */
1698      public Builder addDependencies(
1699          int index, hapi.chart.ChartOuterClass.Chart.Builder builderForValue) {
1700        if (dependenciesBuilder_ == null) {
1701          ensureDependenciesIsMutable();
1702          dependencies_.add(index, builderForValue.build());
1703          onChanged();
1704        } else {
1705          dependenciesBuilder_.addMessage(index, builderForValue.build());
1706        }
1707        return this;
1708      }
1709      /**
1710       * <pre>
1711       * Charts that this chart depends on.
1712       * </pre>
1713       *
1714       * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
1715       */
1716      public Builder addAllDependencies(
1717          java.lang.Iterable<? extends hapi.chart.ChartOuterClass.Chart> values) {
1718        if (dependenciesBuilder_ == null) {
1719          ensureDependenciesIsMutable();
1720          com.google.protobuf.AbstractMessageLite.Builder.addAll(
1721              values, dependencies_);
1722          onChanged();
1723        } else {
1724          dependenciesBuilder_.addAllMessages(values);
1725        }
1726        return this;
1727      }
1728      /**
1729       * <pre>
1730       * Charts that this chart depends on.
1731       * </pre>
1732       *
1733       * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
1734       */
1735      public Builder clearDependencies() {
1736        if (dependenciesBuilder_ == null) {
1737          dependencies_ = java.util.Collections.emptyList();
1738          bitField0_ = (bitField0_ & ~0x00000004);
1739          onChanged();
1740        } else {
1741          dependenciesBuilder_.clear();
1742        }
1743        return this;
1744      }
1745      /**
1746       * <pre>
1747       * Charts that this chart depends on.
1748       * </pre>
1749       *
1750       * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
1751       */
1752      public Builder removeDependencies(int index) {
1753        if (dependenciesBuilder_ == null) {
1754          ensureDependenciesIsMutable();
1755          dependencies_.remove(index);
1756          onChanged();
1757        } else {
1758          dependenciesBuilder_.remove(index);
1759        }
1760        return this;
1761      }
1762      /**
1763       * <pre>
1764       * Charts that this chart depends on.
1765       * </pre>
1766       *
1767       * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
1768       */
1769      public hapi.chart.ChartOuterClass.Chart.Builder getDependenciesBuilder(
1770          int index) {
1771        return getDependenciesFieldBuilder().getBuilder(index);
1772      }
1773      /**
1774       * <pre>
1775       * Charts that this chart depends on.
1776       * </pre>
1777       *
1778       * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
1779       */
1780      public hapi.chart.ChartOuterClass.ChartOrBuilder getDependenciesOrBuilder(
1781          int index) {
1782        if (dependenciesBuilder_ == null) {
1783          return dependencies_.get(index);  } else {
1784          return dependenciesBuilder_.getMessageOrBuilder(index);
1785        }
1786      }
1787      /**
1788       * <pre>
1789       * Charts that this chart depends on.
1790       * </pre>
1791       *
1792       * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
1793       */
1794      public java.util.List<? extends hapi.chart.ChartOuterClass.ChartOrBuilder> 
1795           getDependenciesOrBuilderList() {
1796        if (dependenciesBuilder_ != null) {
1797          return dependenciesBuilder_.getMessageOrBuilderList();
1798        } else {
1799          return java.util.Collections.unmodifiableList(dependencies_);
1800        }
1801      }
1802      /**
1803       * <pre>
1804       * Charts that this chart depends on.
1805       * </pre>
1806       *
1807       * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
1808       */
1809      public hapi.chart.ChartOuterClass.Chart.Builder addDependenciesBuilder() {
1810        return getDependenciesFieldBuilder().addBuilder(
1811            hapi.chart.ChartOuterClass.Chart.getDefaultInstance());
1812      }
1813      /**
1814       * <pre>
1815       * Charts that this chart depends on.
1816       * </pre>
1817       *
1818       * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
1819       */
1820      public hapi.chart.ChartOuterClass.Chart.Builder addDependenciesBuilder(
1821          int index) {
1822        return getDependenciesFieldBuilder().addBuilder(
1823            index, hapi.chart.ChartOuterClass.Chart.getDefaultInstance());
1824      }
1825      /**
1826       * <pre>
1827       * Charts that this chart depends on.
1828       * </pre>
1829       *
1830       * <code>repeated .hapi.chart.Chart dependencies = 3;</code>
1831       */
1832      public java.util.List<hapi.chart.ChartOuterClass.Chart.Builder> 
1833           getDependenciesBuilderList() {
1834        return getDependenciesFieldBuilder().getBuilderList();
1835      }
1836      private com.google.protobuf.RepeatedFieldBuilderV3<
1837          hapi.chart.ChartOuterClass.Chart, hapi.chart.ChartOuterClass.Chart.Builder, hapi.chart.ChartOuterClass.ChartOrBuilder> 
1838          getDependenciesFieldBuilder() {
1839        if (dependenciesBuilder_ == null) {
1840          dependenciesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
1841              hapi.chart.ChartOuterClass.Chart, hapi.chart.ChartOuterClass.Chart.Builder, hapi.chart.ChartOuterClass.ChartOrBuilder>(
1842                  dependencies_,
1843                  ((bitField0_ & 0x00000004) == 0x00000004),
1844                  getParentForChildren(),
1845                  isClean());
1846          dependencies_ = null;
1847        }
1848        return dependenciesBuilder_;
1849      }
1850
1851      private hapi.chart.ConfigOuterClass.Config values_ = null;
1852      private com.google.protobuf.SingleFieldBuilderV3<
1853          hapi.chart.ConfigOuterClass.Config, hapi.chart.ConfigOuterClass.Config.Builder, hapi.chart.ConfigOuterClass.ConfigOrBuilder> valuesBuilder_;
1854      /**
1855       * <pre>
1856       * Default config for this template.
1857       * </pre>
1858       *
1859       * <code>.hapi.chart.Config values = 4;</code>
1860       */
1861      public boolean hasValues() {
1862        return valuesBuilder_ != null || values_ != null;
1863      }
1864      /**
1865       * <pre>
1866       * Default config for this template.
1867       * </pre>
1868       *
1869       * <code>.hapi.chart.Config values = 4;</code>
1870       */
1871      public hapi.chart.ConfigOuterClass.Config getValues() {
1872        if (valuesBuilder_ == null) {
1873          return values_ == null ? hapi.chart.ConfigOuterClass.Config.getDefaultInstance() : values_;
1874        } else {
1875          return valuesBuilder_.getMessage();
1876        }
1877      }
1878      /**
1879       * <pre>
1880       * Default config for this template.
1881       * </pre>
1882       *
1883       * <code>.hapi.chart.Config values = 4;</code>
1884       */
1885      public Builder setValues(hapi.chart.ConfigOuterClass.Config value) {
1886        if (valuesBuilder_ == null) {
1887          if (value == null) {
1888            throw new NullPointerException();
1889          }
1890          values_ = value;
1891          onChanged();
1892        } else {
1893          valuesBuilder_.setMessage(value);
1894        }
1895
1896        return this;
1897      }
1898      /**
1899       * <pre>
1900       * Default config for this template.
1901       * </pre>
1902       *
1903       * <code>.hapi.chart.Config values = 4;</code>
1904       */
1905      public Builder setValues(
1906          hapi.chart.ConfigOuterClass.Config.Builder builderForValue) {
1907        if (valuesBuilder_ == null) {
1908          values_ = builderForValue.build();
1909          onChanged();
1910        } else {
1911          valuesBuilder_.setMessage(builderForValue.build());
1912        }
1913
1914        return this;
1915      }
1916      /**
1917       * <pre>
1918       * Default config for this template.
1919       * </pre>
1920       *
1921       * <code>.hapi.chart.Config values = 4;</code>
1922       */
1923      public Builder mergeValues(hapi.chart.ConfigOuterClass.Config value) {
1924        if (valuesBuilder_ == null) {
1925          if (values_ != null) {
1926            values_ =
1927              hapi.chart.ConfigOuterClass.Config.newBuilder(values_).mergeFrom(value).buildPartial();
1928          } else {
1929            values_ = value;
1930          }
1931          onChanged();
1932        } else {
1933          valuesBuilder_.mergeFrom(value);
1934        }
1935
1936        return this;
1937      }
1938      /**
1939       * <pre>
1940       * Default config for this template.
1941       * </pre>
1942       *
1943       * <code>.hapi.chart.Config values = 4;</code>
1944       */
1945      public Builder clearValues() {
1946        if (valuesBuilder_ == null) {
1947          values_ = null;
1948          onChanged();
1949        } else {
1950          values_ = null;
1951          valuesBuilder_ = null;
1952        }
1953
1954        return this;
1955      }
1956      /**
1957       * <pre>
1958       * Default config for this template.
1959       * </pre>
1960       *
1961       * <code>.hapi.chart.Config values = 4;</code>
1962       */
1963      public hapi.chart.ConfigOuterClass.Config.Builder getValuesBuilder() {
1964        
1965        onChanged();
1966        return getValuesFieldBuilder().getBuilder();
1967      }
1968      /**
1969       * <pre>
1970       * Default config for this template.
1971       * </pre>
1972       *
1973       * <code>.hapi.chart.Config values = 4;</code>
1974       */
1975      public hapi.chart.ConfigOuterClass.ConfigOrBuilder getValuesOrBuilder() {
1976        if (valuesBuilder_ != null) {
1977          return valuesBuilder_.getMessageOrBuilder();
1978        } else {
1979          return values_ == null ?
1980              hapi.chart.ConfigOuterClass.Config.getDefaultInstance() : values_;
1981        }
1982      }
1983      /**
1984       * <pre>
1985       * Default config for this template.
1986       * </pre>
1987       *
1988       * <code>.hapi.chart.Config values = 4;</code>
1989       */
1990      private com.google.protobuf.SingleFieldBuilderV3<
1991          hapi.chart.ConfigOuterClass.Config, hapi.chart.ConfigOuterClass.Config.Builder, hapi.chart.ConfigOuterClass.ConfigOrBuilder> 
1992          getValuesFieldBuilder() {
1993        if (valuesBuilder_ == null) {
1994          valuesBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
1995              hapi.chart.ConfigOuterClass.Config, hapi.chart.ConfigOuterClass.Config.Builder, hapi.chart.ConfigOuterClass.ConfigOrBuilder>(
1996                  getValues(),
1997                  getParentForChildren(),
1998                  isClean());
1999          values_ = null;
2000        }
2001        return valuesBuilder_;
2002      }
2003
2004      private java.util.List<com.google.protobuf.Any> files_ =
2005        java.util.Collections.emptyList();
2006      private void ensureFilesIsMutable() {
2007        if (!((bitField0_ & 0x00000010) == 0x00000010)) {
2008          files_ = new java.util.ArrayList<com.google.protobuf.Any>(files_);
2009          bitField0_ |= 0x00000010;
2010         }
2011      }
2012
2013      private com.google.protobuf.RepeatedFieldBuilderV3<
2014          com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder> filesBuilder_;
2015
2016      /**
2017       * <pre>
2018       * Miscellaneous files in a chart archive,
2019       * e.g. README, LICENSE, etc.
2020       * </pre>
2021       *
2022       * <code>repeated .google.protobuf.Any files = 5;</code>
2023       */
2024      public java.util.List<com.google.protobuf.Any> getFilesList() {
2025        if (filesBuilder_ == null) {
2026          return java.util.Collections.unmodifiableList(files_);
2027        } else {
2028          return filesBuilder_.getMessageList();
2029        }
2030      }
2031      /**
2032       * <pre>
2033       * Miscellaneous files in a chart archive,
2034       * e.g. README, LICENSE, etc.
2035       * </pre>
2036       *
2037       * <code>repeated .google.protobuf.Any files = 5;</code>
2038       */
2039      public int getFilesCount() {
2040        if (filesBuilder_ == null) {
2041          return files_.size();
2042        } else {
2043          return filesBuilder_.getCount();
2044        }
2045      }
2046      /**
2047       * <pre>
2048       * Miscellaneous files in a chart archive,
2049       * e.g. README, LICENSE, etc.
2050       * </pre>
2051       *
2052       * <code>repeated .google.protobuf.Any files = 5;</code>
2053       */
2054      public com.google.protobuf.Any getFiles(int index) {
2055        if (filesBuilder_ == null) {
2056          return files_.get(index);
2057        } else {
2058          return filesBuilder_.getMessage(index);
2059        }
2060      }
2061      /**
2062       * <pre>
2063       * Miscellaneous files in a chart archive,
2064       * e.g. README, LICENSE, etc.
2065       * </pre>
2066       *
2067       * <code>repeated .google.protobuf.Any files = 5;</code>
2068       */
2069      public Builder setFiles(
2070          int index, com.google.protobuf.Any value) {
2071        if (filesBuilder_ == null) {
2072          if (value == null) {
2073            throw new NullPointerException();
2074          }
2075          ensureFilesIsMutable();
2076          files_.set(index, value);
2077          onChanged();
2078        } else {
2079          filesBuilder_.setMessage(index, value);
2080        }
2081        return this;
2082      }
2083      /**
2084       * <pre>
2085       * Miscellaneous files in a chart archive,
2086       * e.g. README, LICENSE, etc.
2087       * </pre>
2088       *
2089       * <code>repeated .google.protobuf.Any files = 5;</code>
2090       */
2091      public Builder setFiles(
2092          int index, com.google.protobuf.Any.Builder builderForValue) {
2093        if (filesBuilder_ == null) {
2094          ensureFilesIsMutable();
2095          files_.set(index, builderForValue.build());
2096          onChanged();
2097        } else {
2098          filesBuilder_.setMessage(index, builderForValue.build());
2099        }
2100        return this;
2101      }
2102      /**
2103       * <pre>
2104       * Miscellaneous files in a chart archive,
2105       * e.g. README, LICENSE, etc.
2106       * </pre>
2107       *
2108       * <code>repeated .google.protobuf.Any files = 5;</code>
2109       */
2110      public Builder addFiles(com.google.protobuf.Any value) {
2111        if (filesBuilder_ == null) {
2112          if (value == null) {
2113            throw new NullPointerException();
2114          }
2115          ensureFilesIsMutable();
2116          files_.add(value);
2117          onChanged();
2118        } else {
2119          filesBuilder_.addMessage(value);
2120        }
2121        return this;
2122      }
2123      /**
2124       * <pre>
2125       * Miscellaneous files in a chart archive,
2126       * e.g. README, LICENSE, etc.
2127       * </pre>
2128       *
2129       * <code>repeated .google.protobuf.Any files = 5;</code>
2130       */
2131      public Builder addFiles(
2132          int index, com.google.protobuf.Any value) {
2133        if (filesBuilder_ == null) {
2134          if (value == null) {
2135            throw new NullPointerException();
2136          }
2137          ensureFilesIsMutable();
2138          files_.add(index, value);
2139          onChanged();
2140        } else {
2141          filesBuilder_.addMessage(index, value);
2142        }
2143        return this;
2144      }
2145      /**
2146       * <pre>
2147       * Miscellaneous files in a chart archive,
2148       * e.g. README, LICENSE, etc.
2149       * </pre>
2150       *
2151       * <code>repeated .google.protobuf.Any files = 5;</code>
2152       */
2153      public Builder addFiles(
2154          com.google.protobuf.Any.Builder builderForValue) {
2155        if (filesBuilder_ == null) {
2156          ensureFilesIsMutable();
2157          files_.add(builderForValue.build());
2158          onChanged();
2159        } else {
2160          filesBuilder_.addMessage(builderForValue.build());
2161        }
2162        return this;
2163      }
2164      /**
2165       * <pre>
2166       * Miscellaneous files in a chart archive,
2167       * e.g. README, LICENSE, etc.
2168       * </pre>
2169       *
2170       * <code>repeated .google.protobuf.Any files = 5;</code>
2171       */
2172      public Builder addFiles(
2173          int index, com.google.protobuf.Any.Builder builderForValue) {
2174        if (filesBuilder_ == null) {
2175          ensureFilesIsMutable();
2176          files_.add(index, builderForValue.build());
2177          onChanged();
2178        } else {
2179          filesBuilder_.addMessage(index, builderForValue.build());
2180        }
2181        return this;
2182      }
2183      /**
2184       * <pre>
2185       * Miscellaneous files in a chart archive,
2186       * e.g. README, LICENSE, etc.
2187       * </pre>
2188       *
2189       * <code>repeated .google.protobuf.Any files = 5;</code>
2190       */
2191      public Builder addAllFiles(
2192          java.lang.Iterable<? extends com.google.protobuf.Any> values) {
2193        if (filesBuilder_ == null) {
2194          ensureFilesIsMutable();
2195          com.google.protobuf.AbstractMessageLite.Builder.addAll(
2196              values, files_);
2197          onChanged();
2198        } else {
2199          filesBuilder_.addAllMessages(values);
2200        }
2201        return this;
2202      }
2203      /**
2204       * <pre>
2205       * Miscellaneous files in a chart archive,
2206       * e.g. README, LICENSE, etc.
2207       * </pre>
2208       *
2209       * <code>repeated .google.protobuf.Any files = 5;</code>
2210       */
2211      public Builder clearFiles() {
2212        if (filesBuilder_ == null) {
2213          files_ = java.util.Collections.emptyList();
2214          bitField0_ = (bitField0_ & ~0x00000010);
2215          onChanged();
2216        } else {
2217          filesBuilder_.clear();
2218        }
2219        return this;
2220      }
2221      /**
2222       * <pre>
2223       * Miscellaneous files in a chart archive,
2224       * e.g. README, LICENSE, etc.
2225       * </pre>
2226       *
2227       * <code>repeated .google.protobuf.Any files = 5;</code>
2228       */
2229      public Builder removeFiles(int index) {
2230        if (filesBuilder_ == null) {
2231          ensureFilesIsMutable();
2232          files_.remove(index);
2233          onChanged();
2234        } else {
2235          filesBuilder_.remove(index);
2236        }
2237        return this;
2238      }
2239      /**
2240       * <pre>
2241       * Miscellaneous files in a chart archive,
2242       * e.g. README, LICENSE, etc.
2243       * </pre>
2244       *
2245       * <code>repeated .google.protobuf.Any files = 5;</code>
2246       */
2247      public com.google.protobuf.Any.Builder getFilesBuilder(
2248          int index) {
2249        return getFilesFieldBuilder().getBuilder(index);
2250      }
2251      /**
2252       * <pre>
2253       * Miscellaneous files in a chart archive,
2254       * e.g. README, LICENSE, etc.
2255       * </pre>
2256       *
2257       * <code>repeated .google.protobuf.Any files = 5;</code>
2258       */
2259      public com.google.protobuf.AnyOrBuilder getFilesOrBuilder(
2260          int index) {
2261        if (filesBuilder_ == null) {
2262          return files_.get(index);  } else {
2263          return filesBuilder_.getMessageOrBuilder(index);
2264        }
2265      }
2266      /**
2267       * <pre>
2268       * Miscellaneous files in a chart archive,
2269       * e.g. README, LICENSE, etc.
2270       * </pre>
2271       *
2272       * <code>repeated .google.protobuf.Any files = 5;</code>
2273       */
2274      public java.util.List<? extends com.google.protobuf.AnyOrBuilder> 
2275           getFilesOrBuilderList() {
2276        if (filesBuilder_ != null) {
2277          return filesBuilder_.getMessageOrBuilderList();
2278        } else {
2279          return java.util.Collections.unmodifiableList(files_);
2280        }
2281      }
2282      /**
2283       * <pre>
2284       * Miscellaneous files in a chart archive,
2285       * e.g. README, LICENSE, etc.
2286       * </pre>
2287       *
2288       * <code>repeated .google.protobuf.Any files = 5;</code>
2289       */
2290      public com.google.protobuf.Any.Builder addFilesBuilder() {
2291        return getFilesFieldBuilder().addBuilder(
2292            com.google.protobuf.Any.getDefaultInstance());
2293      }
2294      /**
2295       * <pre>
2296       * Miscellaneous files in a chart archive,
2297       * e.g. README, LICENSE, etc.
2298       * </pre>
2299       *
2300       * <code>repeated .google.protobuf.Any files = 5;</code>
2301       */
2302      public com.google.protobuf.Any.Builder addFilesBuilder(
2303          int index) {
2304        return getFilesFieldBuilder().addBuilder(
2305            index, com.google.protobuf.Any.getDefaultInstance());
2306      }
2307      /**
2308       * <pre>
2309       * Miscellaneous files in a chart archive,
2310       * e.g. README, LICENSE, etc.
2311       * </pre>
2312       *
2313       * <code>repeated .google.protobuf.Any files = 5;</code>
2314       */
2315      public java.util.List<com.google.protobuf.Any.Builder> 
2316           getFilesBuilderList() {
2317        return getFilesFieldBuilder().getBuilderList();
2318      }
2319      private com.google.protobuf.RepeatedFieldBuilderV3<
2320          com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder> 
2321          getFilesFieldBuilder() {
2322        if (filesBuilder_ == null) {
2323          filesBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
2324              com.google.protobuf.Any, com.google.protobuf.Any.Builder, com.google.protobuf.AnyOrBuilder>(
2325                  files_,
2326                  ((bitField0_ & 0x00000010) == 0x00000010),
2327                  getParentForChildren(),
2328                  isClean());
2329          files_ = null;
2330        }
2331        return filesBuilder_;
2332      }
2333      public final Builder setUnknownFields(
2334          final com.google.protobuf.UnknownFieldSet unknownFields) {
2335        return this;
2336      }
2337
2338      public final Builder mergeUnknownFields(
2339          final com.google.protobuf.UnknownFieldSet unknownFields) {
2340        return this;
2341      }
2342
2343
2344      // @@protoc_insertion_point(builder_scope:hapi.chart.Chart)
2345    }
2346
2347    // @@protoc_insertion_point(class_scope:hapi.chart.Chart)
2348    private static final hapi.chart.ChartOuterClass.Chart DEFAULT_INSTANCE;
2349    static {
2350      DEFAULT_INSTANCE = new hapi.chart.ChartOuterClass.Chart();
2351    }
2352
2353    public static hapi.chart.ChartOuterClass.Chart getDefaultInstance() {
2354      return DEFAULT_INSTANCE;
2355    }
2356
2357    private static final com.google.protobuf.Parser<Chart>
2358        PARSER = new com.google.protobuf.AbstractParser<Chart>() {
2359      public Chart parsePartialFrom(
2360          com.google.protobuf.CodedInputStream input,
2361          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
2362          throws com.google.protobuf.InvalidProtocolBufferException {
2363          return new Chart(input, extensionRegistry);
2364      }
2365    };
2366
2367    public static com.google.protobuf.Parser<Chart> parser() {
2368      return PARSER;
2369    }
2370
2371    @java.lang.Override
2372    public com.google.protobuf.Parser<Chart> getParserForType() {
2373      return PARSER;
2374    }
2375
2376    public hapi.chart.ChartOuterClass.Chart getDefaultInstanceForType() {
2377      return DEFAULT_INSTANCE;
2378    }
2379
2380  }
2381
2382  private static final com.google.protobuf.Descriptors.Descriptor
2383    internal_static_hapi_chart_Chart_descriptor;
2384  private static final 
2385    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
2386      internal_static_hapi_chart_Chart_fieldAccessorTable;
2387
2388  public static com.google.protobuf.Descriptors.FileDescriptor
2389      getDescriptor() {
2390    return descriptor;
2391  }
2392  private static  com.google.protobuf.Descriptors.FileDescriptor
2393      descriptor;
2394  static {
2395    java.lang.String[] descriptorData = {
2396      "\n\026hapi/chart/chart.proto\022\nhapi.chart\032\027ha" +
2397      "pi/chart/config.proto\032\031hapi/chart/metada" +
2398      "ta.proto\032\031hapi/chart/template.proto\032\031goo" +
2399      "gle/protobuf/any.proto\"\312\001\n\005Chart\022&\n\010meta" +
2400      "data\030\001 \001(\0132\024.hapi.chart.Metadata\022\'\n\ttemp" +
2401      "lates\030\002 \003(\0132\024.hapi.chart.Template\022\'\n\014dep" +
2402      "endencies\030\003 \003(\0132\021.hapi.chart.Chart\022\"\n\006va" +
2403      "lues\030\004 \001(\0132\022.hapi.chart.Config\022#\n\005files\030" +
2404      "\005 \003(\0132\024.google.protobuf.AnyB\007Z\005chartb\006pr" +
2405      "oto3"
2406    };
2407    com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner =
2408        new com.google.protobuf.Descriptors.FileDescriptor.    InternalDescriptorAssigner() {
2409          public com.google.protobuf.ExtensionRegistry assignDescriptors(
2410              com.google.protobuf.Descriptors.FileDescriptor root) {
2411            descriptor = root;
2412            return null;
2413          }
2414        };
2415    com.google.protobuf.Descriptors.FileDescriptor
2416      .internalBuildGeneratedFileFrom(descriptorData,
2417        new com.google.protobuf.Descriptors.FileDescriptor[] {
2418          hapi.chart.ConfigOuterClass.getDescriptor(),
2419          hapi.chart.MetadataOuterClass.getDescriptor(),
2420          hapi.chart.TemplateOuterClass.getDescriptor(),
2421          com.google.protobuf.AnyProto.getDescriptor(),
2422        }, assigner);
2423    internal_static_hapi_chart_Chart_descriptor =
2424      getDescriptor().getMessageTypes().get(0);
2425    internal_static_hapi_chart_Chart_fieldAccessorTable = new
2426      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
2427        internal_static_hapi_chart_Chart_descriptor,
2428        new java.lang.String[] { "Metadata", "Templates", "Dependencies", "Values", "Files", });
2429    hapi.chart.ConfigOuterClass.getDescriptor();
2430    hapi.chart.MetadataOuterClass.getDescriptor();
2431    hapi.chart.TemplateOuterClass.getDescriptor();
2432    com.google.protobuf.AnyProto.getDescriptor();
2433  }
2434
2435  // @@protoc_insertion_point(outer_class_scope)
2436}