docs: def decode(self, data, erase_pos=None, only_erasures=False):
          '''Repair a message, whatever its size is, by using chunking'''
          # erase_pos is a list of positions where you know (or greatly suspect at least) there is an erasure (ie, wrong character but you know it's at this position). Just input the list of all positions you know there are errors, and this method will automatically split the erasures positions to attach to the corresponding data chunk.
          if isinstance(data, str):
              data = bytearray(data, "latin-1")
          dec = bytearray()
          for i in xrange(0, len(data), self.nsize):
              # Split the long message in a chunk
              chunk = data[i:i+self.nsize]
              # Extract the erasures for this chunk
              e_pos = []
              if erase_pos:
                  # First extract the erasures for this chunk (all erasures below the maximum chunk length)
                  e_pos = [x for x in erase_pos if x <= self.nsize]
                  # Then remove the extract erasures from the big list and also decrement all subsequent positions values by nsize (the current chunk's size) so as to prepare the correct alignment for the next iteration
                  erase_pos = [x - (self.nsize+1) for x in erase_pos if x > self.nsize]
              # Decode/repair this chunk!
              dec.extend(rs_correct_msg(chunk, self.nsym, fcr=self.fcr, generator=self.generator, erase_pos=e_pos, only_erasures=only_erasures)[0])
          return dec