

'''simple docstring'''



from manim import *







class 						lowerCAmelCase__   (      a					):



 """simple docstring"""



 def       UpperCAmelCase__		(		self					:       Dict			)  -> List[str]:


      """simple docstring"""




      __SCREAMING_SNAKE_CASE     =      Rectangle(height=0.5					,							width=0.5			)
      __SCREAMING_SNAKE_CASE     =      Rectangle(height=0.46					,							width=0.46			).set_stroke(width=0			)

      __SCREAMING_SNAKE_CASE     =      [mem.copy() for i in range(6			)]
      __SCREAMING_SNAKE_CASE     =      [mem.copy() for i in range(6			)]
      __SCREAMING_SNAKE_CASE     =      VGroup(*__SCREAMING_SNAKE_CASE			).arrange(__SCREAMING_SNAKE_CASE					,							buff=0			)
      __SCREAMING_SNAKE_CASE     =      VGroup(*__SCREAMING_SNAKE_CASE			).arrange(__SCREAMING_SNAKE_CASE					,							buff=0			)
      __SCREAMING_SNAKE_CASE     =      VGroup(__SCREAMING_SNAKE_CASE					,							__SCREAMING_SNAKE_CASE			).arrange(__SCREAMING_SNAKE_CASE					,							buff=0			)
      __SCREAMING_SNAKE_CASE     =      Text("""CPU"""					,							font_size=24			)
      __SCREAMING_SNAKE_CASE     =      Group(__SCREAMING_SNAKE_CASE					,							__SCREAMING_SNAKE_CASE			).arrange(__SCREAMING_SNAKE_CASE					,							buff=0.5					,							aligned_edge=__SCREAMING_SNAKE_CASE			)
      cpu.move_to([-2.5, -0.5, 0]			)
      self.add(__SCREAMING_SNAKE_CASE			)

      __SCREAMING_SNAKE_CASE     =      [mem.copy() for i in range(1			)]
      __SCREAMING_SNAKE_CASE     =      VGroup(*__SCREAMING_SNAKE_CASE			).arrange(__SCREAMING_SNAKE_CASE					,							buff=0			)
      __SCREAMING_SNAKE_CASE     =      Text("""GPU"""					,							font_size=24			)
      __SCREAMING_SNAKE_CASE     =      Group(__SCREAMING_SNAKE_CASE					,							__SCREAMING_SNAKE_CASE			).arrange(__SCREAMING_SNAKE_CASE					,							buff=0.5					,							aligned_edge=__SCREAMING_SNAKE_CASE			)
      gpu.align_to(__SCREAMING_SNAKE_CASE					,							__SCREAMING_SNAKE_CASE			)
      gpu.set_x(gpu.get_x() - 1			)

      self.add(__SCREAMING_SNAKE_CASE			)

      __SCREAMING_SNAKE_CASE     =      [mem.copy() for i in range(6			)]
      __SCREAMING_SNAKE_CASE     =      VGroup(*__SCREAMING_SNAKE_CASE			).arrange(__SCREAMING_SNAKE_CASE					,							buff=0			)

      __SCREAMING_SNAKE_CASE     =      Text("""Model"""					,							font_size=24			)
      __SCREAMING_SNAKE_CASE     =      Group(__SCREAMING_SNAKE_CASE					,							__SCREAMING_SNAKE_CASE			).arrange(__SCREAMING_SNAKE_CASE					,							buff=0.5					,							aligned_edge=__SCREAMING_SNAKE_CASE			)
      model.move_to([3, -1.0, 0]			)

      self.play(
          Create(__SCREAMING_SNAKE_CASE					,							run_time=1			)					,							Create(__SCREAMING_SNAKE_CASE					,							run_time=1			)					,							Create(__SCREAMING_SNAKE_CASE					,							run_time=1			)					,							)

      __SCREAMING_SNAKE_CASE     =      MarkupText(
          f'First, an empty model skeleton is loaded\ninto <span fgcolor=\'{YELLOW}\'>memory</span> without using much RAM.'					,							font_size=24					,							)

      __SCREAMING_SNAKE_CASE     =      Square(side_length=2.2			)
      key.move_to([-5, 2, 0]			)

      __SCREAMING_SNAKE_CASE     =      MarkupText(
          f'<b>Key:</b>\n\n<span fgcolor=\'{YELLOW}\'>●</span> Empty Model'					,							font_size=18					,							)

      key_text.move_to([-5, 2.4, 0]			)

      step_a.move_to([2, 2, 0]			)
      self.play(Write(__SCREAMING_SNAKE_CASE					,							run_time=2.5			)					,							Write(__SCREAMING_SNAKE_CASE			)					,							Write(__SCREAMING_SNAKE_CASE			)			)

      self.add(__SCREAMING_SNAKE_CASE			)

      __SCREAMING_SNAKE_CASE     =      []
      __SCREAMING_SNAKE_CASE     =      []
      __SCREAMING_SNAKE_CASE     =      []
      for i, rect in enumerate(__SCREAMING_SNAKE_CASE			):
           __SCREAMING_SNAKE_CASE     =      Rectangle(height=0.46					,							width=0.46			).set_stroke(width=0.0			).set_fill(__SCREAMING_SNAKE_CASE					,							opacity=0.7			)
           cpu_target.move_to(__SCREAMING_SNAKE_CASE			)
           cpu_target.generate_target()
           __SCREAMING_SNAKE_CASE     =      0.46 / 4
           __SCREAMING_SNAKE_CASE     =      0.46 / 3

           if i == 0:
                cpu_target.target.next_to(cpu_left_col_base[0].get_corner(DOWN + LEFT			)					,							buff=0.02					,							direction=__SCREAMING_SNAKE_CASE			)
                cpu_target.target.set_x(cpu_target.target.get_x() + 0.1			)
           elif i == 3:
                cpu_target.target.next_to(cpu_targs[0].target					,							direction=__SCREAMING_SNAKE_CASE					,							buff=0.0			)
           else:
                cpu_target.target.next_to(cpu_targs[i - 1].target					,							direction=__SCREAMING_SNAKE_CASE					,							buff=0.0			)
           cpu_targs.append(__SCREAMING_SNAKE_CASE			)

           first_animations.append(rect.animate(run_time=0.5			).set_stroke(__SCREAMING_SNAKE_CASE			)			)
           second_animations.append(MoveToTarget(__SCREAMING_SNAKE_CASE					,							run_time=1.5			)			)

      self.play(*__SCREAMING_SNAKE_CASE			)
      self.play(*__SCREAMING_SNAKE_CASE			)

      self.wait()









'''simple docstring'''



def    a__       (  a__						):




     """simple docstring"""


     if isinstance(a__      ,    a__						):
          raise TypeError("""'float' object cannot be interpreted as an integer"""						)
     if isinstance(a__      ,    a__						):
          raise TypeError("""'str' object cannot be interpreted as an integer"""						)

     if num == 0:
          return "0b0"

     __SCREAMING_SNAKE_CASE     =      False

     if num < 0:
          __SCREAMING_SNAKE_CASE     =      True
          __SCREAMING_SNAKE_CASE     =      -num

     __SCREAMING_SNAKE_CASE     =      []
     while num > 0:
          binary.insert(0      ,    num % 2						)
          num >>= 1

     if negative:
          return "-0b" + "".join(str(a__						) for e in binary						)

     return "0b" + "".join(str(a__						) for e in binary						)


if __name__ == "__main__":
  import doctest

  doctest.testmod()






