// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: in_toto_attestation/predicates/vsa/v0/vsa.proto

package io.github.intoto.attestation.predicates.vsa.v0;

public final class Vsa {
  private Vsa() {}
  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistryLite registry) {
  }

  public static void registerAllExtensions(
      com.google.protobuf.ExtensionRegistry registry) {
    registerAllExtensions(
        (com.google.protobuf.ExtensionRegistryLite) registry);
  }
  public interface VerificationSummaryOrBuilder extends
      // @@protoc_insertion_point(interface_extends:in_toto_attestation.predicates.vsa.v0.VerificationSummary)
      com.google.protobuf.MessageOrBuilder {

    /**
     * <code>.in_toto_attestation.predicates.vsa.v0.VerificationSummary.Verifier verifier = 1;</code>
     * @return Whether the verifier field is set.
     */
    boolean hasVerifier();
    /**
     * <code>.in_toto_attestation.predicates.vsa.v0.VerificationSummary.Verifier verifier = 1;</code>
     * @return The verifier.
     */
    io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier getVerifier();
    /**
     * <code>.in_toto_attestation.predicates.vsa.v0.VerificationSummary.Verifier verifier = 1;</code>
     */
    io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.VerifierOrBuilder getVerifierOrBuilder();

    /**
     * <code>.google.protobuf.Timestamp time_verified = 2 [json_name = "time_verified"];</code>
     * @return Whether the timeVerified field is set.
     */
    boolean hasTimeVerified();
    /**
     * <code>.google.protobuf.Timestamp time_verified = 2 [json_name = "time_verified"];</code>
     * @return The timeVerified.
     */
    com.google.protobuf.Timestamp getTimeVerified();
    /**
     * <code>.google.protobuf.Timestamp time_verified = 2 [json_name = "time_verified"];</code>
     */
    com.google.protobuf.TimestampOrBuilder getTimeVerifiedOrBuilder();

    /**
     * <code>string resource_uri = 3 [json_name = "resource_uri"];</code>
     * @return The resourceUri.
     */
    java.lang.String getResourceUri();
    /**
     * <code>string resource_uri = 3 [json_name = "resource_uri"];</code>
     * @return The bytes for resourceUri.
     */
    com.google.protobuf.ByteString
        getResourceUriBytes();

    /**
     * <code>.in_toto_attestation.predicates.vsa.v0.VerificationSummary.Policy policy = 4;</code>
     * @return Whether the policy field is set.
     */
    boolean hasPolicy();
    /**
     * <code>.in_toto_attestation.predicates.vsa.v0.VerificationSummary.Policy policy = 4;</code>
     * @return The policy.
     */
    io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy getPolicy();
    /**
     * <code>.in_toto_attestation.predicates.vsa.v0.VerificationSummary.Policy policy = 4;</code>
     */
    io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.PolicyOrBuilder getPolicyOrBuilder();

    /**
     * <code>repeated .in_toto_attestation.predicates.vsa.v0.VerificationSummary.InputAttestation input_attestations = 5 [json_name = "input_attestations"];</code>
     */
    java.util.List<io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation> 
        getInputAttestationsList();
    /**
     * <code>repeated .in_toto_attestation.predicates.vsa.v0.VerificationSummary.InputAttestation input_attestations = 5 [json_name = "input_attestations"];</code>
     */
    io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation getInputAttestations(int index);
    /**
     * <code>repeated .in_toto_attestation.predicates.vsa.v0.VerificationSummary.InputAttestation input_attestations = 5 [json_name = "input_attestations"];</code>
     */
    int getInputAttestationsCount();
    /**
     * <code>repeated .in_toto_attestation.predicates.vsa.v0.VerificationSummary.InputAttestation input_attestations = 5 [json_name = "input_attestations"];</code>
     */
    java.util.List<? extends io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestationOrBuilder> 
        getInputAttestationsOrBuilderList();
    /**
     * <code>repeated .in_toto_attestation.predicates.vsa.v0.VerificationSummary.InputAttestation input_attestations = 5 [json_name = "input_attestations"];</code>
     */
    io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestationOrBuilder getInputAttestationsOrBuilder(
        int index);

    /**
     * <code>string verification_result = 6 [json_name = "verification_result"];</code>
     * @return The verificationResult.
     */
    java.lang.String getVerificationResult();
    /**
     * <code>string verification_result = 6 [json_name = "verification_result"];</code>
     * @return The bytes for verificationResult.
     */
    com.google.protobuf.ByteString
        getVerificationResultBytes();

    /**
     * <code>string policy_level = 7 [json_name = "policy_level"];</code>
     * @return The policyLevel.
     */
    java.lang.String getPolicyLevel();
    /**
     * <code>string policy_level = 7 [json_name = "policy_level"];</code>
     * @return The bytes for policyLevel.
     */
    com.google.protobuf.ByteString
        getPolicyLevelBytes();

    /**
     * <code>map&lt;string, uint64&gt; dependency_levels = 8 [json_name = "dependency_levels"];</code>
     */
    int getDependencyLevelsCount();
    /**
     * <code>map&lt;string, uint64&gt; dependency_levels = 8 [json_name = "dependency_levels"];</code>
     */
    boolean containsDependencyLevels(
        java.lang.String key);
    /**
     * Use {@link #getDependencyLevelsMap()} instead.
     */
    @java.lang.Deprecated
    java.util.Map<java.lang.String, java.lang.Long>
    getDependencyLevels();
    /**
     * <code>map&lt;string, uint64&gt; dependency_levels = 8 [json_name = "dependency_levels"];</code>
     */
    java.util.Map<java.lang.String, java.lang.Long>
    getDependencyLevelsMap();
    /**
     * <code>map&lt;string, uint64&gt; dependency_levels = 8 [json_name = "dependency_levels"];</code>
     */
    long getDependencyLevelsOrDefault(
        java.lang.String key,
        long defaultValue);
    /**
     * <code>map&lt;string, uint64&gt; dependency_levels = 8 [json_name = "dependency_levels"];</code>
     */
    long getDependencyLevelsOrThrow(
        java.lang.String key);
  }
  /**
   * <pre>
   * Proto representation of predicate type https://slsa.dev/verification_summary/v0.2
   * Validation of all fields is left to the users of this proto.
   * </pre>
   *
   * Protobuf type {@code in_toto_attestation.predicates.vsa.v0.VerificationSummary}
   */
  public static final class VerificationSummary extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:in_toto_attestation.predicates.vsa.v0.VerificationSummary)
      VerificationSummaryOrBuilder {
  private static final long serialVersionUID = 0L;
    // Use VerificationSummary.newBuilder() to construct.
    private VerificationSummary(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
      super(builder);
    }
    private VerificationSummary() {
      resourceUri_ = "";
      inputAttestations_ = java.util.Collections.emptyList();
      verificationResult_ = "";
      policyLevel_ = "";
    }

    @java.lang.Override
    @SuppressWarnings({"unused"})
    protected java.lang.Object newInstance(
        UnusedPrivateParameter unused) {
      return new VerificationSummary();
    }

    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.github.intoto.attestation.predicates.vsa.v0.Vsa.internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_descriptor;
    }

    @SuppressWarnings({"rawtypes"})
    @java.lang.Override
    protected com.google.protobuf.MapField internalGetMapField(
        int number) {
      switch (number) {
        case 8:
          return internalGetDependencyLevels();
        default:
          throw new RuntimeException(
              "Invalid map field number: " + number);
      }
    }
    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.github.intoto.attestation.predicates.vsa.v0.Vsa.internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.class, io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Builder.class);
    }

    public interface VerifierOrBuilder extends
        // @@protoc_insertion_point(interface_extends:in_toto_attestation.predicates.vsa.v0.VerificationSummary.Verifier)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      java.lang.String getId();
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      com.google.protobuf.ByteString
          getIdBytes();
    }
    /**
     * Protobuf type {@code in_toto_attestation.predicates.vsa.v0.VerificationSummary.Verifier}
     */
    public static final class Verifier extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:in_toto_attestation.predicates.vsa.v0.VerificationSummary.Verifier)
        VerifierOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Verifier.newBuilder() to construct.
      private Verifier(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Verifier() {
        id_ = "";
      }

      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          UnusedPrivateParameter unused) {
        return new Verifier();
      }

      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.github.intoto.attestation.predicates.vsa.v0.Vsa.internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_Verifier_descriptor;
      }

      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.github.intoto.attestation.predicates.vsa.v0.Vsa.internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_Verifier_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier.class, io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier.Builder.class);
      }

      public static final int ID_FIELD_NUMBER = 1;
      @SuppressWarnings("serial")
      private volatile java.lang.Object id_ = "";
      /**
       * <code>string id = 1;</code>
       * @return The id.
       */
      @java.lang.Override
      public java.lang.String getId() {
        java.lang.Object ref = id_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          id_ = s;
          return s;
        }
      }
      /**
       * <code>string id = 1;</code>
       * @return The bytes for id.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getIdBytes() {
        java.lang.Object ref = id_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          id_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      private byte memoizedIsInitialized = -1;
      @java.lang.Override
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(id_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, id_);
        }
        getUnknownFields().writeTo(output);
      }

      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;

        size = 0;
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(id_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, id_);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier)) {
          return super.equals(obj);
        }
        io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier other = (io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier) obj;

        if (!getId()
            .equals(other.getId())) return false;
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        hash = (37 * hash) + ID_FIELD_NUMBER;
        hash = (53 * hash) + getId().hashCode();
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }

      public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code in_toto_attestation.predicates.vsa.v0.VerificationSummary.Verifier}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:in_toto_attestation.predicates.vsa.v0.VerificationSummary.Verifier)
          io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.VerifierOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return io.github.intoto.attestation.predicates.vsa.v0.Vsa.internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_Verifier_descriptor;
        }

        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return io.github.intoto.attestation.predicates.vsa.v0.Vsa.internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_Verifier_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier.class, io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier.Builder.class);
        }

        // Construct using io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier.newBuilder()
        private Builder() {

        }

        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          id_ = "";
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return io.github.intoto.attestation.predicates.vsa.v0.Vsa.internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_Verifier_descriptor;
        }

        @java.lang.Override
        public io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier getDefaultInstanceForType() {
          return io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier.getDefaultInstance();
        }

        @java.lang.Override
        public io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier build() {
          io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier buildPartial() {
          io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier result = new io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }

        private void buildPartial0(io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier result) {
          int from_bitField0_ = bitField0_;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.id_ = id_;
          }
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier) {
            return mergeFrom((io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier other) {
          if (other == io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier.getDefaultInstance()) return this;
          if (!other.getId().isEmpty()) {
            id_ = other.id_;
            bitField0_ |= 0x00000001;
            onChanged();
          }
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }

        @java.lang.Override
        public final boolean isInitialized() {
          return true;
        }

        @java.lang.Override
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 10: {
                  id_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;

        private java.lang.Object id_ = "";
        /**
         * <code>string id = 1;</code>
         * @return The id.
         */
        public java.lang.String getId() {
          java.lang.Object ref = id_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            id_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string id = 1;</code>
         * @return The bytes for id.
         */
        public com.google.protobuf.ByteString
            getIdBytes() {
          java.lang.Object ref = id_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            id_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string id = 1;</code>
         * @param value The id to set.
         * @return This builder for chaining.
         */
        public Builder setId(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          id_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>string id = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearId() {
          id_ = getDefaultInstance().getId();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
          return this;
        }
        /**
         * <code>string id = 1;</code>
         * @param value The bytes for id to set.
         * @return This builder for chaining.
         */
        public Builder setIdBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          id_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

        @java.lang.Override
        public final Builder mergeUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }


        // @@protoc_insertion_point(builder_scope:in_toto_attestation.predicates.vsa.v0.VerificationSummary.Verifier)
      }

      // @@protoc_insertion_point(class_scope:in_toto_attestation.predicates.vsa.v0.VerificationSummary.Verifier)
      private static final io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier();
      }

      public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser<Verifier>
          PARSER = new com.google.protobuf.AbstractParser<Verifier>() {
        @java.lang.Override
        public Verifier parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (com.google.protobuf.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };

      public static com.google.protobuf.Parser<Verifier> parser() {
        return PARSER;
      }

      @java.lang.Override
      public com.google.protobuf.Parser<Verifier> getParserForType() {
        return PARSER;
      }

      @java.lang.Override
      public io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface PolicyOrBuilder extends
        // @@protoc_insertion_point(interface_extends:in_toto_attestation.predicates.vsa.v0.VerificationSummary.Policy)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>string uri = 1;</code>
       * @return The uri.
       */
      java.lang.String getUri();
      /**
       * <code>string uri = 1;</code>
       * @return The bytes for uri.
       */
      com.google.protobuf.ByteString
          getUriBytes();

      /**
       * <code>map&lt;string, string&gt; digest = 2;</code>
       */
      int getDigestCount();
      /**
       * <code>map&lt;string, string&gt; digest = 2;</code>
       */
      boolean containsDigest(
          java.lang.String key);
      /**
       * Use {@link #getDigestMap()} instead.
       */
      @java.lang.Deprecated
      java.util.Map<java.lang.String, java.lang.String>
      getDigest();
      /**
       * <code>map&lt;string, string&gt; digest = 2;</code>
       */
      java.util.Map<java.lang.String, java.lang.String>
      getDigestMap();
      /**
       * <code>map&lt;string, string&gt; digest = 2;</code>
       */
      /* nullable */
java.lang.String getDigestOrDefault(
          java.lang.String key,
          /* nullable */
java.lang.String defaultValue);
      /**
       * <code>map&lt;string, string&gt; digest = 2;</code>
       */
      java.lang.String getDigestOrThrow(
          java.lang.String key);
    }
    /**
     * Protobuf type {@code in_toto_attestation.predicates.vsa.v0.VerificationSummary.Policy}
     */
    public static final class Policy extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:in_toto_attestation.predicates.vsa.v0.VerificationSummary.Policy)
        PolicyOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use Policy.newBuilder() to construct.
      private Policy(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private Policy() {
        uri_ = "";
      }

      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          UnusedPrivateParameter unused) {
        return new Policy();
      }

      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.github.intoto.attestation.predicates.vsa.v0.Vsa.internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_Policy_descriptor;
      }

      @SuppressWarnings({"rawtypes"})
      @java.lang.Override
      protected com.google.protobuf.MapField internalGetMapField(
          int number) {
        switch (number) {
          case 2:
            return internalGetDigest();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.github.intoto.attestation.predicates.vsa.v0.Vsa.internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_Policy_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy.class, io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy.Builder.class);
      }

      public static final int URI_FIELD_NUMBER = 1;
      @SuppressWarnings("serial")
      private volatile java.lang.Object uri_ = "";
      /**
       * <code>string uri = 1;</code>
       * @return The uri.
       */
      @java.lang.Override
      public java.lang.String getUri() {
        java.lang.Object ref = uri_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          uri_ = s;
          return s;
        }
      }
      /**
       * <code>string uri = 1;</code>
       * @return The bytes for uri.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getUriBytes() {
        java.lang.Object ref = uri_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          uri_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int DIGEST_FIELD_NUMBER = 2;
      private static final class DigestDefaultEntryHolder {
        static final com.google.protobuf.MapEntry<
            java.lang.String, java.lang.String> defaultEntry =
                com.google.protobuf.MapEntry
                .<java.lang.String, java.lang.String>newDefaultInstance(
                    io.github.intoto.attestation.predicates.vsa.v0.Vsa.internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_Policy_DigestEntry_descriptor, 
                    com.google.protobuf.WireFormat.FieldType.STRING,
                    "",
                    com.google.protobuf.WireFormat.FieldType.STRING,
                    "");
      }
      @SuppressWarnings("serial")
      private com.google.protobuf.MapField<
          java.lang.String, java.lang.String> digest_;
      private com.google.protobuf.MapField<java.lang.String, java.lang.String>
      internalGetDigest() {
        if (digest_ == null) {
          return com.google.protobuf.MapField.emptyMapField(
              DigestDefaultEntryHolder.defaultEntry);
        }
        return digest_;
      }
      public int getDigestCount() {
        return internalGetDigest().getMap().size();
      }
      /**
       * <code>map&lt;string, string&gt; digest = 2;</code>
       */
      @java.lang.Override
      public boolean containsDigest(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        return internalGetDigest().getMap().containsKey(key);
      }
      /**
       * Use {@link #getDigestMap()} instead.
       */
      @java.lang.Override
      @java.lang.Deprecated
      public java.util.Map<java.lang.String, java.lang.String> getDigest() {
        return getDigestMap();
      }
      /**
       * <code>map&lt;string, string&gt; digest = 2;</code>
       */
      @java.lang.Override
      public java.util.Map<java.lang.String, java.lang.String> getDigestMap() {
        return internalGetDigest().getMap();
      }
      /**
       * <code>map&lt;string, string&gt; digest = 2;</code>
       */
      @java.lang.Override
      public /* nullable */
