code: def get_request_data(self, var_name, full_data=False):
          
          if not full_data:
              raise ArithmeticError('we have a thumbnail, please use `full_data=True`.')
          # end if
          file = {}
          data, file_to_add = super(InputMediaWithThumb, self).get_request_data(var_name, full_data=True)
          if file_to_add:
              file.update(file_to_add)
          # end if
          data['thumb'], file_to_add = self.get_inputfile_data(self.thumb, var_name, suffix='_thumb')
          if data['thumb'] is None:
              del data['thumb']  # having `'thumb': null` in the json produces errors.
          # end if
          if file_to_add:
              file.update(file_to_add)
          # end if
          return data, (file or None)
docs: :param var_name:
          :param full_data: If you want `.to_array()` with this data, ready to be sent.
          :return: A tuple of `to_array()` dict and the files (:py:func:`InputFile.get_request_files()`).
                   Files can be None, if no file was given, but an url or existing `file_id`.
  
                   If `self.media` is an `InputFile` however,
                   the first tuple element (either the string, or the dict's `['media']` if `full_data=True`),
                   will be set to `attach://{var_name}_media` automatically.
                   If `self.thumb` is an `InputFile` however, the first tuple element's `['thumb']`, will be set to `attach://{var_name}_thumb` automatically.