@java.lang.Override
    public int hashCode() {
        if (memoizedHashCode != 0) {
            return memoizedHashCode;
        }
        int hash = 41;
        hash = (19 * hash) + getDescriptor().hashCode();
        if (hasMessageId()) {
            hash = (37 * hash) + MESSAGE_ID_FIELD_NUMBER;
            hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getMessageId());
        }
        if (hasIsSystemMessage()) {
            hash = (37 * hash) + IS_SYSTEM_MESSAGE_FIELD_NUMBER;
            hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getIsSystemMessage());
        }
        if (hasGroupId()) {
            hash = (37 * hash) + GROUP_ID_FIELD_NUMBER;
            hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getGroupId());
        }
        if (hasRecipientId()) {
            hash = (37 * hash) + RECIPIENT_ID_FIELD_NUMBER;
            hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getRecipientId());
        }
        if (hasDeliveryDate()) {
            hash = (37 * hash) + DELIVERY_DATE_FIELD_NUMBER;
            hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getDeliveryDate());
        }
        if (hasText()) {
            hash = (37 * hash) + TEXT_FIELD_NUMBER;
            hash = (53 * hash) + getText().hashCode();
        }
        if (getRecordsCount() > 0) {
            hash = (37 * hash) + RECORDS_FIELD_NUMBER;
            hash = (53 * hash) + getRecordsList().hashCode();
        }
        if (hasBurnAfter()) {
            hash = (37 * hash) + BURN_AFTER_FIELD_NUMBER;
            hash = (53 * hash) + getBurnAfter();
        }
        if (hasPreMessageId()) {
            hash = (37 * hash) + PRE_MESSAGE_ID_FIELD_NUMBER;
            hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getPreMessageId());
        }
        if (getCustomAttributesCount() > 0) {
            hash = (37 * hash) + CUSTOM_ATTRIBUTES_FIELD_NUMBER;
            hash = (53 * hash) + getCustomAttributesList().hashCode();
        }
        hash = (29 * hash) + getUnknownFields().hashCode();
        memoizedHashCode = hash;
        return hash;
    }
<code>repeated .im.turms.proto.Value custom_attributes = 15;</code>
turms-server-common/src/main/java/im/turms/server/common/access/client/dto/request/message/CreateMessageRequest.java