    q->setLayout(l);
    return q;
  }
  
  // https://stackoverflow.com/questions/478898/how-do-i-execute-a-command-and-get-the-output-of-the-command-within-c-using-po
  std::string exec(const char* cmd) {
    std::array<char, 128> buffer;
    std::string result;
    std::unique_ptr<FILE, decltype(&pclose)> pipe(popen(cmd, "r"), pclose);
    if (!pipe) {
      throw std::runtime_error("popen() failed!");
    }
    while (fgets(buffer.data(), buffer.size(), pipe.get()) != nullptr) {
      result += buffer.data();
    }
    return result;
  }
  
  // Networking functions
  
  Networking::Networking(QWidget* parent, bool show_advanced) : QWidget(parent), show_advanced(show_advanced){
    s = new QStackedLayout;
  
 
</s> remove   return; // TODO: add this back
  /*
 </s> add  </s> remove       inputField->setPromptText("Wrong password for \"" + n.ssid +"\"");
      s->setCurrentIndex(0);
      emit openKeyboard();
 </s> add       QString pass = InputDialog::getText("Wrong password for \"" + n.ssid +"\"", 8);
      wifi->connect(n, pass); </s> remove     QString pass = InputDialog::getText("Enter password for \"" + n.ssid + "\"");
 </s> add     QString pass = InputDialog::getText("Enter password for \"" + n.ssid + "\"", 8); </s> remove   static QString getText(QString prompt);
 </s> add   static QString getText(QString prompt, int minLength = -1);
    q->setLayout(l);
    return q;
  }
  














  // Networking functions
  
  Networking::Networking(QWidget* parent, bool show_advanced) : QWidget(parent), show_advanced(show_advanced){
    s = new QStackedLayout;
  
keep keep keep keep replace replace replace replace replace replace replace replace replace replace replace replace replace replace keep keep keep keep keep
 Qt-UI Cleanup SSH and Tethering password (#20169)

Co-authored-by: Comma Device <device@comma.ai> 
selfdrive/ui/qt/offroad/networking.cc