





"""simple docstring"""






import argparse


A			      =	'''docs/source/_static/js/custom.js'''

def      __A   (      a_    :Tuple)		->		Union[str, Any]:
				with open(a_ ,							encoding='''utf-8''' ,							newline='''\n''') as f:
								__a			:    Union[str, Any]      							=	f.readlines()
				__a			:    List[Any]      							=	0

				# First let's put the right version
				while not lines[index].startswith('''const stableVersion ='''):
								index += 1
				__a			:    Optional[Any]      							=	F"""const stableVersion = \"v{version}\"\n"""

				# Then update the dictionary
				while not lines[index].startswith('''const versionMapping = {'''):
								index += 1

				# We go until the end
				while not lines[index].startswith('''}'''):
								index += 1
				# We add the new version at the end
				lines[index - 1] += F"""    \"v{version}\": \"v{version}\",\n"""

				with open(a_ ,							'''w''' ,							encoding='''utf-8''' ,							newline='''\n''') as f:
								f.writelines(a_)


if __name__ == "__main__":
		A			      =	argparse.ArgumentParser()
		parser.add_argument('''--version''', help='''Release version.''')
		A			      =	parser.parse_args()
		update_custom_js(args.version)

from __future__ import annotations




def 	UpperCamelCase__  (     SCREAMING_SNAKE_CASE_	:	float		,   SCREAMING_SNAKE_CASE_	:	float		,   SCREAMING_SNAKE_CASE_	:	float		,   )  ->     tuple:
						if (electron_conc, hole_conc, intrinsic_conc).count(0       ) != 1:
												raise ValueError("""You cannot supply more or less than 2 values"""       )
						elif electron_conc < 0:
												raise ValueError("""Electron concentration cannot be negative in a semiconductor"""       )
						elif hole_conc < 0:
												raise ValueError("""Hole concentration cannot be negative in a semiconductor"""       )
						elif intrinsic_conc < 0:
												raise ValueError(
												    """Intrinsic concentration cannot be negative in a semiconductor"""       )
						elif electron_conc == 0:
												return (
												    "electron_conc",
												    intrinsic_conc**2 / hole_conc,
												)
						elif hole_conc == 0:
												return (
												    "hole_conc",
												    intrinsic_conc**2 / electron_conc,
												)
						elif intrinsic_conc == 0:
												return (
												    "intrinsic_conc",
												    (electron_conc * hole_conc) ** 0.5,
												)
						else:
												return (-1, -1)


if __name__ == "__main__":
		import doctest

		doctest.testmod()