prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  Raw HTML content type
  <!-- Do you want to ask a question? Are you looking for support? The system administrator can help you: admin@utn.se -->
  
  ### Description
  There is currently no content type for raw HTML that can be used for the Jexpo. A special content type could be created for Jexpo as it works right now but since the way Jexpo is initialized can change (according to themselves), they recommend using a raw HTML. 
  
  There should be a content type for raw HTML.
  
  <!-- Please select the appropriate "topic category"/blue and "issue type"/yellow label -->
  
  Forms are missing form introduction.
  ### Description
  
  Creating a new form in Wagtail lets you specify an introduction to the form, which isn't displayed.
  
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `src/home/models/web_page.py`
  Content:
  ```
  1 from __future__ import absolute_import, unicode_literals
  2 from django.db import models
  3 from django.utils.translation import ugettext_lazy as _
  4 from wagtail.admin.edit_handlers import FieldPanel, StreamFieldPanel, \
  5         TabbedInterface, ObjectList
  6 from wagtail.core.fields import StreamField
  7 from wagtail.core.models import Page
  8 from blocks.models import WAGTAIL_STATIC_BLOCKTYPES
  9 from google.models import GoogleFormBlock, GoogleDriveBlock, \
  10     GoogleCalendarBlock
  11 from news.models import LatestNewsBlock
  12 from utils.translation import TranslatedField
  13 
  14 
  15 class WebPage(Page):
  16     # ---- General Page information ------
  17 
  18     title_sv = models.CharField(max_length=255)
  19     translated_title = TranslatedField('title', 'title_sv')
  20 
  21     body_en = StreamField(
  22         WAGTAIL_STATIC_BLOCKTYPES + [
  23             ('google_calendar', GoogleCalendarBlock()),
  24             ('google_drive', GoogleDriveBlock()),
  25             ('google_form', GoogleFormBlock()),
  26             ('news', LatestNewsBlock()),
  27         ],
  28         blank=True,
  29     )
  30     body_sv = StreamField(
  31         WAGTAIL_STATIC_BLOCKTYPES + [
  32             ('google_calendar', GoogleCalendarBlock()),
  33             ('google_drive', GoogleDriveBlock()),
  34             ('google_form', GoogleFormBlock()),
  35             ('news', LatestNewsBlock()),
  36         ],
  37         blank=True,
  38     )
  39     body = TranslatedField('body_en', 'body_sv')
  40 
  41     content_panels_en = Page.content_panels + [
  42         StreamFieldPanel('body_en'),
  43     ]
  44 
  45     content_panels_sv = [
  46         FieldPanel('title_sv', classname="full title"),
  47         StreamFieldPanel('body_sv'),
  48     ]
  49 
  50     edit_handler = TabbedInterface([
  51         ObjectList(content_panels_en, heading=_('English')),
  52         ObjectList(content_panels_sv, heading=_('Swedish')),
  53         ObjectList(Page.promote_panels, heading=_('Promote')),
  54         ObjectList(Page.settings_panels, heading=_('Settings')),
  55     ])
  56
  ```
  --- END FILES ---
  
  Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.
  
  Here is an example:
  
  ```diff
  diff --git a/examples/server_async.py b/examples/server_async.py
  --- a/examples/server_async.py
  +++ b/examples/server_async.py
  @@ -313,4 +313,4 @@
   
   
   if __name__ == "__main__":
  -    asyncio.run(run_async_server("."), debug=True)
  +    asyncio.run(run_async_server(), debug=True)
  diff --git a/examples/server_sync.py b/examples/server_sync.py
  --- a/examples/server_sync.py
  +++ b/examples/server_sync.py
  @@ -313,5 +313,5 @@
   
   
   if __name__ == "__main__":
  -    server = run_sync_server(".")
  +    server = run_sync_server()
       server.shutdown()
  
  ```
  
