code: def _utc_tuple(self, offset=0.0):
          
          tai = self.tai + offset
          leap_dates = self.ts.leap_dates
          leap_offsets = self.ts.leap_offsets
          leap_reverse_dates = leap_dates + leap_offsets / DAY_S
          i = searchsorted(leap_reverse_dates, tai, 'right')
          j = tai - leap_offsets[i] / DAY_S
          whole, fraction = divmod(j + 0.5, 1.0)
          whole = whole.astype(int)
          year, month, day = calendar_date(whole)
          hour, hfrac = divmod(fraction * 24.0, 1.0)
          minute, second = divmod(hfrac * 3600.0, 60.0)
          is_leap_second = j < leap_dates[i-1]
          second += is_leap_second
          return year, month, day, hour.astype(int), minute.astype(int), second
docs: Return UTC as (year, month, day, hour, minute, second.fraction).
  
          The `offset` is added to the UTC time before it is split into
          its components.  This is useful if the user is going to round
          the result before displaying it.  If the result is going to be
          displayed as seconds, for example, set `offset` to half a second
          and then throw away the fraction; if the result is going to be
          displayed as minutes, set `offset` to thirty seconds and then
          throw away the seconds; and so forth.