code: func (c *Config) TokenSource(ctx context.Context, t *Token) TokenSource {
  	tkr := &tokenRefresher{
  		ctx:  ctx,
  		conf: c,
  	}
  	if t != nil {
  		tkr.refreshToken = t.RefreshToken
  	}
  	return &reuseTokenSource{
  		t:   t,
  		new: tkr,
  	}
  }
docs: // TokenSource returns a TokenSource that returns t until t expires,
  // automatically refreshing it as necessary using the provided context.
  //
  // Most users will use Config.Client instead.