code: def _sign_in(self):
      print(
          "*** \n"
          + "Sign in with your GitHub username and password \n"
          + "NOTE: studio.ml does NOT store GitHub passwords "
          + " or any other passwords for that matter. \n "
          + "Your "
          + "password will be used a single time to generate "
          + "an authorization token that allows studio to "
          "verify your identity in the future."
      )
  
      while True:
          self.userid = input("user id:")
          password = getpass.getpass("password:")
  
          response = requests.post(
              "https://api.github.com/authorizations",
              json={
                  "scopes": ["read:user"],
                  "note": "studioml authorization, "
                  + "random = "
                  + str(uuid.uuid4()),
              },
              auth=(self.userid, password),
          )
  
          password = None
  
          if response.status_code == 201:
              self.token = response.json()["token"]
              self._save_token()
              print(
                  "Successfully created token with name: "
                  + response.json()["app"]["name"]
              )
              return
  
          else:
              print("GitHub login failure")
              print(response.json())
  
imports: import os
  import getpass
  import time
  import json
  import shutil
  import atexit
  import tempfile
  import requests
  import re
  import uuid
  from builtins import input
  import google.auth.transport.requests
  import google.oauth2.id_token
  from studio.util.util import rand_string, check_for_kb_interrupt
  from studio import pyrebase
  from studio.util import logs
label_desc: Use image node_id 10 for calling the GithubAuth obj's underlying member method code with example usage: obj._sign_in() without return types