golden_diff: diff --git a/src/home/models/web_page.py b/src/home/models/web_page.py
  --- a/src/home/models/web_page.py
  +++ b/src/home/models/web_page.py
  @@ -5,6 +5,7 @@
           TabbedInterface, ObjectList
   from wagtail.core.fields import StreamField
   from wagtail.core.models import Page
  +from wagtail.core.blocks import RawHTMLBlock
   from blocks.models import WAGTAIL_STATIC_BLOCKTYPES
   from google.models import GoogleFormBlock, GoogleDriveBlock, \
       GoogleCalendarBlock
  @@ -24,6 +25,7 @@
               ('google_drive', GoogleDriveBlock()),
               ('google_form', GoogleFormBlock()),
               ('news', LatestNewsBlock()),
  +            ('html', RawHTMLBlock(group="Basic")),
           ],
           blank=True,
       )
  @@ -33,6 +35,7 @@
               ('google_drive', GoogleDriveBlock()),
               ('google_form', GoogleFormBlock()),
               ('news', LatestNewsBlock()),
  +            ('html', RawHTMLBlock(group="Basic")),
           ],
           blank=True,
       )
  
verification_info: {"golden_diff": "diff --git a/src/home/models/web_page.py b/src/home/models/web_page.py\n--- a/src/home/models/web_page.py\n+++ b/src/home/models/web_page.py\n@@ -5,6 +5,7 @@\n         TabbedInterface, ObjectList\n from wagtail.core.fields import StreamField\n from wagtail.core.models import Page\n+from wagtail.core.blocks import RawHTMLBlock\n from blocks.models import WAGTAIL_STATIC_BLOCKTYPES\n from google.models import GoogleFormBlock, GoogleDriveBlock, \\\n     GoogleCalendarBlock\n@@ -24,6 +25,7 @@\n             ('google_drive', GoogleDriveBlock()),\n             ('google_form', GoogleFormBlock()),\n             ('news', LatestNewsBlock()),\n+            ('html', RawHTMLBlock(group=\"Basic\")),\n         ],\n         blank=True,\n     )\n@@ -33,6 +35,7 @@\n             ('google_drive', GoogleDriveBlock()),\n             ('google_form', GoogleFormBlock()),\n             ('news', LatestNewsBlock()),\n+            ('html', RawHTMLBlock(group=\"Basic\")),\n         ],\n         blank=True,\n     )\n", "issue": "Raw HTML content type\n<!-- Do you want to ask a question? Are you looking for support? The system administrator can help you: admin@utn.se -->\r\n\r\n### Description\r\nThere is currently no content type for raw HTML that can be used for the Jexpo. A special content type could be created for Jexpo as it works right now but since the way Jexpo is initialized can change (according to themselves), they recommend using a raw HTML. \r\n\r\nThere should be a content type for raw HTML.\r\n\r\n<!-- Please select the appropriate \"topic category\"/blue and \"issue type\"/yellow label -->\r\n\nForms are missing form introduction.\n### Description\r\n\r\nCreating a new form in Wagtail lets you specify an introduction to the form, which isn't displayed.\r\n\n", "before_files": [{"content": "from __future__ import absolute_import, unicode_literals\nfrom django.db import models\nfrom django.utils.translation import ugettext_lazy as _\nfrom wagtail.admin.edit_handlers import FieldPanel, StreamFieldPanel, \\\n        TabbedInterface, ObjectList\nfrom wagtail.core.fields import StreamField\nfrom wagtail.core.models import Page\nfrom blocks.models import WAGTAIL_STATIC_BLOCKTYPES\nfrom google.models import GoogleFormBlock, GoogleDriveBlock, \\\n    GoogleCalendarBlock\nfrom news.models import LatestNewsBlock\nfrom utils.translation import TranslatedField\n\n\nclass WebPage(Page):\n    # ---- General Page information ------\n\n    title_sv = models.CharField(max_length=255)\n    translated_title = TranslatedField('title', 'title_sv')\n\n    body_en = StreamField(\n        WAGTAIL_STATIC_BLOCKTYPES + [\n            ('google_calendar', GoogleCalendarBlock()),\n            ('google_drive', GoogleDriveBlock()),\n            ('google_form', GoogleFormBlock()),\n            ('news', LatestNewsBlock()),\n        ],\n        blank=True,\n    )\n    body_sv = StreamField(\n        WAGTAIL_STATIC_BLOCKTYPES + [\n            ('google_calendar', GoogleCalendarBlock()),\n            ('google_drive', GoogleDriveBlock()),\n            ('google_form', GoogleFormBlock()),\n            ('news', LatestNewsBlock()),\n        ],\n        blank=True,\n    )\n    body = TranslatedField('body_en', 'body_sv')\n\n    content_panels_en = Page.content_panels + [\n        StreamFieldPanel('body_en'),\n    ]\n\n    content_panels_sv = [\n        FieldPanel('title_sv', classname=\"full title\"),\n        StreamFieldPanel('body_sv'),\n    ]\n\n    edit_handler = TabbedInterface([\n        ObjectList(content_panels_en, heading=_('English')),\n        ObjectList(content_panels_sv, heading=_('Swedish')),\n        ObjectList(Page.promote_panels, heading=_('Promote')),\n        ObjectList(Page.settings_panels, heading=_('Settings')),\n    ])\n", "path": "src/home/models/web_page.py"}], "after_files": [{"content": "from __future__ import absolute_import, unicode_literals\nfrom django.db import models\nfrom django.utils.translation import ugettext_lazy as _\nfrom wagtail.admin.edit_handlers import FieldPanel, StreamFieldPanel, \\\n        TabbedInterface, ObjectList\nfrom wagtail.core.fields import StreamField\nfrom wagtail.core.models import Page\nfrom wagtail.core.blocks import RawHTMLBlock\nfrom blocks.models import WAGTAIL_STATIC_BLOCKTYPES\nfrom google.models import GoogleFormBlock, GoogleDriveBlock, \\\n    GoogleCalendarBlock\nfrom news.models import LatestNewsBlock\nfrom utils.translation import TranslatedField\n\n\nclass WebPage(Page):\n    # ---- General Page information ------\n\n    title_sv = models.CharField(max_length=255)\n    translated_title = TranslatedField('title', 'title_sv')\n\n    body_en = StreamField(\n        WAGTAIL_STATIC_BLOCKTYPES + [\n            ('google_calendar', GoogleCalendarBlock()),\n            ('google_drive', GoogleDriveBlock()),\n            ('google_form', GoogleFormBlock()),\n            ('news', LatestNewsBlock()),\n            ('html', RawHTMLBlock(group=\"Basic\")),\n        ],\n        blank=True,\n    )\n    body_sv = StreamField(\n        WAGTAIL_STATIC_BLOCKTYPES + [\n            ('google_calendar', GoogleCalendarBlock()),\n            ('google_drive', GoogleDriveBlock()),\n            ('google_form', GoogleFormBlock()),\n            ('news', LatestNewsBlock()),\n            ('html', RawHTMLBlock(group=\"Basic\")),\n        ],\n        blank=True,\n    )\n    body = TranslatedField('body_en', 'body_sv')\n\n    content_panels_en = Page.content_panels + [\n        StreamFieldPanel('body_en'),\n    ]\n\n    content_panels_sv = [\n        FieldPanel('title_sv', classname=\"full title\"),\n        StreamFieldPanel('body_sv'),\n    ]\n\n    edit_handler = TabbedInterface([\n        ObjectList(content_panels_en, heading=_('English')),\n        ObjectList(content_panels_sv, heading=_('Swedish')),\n        ObjectList(Page.promote_panels, heading=_('Promote')),\n        ObjectList(Page.settings_panels, heading=_('Settings')),\n    ])\n", "path": "src/home/models/web_page.py"}]}