### Is there an existing issue for this?

- [X] I have searched the existing issues

### Current Behavior

Now it is 127 characters:
https://github.com/localstack/localstack/blob/32a7946f878ace1a8bdd098bb3c9d53898424a78/localstack/services/sqs/provider.py#L435-L438

### Expected Behavior

The maximum length of MessageDeduplicationId is 128 characters. AWS docs:
https://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/API_SendMessage.html#API_SendMessage_RequestSyntax

### How are you starting LocalStack?

With a docker-compose file

### Steps To Reproduce

#### How are you starting localstack (e.g., `bin/localstack` command, arguments, or `docker-compose.yml`)

    docker run localstack/localstack

#### Client commands (e.g., AWS SDK code snippet, or sequence of "awslocal" commands)

    awslocal s3 mb s3://mybucket


### Environment

```markdown
- OS:
- LocalStack:
```


### Anything else?

_No response_
queue_url = sqs_create_queue()
        
        tags = {"tag1": "value1", "tag2": "value2", "tag3": ""}
        aws_client.sqs.tag_queue(Url=queue_url, Tags=tags)
        
        response = aws_client.sqs.list_queue_tags(Url=queue_url)
        snapshot.match("get-tag-1", response)
        assert response["Tags"] == tags
        
        aws_client.sqs.untag_queue(Url=queue_url, TagKeys=["tag1", "tag3"])
        response = aws_client.sqs.list_queue_tags(Url=queue_url)
        snapshot.match("get-tag-2", response)
        assert response["Tags"] == {"tag2": "value2"}
        
        aws_client.sqs.untag_queue(Url=queue_url, TagKeys=["tag2"])
        response = aws_client.sqs.list_queue_tags(Url=queue_url)
        snapshot.match("get-tag-after-untag", response)
        assert response["Tags"] == {}
    @markers.aws.validated
    def test_tags_case_sensitive(self, sqs_create_queue, aws_client):