# --function-definition-extra-indent = True
# --other-line-continuation-extra-indent = True
def function(
		arg1_with_very_long_name: int,
		arg2_with_very_long_name: float,
		arg3_with_very_long_name: list,
		):
	print('Hello world')


def func2(
		arg1_with_very_long_name: int,
		arg2_with_very_long_name: float,
		arg3_with_very_long_name: list,
		) -> None:
	print('Hello world')


def func3(a, b, c, d, e) -> int:
	return 2


def outer(
		arg1_with_very_long_name: int,
		*,
		arg2_with_very_long_name: float,
		arg3_with_very_long_name: list,
		) -> int:
	def middle(
			arg1_with_very_long_name: int,
			arg2_with_very_long_name: float,
			arg3_with_very_long_name: list,
			*args,
			):
		def inner(
				arg1_with_very_long_name: int,
				arg2_with_very_long_name: float,
				arg3_with_very_long_name: list,
				*args,
				**kwargs,
				):
			return 1

		print('middle layer')
		return 2

	return 3


class A:
	def __init__(
			self,
			arg1_with_very_long_name: int,
			arg2_with_very_long_name: float,
			*,
			arg3_with_very_long_name: list,
			) -> None:
		print('hello world')

	def outer(
			self,
			arg1_with_very_long_name: int,
			*,
			arg2_with_very_long_name: float,
			arg3_with_very_long_name: list,
			) -> int:
		def middle(
				arg1_with_very_long_name: int,
				arg2_with_very_long_name: float,
				arg3_with_very_long_name: list,
				*args,
				):
			def inner(
					arg1_with_very_long_name: int,
					arg2_with_very_long_name: float,
					arg3_with_very_long_name: list,
					*args,
					**kwargs,
					):
				class B:
					def __init__(
							self,
							arg1_with_very_long_name: int,
							arg2_with_very_long_name: float,
							arg3_with_very_long_name: list,
							*args,
							**kwargs,
							):
						print('initialized')

				return 1

			print('middle layer')
			return 2

		return 3


aa = [
		value_with_very_very_very_very_very_very_long_name,
		value_with_very_very_very_very_very_very_long_name,
		value_with_very_very_very_very_very_very_long_name,
		value_with_very_very_very_very_very_very_long_name,
		value_with_very_very_very_very_very_very_long_name,
		value_with_very_very_very_very_very_very_long_name,
		value_with_very_very_very_very_very_very_long_name,
		]


bb = func1(
		value_with_very_very_very_very_very_very_long_name,
		value_with_very_very_very_very_very_very_long_name,
		value_with_very_very_very_very_very_very_long_name,
		value_with_very_very_very_very_very_very_long_name,
		value_with_very_very_very_very_very_very_long_name,
		value_with_very_very_very_very_very_very_long_name,
		value_with_very_very_very_very_very_very_long_name,
		)


cc = {
		value_with_very_very_very_very_very_very_long_name,
		value_with_very_very_very_very_very_very_long_name,
		value_with_very_very_very_very_very_very_long_name,
		value_with_very_very_very_very_very_very_long_name,
		value_with_very_very_very_very_very_very_long_name,
		123123123123123123123123123123123123123123123123123,
		'value_with_very_very_very_very_very_very_long_name',
		}


if (
		value_with_very_very_very_very_very_very_long_name
		and value_with_very_very_very_very_very_very_long_name
		and value_with_very_very_very_very_very_very_long_name
		and value_with_very_very_very_very_very_very_long_name
		and value_with_very_very_very_very_very_very_long_name
		and value_with_very_very_very_very_very_very_long_name
		and value_with_very_very_very_very_very_very_long_name
		):
	print(123)


some_val_with_very_long_name = (
		'very very very long string' + 'this is an even longer string'
		)
