






import inspect
import unittest


class    _lowerCAmelCase			(		unittest.TestCase      ):



    """simple docstring"""



    def 					__magic_name__							(      self    :    Any):






           '''simple docstring'''







           try:
                  import diffusers  # noqa: F401
           except ImportError:
                  assert False



    def 					__magic_name__							(      self    :    List[str]):






           '''simple docstring'''







           import diffusers
           from diffusers.dependency_versions_table import deps

           snake_case__	  =       inspect.getmembers(UpperCamelCase__			,		inspect.isclass)

           for cls_name, cls_module in all_classes:
                  if "dummy_" in cls_module.__module__:
                         for backend in cls_module._backends:
                                if backend == "k_diffusion":
                                       snake_case__	  =       """k-diffusion"""
                                elif backend == "invisible_watermark":
                                       snake_case__	  =       """invisible-watermark"""
                                assert backend in deps, F'''{backend} is not in the deps table!'''








from __future__ import annotations


class    _lowerCAmelCase			:



				"""simple docstring"""



				def __init__(      self    :    Optional[int]			,		UpperCamelCase__    :    int):






											'''simple docstring'''







											snake_case__	  =       data
											snake_case__	  =       None
											snake_case__	  =       None


def _UpperCAmelCase   (	a						:	Node | None ):  # In Order traversal of the tree
							if tree:
														display(tree.left )
														print(tree.data )
														display(tree.right )

def _UpperCAmelCase   (	a						:	Node | None ):
							return 1 + max(depth_of_tree(tree.left )  ,					depth_of_tree(tree.right ) ) if tree else 0

def _UpperCAmelCase   (	a						:	Node ):
							if not tree:
														return True
							if tree.left and tree.right:
														return is_full_binary_tree(tree.left ) and is_full_binary_tree(tree.right )
							else:
														return not tree.left and not tree.right

def _UpperCAmelCase   (	):  # Main function for testing.
							snake_case__	  =       Node(1 )
							snake_case__	  =       Node(2 )
							snake_case__	  =       Node(3 )
							snake_case__	  =       Node(4 )
							snake_case__	  =       Node(5 )
							snake_case__	  =       Node(6 )
							snake_case__	  =       Node(7 )
							snake_case__	  =       Node(8 )
							snake_case__	  =       Node(9 )

							print(is_full_binary_tree(a ) )
							print(depth_of_tree(a ) )
							print("""Tree is: """ )
							display(a )


if __name__ == "__main__":
	main()
