code: def boxify(message, border_color=None):
      """Put a message inside a box.
  
      Args:
          message (unicode): message to decorate.
          border_color (unicode): name of the color to outline the box with.
      """
      lines = message.split("\n")
      max_width = max(_visual_width(line) for line in lines)
  
      padding_horizontal = 5
      padding_vertical = 1
  
      box_size_horizontal = max_width + (padding_horizontal * 2)
  
      chars = {
          "corner": "+",
          "horizontal": "-",
          "vertical": "|",
          "empty": " ",
      }
  
      margin = "{corner}{line}{corner}\n".format(
          corner=chars["corner"],
          line=chars["horizontal"] * box_size_horizontal,
      )
  
      padding_lines = [
          "{border}{space}{border}\n".format(
              border=colorize(chars["vertical"], color=border_color),
              space=chars["empty"] * box_size_horizontal,
          )
          * padding_vertical
      ]
  
      content_lines = [
          "{border}{space}{content}{space}{border}\n".format(
              border=colorize(chars["vertical"], color=border_color),
              space=chars["empty"] * padding_horizontal,
              content=_visual_center(line, max_width),
          )
          for line in lines
      ]
  
      return "{margin}{padding}{content}{padding}{margin}".format(
          margin=colorize(margin, color=border_color),
          padding="".join(padding_lines),
          content="".join(content_lines),
      )
  
imports: import hashlib
  import json
  import os
  import re
  import sys
  from typing import TYPE_CHECKING, Dict, Iterable, Iterator, List, Optional, Tuple
  import colorama
label_desc: Use image node_id 10 for calling a global function with example usage: boxify(message, border_color) and returns: str