code: def append_panel(panels, size_x, size_y, max_col=12):
      
      bottom_lines = bottoms(panels)
      shape = find_shape(bottom_lines, max_col)
      lines = longest_lines(shape)
      line = find_place(lines, size_x)
      if not line:
          return
      panel = {
          'col': line['col'],
          'row': line['row'],
          'size_x': size_x,
          'size_y': size_y,
      }
      panels.append(panel)
      return panel
docs: Appends a panel to the list of panels. Finds the highest palce at the left for the new panel.
      :param panels:
      :param size_x:
      :param size_y:
      :param max_col:
      :return: a new panel or None if it is not possible to place a panel with such size_x