<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_leads(self, offset=None, limit=None, lead_list_id=None, first_name=None, last_name=None, email=None, company=None, phone_number=None, twitter=None):
 """ Gives back all the leads saved in your account. :param offset: Number of leads to skip. :param limit: Maximum number of leads to return. :param lead_list_id: Id of a lead list to query leads on. :param first_name: First name to filter on. :param last_name: Last name to filter on. :param email: Email to filter on. :param company: Company to filter on. :param phone_number: Phone number to filter on. :param twitter: Twitter account to filter on. :return: All leads found as a dict. """

        args = locals()
        args_params = dict((key, value) for key, value in args.items() if value
                           is not None)
        args_params.pop('self')

        params = self.base_params
        params.update(args_params)

        endpoint = self.base_endpoint.format('leads')

        return self._query_hunter(endpoint, params)