    Q_OBJECT
  
  public:
    static QByteArray rsa_sign(QByteArray data);
    static QString create_jwt(QVector<QPair<QString, QJsonValue>> payloads, int expiry=3600);
    static QString create_jwt();
  
  private:
    QNetworkAccessManager* networkAccessManager;
  };
  
 
</s> remove   QVector<QPair<QString, QJsonValue>> payloads;
  payloads.push_back(qMakePair(QString("pair"), true));
  QString pairToken = CommaApi::create_jwt(payloads);
 </s> add   QString pairToken = CommaApi::create_jwt({{"pair", true}}); </s> remove QString CommaApi::create_jwt() {
  return create_jwt(*(new QVector<QPair<QString, QJsonValue>>()));
}

 </s> add  </s> remove   QString token = CommaApi::create_jwt({});
 </s> add   QString token = CommaApi::create_jwt();
  static QString create_jwt(QVector<QPair<QString, QJsonValue>> payloads = {}, int expiry=3600);
    Q_OBJECT
  
  public:
    static QByteArray rsa_sign(QByteArray data);
  static QString create_jwt(QVector<QPair<QString, QJsonValue>> payloads = {}, int expiry=3600);
  static QString create_jwt(QVector<QPair<QString, QJsonValue>> payloads = {}, int expiry=3600);
  
  private:
    QNetworkAccessManager* networkAccessManager;
  };
  
keep keep keep keep replace replace keep keep keep keep keep
 remove memory leak in create_jwt() (#20547) 
selfdrive/ui/qt/api.hpp