code: def getting_started_message():
      
      message = m.Message()
      message.add(LOGO_ELEMENT)
      message.add(m.Heading(tr('Getting started'), **INFO_STYLE))
      notes = m.Paragraph(
          tr(
              'These are the minimum steps you need to follow in order '
              'to use InaSAFE:'))
      message.add(notes)
      basics_list = m.NumberedList()
      basics_list.add(m.Paragraph(
          tr('Add at least one '),
          m.ImportantText(tr('hazard'), **KEYWORD_STYLE),
          tr(' layer (e.g. earthquake MMI) to QGIS.')))
      basics_list.add(m.Paragraph(
          tr('Add at least one '),
          m.ImportantText(tr('exposure'), **KEYWORD_STYLE),
          tr(' layer (e.g. structures) to QGIS.')))
      basics_list.add(m.Paragraph(
          tr(
              'Make sure you have defined keywords for your hazard and '
              'exposure layers. You can do this using the '
              'keywords creation wizard '),
          m.Image(
              'file:///%s/img/icons/show-keyword-wizard.svg' %
              (resources_path()), **SMALL_ICON_STYLE),
          tr(' in the toolbar.')))
      basics_list.add(m.Paragraph(
          tr('Click on the '),
          m.ImportantText(tr('Run'), **KEYWORD_STYLE),
          tr(' button below.')))
      message.add(basics_list)
  
      message.add(m.Heading(tr('Limitations'), **WARNING_STYLE))
      caveat_list = m.NumberedList()
      for limitation in limitations():
          caveat_list.add(limitation)
      message.add(caveat_list)
  
      message.add(m.Heading(tr('Disclaimer'), **WARNING_STYLE))
      disclaimer = setting('reportDisclaimer')
      message.add(m.Paragraph(disclaimer))
      return message
docs: Generate a message for initial application state.
  
      :returns: Information for the user on how to get started.
      :rtype: safe.messaging.Message