code: def add_working_days(self, day, delta,
                           extra_working_days=None, extra_holidays=None,
                           keep_datetime=False):
          
          day = cleaned_date(day, keep_datetime)
  
          if extra_working_days:
              extra_working_days = tuple(map(cleaned_date, extra_working_days))
  
          if extra_holidays:
              extra_holidays = tuple(map(cleaned_date, extra_holidays))
  
          days = 0
          temp_day = day
          if type(temp_day) is datetime and not keep_datetime:
              temp_day = temp_day.date()
          day_added = 1 if delta >= 0 else -1
          delta = abs(delta)
          while days < delta:
              temp_day = temp_day + timedelta(days=day_added)
              if self.is_working_day(temp_day,
                                     extra_working_days=extra_working_days,
                                     extra_holidays=extra_holidays):
                  days += 1
          return temp_day
docs: Add `delta` working days to the date.
  
          You can provide either a date or a datetime to this function that will
          output a ``date`` result. You can alter this behaviour using the
          ``keep_datetime`` option set to ``True``.
  
          the ``delta`` parameter might be positive or negative. If it's
          negative, you may want to use the ``sub_working_days()`` method with
          a positive ``delta`` argument.
  
          By providing ``extra_working_days``, you'll state that these dates
          **are** working days.
  
          By providing ``extra_holidays``, you'll state that these dates **are**
          holidays, even if not in the regular calendar holidays (or weekends).
  
          Please note that the ``extra_working_days`` list has priority over the
          ``extra_holidays`` list.