java.lang.String getDigestOrDefault(
          java.lang.String key,
          /* nullable */
java.lang.String defaultValue) {
        if (key == null) { throw new NullPointerException("map key"); }
        java.util.Map<java.lang.String, java.lang.String> map =
            internalGetDigest().getMap();
        return map.containsKey(key) ? map.get(key) : defaultValue;
      }
      /**
       * <code>map&lt;string, string&gt; digest = 2;</code>
       */
      @java.lang.Override
      public java.lang.String getDigestOrThrow(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        java.util.Map<java.lang.String, java.lang.String> map =
            internalGetDigest().getMap();
        if (!map.containsKey(key)) {
          throw new java.lang.IllegalArgumentException();
        }
        return map.get(key);
      }

      private byte memoizedIsInitialized = -1;
      @java.lang.Override
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(uri_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, uri_);
        }
        com.google.protobuf.GeneratedMessageV3
          .serializeStringMapTo(
            output,
            internalGetDigest(),
            DigestDefaultEntryHolder.defaultEntry,
            2);
        getUnknownFields().writeTo(output);
      }

      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;

        size = 0;
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(uri_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, uri_);
        }
        for (java.util.Map.Entry<java.lang.String, java.lang.String> entry
             : internalGetDigest().getMap().entrySet()) {
          com.google.protobuf.MapEntry<java.lang.String, java.lang.String>
          digest__ = DigestDefaultEntryHolder.defaultEntry.newBuilderForType()
              .setKey(entry.getKey())
              .setValue(entry.getValue())
              .build();
          size += com.google.protobuf.CodedOutputStream
              .computeMessageSize(2, digest__);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy)) {
          return super.equals(obj);
        }
        io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy other = (io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy) obj;

        if (!getUri()
            .equals(other.getUri())) return false;
        if (!internalGetDigest().equals(
            other.internalGetDigest())) return false;
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        hash = (37 * hash) + URI_FIELD_NUMBER;
        hash = (53 * hash) + getUri().hashCode();
        if (!internalGetDigest().getMap().isEmpty()) {
          hash = (37 * hash) + DIGEST_FIELD_NUMBER;
          hash = (53 * hash) + internalGetDigest().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }

      public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code in_toto_attestation.predicates.vsa.v0.VerificationSummary.Policy}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:in_toto_attestation.predicates.vsa.v0.VerificationSummary.Policy)
          io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.PolicyOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return io.github.intoto.attestation.predicates.vsa.v0.Vsa.internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_Policy_descriptor;
        }

        @SuppressWarnings({"rawtypes"})
        protected com.google.protobuf.MapField internalGetMapField(
            int number) {
          switch (number) {
            case 2:
              return internalGetDigest();
            default:
              throw new RuntimeException(
                  "Invalid map field number: " + number);
          }
        }
        @SuppressWarnings({"rawtypes"})
        protected com.google.protobuf.MapField internalGetMutableMapField(
            int number) {
          switch (number) {
            case 2:
              return internalGetMutableDigest();
            default:
              throw new RuntimeException(
                  "Invalid map field number: " + number);
          }
        }
        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return io.github.intoto.attestation.predicates.vsa.v0.Vsa.internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_Policy_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy.class, io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy.Builder.class);
        }

        // Construct using io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy.newBuilder()
        private Builder() {

        }

        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          uri_ = "";
          internalGetMutableDigest().clear();
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return io.github.intoto.attestation.predicates.vsa.v0.Vsa.internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_Policy_descriptor;
        }

        @java.lang.Override
        public io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy getDefaultInstanceForType() {
          return io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy.getDefaultInstance();
        }

        @java.lang.Override
        public io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy build() {
          io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy buildPartial() {
          io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy result = new io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }

        private void buildPartial0(io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy result) {
          int from_bitField0_ = bitField0_;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.uri_ = uri_;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.digest_ = internalGetDigest();
            result.digest_.makeImmutable();
          }
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy) {
            return mergeFrom((io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy other) {
          if (other == io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy.getDefaultInstance()) return this;
          if (!other.getUri().isEmpty()) {
            uri_ = other.uri_;
            bitField0_ |= 0x00000001;
            onChanged();
          }
          internalGetMutableDigest().mergeFrom(
              other.internalGetDigest());
          bitField0_ |= 0x00000002;
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }

        @java.lang.Override
        public final boolean isInitialized() {
          return true;
        }

        @java.lang.Override
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 10: {
                  uri_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 18: {
                  com.google.protobuf.MapEntry<java.lang.String, java.lang.String>
                  digest__ = input.readMessage(
                      DigestDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
                  internalGetMutableDigest().getMutableMap().put(
                      digest__.getKey(), digest__.getValue());
                  bitField0_ |= 0x00000002;
                  break;
                } // case 18
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;

        private java.lang.Object uri_ = "";
        /**
         * <code>string uri = 1;</code>
         * @return The uri.
         */
        public java.lang.String getUri() {
          java.lang.Object ref = uri_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            uri_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string uri = 1;</code>
         * @return The bytes for uri.
         */
        public com.google.protobuf.ByteString
            getUriBytes() {
          java.lang.Object ref = uri_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            uri_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string uri = 1;</code>
         * @param value The uri to set.
         * @return This builder for chaining.
         */
        public Builder setUri(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          uri_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>string uri = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearUri() {
          uri_ = getDefaultInstance().getUri();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
          return this;
        }
        /**
         * <code>string uri = 1;</code>
         * @param value The bytes for uri to set.
         * @return This builder for chaining.
         */
        public Builder setUriBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          uri_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }

        private com.google.protobuf.MapField<
            java.lang.String, java.lang.String> digest_;
        private com.google.protobuf.MapField<java.lang.String, java.lang.String>
            internalGetDigest() {
          if (digest_ == null) {
            return com.google.protobuf.MapField.emptyMapField(
                DigestDefaultEntryHolder.defaultEntry);
          }
          return digest_;
        }
        private com.google.protobuf.MapField<java.lang.String, java.lang.String>
            internalGetMutableDigest() {
          if (digest_ == null) {
            digest_ = com.google.protobuf.MapField.newMapField(
                DigestDefaultEntryHolder.defaultEntry);
          }
          if (!digest_.isMutable()) {
            digest_ = digest_.copy();
          }
          bitField0_ |= 0x00000002;
          onChanged();
          return digest_;
        }
        public int getDigestCount() {
          return internalGetDigest().getMap().size();
        }
        /**
         * <code>map&lt;string, string&gt; digest = 2;</code>
         */
        @java.lang.Override
        public boolean containsDigest(
            java.lang.String key) {
          if (key == null) { throw new NullPointerException("map key"); }
          return internalGetDigest().getMap().containsKey(key);
        }
        /**
         * Use {@link #getDigestMap()} instead.
         */
        @java.lang.Override
        @java.lang.Deprecated
        public java.util.Map<java.lang.String, java.lang.String> getDigest() {
          return getDigestMap();
        }
        /**
         * <code>map&lt;string, string&gt; digest = 2;</code>
         */
        @java.lang.Override
        public java.util.Map<java.lang.String, java.lang.String> getDigestMap() {
          return internalGetDigest().getMap();
        }
        /**
         * <code>map&lt;string, string&gt; digest = 2;</code>
         */
        @java.lang.Override
        public /* nullable */
java.lang.String getDigestOrDefault(
            java.lang.String key,
            /* nullable */
java.lang.String defaultValue) {
          if (key == null) { throw new NullPointerException("map key"); }
          java.util.Map<java.lang.String, java.lang.String> map =
              internalGetDigest().getMap();
          return map.containsKey(key) ? map.get(key) : defaultValue;
        }
        /**
         * <code>map&lt;string, string&gt; digest = 2;</code>
         */
        @java.lang.Override
        public java.lang.String getDigestOrThrow(
            java.lang.String key) {
          if (key == null) { throw new NullPointerException("map key"); }
          java.util.Map<java.lang.String, java.lang.String> map =
              internalGetDigest().getMap();
          if (!map.containsKey(key)) {
            throw new java.lang.IllegalArgumentException();
          }
          return map.get(key);
        }
        public Builder clearDigest() {
          bitField0_ = (bitField0_ & ~0x00000002);
          internalGetMutableDigest().getMutableMap()
              .clear();
          return this;
        }
        /**
         * <code>map&lt;string, string&gt; digest = 2;</code>
         */
        public Builder removeDigest(
            java.lang.String key) {
          if (key == null) { throw new NullPointerException("map key"); }
          internalGetMutableDigest().getMutableMap()
              .remove(key);
          return this;
        }
        /**
         * Use alternate mutation accessors instead.
         */
        @java.lang.Deprecated
        public java.util.Map<java.lang.String, java.lang.String>
            getMutableDigest() {
          bitField0_ |= 0x00000002;
          return internalGetMutableDigest().getMutableMap();
        }
        /**
         * <code>map&lt;string, string&gt; digest = 2;</code>
         */
        public Builder putDigest(
            java.lang.String key,
            java.lang.String value) {
          if (key == null) { throw new NullPointerException("map key"); }
          if (value == null) { throw new NullPointerException("map value"); }
          internalGetMutableDigest().getMutableMap()
              .put(key, value);
          bitField0_ |= 0x00000002;
          return this;
        }
        /**
         * <code>map&lt;string, string&gt; digest = 2;</code>
         */
        public Builder putAllDigest(
            java.util.Map<java.lang.String, java.lang.String> values) {
          internalGetMutableDigest().getMutableMap()
              .putAll(values);
          bitField0_ |= 0x00000002;
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

        @java.lang.Override
        public final Builder mergeUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }


        // @@protoc_insertion_point(builder_scope:in_toto_attestation.predicates.vsa.v0.VerificationSummary.Policy)
      }

      // @@protoc_insertion_point(class_scope:in_toto_attestation.predicates.vsa.v0.VerificationSummary.Policy)
      private static final io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy();
      }

      public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser<Policy>
          PARSER = new com.google.protobuf.AbstractParser<Policy>() {
        @java.lang.Override
        public Policy parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (com.google.protobuf.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };

      public static com.google.protobuf.Parser<Policy> parser() {
        return PARSER;
      }

      @java.lang.Override
      public com.google.protobuf.Parser<Policy> getParserForType() {
        return PARSER;
      }

      @java.lang.Override
      public io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    public interface InputAttestationOrBuilder extends
        // @@protoc_insertion_point(interface_extends:in_toto_attestation.predicates.vsa.v0.VerificationSummary.InputAttestation)
        com.google.protobuf.MessageOrBuilder {

      /**
       * <code>string uri = 1;</code>
       * @return The uri.
       */
      java.lang.String getUri();
      /**
       * <code>string uri = 1;</code>
       * @return The bytes for uri.
       */
      com.google.protobuf.ByteString
          getUriBytes();

      /**
       * <code>map&lt;string, string&gt; digest = 2;</code>
       */
      int getDigestCount();
      /**
       * <code>map&lt;string, string&gt; digest = 2;</code>
       */
      boolean containsDigest(
          java.lang.String key);
      /**
       * Use {@link #getDigestMap()} instead.
       */
      @java.lang.Deprecated
      java.util.Map<java.lang.String, java.lang.String>
      getDigest();
      /**
       * <code>map&lt;string, string&gt; digest = 2;</code>
       */
      java.util.Map<java.lang.String, java.lang.String>
      getDigestMap();
      /**
       * <code>map&lt;string, string&gt; digest = 2;</code>
       */
      /* nullable */
java.lang.String getDigestOrDefault(
          java.lang.String key,
          /* nullable */
java.lang.String defaultValue);
      /**
       * <code>map&lt;string, string&gt; digest = 2;</code>
       */
      java.lang.String getDigestOrThrow(
          java.lang.String key);
    }
    /**
     * Protobuf type {@code in_toto_attestation.predicates.vsa.v0.VerificationSummary.InputAttestation}
     */
    public static final class InputAttestation extends
        com.google.protobuf.GeneratedMessageV3 implements
        // @@protoc_insertion_point(message_implements:in_toto_attestation.predicates.vsa.v0.VerificationSummary.InputAttestation)
        InputAttestationOrBuilder {
    private static final long serialVersionUID = 0L;
      // Use InputAttestation.newBuilder() to construct.
      private InputAttestation(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
        super(builder);
      }
      private InputAttestation() {
        uri_ = "";
      }

      @java.lang.Override
      @SuppressWarnings({"unused"})
      protected java.lang.Object newInstance(
          UnusedPrivateParameter unused) {
        return new InputAttestation();
      }

      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.github.intoto.attestation.predicates.vsa.v0.Vsa.internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_InputAttestation_descriptor;
      }

      @SuppressWarnings({"rawtypes"})
      @java.lang.Override
      protected com.google.protobuf.MapField internalGetMapField(
          int number) {
        switch (number) {
          case 2:
            return internalGetDigest();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.github.intoto.attestation.predicates.vsa.v0.Vsa.internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_InputAttestation_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation.class, io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation.Builder.class);
      }

      public static final int URI_FIELD_NUMBER = 1;
      @SuppressWarnings("serial")
      private volatile java.lang.Object uri_ = "";
      /**
       * <code>string uri = 1;</code>
       * @return The uri.
       */
      @java.lang.Override
      public java.lang.String getUri() {
        java.lang.Object ref = uri_;
        if (ref instanceof java.lang.String) {
          return (java.lang.String) ref;
        } else {
          com.google.protobuf.ByteString bs = 
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          uri_ = s;
          return s;
        }
      }
      /**
       * <code>string uri = 1;</code>
       * @return The bytes for uri.
       */
      @java.lang.Override
      public com.google.protobuf.ByteString
          getUriBytes() {
        java.lang.Object ref = uri_;
        if (ref instanceof java.lang.String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          uri_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }

      public static final int DIGEST_FIELD_NUMBER = 2;
      private static final class DigestDefaultEntryHolder {
        static final com.google.protobuf.MapEntry<
            java.lang.String, java.lang.String> defaultEntry =
                com.google.protobuf.MapEntry
                .<java.lang.String, java.lang.String>newDefaultInstance(
                    io.github.intoto.attestation.predicates.vsa.v0.Vsa.internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_InputAttestation_DigestEntry_descriptor, 
                    com.google.protobuf.WireFormat.FieldType.STRING,
                    "",
                    com.google.protobuf.WireFormat.FieldType.STRING,
                    "");
      }
      @SuppressWarnings("serial")
      private com.google.protobuf.MapField<
          java.lang.String, java.lang.String> digest_;
      private com.google.protobuf.MapField<java.lang.String, java.lang.String>
      internalGetDigest() {
        if (digest_ == null) {
          return com.google.protobuf.MapField.emptyMapField(
              DigestDefaultEntryHolder.defaultEntry);
        }
        return digest_;
      }
      public int getDigestCount() {
        return internalGetDigest().getMap().size();
      }
      /**
       * <code>map&lt;string, string&gt; digest = 2;</code>
       */
      @java.lang.Override
      public boolean containsDigest(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        return internalGetDigest().getMap().containsKey(key);
      }
      /**
       * Use {@link #getDigestMap()} instead.
       */
      @java.lang.Override
      @java.lang.Deprecated
      public java.util.Map<java.lang.String, java.lang.String> getDigest() {
        return getDigestMap();
      }
      /**
       * <code>map&lt;string, string&gt; digest = 2;</code>
       */
      @java.lang.Override
      public java.util.Map<java.lang.String, java.lang.String> getDigestMap() {
        return internalGetDigest().getMap();
      }
      /**
       * <code>map&lt;string, string&gt; digest = 2;</code>
       */
      @java.lang.Override
      public /* nullable */
java.lang.String getDigestOrDefault(
          java.lang.String key,
          /* nullable */
java.lang.String defaultValue) {
        if (key == null) { throw new NullPointerException("map key"); }
        java.util.Map<java.lang.String, java.lang.String> map =
            internalGetDigest().getMap();
        return map.containsKey(key) ? map.get(key) : defaultValue;
      }
      /**
       * <code>map&lt;string, string&gt; digest = 2;</code>
       */
      @java.lang.Override
      public java.lang.String getDigestOrThrow(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        java.util.Map<java.lang.String, java.lang.String> map =
            internalGetDigest().getMap();
        if (!map.containsKey(key)) {
          throw new java.lang.IllegalArgumentException();
        }
        return map.get(key);
      }

      private byte memoizedIsInitialized = -1;
      @java.lang.Override
      public final boolean isInitialized() {
        byte isInitialized = memoizedIsInitialized;
        if (isInitialized == 1) return true;
        if (isInitialized == 0) return false;

        memoizedIsInitialized = 1;
        return true;
      }

      @java.lang.Override
      public void writeTo(com.google.protobuf.CodedOutputStream output)
                          throws java.io.IOException {
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(uri_)) {
          com.google.protobuf.GeneratedMessageV3.writeString(output, 1, uri_);
        }
        com.google.protobuf.GeneratedMessageV3
          .serializeStringMapTo(
            output,
            internalGetDigest(),
            DigestDefaultEntryHolder.defaultEntry,
            2);
        getUnknownFields().writeTo(output);
      }

      @java.lang.Override
      public int getSerializedSize() {
        int size = memoizedSize;
        if (size != -1) return size;

        size = 0;
        if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(uri_)) {
          size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, uri_);
        }
        for (java.util.Map.Entry<java.lang.String, java.lang.String> entry
             : internalGetDigest().getMap().entrySet()) {
          com.google.protobuf.MapEntry<java.lang.String, java.lang.String>
          digest__ = DigestDefaultEntryHolder.defaultEntry.newBuilderForType()
              .setKey(entry.getKey())
              .setValue(entry.getValue())
              .build();
          size += com.google.protobuf.CodedOutputStream
              .computeMessageSize(2, digest__);
        }
        size += getUnknownFields().getSerializedSize();
        memoizedSize = size;
        return size;
      }

      @java.lang.Override
      public boolean equals(final java.lang.Object obj) {
        if (obj == this) {
         return true;
        }
        if (!(obj instanceof io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation)) {
          return super.equals(obj);
        }
        io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation other = (io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation) obj;

        if (!getUri()
            .equals(other.getUri())) return false;
        if (!internalGetDigest().equals(
            other.internalGetDigest())) return false;
        if (!getUnknownFields().equals(other.getUnknownFields())) return false;
        return true;
      }

      @java.lang.Override
      public int hashCode() {
        if (memoizedHashCode != 0) {
          return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        hash = (37 * hash) + URI_FIELD_NUMBER;
        hash = (53 * hash) + getUri().hashCode();
        if (!internalGetDigest().getMap().isEmpty()) {
          hash = (37 * hash) + DIGEST_FIELD_NUMBER;
          hash = (53 * hash) + internalGetDigest().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
      }

      public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation parseFrom(
          java.nio.ByteBuffer data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation parseFrom(
          java.nio.ByteBuffer data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation parseFrom(
          com.google.protobuf.ByteString data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation parseFrom(
          com.google.protobuf.ByteString data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation parseFrom(byte[] data)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data);
      }
      public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation parseFrom(
          byte[] data,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        return PARSER.parseFrom(data, extensionRegistry);
      }
      public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation parseFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation parseFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation parseDelimitedFrom(java.io.InputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input);
      }

      public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation parseDelimitedFrom(
          java.io.InputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
      }
      public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation parseFrom(
          com.google.protobuf.CodedInputStream input)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input);
      }
      public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation parseFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        return com.google.protobuf.GeneratedMessageV3
            .parseWithIOException(PARSER, input, extensionRegistry);
      }

      @java.lang.Override
      public Builder newBuilderForType() { return newBuilder(); }
      public static Builder newBuilder() {
        return DEFAULT_INSTANCE.toBuilder();
      }
      public static Builder newBuilder(io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation prototype) {
        return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
      }
      @java.lang.Override
      public Builder toBuilder() {
        return this == DEFAULT_INSTANCE
            ? new Builder() : new Builder().mergeFrom(this);
      }

      @java.lang.Override
      protected Builder newBuilderForType(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        Builder builder = new Builder(parent);
        return builder;
      }
      /**
       * Protobuf type {@code in_toto_attestation.predicates.vsa.v0.VerificationSummary.InputAttestation}
       */
      public static final class Builder extends
          com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
          // @@protoc_insertion_point(builder_implements:in_toto_attestation.predicates.vsa.v0.VerificationSummary.InputAttestation)
          io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestationOrBuilder {
        public static final com.google.protobuf.Descriptors.Descriptor
            getDescriptor() {
          return io.github.intoto.attestation.predicates.vsa.v0.Vsa.internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_InputAttestation_descriptor;
        }

        @SuppressWarnings({"rawtypes"})
        protected com.google.protobuf.MapField internalGetMapField(
            int number) {
          switch (number) {
            case 2:
              return internalGetDigest();
            default:
              throw new RuntimeException(
                  "Invalid map field number: " + number);
          }
        }
        @SuppressWarnings({"rawtypes"})
        protected com.google.protobuf.MapField internalGetMutableMapField(
            int number) {
          switch (number) {
            case 2:
              return internalGetMutableDigest();
            default:
              throw new RuntimeException(
                  "Invalid map field number: " + number);
          }
        }
        @java.lang.Override
        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
            internalGetFieldAccessorTable() {
          return io.github.intoto.attestation.predicates.vsa.v0.Vsa.internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_InputAttestation_fieldAccessorTable
              .ensureFieldAccessorsInitialized(
                  io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation.class, io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation.Builder.class);
        }

        // Construct using io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation.newBuilder()
        private Builder() {

        }

        private Builder(
            com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
          super(parent);

        }
        @java.lang.Override
        public Builder clear() {
          super.clear();
          bitField0_ = 0;
          uri_ = "";
          internalGetMutableDigest().clear();
          return this;
        }

        @java.lang.Override
        public com.google.protobuf.Descriptors.Descriptor
            getDescriptorForType() {
          return io.github.intoto.attestation.predicates.vsa.v0.Vsa.internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_InputAttestation_descriptor;
        }

        @java.lang.Override
        public io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation getDefaultInstanceForType() {
          return io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation.getDefaultInstance();
        }

        @java.lang.Override
        public io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation build() {
          io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation result = buildPartial();
          if (!result.isInitialized()) {
            throw newUninitializedMessageException(result);
          }
          return result;
        }

        @java.lang.Override
        public io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation buildPartial() {
          io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation result = new io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation(this);
          if (bitField0_ != 0) { buildPartial0(result); }
          onBuilt();
          return result;
        }

        private void buildPartial0(io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation result) {
          int from_bitField0_ = bitField0_;
          if (((from_bitField0_ & 0x00000001) != 0)) {
            result.uri_ = uri_;
          }
          if (((from_bitField0_ & 0x00000002) != 0)) {
            result.digest_ = internalGetDigest();
            result.digest_.makeImmutable();
          }
        }

        @java.lang.Override
        public Builder clone() {
          return super.clone();
        }
        @java.lang.Override
        public Builder setField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.setField(field, value);
        }
        @java.lang.Override
        public Builder clearField(
            com.google.protobuf.Descriptors.FieldDescriptor field) {
          return super.clearField(field);
        }
        @java.lang.Override
        public Builder clearOneof(
            com.google.protobuf.Descriptors.OneofDescriptor oneof) {
          return super.clearOneof(oneof);
        }
        @java.lang.Override
        public Builder setRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            int index, java.lang.Object value) {
          return super.setRepeatedField(field, index, value);
        }
        @java.lang.Override
        public Builder addRepeatedField(
            com.google.protobuf.Descriptors.FieldDescriptor field,
            java.lang.Object value) {
          return super.addRepeatedField(field, value);
        }
        @java.lang.Override
        public Builder mergeFrom(com.google.protobuf.Message other) {
          if (other instanceof io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation) {
            return mergeFrom((io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation)other);
          } else {
            super.mergeFrom(other);
            return this;
          }
        }

        public Builder mergeFrom(io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation other) {
          if (other == io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation.getDefaultInstance()) return this;
          if (!other.getUri().isEmpty()) {
            uri_ = other.uri_;
            bitField0_ |= 0x00000001;
            onChanged();
          }
          internalGetMutableDigest().mergeFrom(
              other.internalGetDigest());
          bitField0_ |= 0x00000002;
          this.mergeUnknownFields(other.getUnknownFields());
          onChanged();
          return this;
        }

        @java.lang.Override
        public final boolean isInitialized() {
          return true;
        }

        @java.lang.Override
        public Builder mergeFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws java.io.IOException {
          if (extensionRegistry == null) {
            throw new java.lang.NullPointerException();
          }
          try {
            boolean done = false;
            while (!done) {
              int tag = input.readTag();
              switch (tag) {
                case 0:
                  done = true;
                  break;
                case 10: {
                  uri_ = input.readStringRequireUtf8();
                  bitField0_ |= 0x00000001;
                  break;
                } // case 10
                case 18: {
                  com.google.protobuf.MapEntry<java.lang.String, java.lang.String>
                  digest__ = input.readMessage(
                      DigestDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
                  internalGetMutableDigest().getMutableMap().put(
                      digest__.getKey(), digest__.getValue());
                  bitField0_ |= 0x00000002;
                  break;
                } // case 18
                default: {
                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                    done = true; // was an endgroup tag
                  }
                  break;
                } // default:
              } // switch (tag)
            } // while (!done)
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.unwrapIOException();
          } finally {
            onChanged();
          } // finally
          return this;
        }
        private int bitField0_;

        private java.lang.Object uri_ = "";
        /**
         * <code>string uri = 1;</code>
         * @return The uri.
         */
        public java.lang.String getUri() {
          java.lang.Object ref = uri_;
          if (!(ref instanceof java.lang.String)) {
            com.google.protobuf.ByteString bs =
                (com.google.protobuf.ByteString) ref;
            java.lang.String s = bs.toStringUtf8();
            uri_ = s;
            return s;
          } else {
            return (java.lang.String) ref;
          }
        }
        /**
         * <code>string uri = 1;</code>
         * @return The bytes for uri.
         */
        public com.google.protobuf.ByteString
            getUriBytes() {
          java.lang.Object ref = uri_;
          if (ref instanceof String) {
            com.google.protobuf.ByteString b = 
                com.google.protobuf.ByteString.copyFromUtf8(
                    (java.lang.String) ref);
            uri_ = b;
            return b;
          } else {
            return (com.google.protobuf.ByteString) ref;
          }
        }
        /**
         * <code>string uri = 1;</code>
         * @param value The uri to set.
         * @return This builder for chaining.
         */
        public Builder setUri(
            java.lang.String value) {
          if (value == null) { throw new NullPointerException(); }
          uri_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }
        /**
         * <code>string uri = 1;</code>
         * @return This builder for chaining.
         */
        public Builder clearUri() {
          uri_ = getDefaultInstance().getUri();
          bitField0_ = (bitField0_ & ~0x00000001);
          onChanged();
          return this;
        }
        /**
         * <code>string uri = 1;</code>
         * @param value The bytes for uri to set.
         * @return This builder for chaining.
         */
        public Builder setUriBytes(
            com.google.protobuf.ByteString value) {
          if (value == null) { throw new NullPointerException(); }
          checkByteStringIsUtf8(value);
          uri_ = value;
          bitField0_ |= 0x00000001;
          onChanged();
          return this;
        }

        private com.google.protobuf.MapField<
            java.lang.String, java.lang.String> digest_;
        private com.google.protobuf.MapField<java.lang.String, java.lang.String>
            internalGetDigest() {
          if (digest_ == null) {
            return com.google.protobuf.MapField.emptyMapField(
                DigestDefaultEntryHolder.defaultEntry);
          }
          return digest_;
        }
        private com.google.protobuf.MapField<java.lang.String, java.lang.String>
            internalGetMutableDigest() {
          if (digest_ == null) {
            digest_ = com.google.protobuf.MapField.newMapField(
                DigestDefaultEntryHolder.defaultEntry);
          }
          if (!digest_.isMutable()) {
            digest_ = digest_.copy();
          }
          bitField0_ |= 0x00000002;
          onChanged();
          return digest_;
        }
        public int getDigestCount() {
          return internalGetDigest().getMap().size();
        }
        /**
         * <code>map&lt;string, string&gt; digest = 2;</code>
         */
        @java.lang.Override
        public boolean containsDigest(
            java.lang.String key) {
          if (key == null) { throw new NullPointerException("map key"); }
          return internalGetDigest().getMap().containsKey(key);
        }
        /**
         * Use {@link #getDigestMap()} instead.
         */
        @java.lang.Override
        @java.lang.Deprecated
        public java.util.Map<java.lang.String, java.lang.String> getDigest() {
          return getDigestMap();
        }
        /**
         * <code>map&lt;string, string&gt; digest = 2;</code>
         */
        @java.lang.Override
        public java.util.Map<java.lang.String, java.lang.String> getDigestMap() {
          return internalGetDigest().getMap();
        }
        /**
         * <code>map&lt;string, string&gt; digest = 2;</code>
         */
        @java.lang.Override
        public /* nullable */
java.lang.String getDigestOrDefault(
            java.lang.String key,
            /* nullable */
java.lang.String defaultValue) {
          if (key == null) { throw new NullPointerException("map key"); }
          java.util.Map<java.lang.String, java.lang.String> map =
              internalGetDigest().getMap();
          return map.containsKey(key) ? map.get(key) : defaultValue;
        }
        /**
         * <code>map&lt;string, string&gt; digest = 2;</code>
         */
        @java.lang.Override
        public java.lang.String getDigestOrThrow(
            java.lang.String key) {
          if (key == null) { throw new NullPointerException("map key"); }
          java.util.Map<java.lang.String, java.lang.String> map =
              internalGetDigest().getMap();
          if (!map.containsKey(key)) {
            throw new java.lang.IllegalArgumentException();
          }
          return map.get(key);
        }
        public Builder clearDigest() {
          bitField0_ = (bitField0_ & ~0x00000002);
          internalGetMutableDigest().getMutableMap()
              .clear();
          return this;
        }
        /**
         * <code>map&lt;string, string&gt; digest = 2;</code>
         */
        public Builder removeDigest(
            java.lang.String key) {
          if (key == null) { throw new NullPointerException("map key"); }
          internalGetMutableDigest().getMutableMap()
              .remove(key);
          return this;
        }
        /**
         * Use alternate mutation accessors instead.
         */
        @java.lang.Deprecated
        public java.util.Map<java.lang.String, java.lang.String>
            getMutableDigest() {
          bitField0_ |= 0x00000002;
          return internalGetMutableDigest().getMutableMap();
        }
        /**
         * <code>map&lt;string, string&gt; digest = 2;</code>
         */
        public Builder putDigest(
            java.lang.String key,
            java.lang.String value) {
          if (key == null) { throw new NullPointerException("map key"); }
          if (value == null) { throw new NullPointerException("map value"); }
          internalGetMutableDigest().getMutableMap()
              .put(key, value);
          bitField0_ |= 0x00000002;
          return this;
        }
        /**
         * <code>map&lt;string, string&gt; digest = 2;</code>
         */
        public Builder putAllDigest(
            java.util.Map<java.lang.String, java.lang.String> values) {
          internalGetMutableDigest().getMutableMap()
              .putAll(values);
          bitField0_ |= 0x00000002;
          return this;
        }
        @java.lang.Override
        public final Builder setUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.setUnknownFields(unknownFields);
        }

        @java.lang.Override
        public final Builder mergeUnknownFields(
            final com.google.protobuf.UnknownFieldSet unknownFields) {
          return super.mergeUnknownFields(unknownFields);
        }


        // @@protoc_insertion_point(builder_scope:in_toto_attestation.predicates.vsa.v0.VerificationSummary.InputAttestation)
      }

      // @@protoc_insertion_point(class_scope:in_toto_attestation.predicates.vsa.v0.VerificationSummary.InputAttestation)
      private static final io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation DEFAULT_INSTANCE;
      static {
        DEFAULT_INSTANCE = new io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation();
      }

      public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation getDefaultInstance() {
        return DEFAULT_INSTANCE;
      }

      private static final com.google.protobuf.Parser<InputAttestation>
          PARSER = new com.google.protobuf.AbstractParser<InputAttestation>() {
        @java.lang.Override
        public InputAttestation parsePartialFrom(
            com.google.protobuf.CodedInputStream input,
            com.google.protobuf.ExtensionRegistryLite extensionRegistry)
            throws com.google.protobuf.InvalidProtocolBufferException {
          Builder builder = newBuilder();
          try {
            builder.mergeFrom(input, extensionRegistry);
          } catch (com.google.protobuf.InvalidProtocolBufferException e) {
            throw e.setUnfinishedMessage(builder.buildPartial());
          } catch (com.google.protobuf.UninitializedMessageException e) {
            throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
          } catch (java.io.IOException e) {
            throw new com.google.protobuf.InvalidProtocolBufferException(e)
                .setUnfinishedMessage(builder.buildPartial());
          }
          return builder.buildPartial();
        }
      };

      public static com.google.protobuf.Parser<InputAttestation> parser() {
        return PARSER;
      }

      @java.lang.Override
      public com.google.protobuf.Parser<InputAttestation> getParserForType() {
        return PARSER;
      }

      @java.lang.Override
      public io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation getDefaultInstanceForType() {
        return DEFAULT_INSTANCE;
      }

    }

    private int bitField0_;
    public static final int VERIFIER_FIELD_NUMBER = 1;
    private io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier verifier_;
    /**
     * <code>.in_toto_attestation.predicates.vsa.v0.VerificationSummary.Verifier verifier = 1;</code>
     * @return Whether the verifier field is set.
     */
    @java.lang.Override
    public boolean hasVerifier() {
      return ((bitField0_ & 0x00000001) != 0);
    }
    /**
     * <code>.in_toto_attestation.predicates.vsa.v0.VerificationSummary.Verifier verifier = 1;</code>
     * @return The verifier.
     */
    @java.lang.Override
    public io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier getVerifier() {
      return verifier_ == null ? io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier.getDefaultInstance() : verifier_;
    }
    /**
     * <code>.in_toto_attestation.predicates.vsa.v0.VerificationSummary.Verifier verifier = 1;</code>
     */
    @java.lang.Override
    public io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.VerifierOrBuilder getVerifierOrBuilder() {
      return verifier_ == null ? io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier.getDefaultInstance() : verifier_;
    }

    public static final int TIME_VERIFIED_FIELD_NUMBER = 2;
    private com.google.protobuf.Timestamp timeVerified_;
    /**
     * <code>.google.protobuf.Timestamp time_verified = 2 [json_name = "time_verified"];</code>
     * @return Whether the timeVerified field is set.
     */
    @java.lang.Override
    public boolean hasTimeVerified() {
      return ((bitField0_ & 0x00000002) != 0);
    }
    /**
     * <code>.google.protobuf.Timestamp time_verified = 2 [json_name = "time_verified"];</code>
     * @return The timeVerified.
     */
    @java.lang.Override
    public com.google.protobuf.Timestamp getTimeVerified() {
      return timeVerified_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : timeVerified_;
    }
    /**
     * <code>.google.protobuf.Timestamp time_verified = 2 [json_name = "time_verified"];</code>
     */
    @java.lang.Override
    public com.google.protobuf.TimestampOrBuilder getTimeVerifiedOrBuilder() {
      return timeVerified_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : timeVerified_;
    }

    public static final int RESOURCE_URI_FIELD_NUMBER = 3;
    @SuppressWarnings("serial")
    private volatile java.lang.Object resourceUri_ = "";
    /**
     * <code>string resource_uri = 3 [json_name = "resource_uri"];</code>
     * @return The resourceUri.
     */
    @java.lang.Override
    public java.lang.String getResourceUri() {
      java.lang.Object ref = resourceUri_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        resourceUri_ = s;
        return s;
      }
    }
    /**
     * <code>string resource_uri = 3 [json_name = "resource_uri"];</code>
     * @return The bytes for resourceUri.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getResourceUriBytes() {
      java.lang.Object ref = resourceUri_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        resourceUri_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int POLICY_FIELD_NUMBER = 4;
    private io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy policy_;
    /**
     * <code>.in_toto_attestation.predicates.vsa.v0.VerificationSummary.Policy policy = 4;</code>
     * @return Whether the policy field is set.
     */
    @java.lang.Override
    public boolean hasPolicy() {
      return ((bitField0_ & 0x00000004) != 0);
    }
    /**
     * <code>.in_toto_attestation.predicates.vsa.v0.VerificationSummary.Policy policy = 4;</code>
     * @return The policy.
     */
    @java.lang.Override
    public io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy getPolicy() {
      return policy_ == null ? io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy.getDefaultInstance() : policy_;
    }
    /**
     * <code>.in_toto_attestation.predicates.vsa.v0.VerificationSummary.Policy policy = 4;</code>
     */
    @java.lang.Override
    public io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.PolicyOrBuilder getPolicyOrBuilder() {
      return policy_ == null ? io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy.getDefaultInstance() : policy_;
    }

    public static final int INPUT_ATTESTATIONS_FIELD_NUMBER = 5;
    @SuppressWarnings("serial")
    private java.util.List<io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation> inputAttestations_;
    /**
     * <code>repeated .in_toto_attestation.predicates.vsa.v0.VerificationSummary.InputAttestation input_attestations = 5 [json_name = "input_attestations"];</code>
     */
    @java.lang.Override
    public java.util.List<io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation> getInputAttestationsList() {
      return inputAttestations_;
    }
    /**
     * <code>repeated .in_toto_attestation.predicates.vsa.v0.VerificationSummary.InputAttestation input_attestations = 5 [json_name = "input_attestations"];</code>
     */
    @java.lang.Override
    public java.util.List<? extends io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestationOrBuilder> 
        getInputAttestationsOrBuilderList() {
      return inputAttestations_;
    }
    /**
     * <code>repeated .in_toto_attestation.predicates.vsa.v0.VerificationSummary.InputAttestation input_attestations = 5 [json_name = "input_attestations"];</code>
     */
    @java.lang.Override
    public int getInputAttestationsCount() {
      return inputAttestations_.size();
    }
    /**
     * <code>repeated .in_toto_attestation.predicates.vsa.v0.VerificationSummary.InputAttestation input_attestations = 5 [json_name = "input_attestations"];</code>
     */
    @java.lang.Override
    public io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation getInputAttestations(int index) {
      return inputAttestations_.get(index);
    }
    /**
     * <code>repeated .in_toto_attestation.predicates.vsa.v0.VerificationSummary.InputAttestation input_attestations = 5 [json_name = "input_attestations"];</code>
     */
    @java.lang.Override
    public io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestationOrBuilder getInputAttestationsOrBuilder(
        int index) {
      return inputAttestations_.get(index);
    }

    public static final int VERIFICATION_RESULT_FIELD_NUMBER = 6;
    @SuppressWarnings("serial")
    private volatile java.lang.Object verificationResult_ = "";
    /**
     * <code>string verification_result = 6 [json_name = "verification_result"];</code>
     * @return The verificationResult.
     */
    @java.lang.Override
    public java.lang.String getVerificationResult() {
      java.lang.Object ref = verificationResult_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        verificationResult_ = s;
        return s;
      }
    }
    /**
     * <code>string verification_result = 6 [json_name = "verification_result"];</code>
     * @return The bytes for verificationResult.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getVerificationResultBytes() {
      java.lang.Object ref = verificationResult_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        verificationResult_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int POLICY_LEVEL_FIELD_NUMBER = 7;
    @SuppressWarnings("serial")
    private volatile java.lang.Object policyLevel_ = "";
    /**
     * <code>string policy_level = 7 [json_name = "policy_level"];</code>
     * @return The policyLevel.
     */
    @java.lang.Override
    public java.lang.String getPolicyLevel() {
      java.lang.Object ref = policyLevel_;
      if (ref instanceof java.lang.String) {
        return (java.lang.String) ref;
      } else {
        com.google.protobuf.ByteString bs = 
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        policyLevel_ = s;
        return s;
      }
    }
    /**
     * <code>string policy_level = 7 [json_name = "policy_level"];</code>
     * @return The bytes for policyLevel.
     */
    @java.lang.Override
    public com.google.protobuf.ByteString
        getPolicyLevelBytes() {
      java.lang.Object ref = policyLevel_;
      if (ref instanceof java.lang.String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        policyLevel_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }

    public static final int DEPENDENCY_LEVELS_FIELD_NUMBER = 8;
    private static final class DependencyLevelsDefaultEntryHolder {
      static final com.google.protobuf.MapEntry<
          java.lang.String, java.lang.Long> defaultEntry =
              com.google.protobuf.MapEntry
              .<java.lang.String, java.lang.Long>newDefaultInstance(
                  io.github.intoto.attestation.predicates.vsa.v0.Vsa.internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_DependencyLevelsEntry_descriptor, 
                  com.google.protobuf.WireFormat.FieldType.STRING,
                  "",
                  com.google.protobuf.WireFormat.FieldType.UINT64,
                  0L);
    }
    @SuppressWarnings("serial")
    private com.google.protobuf.MapField<
        java.lang.String, java.lang.Long> dependencyLevels_;
    private com.google.protobuf.MapField<java.lang.String, java.lang.Long>
    internalGetDependencyLevels() {
      if (dependencyLevels_ == null) {
        return com.google.protobuf.MapField.emptyMapField(
            DependencyLevelsDefaultEntryHolder.defaultEntry);
      }
      return dependencyLevels_;
    }
    public int getDependencyLevelsCount() {
      return internalGetDependencyLevels().getMap().size();
    }
    /**
     * <code>map&lt;string, uint64&gt; dependency_levels = 8 [json_name = "dependency_levels"];</code>
     */
    @java.lang.Override
    public boolean containsDependencyLevels(
        java.lang.String key) {
      if (key == null) { throw new NullPointerException("map key"); }
      return internalGetDependencyLevels().getMap().containsKey(key);
    }
    /**
     * Use {@link #getDependencyLevelsMap()} instead.
     */
    @java.lang.Override
    @java.lang.Deprecated
    public java.util.Map<java.lang.String, java.lang.Long> getDependencyLevels() {
      return getDependencyLevelsMap();
    }
    /**
     * <code>map&lt;string, uint64&gt; dependency_levels = 8 [json_name = "dependency_levels"];</code>
     */
    @java.lang.Override
    public java.util.Map<java.lang.String, java.lang.Long> getDependencyLevelsMap() {
      return internalGetDependencyLevels().getMap();
    }
    /**
     * <code>map&lt;string, uint64&gt; dependency_levels = 8 [json_name = "dependency_levels"];</code>
     */
    @java.lang.Override
    public long getDependencyLevelsOrDefault(
        java.lang.String key,
        long defaultValue) {
      if (key == null) { throw new NullPointerException("map key"); }
      java.util.Map<java.lang.String, java.lang.Long> map =
          internalGetDependencyLevels().getMap();
      return map.containsKey(key) ? map.get(key) : defaultValue;
    }
    /**
     * <code>map&lt;string, uint64&gt; dependency_levels = 8 [json_name = "dependency_levels"];</code>
     */
    @java.lang.Override
    public long getDependencyLevelsOrThrow(
        java.lang.String key) {
      if (key == null) { throw new NullPointerException("map key"); }
      java.util.Map<java.lang.String, java.lang.Long> map =
          internalGetDependencyLevels().getMap();
      if (!map.containsKey(key)) {
        throw new java.lang.IllegalArgumentException();
      }
      return map.get(key);
    }

    private byte memoizedIsInitialized = -1;
    @java.lang.Override
    public final boolean isInitialized() {
      byte isInitialized = memoizedIsInitialized;
      if (isInitialized == 1) return true;
      if (isInitialized == 0) return false;

      memoizedIsInitialized = 1;
      return true;
    }

    @java.lang.Override
    public void writeTo(com.google.protobuf.CodedOutputStream output)
                        throws java.io.IOException {
      if (((bitField0_ & 0x00000001) != 0)) {
        output.writeMessage(1, getVerifier());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        output.writeMessage(2, getTimeVerified());
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(resourceUri_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 3, resourceUri_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        output.writeMessage(4, getPolicy());
      }
      for (int i = 0; i < inputAttestations_.size(); i++) {
        output.writeMessage(5, inputAttestations_.get(i));
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(verificationResult_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 6, verificationResult_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(policyLevel_)) {
        com.google.protobuf.GeneratedMessageV3.writeString(output, 7, policyLevel_);
      }
      com.google.protobuf.GeneratedMessageV3
        .serializeStringMapTo(
          output,
          internalGetDependencyLevels(),
          DependencyLevelsDefaultEntryHolder.defaultEntry,
          8);
      getUnknownFields().writeTo(output);
    }

    @java.lang.Override
    public int getSerializedSize() {
      int size = memoizedSize;
      if (size != -1) return size;

      size = 0;
      if (((bitField0_ & 0x00000001) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(1, getVerifier());
      }
      if (((bitField0_ & 0x00000002) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(2, getTimeVerified());
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(resourceUri_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, resourceUri_);
      }
      if (((bitField0_ & 0x00000004) != 0)) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(4, getPolicy());
      }
      for (int i = 0; i < inputAttestations_.size(); i++) {
        size += com.google.protobuf.CodedOutputStream
          .computeMessageSize(5, inputAttestations_.get(i));
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(verificationResult_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, verificationResult_);
      }
      if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(policyLevel_)) {
        size += com.google.protobuf.GeneratedMessageV3.computeStringSize(7, policyLevel_);
      }
      for (java.util.Map.Entry<java.lang.String, java.lang.Long> entry
           : internalGetDependencyLevels().getMap().entrySet()) {
        com.google.protobuf.MapEntry<java.lang.String, java.lang.Long>
        dependencyLevels__ = DependencyLevelsDefaultEntryHolder.defaultEntry.newBuilderForType()
            .setKey(entry.getKey())
            .setValue(entry.getValue())
            .build();
        size += com.google.protobuf.CodedOutputStream
            .computeMessageSize(8, dependencyLevels__);
      }
      size += getUnknownFields().getSerializedSize();
      memoizedSize = size;
      return size;
    }

    @java.lang.Override
    public boolean equals(final java.lang.Object obj) {
      if (obj == this) {
       return true;
      }
      if (!(obj instanceof io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary)) {
        return super.equals(obj);
      }
      io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary other = (io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary) obj;

      if (hasVerifier() != other.hasVerifier()) return false;
      if (hasVerifier()) {
        if (!getVerifier()
            .equals(other.getVerifier())) return false;
      }
      if (hasTimeVerified() != other.hasTimeVerified()) return false;
      if (hasTimeVerified()) {
        if (!getTimeVerified()
            .equals(other.getTimeVerified())) return false;
      }
      if (!getResourceUri()
          .equals(other.getResourceUri())) return false;
      if (hasPolicy() != other.hasPolicy()) return false;
      if (hasPolicy()) {
        if (!getPolicy()
            .equals(other.getPolicy())) return false;
      }
      if (!getInputAttestationsList()
          .equals(other.getInputAttestationsList())) return false;
      if (!getVerificationResult()
          .equals(other.getVerificationResult())) return false;
      if (!getPolicyLevel()
          .equals(other.getPolicyLevel())) return false;
      if (!internalGetDependencyLevels().equals(
          other.internalGetDependencyLevels())) return false;
      if (!getUnknownFields().equals(other.getUnknownFields())) return false;
      return true;
    }

    @java.lang.Override
    public int hashCode() {
      if (memoizedHashCode != 0) {
        return memoizedHashCode;
      }
      int hash = 41;
      hash = (19 * hash) + getDescriptor().hashCode();
      if (hasVerifier()) {
        hash = (37 * hash) + VERIFIER_FIELD_NUMBER;
        hash = (53 * hash) + getVerifier().hashCode();
      }
      if (hasTimeVerified()) {
        hash = (37 * hash) + TIME_VERIFIED_FIELD_NUMBER;
        hash = (53 * hash) + getTimeVerified().hashCode();
      }
      hash = (37 * hash) + RESOURCE_URI_FIELD_NUMBER;
      hash = (53 * hash) + getResourceUri().hashCode();
      if (hasPolicy()) {
        hash = (37 * hash) + POLICY_FIELD_NUMBER;
        hash = (53 * hash) + getPolicy().hashCode();
      }
      if (getInputAttestationsCount() > 0) {
        hash = (37 * hash) + INPUT_ATTESTATIONS_FIELD_NUMBER;
        hash = (53 * hash) + getInputAttestationsList().hashCode();
      }
      hash = (37 * hash) + VERIFICATION_RESULT_FIELD_NUMBER;
      hash = (53 * hash) + getVerificationResult().hashCode();
      hash = (37 * hash) + POLICY_LEVEL_FIELD_NUMBER;
      hash = (53 * hash) + getPolicyLevel().hashCode();
      if (!internalGetDependencyLevels().getMap().isEmpty()) {
        hash = (37 * hash) + DEPENDENCY_LEVELS_FIELD_NUMBER;
        hash = (53 * hash) + internalGetDependencyLevels().hashCode();
      }
      hash = (29 * hash) + getUnknownFields().hashCode();
      memoizedHashCode = hash;
      return hash;
    }

    public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary parseFrom(
        java.nio.ByteBuffer data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary parseFrom(
        java.nio.ByteBuffer data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary parseFrom(
        com.google.protobuf.ByteString data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary parseFrom(
        com.google.protobuf.ByteString data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary parseFrom(byte[] data)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data);
    }
    public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary parseFrom(
        byte[] data,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return PARSER.parseFrom(data, extensionRegistry);
    }
    public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary parseFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary parseFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary parseDelimitedFrom(java.io.InputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input);
    }

    public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary parseDelimitedFrom(
        java.io.InputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
    }
    public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary parseFrom(
        com.google.protobuf.CodedInputStream input)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input);
    }
    public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary parseFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      return com.google.protobuf.GeneratedMessageV3
          .parseWithIOException(PARSER, input, extensionRegistry);
    }

    @java.lang.Override
    public Builder newBuilderForType() { return newBuilder(); }
    public static Builder newBuilder() {
      return DEFAULT_INSTANCE.toBuilder();
    }
    public static Builder newBuilder(io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary prototype) {
      return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
    }
    @java.lang.Override
    public Builder toBuilder() {
      return this == DEFAULT_INSTANCE
          ? new Builder() : new Builder().mergeFrom(this);
    }

    @java.lang.Override
    protected Builder newBuilderForType(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      Builder builder = new Builder(parent);
      return builder;
    }
    /**
     * <pre>
     * Proto representation of predicate type https://slsa.dev/verification_summary/v0.2
     * Validation of all fields is left to the users of this proto.
     * </pre>
     *
     * Protobuf type {@code in_toto_attestation.predicates.vsa.v0.VerificationSummary}
     */
    public static final class Builder extends
        com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
        // @@protoc_insertion_point(builder_implements:in_toto_attestation.predicates.vsa.v0.VerificationSummary)
        io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummaryOrBuilder {
      public static final com.google.protobuf.Descriptors.Descriptor
          getDescriptor() {
        return io.github.intoto.attestation.predicates.vsa.v0.Vsa.internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_descriptor;
      }

      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMapField(
          int number) {
        switch (number) {
          case 8:
            return internalGetDependencyLevels();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @SuppressWarnings({"rawtypes"})
      protected com.google.protobuf.MapField internalGetMutableMapField(
          int number) {
        switch (number) {
          case 8:
            return internalGetMutableDependencyLevels();
          default:
            throw new RuntimeException(
                "Invalid map field number: " + number);
        }
      }
      @java.lang.Override
      protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
          internalGetFieldAccessorTable() {
        return io.github.intoto.attestation.predicates.vsa.v0.Vsa.internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_fieldAccessorTable
            .ensureFieldAccessorsInitialized(
                io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.class, io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Builder.class);
      }

      // Construct using io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.newBuilder()
      private Builder() {
        maybeForceBuilderInitialization();
      }

      private Builder(
          com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
        super(parent);
        maybeForceBuilderInitialization();
      }
      private void maybeForceBuilderInitialization() {
        if (com.google.protobuf.GeneratedMessageV3
                .alwaysUseFieldBuilders) {
          getVerifierFieldBuilder();
          getTimeVerifiedFieldBuilder();
          getPolicyFieldBuilder();
          getInputAttestationsFieldBuilder();
        }
      }
      @java.lang.Override
      public Builder clear() {
        super.clear();
        bitField0_ = 0;
        verifier_ = null;
        if (verifierBuilder_ != null) {
          verifierBuilder_.dispose();
          verifierBuilder_ = null;
        }
        timeVerified_ = null;
        if (timeVerifiedBuilder_ != null) {
          timeVerifiedBuilder_.dispose();
          timeVerifiedBuilder_ = null;
        }
        resourceUri_ = "";
        policy_ = null;
        if (policyBuilder_ != null) {
          policyBuilder_.dispose();
          policyBuilder_ = null;
        }
        if (inputAttestationsBuilder_ == null) {
          inputAttestations_ = java.util.Collections.emptyList();
        } else {
          inputAttestations_ = null;
          inputAttestationsBuilder_.clear();
        }
        bitField0_ = (bitField0_ & ~0x00000010);
        verificationResult_ = "";
        policyLevel_ = "";
        internalGetMutableDependencyLevels().clear();
        return this;
      }

      @java.lang.Override
      public com.google.protobuf.Descriptors.Descriptor
          getDescriptorForType() {
        return io.github.intoto.attestation.predicates.vsa.v0.Vsa.internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_descriptor;
      }

      @java.lang.Override
      public io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary getDefaultInstanceForType() {
        return io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.getDefaultInstance();
      }

      @java.lang.Override
      public io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary build() {
        io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary result = buildPartial();
        if (!result.isInitialized()) {
          throw newUninitializedMessageException(result);
        }
        return result;
      }

      @java.lang.Override
      public io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary buildPartial() {
        io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary result = new io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary(this);
        buildPartialRepeatedFields(result);
        if (bitField0_ != 0) { buildPartial0(result); }
        onBuilt();
        return result;
      }

      private void buildPartialRepeatedFields(io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary result) {
        if (inputAttestationsBuilder_ == null) {
          if (((bitField0_ & 0x00000010) != 0)) {
            inputAttestations_ = java.util.Collections.unmodifiableList(inputAttestations_);
            bitField0_ = (bitField0_ & ~0x00000010);
          }
          result.inputAttestations_ = inputAttestations_;
        } else {
          result.inputAttestations_ = inputAttestationsBuilder_.build();
        }
      }

      private void buildPartial0(io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary result) {
        int from_bitField0_ = bitField0_;
        int to_bitField0_ = 0;
        if (((from_bitField0_ & 0x00000001) != 0)) {
          result.verifier_ = verifierBuilder_ == null
              ? verifier_
              : verifierBuilder_.build();
          to_bitField0_ |= 0x00000001;
        }
        if (((from_bitField0_ & 0x00000002) != 0)) {
          result.timeVerified_ = timeVerifiedBuilder_ == null
              ? timeVerified_
              : timeVerifiedBuilder_.build();
          to_bitField0_ |= 0x00000002;
        }
        if (((from_bitField0_ & 0x00000004) != 0)) {
          result.resourceUri_ = resourceUri_;
        }
        if (((from_bitField0_ & 0x00000008) != 0)) {
          result.policy_ = policyBuilder_ == null
              ? policy_
              : policyBuilder_.build();
          to_bitField0_ |= 0x00000004;
        }
        if (((from_bitField0_ & 0x00000020) != 0)) {
          result.verificationResult_ = verificationResult_;
        }
        if (((from_bitField0_ & 0x00000040) != 0)) {
          result.policyLevel_ = policyLevel_;
        }
        if (((from_bitField0_ & 0x00000080) != 0)) {
          result.dependencyLevels_ = internalGetDependencyLevels();
          result.dependencyLevels_.makeImmutable();
        }
        result.bitField0_ |= to_bitField0_;
      }

      @java.lang.Override
      public Builder clone() {
        return super.clone();
      }
      @java.lang.Override
      public Builder setField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.setField(field, value);
      }
      @java.lang.Override
      public Builder clearField(
          com.google.protobuf.Descriptors.FieldDescriptor field) {
        return super.clearField(field);
      }
      @java.lang.Override
      public Builder clearOneof(
          com.google.protobuf.Descriptors.OneofDescriptor oneof) {
        return super.clearOneof(oneof);
      }
      @java.lang.Override
      public Builder setRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          int index, java.lang.Object value) {
        return super.setRepeatedField(field, index, value);
      }
      @java.lang.Override
      public Builder addRepeatedField(
          com.google.protobuf.Descriptors.FieldDescriptor field,
          java.lang.Object value) {
        return super.addRepeatedField(field, value);
      }
      @java.lang.Override
      public Builder mergeFrom(com.google.protobuf.Message other) {
        if (other instanceof io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary) {
          return mergeFrom((io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary)other);
        } else {
          super.mergeFrom(other);
          return this;
        }
      }

      public Builder mergeFrom(io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary other) {
        if (other == io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.getDefaultInstance()) return this;
        if (other.hasVerifier()) {
          mergeVerifier(other.getVerifier());
        }
        if (other.hasTimeVerified()) {
          mergeTimeVerified(other.getTimeVerified());
        }
        if (!other.getResourceUri().isEmpty()) {
          resourceUri_ = other.resourceUri_;
          bitField0_ |= 0x00000004;
          onChanged();
        }
        if (other.hasPolicy()) {
          mergePolicy(other.getPolicy());
        }
        if (inputAttestationsBuilder_ == null) {
          if (!other.inputAttestations_.isEmpty()) {
            if (inputAttestations_.isEmpty()) {
              inputAttestations_ = other.inputAttestations_;
              bitField0_ = (bitField0_ & ~0x00000010);
            } else {
              ensureInputAttestationsIsMutable();
              inputAttestations_.addAll(other.inputAttestations_);
            }
            onChanged();
          }
        } else {
          if (!other.inputAttestations_.isEmpty()) {
            if (inputAttestationsBuilder_.isEmpty()) {
              inputAttestationsBuilder_.dispose();
              inputAttestationsBuilder_ = null;
              inputAttestations_ = other.inputAttestations_;
              bitField0_ = (bitField0_ & ~0x00000010);
              inputAttestationsBuilder_ = 
                com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ?
                   getInputAttestationsFieldBuilder() : null;
            } else {
              inputAttestationsBuilder_.addAllMessages(other.inputAttestations_);
            }
          }
        }
        if (!other.getVerificationResult().isEmpty()) {
          verificationResult_ = other.verificationResult_;
          bitField0_ |= 0x00000020;
          onChanged();
        }
        if (!other.getPolicyLevel().isEmpty()) {
          policyLevel_ = other.policyLevel_;
          bitField0_ |= 0x00000040;
          onChanged();
        }
        internalGetMutableDependencyLevels().mergeFrom(
            other.internalGetDependencyLevels());
        bitField0_ |= 0x00000080;
        this.mergeUnknownFields(other.getUnknownFields());
        onChanged();
        return this;
      }

      @java.lang.Override
      public final boolean isInitialized() {
        return true;
      }

      @java.lang.Override
      public Builder mergeFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws java.io.IOException {
        if (extensionRegistry == null) {
          throw new java.lang.NullPointerException();
        }
        try {
          boolean done = false;
          while (!done) {
            int tag = input.readTag();
            switch (tag) {
              case 0:
                done = true;
                break;
              case 10: {
                input.readMessage(
                    getVerifierFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000001;
                break;
              } // case 10
              case 18: {
                input.readMessage(
                    getTimeVerifiedFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000002;
                break;
              } // case 18
              case 26: {
                resourceUri_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000004;
                break;
              } // case 26
              case 34: {
                input.readMessage(
                    getPolicyFieldBuilder().getBuilder(),
                    extensionRegistry);
                bitField0_ |= 0x00000008;
                break;
              } // case 34
              case 42: {
                io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation m =
                    input.readMessage(
                        io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation.parser(),
                        extensionRegistry);
                if (inputAttestationsBuilder_ == null) {
                  ensureInputAttestationsIsMutable();
                  inputAttestations_.add(m);
                } else {
                  inputAttestationsBuilder_.addMessage(m);
                }
                break;
              } // case 42
              case 50: {
                verificationResult_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000020;
                break;
              } // case 50
              case 58: {
                policyLevel_ = input.readStringRequireUtf8();
                bitField0_ |= 0x00000040;
                break;
              } // case 58
              case 66: {
                com.google.protobuf.MapEntry<java.lang.String, java.lang.Long>
                dependencyLevels__ = input.readMessage(
                    DependencyLevelsDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry);
                internalGetMutableDependencyLevels().getMutableMap().put(
                    dependencyLevels__.getKey(), dependencyLevels__.getValue());
                bitField0_ |= 0x00000080;
                break;
              } // case 66
              default: {
                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
                  done = true; // was an endgroup tag
                }
                break;
              } // default:
            } // switch (tag)
          } // while (!done)
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.unwrapIOException();
        } finally {
          onChanged();
        } // finally
        return this;
      }
      private int bitField0_;

      private io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier verifier_;
      private com.google.protobuf.SingleFieldBuilderV3<
          io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier, io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier.Builder, io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.VerifierOrBuilder> verifierBuilder_;
      /**
       * <code>.in_toto_attestation.predicates.vsa.v0.VerificationSummary.Verifier verifier = 1;</code>
       * @return Whether the verifier field is set.
       */
      public boolean hasVerifier() {
        return ((bitField0_ & 0x00000001) != 0);
      }
      /**
       * <code>.in_toto_attestation.predicates.vsa.v0.VerificationSummary.Verifier verifier = 1;</code>
       * @return The verifier.
       */
      public io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier getVerifier() {
        if (verifierBuilder_ == null) {
          return verifier_ == null ? io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier.getDefaultInstance() : verifier_;
        } else {
          return verifierBuilder_.getMessage();
        }
      }
      /**
       * <code>.in_toto_attestation.predicates.vsa.v0.VerificationSummary.Verifier verifier = 1;</code>
       */
      public Builder setVerifier(io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier value) {
        if (verifierBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          verifier_ = value;
        } else {
          verifierBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>.in_toto_attestation.predicates.vsa.v0.VerificationSummary.Verifier verifier = 1;</code>
       */
      public Builder setVerifier(
          io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier.Builder builderForValue) {
        if (verifierBuilder_ == null) {
          verifier_ = builderForValue.build();
        } else {
          verifierBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000001;
        onChanged();
        return this;
      }
      /**
       * <code>.in_toto_attestation.predicates.vsa.v0.VerificationSummary.Verifier verifier = 1;</code>
       */
      public Builder mergeVerifier(io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier value) {
        if (verifierBuilder_ == null) {
          if (((bitField0_ & 0x00000001) != 0) &&
            verifier_ != null &&
            verifier_ != io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier.getDefaultInstance()) {
            getVerifierBuilder().mergeFrom(value);
          } else {
            verifier_ = value;
          }
        } else {
          verifierBuilder_.mergeFrom(value);
        }
        if (verifier_ != null) {
          bitField0_ |= 0x00000001;
          onChanged();
        }
        return this;
      }
      /**
       * <code>.in_toto_attestation.predicates.vsa.v0.VerificationSummary.Verifier verifier = 1;</code>
       */
      public Builder clearVerifier() {
        bitField0_ = (bitField0_ & ~0x00000001);
        verifier_ = null;
        if (verifierBuilder_ != null) {
          verifierBuilder_.dispose();
          verifierBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * <code>.in_toto_attestation.predicates.vsa.v0.VerificationSummary.Verifier verifier = 1;</code>
       */
      public io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier.Builder getVerifierBuilder() {
        bitField0_ |= 0x00000001;
        onChanged();
        return getVerifierFieldBuilder().getBuilder();
      }
      /**
       * <code>.in_toto_attestation.predicates.vsa.v0.VerificationSummary.Verifier verifier = 1;</code>
       */
      public io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.VerifierOrBuilder getVerifierOrBuilder() {
        if (verifierBuilder_ != null) {
          return verifierBuilder_.getMessageOrBuilder();
        } else {
          return verifier_ == null ?
              io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier.getDefaultInstance() : verifier_;
        }
      }
      /**
       * <code>.in_toto_attestation.predicates.vsa.v0.VerificationSummary.Verifier verifier = 1;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier, io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier.Builder, io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.VerifierOrBuilder> 
          getVerifierFieldBuilder() {
        if (verifierBuilder_ == null) {
          verifierBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier, io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Verifier.Builder, io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.VerifierOrBuilder>(
                  getVerifier(),
                  getParentForChildren(),
                  isClean());
          verifier_ = null;
        }
        return verifierBuilder_;
      }

      private com.google.protobuf.Timestamp timeVerified_;
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> timeVerifiedBuilder_;
      /**
       * <code>.google.protobuf.Timestamp time_verified = 2 [json_name = "time_verified"];</code>
       * @return Whether the timeVerified field is set.
       */
      public boolean hasTimeVerified() {
        return ((bitField0_ & 0x00000002) != 0);
      }
      /**
       * <code>.google.protobuf.Timestamp time_verified = 2 [json_name = "time_verified"];</code>
       * @return The timeVerified.
       */
      public com.google.protobuf.Timestamp getTimeVerified() {
        if (timeVerifiedBuilder_ == null) {
          return timeVerified_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : timeVerified_;
        } else {
          return timeVerifiedBuilder_.getMessage();
        }
      }
      /**
       * <code>.google.protobuf.Timestamp time_verified = 2 [json_name = "time_verified"];</code>
       */
      public Builder setTimeVerified(com.google.protobuf.Timestamp value) {
        if (timeVerifiedBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          timeVerified_ = value;
        } else {
          timeVerifiedBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>.google.protobuf.Timestamp time_verified = 2 [json_name = "time_verified"];</code>
       */
      public Builder setTimeVerified(
          com.google.protobuf.Timestamp.Builder builderForValue) {
        if (timeVerifiedBuilder_ == null) {
          timeVerified_ = builderForValue.build();
        } else {
          timeVerifiedBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000002;
        onChanged();
        return this;
      }
      /**
       * <code>.google.protobuf.Timestamp time_verified = 2 [json_name = "time_verified"];</code>
       */
      public Builder mergeTimeVerified(com.google.protobuf.Timestamp value) {
        if (timeVerifiedBuilder_ == null) {
          if (((bitField0_ & 0x00000002) != 0) &&
            timeVerified_ != null &&
            timeVerified_ != com.google.protobuf.Timestamp.getDefaultInstance()) {
            getTimeVerifiedBuilder().mergeFrom(value);
          } else {
            timeVerified_ = value;
          }
        } else {
          timeVerifiedBuilder_.mergeFrom(value);
        }
        if (timeVerified_ != null) {
          bitField0_ |= 0x00000002;
          onChanged();
        }
        return this;
      }
      /**
       * <code>.google.protobuf.Timestamp time_verified = 2 [json_name = "time_verified"];</code>
       */
      public Builder clearTimeVerified() {
        bitField0_ = (bitField0_ & ~0x00000002);
        timeVerified_ = null;
        if (timeVerifiedBuilder_ != null) {
          timeVerifiedBuilder_.dispose();
          timeVerifiedBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * <code>.google.protobuf.Timestamp time_verified = 2 [json_name = "time_verified"];</code>
       */
      public com.google.protobuf.Timestamp.Builder getTimeVerifiedBuilder() {
        bitField0_ |= 0x00000002;
        onChanged();
        return getTimeVerifiedFieldBuilder().getBuilder();
      }
      /**
       * <code>.google.protobuf.Timestamp time_verified = 2 [json_name = "time_verified"];</code>
       */
      public com.google.protobuf.TimestampOrBuilder getTimeVerifiedOrBuilder() {
        if (timeVerifiedBuilder_ != null) {
          return timeVerifiedBuilder_.getMessageOrBuilder();
        } else {
          return timeVerified_ == null ?
              com.google.protobuf.Timestamp.getDefaultInstance() : timeVerified_;
        }
      }
      /**
       * <code>.google.protobuf.Timestamp time_verified = 2 [json_name = "time_verified"];</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder> 
          getTimeVerifiedFieldBuilder() {
        if (timeVerifiedBuilder_ == null) {
          timeVerifiedBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              com.google.protobuf.Timestamp, com.google.protobuf.Timestamp.Builder, com.google.protobuf.TimestampOrBuilder>(
                  getTimeVerified(),
                  getParentForChildren(),
                  isClean());
          timeVerified_ = null;
        }
        return timeVerifiedBuilder_;
      }

      private java.lang.Object resourceUri_ = "";
      /**
       * <code>string resource_uri = 3 [json_name = "resource_uri"];</code>
       * @return The resourceUri.
       */
      public java.lang.String getResourceUri() {
        java.lang.Object ref = resourceUri_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          resourceUri_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string resource_uri = 3 [json_name = "resource_uri"];</code>
       * @return The bytes for resourceUri.
       */
      public com.google.protobuf.ByteString
          getResourceUriBytes() {
        java.lang.Object ref = resourceUri_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          resourceUri_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string resource_uri = 3 [json_name = "resource_uri"];</code>
       * @param value The resourceUri to set.
       * @return This builder for chaining.
       */
      public Builder setResourceUri(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        resourceUri_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }
      /**
       * <code>string resource_uri = 3 [json_name = "resource_uri"];</code>
       * @return This builder for chaining.
       */
      public Builder clearResourceUri() {
        resourceUri_ = getDefaultInstance().getResourceUri();
        bitField0_ = (bitField0_ & ~0x00000004);
        onChanged();
        return this;
      }
      /**
       * <code>string resource_uri = 3 [json_name = "resource_uri"];</code>
       * @param value The bytes for resourceUri to set.
       * @return This builder for chaining.
       */
      public Builder setResourceUriBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        resourceUri_ = value;
        bitField0_ |= 0x00000004;
        onChanged();
        return this;
      }

      private io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy policy_;
      private com.google.protobuf.SingleFieldBuilderV3<
          io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy, io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy.Builder, io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.PolicyOrBuilder> policyBuilder_;
      /**
       * <code>.in_toto_attestation.predicates.vsa.v0.VerificationSummary.Policy policy = 4;</code>
       * @return Whether the policy field is set.
       */
      public boolean hasPolicy() {
        return ((bitField0_ & 0x00000008) != 0);
      }
      /**
       * <code>.in_toto_attestation.predicates.vsa.v0.VerificationSummary.Policy policy = 4;</code>
       * @return The policy.
       */
      public io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy getPolicy() {
        if (policyBuilder_ == null) {
          return policy_ == null ? io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy.getDefaultInstance() : policy_;
        } else {
          return policyBuilder_.getMessage();
        }
      }
      /**
       * <code>.in_toto_attestation.predicates.vsa.v0.VerificationSummary.Policy policy = 4;</code>
       */
      public Builder setPolicy(io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy value) {
        if (policyBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          policy_ = value;
        } else {
          policyBuilder_.setMessage(value);
        }
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * <code>.in_toto_attestation.predicates.vsa.v0.VerificationSummary.Policy policy = 4;</code>
       */
      public Builder setPolicy(
          io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy.Builder builderForValue) {
        if (policyBuilder_ == null) {
          policy_ = builderForValue.build();
        } else {
          policyBuilder_.setMessage(builderForValue.build());
        }
        bitField0_ |= 0x00000008;
        onChanged();
        return this;
      }
      /**
       * <code>.in_toto_attestation.predicates.vsa.v0.VerificationSummary.Policy policy = 4;</code>
       */
      public Builder mergePolicy(io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy value) {
        if (policyBuilder_ == null) {
          if (((bitField0_ & 0x00000008) != 0) &&
            policy_ != null &&
            policy_ != io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy.getDefaultInstance()) {
            getPolicyBuilder().mergeFrom(value);
          } else {
            policy_ = value;
          }
        } else {
          policyBuilder_.mergeFrom(value);
        }
        if (policy_ != null) {
          bitField0_ |= 0x00000008;
          onChanged();
        }
        return this;
      }
      /**
       * <code>.in_toto_attestation.predicates.vsa.v0.VerificationSummary.Policy policy = 4;</code>
       */
      public Builder clearPolicy() {
        bitField0_ = (bitField0_ & ~0x00000008);
        policy_ = null;
        if (policyBuilder_ != null) {
          policyBuilder_.dispose();
          policyBuilder_ = null;
        }
        onChanged();
        return this;
      }
      /**
       * <code>.in_toto_attestation.predicates.vsa.v0.VerificationSummary.Policy policy = 4;</code>
       */
      public io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy.Builder getPolicyBuilder() {
        bitField0_ |= 0x00000008;
        onChanged();
        return getPolicyFieldBuilder().getBuilder();
      }
      /**
       * <code>.in_toto_attestation.predicates.vsa.v0.VerificationSummary.Policy policy = 4;</code>
       */
      public io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.PolicyOrBuilder getPolicyOrBuilder() {
        if (policyBuilder_ != null) {
          return policyBuilder_.getMessageOrBuilder();
        } else {
          return policy_ == null ?
              io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy.getDefaultInstance() : policy_;
        }
      }
      /**
       * <code>.in_toto_attestation.predicates.vsa.v0.VerificationSummary.Policy policy = 4;</code>
       */
      private com.google.protobuf.SingleFieldBuilderV3<
          io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy, io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy.Builder, io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.PolicyOrBuilder> 
          getPolicyFieldBuilder() {
        if (policyBuilder_ == null) {
          policyBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
              io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy, io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.Policy.Builder, io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.PolicyOrBuilder>(
                  getPolicy(),
                  getParentForChildren(),
                  isClean());
          policy_ = null;
        }
        return policyBuilder_;
      }

      private java.util.List<io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation> inputAttestations_ =
        java.util.Collections.emptyList();
      private void ensureInputAttestationsIsMutable() {
        if (!((bitField0_ & 0x00000010) != 0)) {
          inputAttestations_ = new java.util.ArrayList<io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation>(inputAttestations_);
          bitField0_ |= 0x00000010;
         }
      }

      private com.google.protobuf.RepeatedFieldBuilderV3<
          io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation, io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation.Builder, io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestationOrBuilder> inputAttestationsBuilder_;

      /**
       * <code>repeated .in_toto_attestation.predicates.vsa.v0.VerificationSummary.InputAttestation input_attestations = 5 [json_name = "input_attestations"];</code>
       */
      public java.util.List<io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation> getInputAttestationsList() {
        if (inputAttestationsBuilder_ == null) {
          return java.util.Collections.unmodifiableList(inputAttestations_);
        } else {
          return inputAttestationsBuilder_.getMessageList();
        }
      }
      /**
       * <code>repeated .in_toto_attestation.predicates.vsa.v0.VerificationSummary.InputAttestation input_attestations = 5 [json_name = "input_attestations"];</code>
       */
      public int getInputAttestationsCount() {
        if (inputAttestationsBuilder_ == null) {
          return inputAttestations_.size();
        } else {
          return inputAttestationsBuilder_.getCount();
        }
      }
      /**
       * <code>repeated .in_toto_attestation.predicates.vsa.v0.VerificationSummary.InputAttestation input_attestations = 5 [json_name = "input_attestations"];</code>
       */
      public io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation getInputAttestations(int index) {
        if (inputAttestationsBuilder_ == null) {
          return inputAttestations_.get(index);
        } else {
          return inputAttestationsBuilder_.getMessage(index);
        }
      }
      /**
       * <code>repeated .in_toto_attestation.predicates.vsa.v0.VerificationSummary.InputAttestation input_attestations = 5 [json_name = "input_attestations"];</code>
       */
      public Builder setInputAttestations(
          int index, io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation value) {
        if (inputAttestationsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureInputAttestationsIsMutable();
          inputAttestations_.set(index, value);
          onChanged();
        } else {
          inputAttestationsBuilder_.setMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .in_toto_attestation.predicates.vsa.v0.VerificationSummary.InputAttestation input_attestations = 5 [json_name = "input_attestations"];</code>
       */
      public Builder setInputAttestations(
          int index, io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation.Builder builderForValue) {
        if (inputAttestationsBuilder_ == null) {
          ensureInputAttestationsIsMutable();
          inputAttestations_.set(index, builderForValue.build());
          onChanged();
        } else {
          inputAttestationsBuilder_.setMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .in_toto_attestation.predicates.vsa.v0.VerificationSummary.InputAttestation input_attestations = 5 [json_name = "input_attestations"];</code>
       */
      public Builder addInputAttestations(io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation value) {
        if (inputAttestationsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureInputAttestationsIsMutable();
          inputAttestations_.add(value);
          onChanged();
        } else {
          inputAttestationsBuilder_.addMessage(value);
        }
        return this;
      }
      /**
       * <code>repeated .in_toto_attestation.predicates.vsa.v0.VerificationSummary.InputAttestation input_attestations = 5 [json_name = "input_attestations"];</code>
       */
      public Builder addInputAttestations(
          int index, io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation value) {
        if (inputAttestationsBuilder_ == null) {
          if (value == null) {
            throw new NullPointerException();
          }
          ensureInputAttestationsIsMutable();
          inputAttestations_.add(index, value);
          onChanged();
        } else {
          inputAttestationsBuilder_.addMessage(index, value);
        }
        return this;
      }
      /**
       * <code>repeated .in_toto_attestation.predicates.vsa.v0.VerificationSummary.InputAttestation input_attestations = 5 [json_name = "input_attestations"];</code>
       */
      public Builder addInputAttestations(
          io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation.Builder builderForValue) {
        if (inputAttestationsBuilder_ == null) {
          ensureInputAttestationsIsMutable();
          inputAttestations_.add(builderForValue.build());
          onChanged();
        } else {
          inputAttestationsBuilder_.addMessage(builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .in_toto_attestation.predicates.vsa.v0.VerificationSummary.InputAttestation input_attestations = 5 [json_name = "input_attestations"];</code>
       */
      public Builder addInputAttestations(
          int index, io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation.Builder builderForValue) {
        if (inputAttestationsBuilder_ == null) {
          ensureInputAttestationsIsMutable();
          inputAttestations_.add(index, builderForValue.build());
          onChanged();
        } else {
          inputAttestationsBuilder_.addMessage(index, builderForValue.build());
        }
        return this;
      }
      /**
       * <code>repeated .in_toto_attestation.predicates.vsa.v0.VerificationSummary.InputAttestation input_attestations = 5 [json_name = "input_attestations"];</code>
       */
      public Builder addAllInputAttestations(
          java.lang.Iterable<? extends io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation> values) {
        if (inputAttestationsBuilder_ == null) {
          ensureInputAttestationsIsMutable();
          com.google.protobuf.AbstractMessageLite.Builder.addAll(
              values, inputAttestations_);
          onChanged();
        } else {
          inputAttestationsBuilder_.addAllMessages(values);
        }
        return this;
      }
      /**
       * <code>repeated .in_toto_attestation.predicates.vsa.v0.VerificationSummary.InputAttestation input_attestations = 5 [json_name = "input_attestations"];</code>
       */
      public Builder clearInputAttestations() {
        if (inputAttestationsBuilder_ == null) {
          inputAttestations_ = java.util.Collections.emptyList();
          bitField0_ = (bitField0_ & ~0x00000010);
          onChanged();
        } else {
          inputAttestationsBuilder_.clear();
        }
        return this;
      }
      /**
       * <code>repeated .in_toto_attestation.predicates.vsa.v0.VerificationSummary.InputAttestation input_attestations = 5 [json_name = "input_attestations"];</code>
       */
      public Builder removeInputAttestations(int index) {
        if (inputAttestationsBuilder_ == null) {
          ensureInputAttestationsIsMutable();
          inputAttestations_.remove(index);
          onChanged();
        } else {
          inputAttestationsBuilder_.remove(index);
        }
        return this;
      }
      /**
       * <code>repeated .in_toto_attestation.predicates.vsa.v0.VerificationSummary.InputAttestation input_attestations = 5 [json_name = "input_attestations"];</code>
       */
      public io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation.Builder getInputAttestationsBuilder(
          int index) {
        return getInputAttestationsFieldBuilder().getBuilder(index);
      }
      /**
       * <code>repeated .in_toto_attestation.predicates.vsa.v0.VerificationSummary.InputAttestation input_attestations = 5 [json_name = "input_attestations"];</code>
       */
      public io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestationOrBuilder getInputAttestationsOrBuilder(
          int index) {
        if (inputAttestationsBuilder_ == null) {
          return inputAttestations_.get(index);  } else {
          return inputAttestationsBuilder_.getMessageOrBuilder(index);
        }
      }
      /**
       * <code>repeated .in_toto_attestation.predicates.vsa.v0.VerificationSummary.InputAttestation input_attestations = 5 [json_name = "input_attestations"];</code>
       */
      public java.util.List<? extends io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestationOrBuilder> 
           getInputAttestationsOrBuilderList() {
        if (inputAttestationsBuilder_ != null) {
          return inputAttestationsBuilder_.getMessageOrBuilderList();
        } else {
          return java.util.Collections.unmodifiableList(inputAttestations_);
        }
      }
      /**
       * <code>repeated .in_toto_attestation.predicates.vsa.v0.VerificationSummary.InputAttestation input_attestations = 5 [json_name = "input_attestations"];</code>
       */
      public io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation.Builder addInputAttestationsBuilder() {
        return getInputAttestationsFieldBuilder().addBuilder(
            io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation.getDefaultInstance());
      }
      /**
       * <code>repeated .in_toto_attestation.predicates.vsa.v0.VerificationSummary.InputAttestation input_attestations = 5 [json_name = "input_attestations"];</code>
       */
      public io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation.Builder addInputAttestationsBuilder(
          int index) {
        return getInputAttestationsFieldBuilder().addBuilder(
            index, io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation.getDefaultInstance());
      }
      /**
       * <code>repeated .in_toto_attestation.predicates.vsa.v0.VerificationSummary.InputAttestation input_attestations = 5 [json_name = "input_attestations"];</code>
       */
      public java.util.List<io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation.Builder> 
           getInputAttestationsBuilderList() {
        return getInputAttestationsFieldBuilder().getBuilderList();
      }
      private com.google.protobuf.RepeatedFieldBuilderV3<
          io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation, io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation.Builder, io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestationOrBuilder> 
          getInputAttestationsFieldBuilder() {
        if (inputAttestationsBuilder_ == null) {
          inputAttestationsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3<
              io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation, io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestation.Builder, io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary.InputAttestationOrBuilder>(
                  inputAttestations_,
                  ((bitField0_ & 0x00000010) != 0),
                  getParentForChildren(),
                  isClean());
          inputAttestations_ = null;
        }
        return inputAttestationsBuilder_;
      }

      private java.lang.Object verificationResult_ = "";
      /**
       * <code>string verification_result = 6 [json_name = "verification_result"];</code>
       * @return The verificationResult.
       */
      public java.lang.String getVerificationResult() {
        java.lang.Object ref = verificationResult_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          verificationResult_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string verification_result = 6 [json_name = "verification_result"];</code>
       * @return The bytes for verificationResult.
       */
      public com.google.protobuf.ByteString
          getVerificationResultBytes() {
        java.lang.Object ref = verificationResult_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          verificationResult_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string verification_result = 6 [json_name = "verification_result"];</code>
       * @param value The verificationResult to set.
       * @return This builder for chaining.
       */
      public Builder setVerificationResult(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        verificationResult_ = value;
        bitField0_ |= 0x00000020;
        onChanged();
        return this;
      }
      /**
       * <code>string verification_result = 6 [json_name = "verification_result"];</code>
       * @return This builder for chaining.
       */
      public Builder clearVerificationResult() {
        verificationResult_ = getDefaultInstance().getVerificationResult();
        bitField0_ = (bitField0_ & ~0x00000020);
        onChanged();
        return this;
      }
      /**
       * <code>string verification_result = 6 [json_name = "verification_result"];</code>
       * @param value The bytes for verificationResult to set.
       * @return This builder for chaining.
       */
      public Builder setVerificationResultBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        verificationResult_ = value;
        bitField0_ |= 0x00000020;
        onChanged();
        return this;
      }

      private java.lang.Object policyLevel_ = "";
      /**
       * <code>string policy_level = 7 [json_name = "policy_level"];</code>
       * @return The policyLevel.
       */
      public java.lang.String getPolicyLevel() {
        java.lang.Object ref = policyLevel_;
        if (!(ref instanceof java.lang.String)) {
          com.google.protobuf.ByteString bs =
              (com.google.protobuf.ByteString) ref;
          java.lang.String s = bs.toStringUtf8();
          policyLevel_ = s;
          return s;
        } else {
          return (java.lang.String) ref;
        }
      }
      /**
       * <code>string policy_level = 7 [json_name = "policy_level"];</code>
       * @return The bytes for policyLevel.
       */
      public com.google.protobuf.ByteString
          getPolicyLevelBytes() {
        java.lang.Object ref = policyLevel_;
        if (ref instanceof String) {
          com.google.protobuf.ByteString b = 
              com.google.protobuf.ByteString.copyFromUtf8(
                  (java.lang.String) ref);
          policyLevel_ = b;
          return b;
        } else {
          return (com.google.protobuf.ByteString) ref;
        }
      }
      /**
       * <code>string policy_level = 7 [json_name = "policy_level"];</code>
       * @param value The policyLevel to set.
       * @return This builder for chaining.
       */
      public Builder setPolicyLevel(
          java.lang.String value) {
        if (value == null) { throw new NullPointerException(); }
        policyLevel_ = value;
        bitField0_ |= 0x00000040;
        onChanged();
        return this;
      }
      /**
       * <code>string policy_level = 7 [json_name = "policy_level"];</code>
       * @return This builder for chaining.
       */
      public Builder clearPolicyLevel() {
        policyLevel_ = getDefaultInstance().getPolicyLevel();
        bitField0_ = (bitField0_ & ~0x00000040);
        onChanged();
        return this;
      }
      /**
       * <code>string policy_level = 7 [json_name = "policy_level"];</code>
       * @param value The bytes for policyLevel to set.
       * @return This builder for chaining.
       */
      public Builder setPolicyLevelBytes(
          com.google.protobuf.ByteString value) {
        if (value == null) { throw new NullPointerException(); }
        checkByteStringIsUtf8(value);
        policyLevel_ = value;
        bitField0_ |= 0x00000040;
        onChanged();
        return this;
      }

      private com.google.protobuf.MapField<
          java.lang.String, java.lang.Long> dependencyLevels_;
      private com.google.protobuf.MapField<java.lang.String, java.lang.Long>
          internalGetDependencyLevels() {
        if (dependencyLevels_ == null) {
          return com.google.protobuf.MapField.emptyMapField(
              DependencyLevelsDefaultEntryHolder.defaultEntry);
        }
        return dependencyLevels_;
      }
      private com.google.protobuf.MapField<java.lang.String, java.lang.Long>
          internalGetMutableDependencyLevels() {
        if (dependencyLevels_ == null) {
          dependencyLevels_ = com.google.protobuf.MapField.newMapField(
              DependencyLevelsDefaultEntryHolder.defaultEntry);
        }
        if (!dependencyLevels_.isMutable()) {
          dependencyLevels_ = dependencyLevels_.copy();
        }
        bitField0_ |= 0x00000080;
        onChanged();
        return dependencyLevels_;
      }
      public int getDependencyLevelsCount() {
        return internalGetDependencyLevels().getMap().size();
      }
      /**
       * <code>map&lt;string, uint64&gt; dependency_levels = 8 [json_name = "dependency_levels"];</code>
       */
      @java.lang.Override
      public boolean containsDependencyLevels(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        return internalGetDependencyLevels().getMap().containsKey(key);
      }
      /**
       * Use {@link #getDependencyLevelsMap()} instead.
       */
      @java.lang.Override
      @java.lang.Deprecated
      public java.util.Map<java.lang.String, java.lang.Long> getDependencyLevels() {
        return getDependencyLevelsMap();
      }
      /**
       * <code>map&lt;string, uint64&gt; dependency_levels = 8 [json_name = "dependency_levels"];</code>
       */
      @java.lang.Override
      public java.util.Map<java.lang.String, java.lang.Long> getDependencyLevelsMap() {
        return internalGetDependencyLevels().getMap();
      }
      /**
       * <code>map&lt;string, uint64&gt; dependency_levels = 8 [json_name = "dependency_levels"];</code>
       */
      @java.lang.Override
      public long getDependencyLevelsOrDefault(
          java.lang.String key,
          long defaultValue) {
        if (key == null) { throw new NullPointerException("map key"); }
        java.util.Map<java.lang.String, java.lang.Long> map =
            internalGetDependencyLevels().getMap();
        return map.containsKey(key) ? map.get(key) : defaultValue;
      }
      /**
       * <code>map&lt;string, uint64&gt; dependency_levels = 8 [json_name = "dependency_levels"];</code>
       */
      @java.lang.Override
      public long getDependencyLevelsOrThrow(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        java.util.Map<java.lang.String, java.lang.Long> map =
            internalGetDependencyLevels().getMap();
        if (!map.containsKey(key)) {
          throw new java.lang.IllegalArgumentException();
        }
        return map.get(key);
      }
      public Builder clearDependencyLevels() {
        bitField0_ = (bitField0_ & ~0x00000080);
        internalGetMutableDependencyLevels().getMutableMap()
            .clear();
        return this;
      }
      /**
       * <code>map&lt;string, uint64&gt; dependency_levels = 8 [json_name = "dependency_levels"];</code>
       */
      public Builder removeDependencyLevels(
          java.lang.String key) {
        if (key == null) { throw new NullPointerException("map key"); }
        internalGetMutableDependencyLevels().getMutableMap()
            .remove(key);
        return this;
      }
      /**
       * Use alternate mutation accessors instead.
       */
      @java.lang.Deprecated
      public java.util.Map<java.lang.String, java.lang.Long>
          getMutableDependencyLevels() {
        bitField0_ |= 0x00000080;
        return internalGetMutableDependencyLevels().getMutableMap();
      }
      /**
       * <code>map&lt;string, uint64&gt; dependency_levels = 8 [json_name = "dependency_levels"];</code>
       */
      public Builder putDependencyLevels(
          java.lang.String key,
          long value) {
        if (key == null) { throw new NullPointerException("map key"); }

        internalGetMutableDependencyLevels().getMutableMap()
            .put(key, value);
        bitField0_ |= 0x00000080;
        return this;
      }
      /**
       * <code>map&lt;string, uint64&gt; dependency_levels = 8 [json_name = "dependency_levels"];</code>
       */
      public Builder putAllDependencyLevels(
          java.util.Map<java.lang.String, java.lang.Long> values) {
        internalGetMutableDependencyLevels().getMutableMap()
            .putAll(values);
        bitField0_ |= 0x00000080;
        return this;
      }
      @java.lang.Override
      public final Builder setUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.setUnknownFields(unknownFields);
      }

      @java.lang.Override
      public final Builder mergeUnknownFields(
          final com.google.protobuf.UnknownFieldSet unknownFields) {
        return super.mergeUnknownFields(unknownFields);
      }


      // @@protoc_insertion_point(builder_scope:in_toto_attestation.predicates.vsa.v0.VerificationSummary)
    }

    // @@protoc_insertion_point(class_scope:in_toto_attestation.predicates.vsa.v0.VerificationSummary)
    private static final io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary DEFAULT_INSTANCE;
    static {
      DEFAULT_INSTANCE = new io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary();
    }

    public static io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary getDefaultInstance() {
      return DEFAULT_INSTANCE;
    }

    private static final com.google.protobuf.Parser<VerificationSummary>
        PARSER = new com.google.protobuf.AbstractParser<VerificationSummary>() {
      @java.lang.Override
      public VerificationSummary parsePartialFrom(
          com.google.protobuf.CodedInputStream input,
          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
          throws com.google.protobuf.InvalidProtocolBufferException {
        Builder builder = newBuilder();
        try {
          builder.mergeFrom(input, extensionRegistry);
        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
          throw e.setUnfinishedMessage(builder.buildPartial());
        } catch (com.google.protobuf.UninitializedMessageException e) {
          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
        } catch (java.io.IOException e) {
          throw new com.google.protobuf.InvalidProtocolBufferException(e)
              .setUnfinishedMessage(builder.buildPartial());
        }
        return builder.buildPartial();
      }
    };

    public static com.google.protobuf.Parser<VerificationSummary> parser() {
      return PARSER;
    }

    @java.lang.Override
    public com.google.protobuf.Parser<VerificationSummary> getParserForType() {
      return PARSER;
    }

    @java.lang.Override
    public io.github.intoto.attestation.predicates.vsa.v0.Vsa.VerificationSummary getDefaultInstanceForType() {
      return DEFAULT_INSTANCE;
    }

  }

  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_Verifier_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_Verifier_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_Policy_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_Policy_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_Policy_DigestEntry_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_Policy_DigestEntry_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_InputAttestation_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_InputAttestation_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_InputAttestation_DigestEntry_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_InputAttestation_DigestEntry_fieldAccessorTable;
  private static final com.google.protobuf.Descriptors.Descriptor
    internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_DependencyLevelsEntry_descriptor;
  private static final 
    com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_DependencyLevelsEntry_fieldAccessorTable;

  public static com.google.protobuf.Descriptors.FileDescriptor
      getDescriptor() {
    return descriptor;
  }
  private static  com.google.protobuf.Descriptors.FileDescriptor
      descriptor;
  static {
    java.lang.String[] descriptorData = {
      "\n/in_toto_attestation/predicates/vsa/v0/" +
      "vsa.proto\022%in_toto_attestation.predicate" +
      "s.vsa.v0\032\037google/protobuf/timestamp.prot" +
      "o\"\251\010\n\023VerificationSummary\022U\n\010verifier\030\001 " +
      "\001(\0132C.in_toto_attestation.predicates.vsa" +
      ".v0.VerificationSummary.Verifier\022@\n\rtime" +
      "_verified\030\002 \001(\0132\032.google.protobuf.Timest" +
      "ampR\rtime_verified\022\"\n\014resource_uri\030\003 \001(\t" +
      "R\014resource_uri\022Q\n\006policy\030\004 \001(\0132A.in_toto" +
      "_attestation.predicates.vsa.v0.Verificat" +
      "ionSummary.Policy\022{\n\022input_attestations\030" +
      "\005 \003(\0132K.in_toto_attestation.predicates.v" +
      "sa.v0.VerificationSummary.InputAttestati" +
      "onR\022input_attestations\0220\n\023verification_r" +
      "esult\030\006 \001(\tR\023verification_result\022\"\n\014poli" +
      "cy_level\030\007 \001(\tR\014policy_level\022~\n\021dependen" +
      "cy_levels\030\010 \003(\0132P.in_toto_attestation.pr" +
      "edicates.vsa.v0.VerificationSummary.Depe" +
      "ndencyLevelsEntryR\021dependency_levels\032\026\n\010" +
      "Verifier\022\n\n\002id\030\001 \001(\t\032\243\001\n\006Policy\022\013\n\003uri\030\001" +
      " \001(\t\022]\n\006digest\030\002 \003(\0132M.in_toto_attestati" +
      "on.predicates.vsa.v0.VerificationSummary" +
      ".Policy.DigestEntry\032-\n\013DigestEntry\022\013\n\003ke" +
      "y\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\032\267\001\n\020InputAtte" +
      "station\022\013\n\003uri\030\001 \001(\t\022g\n\006digest\030\002 \003(\0132W.i" +
      "n_toto_attestation.predicates.vsa.v0.Ver" +
      "ificationSummary.InputAttestation.Digest" +
      "Entry\032-\n\013DigestEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005val" +
      "ue\030\002 \001(\t:\0028\001\0327\n\025DependencyLevelsEntry\022\013\n" +
      "\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\004:\0028\001Be\n.io.gith" +
      "ub.intoto.attestation.predicates.vsa.v0Z" +
      "3github.com/in-toto/attestation/go/predi" +
      "cates/vsa/v0b\006proto3"
    };
    descriptor = com.google.protobuf.Descriptors.FileDescriptor
      .internalBuildGeneratedFileFrom(descriptorData,
        new com.google.protobuf.Descriptors.FileDescriptor[] {
          com.google.protobuf.TimestampProto.getDescriptor(),
        });
    internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_descriptor =
      getDescriptor().getMessageTypes().get(0);
    internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_descriptor,
        new java.lang.String[] { "Verifier", "TimeVerified", "ResourceUri", "Policy", "InputAttestations", "VerificationResult", "PolicyLevel", "DependencyLevels", });
    internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_Verifier_descriptor =
      internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_descriptor.getNestedTypes().get(0);
    internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_Verifier_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_Verifier_descriptor,
        new java.lang.String[] { "Id", });
    internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_Policy_descriptor =
      internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_descriptor.getNestedTypes().get(1);
    internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_Policy_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_Policy_descriptor,
        new java.lang.String[] { "Uri", "Digest", });
    internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_Policy_DigestEntry_descriptor =
      internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_Policy_descriptor.getNestedTypes().get(0);
    internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_Policy_DigestEntry_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_Policy_DigestEntry_descriptor,
        new java.lang.String[] { "Key", "Value", });
    internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_InputAttestation_descriptor =
      internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_descriptor.getNestedTypes().get(2);
    internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_InputAttestation_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_InputAttestation_descriptor,
        new java.lang.String[] { "Uri", "Digest", });
    internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_InputAttestation_DigestEntry_descriptor =
      internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_InputAttestation_descriptor.getNestedTypes().get(0);
    internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_InputAttestation_DigestEntry_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_InputAttestation_DigestEntry_descriptor,
        new java.lang.String[] { "Key", "Value", });
    internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_DependencyLevelsEntry_descriptor =
      internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_descriptor.getNestedTypes().get(3);
    internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_DependencyLevelsEntry_fieldAccessorTable = new
      com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
        internal_static_in_toto_attestation_predicates_vsa_v0_VerificationSummary_DependencyLevelsEntry_descriptor,
        new java.lang.String[] { "Key", "Value", });
    com.google.protobuf.TimestampProto.getDescriptor();
  }

  // @@protoc_insertion_point(outer_class_scope)
}
