<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def override_start_requests(spider_cls, start_urls, callback=None, **attrs):
 """Returns a new spider class overriding the ``start_requests``. This function is useful to replace the start requests of an existing spider class on runtime. Parameters spider_cls : scrapy.Spider Spider class to be used as base class. start_urls : iterable Iterable of URLs or ``Request`` objects. callback : callable, optional Callback for the start URLs. attrs : dict, optional Additional class attributes. Returns ------- out : class A subclass of ``spider_cls`` with overrided ``start_requests`` method. """

    def start_requests():
        for url in start_urls:
            req = Request(url, dont_filter=True) if isinstance(url, six.string_types) else url
            if callback is not None:
                req.callback = callback
            yield req
    attrs['start_requests'] = staticmethod(start_requests)
    return type(spider_cls.__name__, (spider_cls, ), attrs)