import webbrowser
from sys import argv
from urllib.parse import parse_qs, quote

import requests
from bsa import BeautifulSoup
from fake_useragent import UserAgent

if __name__ == "__main__":
	lowerCamelCase_    :		Any							=	'%20'.join(argv[1:]) if len(argv) > 1 else quote(str(input("""Search: """)))

	print("""Googling.....""")

	lowerCamelCase_    :		Optional[int]							=	F'''https://www.google.com/search?q={query}&num=100'''

	lowerCamelCase_    :		int							=	requests.get(
	    url,
	    headers={"""User-Agent""": str(UserAgent().random)},
	)

	try:
		lowerCamelCase_    :		Union[str, Any]							=	(
		    BeautifulSoup(res.text, """html.parser""")
		    .find("""div""", attrs={"""class""": """yuRUbf"""})
		    .find("""a""")
		    .get("""href""")
		)

	except AttributeError:
		lowerCamelCase_    :		Tuple							=	parse_qs(
		    BeautifulSoup(res.text, """html.parser""")
		    .find("""div""", attrs={"""class""": """kCrYT"""})
		    .find("""a""")
		    .get("""href""")
		)['url'][0]

	webbrowser.open(link)





from datetime import datetime

import matplotlib.pyplot as plt
import torch
def 							lowerCAmelCase(     __lowerCamelCase						):
					for param in module.parameters():
										__a		 =       False
def 							lowerCAmelCase(     ):
					__a		 =       'cuda' if torch.cuda.is_available() else 'cpu'
					if torch.backends.mps.is_available() and torch.backends.mps.is_built():
										__a		 =       'mps'
					if device == "mps":
										print(
										    'WARNING: MPS currently doesn\'t seem to work, and messes up backpropagation without any visible torch'
										    ' errors. I recommend using CUDA on a colab notebook or CPU instead if you\'re facing inexplicable issues'
										    ' with generations.'						)
					return device
def 							lowerCAmelCase(     __lowerCamelCase						):
					__a		 =       plt.imshow(__lowerCamelCase						)
					fig.axes.get_xaxis().set_visible(__lowerCamelCase						)
					fig.axes.get_yaxis().set_visible(__lowerCamelCase						)
					plt.show()



def 							lowerCAmelCase(     ):
					__a		 =       datetime.now()
					__a		 =       current_time.strftime('%H:%M:%S'						)
					return timestamp




