<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def multiple_devices_data_message(self, registration_ids=None, condition=None, collapse_key=None, delay_while_idle=False, time_to_live=None, restricted_package_name=None, low_priority=False, dry_run=False, data_message=None, content_available=None, timeout=5, extra_notification_kwargs=None, extra_kwargs={}):
 """ Sends push message to multiple devices, can send to over 1000 devices Args: registration_ids (list, optional):
 FCM device registration IDs condition (str, optiona):
 Topic condition to deliver messages to collapse_key (str, optional):
 Identifier for a group of messages that can be collapsed so that only the last message gets sent when delivery can be resumed. Defaults to `None`. delay_while_idle (bool, optional):
 deprecated time_to_live (int, optional):
 How long (in seconds) the message should be kept in FCM storage if the device is offline. The maximum time to live supported is 4 weeks. Defaults to `None` which uses the FCM default of 4 weeks. restricted_package_name (str, optional):
 Name of package low_priority (bool, optional):
 Whether to send notification with the low priority flag. Defaults to `False`. dry_run (bool, optional):
 If `True` no message will be sent but request will be tested. data_message (dict, optional):
 Custom key-value pairs content_available (bool, optional):
 Inactive client app is awoken timeout (int, optional):
 set time limit for the request extra_notification_kwargs (dict, optional):
 More notification keyword arguments extra_kwargs (dict, optional):
 More keyword arguments Returns: dict: Response from FCM server (`multicast_id`, `success`, `failure`, `canonical_ids`, `results`) Raises: AuthenticationError: If :attr:`api_key` is not set or provided or there is an error authenticating the sender. FCMServerError: Internal server error or timeout error on Firebase cloud messaging server InvalidDataError: Invalid data provided InternalPackageError: JSON parsing error, mostly from changes in the response of FCM, create a new github issue to resolve it. """

        if not isinstance(registration_ids, list):
            raise InvalidDataError('Invalid registration IDs (should be list)')

        payloads = []
        registration_id_chunks = self.registration_id_chunks(registration_ids)
        for registration_ids in registration_id_chunks:
            # appends a payload with a chunk of registration ids here
            payloads.append(self.parse_payload(
                registration_ids=registration_ids,
                condition=condition,
                collapse_key=collapse_key,
                delay_while_idle=delay_while_idle,
                time_to_live=time_to_live,
                restricted_package_name=restricted_package_name,
                low_priority=low_priority,
                dry_run=dry_run,
                data_message=data_message,
                content_available=content_available,
                remove_notification=True,
                extra_notification_kwargs=extra_notification_kwargs,
                **extra_kwargs)
            )
        self.send_request(payloads, timeout)
        return self.parse_responses()