text: def pad(literal):
      if not literal:
          return "  \n  "
      lines = ['', *literal.splitlines(), '']
      width = max(len(line) for line in lines)
      return '\n'.join(' ' + line.ljust(width) + ' ' for line in lines)
  
  import random as r
  
  height = r.randint(1,30)
  width  = r.randint(1,30)
  
  string = ""
  for i in range(height):
      for j in range(width):
          if r.randint(0,1) == 1:
              string += "#"
          else: 
              string += " "
      string += "\n"
  
  RANDOM = pad(string)
  
  BLOCK = pad("""\
  ##
  ##
  """)
  
  BLINKER = pad("""\
  
  ###
  
  """)
  
  BLINKER3 = pad("""\
       #
  ###  # ###
       #
  """)
  
  PULSAR = pad("""\
    ###
  
  #    #
  #    #
  #    #
    ###
  """)
  
  PENTADECATHLON = pad("""\
    #  #    # #
  ###  ###### ###
    #  #    # #
  """)
  
  PINWHEEL = pad("""\
   ####
  #  # #
  ##   #
  # #  #
  #    #
   ####
  """)
  
  GLIDER = pad("""\
   #
    #
  ###
  """)
  
  DIEHARD = pad("""\
        #
  ##
   #   ###
  """)
  
  GLIDER_GUN = pad("""\
                          #
                        # #
              ##      ##            ##
             #   #    ##            ##
  ##        #     #   ##
  ##        #   # ##    # #
            #     #       #
             #   #
              ##
  """)
  
  PENTOMINO = pad("""\
   ##
  ##
   #
  """)
  
  BASELINE = pad("""\
  ######## #####   ###      ####### #####
  """)
  
  PATTERNS = [
      'BLOCK', 'BLINKER', 'BLINKER3', 'PULSAR', 'PENTADECATHLON', 'PINWHEEL', 'GLIDER', 'DIEHARD', 'GLIDER_GUN',
      'PENTOMINO', 'RANDOM'
  ]
  
  __all__ = PATTERNS[:]
  