### 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_
with pytest.raises(ClientError) as e:
            aws_client.sqs.delete_message(Url=sqs_queue, ReceiptHandle="garbage")
        err = e.value.response["Error"]
        assert err["Code"] == "ReceiptHandleIsInvalid"
        assert err["Message"] == 'The input receipt handle "garbage" is not a valid receipt handle.'
    @markers.aws.validated
    def test_delete_message_with_deleted_receipt_handle(self, sqs_queue, aws_client):
        aws_client.sqs.send_message(Url=sqs_queue, MessageBody="foo")
        response = aws_client.sqs.receive_message(Url=sqs_queue, WaitTimeSeconds=5)
        handle = response["Messages"][0]["ReceiptHandle"]
        # do
        aws_client.sqs.delete_message(Url=sqs_queue, ReceiptHandle=handle)
        aws_client.sqs.delete_message(Url=sqs_queue, ReceiptHandle=handle)
        aws_client.sqs.delete_message(Url=sqs_queue, ReceiptHandle=handle)
    # TO
    def _add_error_detail_transformer(self, snapshot):
        """Adds a transformer to ignore {"Error": {"Detail": None, ...}} entries in snapshot error responses"""
        def _remove_error_details(snapshot_content: Dict, *args) -> Dict:
            for response in snapshot_content.values():
                response.get("Error", {}).pop("Detail", None)
            return snapshot_content
        snapshot.add_transformer(GenericTransformer(_remove_error_details))
    @markers.aws.validated
    def test_sqs_permission_lifecycle(self, sqs_queue, aws_client, snapshot, account_id):
        add_permission_response = aws_client.sqs.add_permission(
            Url=sqs_queue,
            AWSAccountIds=[account_id, "668614515564"],
            Actions=["ReceiveMessage"],
            Label="crossaccountpermission",
        )