/* tools-release-changelog.c generated by valac 0.56.19, the Vala compiler
 * generated from tools-release-changelog.vala, do not modify */

#include "protonplus_core.h"
#include <gtk/gtk.h>
#include <glib-object.h>
#include <glib.h>
#include <stdlib.h>
#include <string.h>
#include <pango/pango.h>
#include <float.h>
#include <math.h>
#include <glib/gi18n-lib.h>

#if !defined(VALA_STRICT_C)
#if !defined(__clang__) && defined(__GNUC__) && (__GNUC__ >= 14)
#pragma GCC diagnostic warning "-Wincompatible-pointer-types"
#elif defined(__clang__) && (__clang_major__ >= 16)
#pragma clang diagnostic ignored "-Wincompatible-function-pointer-types"
#pragma clang diagnostic ignored "-Wincompatible-pointer-types"
#endif
#endif

enum  {
	PROTON_PLUS_WIDGETS_TOOLS_RELEASE_CHANGELOG_0_PROPERTY,
	PROTON_PLUS_WIDGETS_TOOLS_RELEASE_CHANGELOG_NUM_PROPERTIES
};
static GParamSpec* proton_plus_widgets_tools_release_changelog_properties[PROTON_PLUS_WIDGETS_TOOLS_RELEASE_CHANGELOG_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_match_info_unref0(var) ((var == NULL) ? NULL : (var = (g_match_info_unref (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))
#define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL)))
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))

struct _ProtonPlusWidgetsToolsReleaseChangelogPrivate {
	GtkBox* content;
};

static gint ProtonPlusWidgetsToolsReleaseChangelog_private_offset;
static gpointer proton_plus_widgets_tools_release_changelog_parent_class = NULL;

static void proton_plus_widgets_tools_release_changelog_append_markdown (ProtonPlusWidgetsToolsReleaseChangelog* self,
                                                                  const gchar* markdown);
static void proton_plus_widgets_tools_release_changelog_append_details (ProtonPlusWidgetsToolsReleaseChangelog* self,
                                                                 const gchar* attributes,
                                                                 const gchar* details);
static GtkLabel* proton_plus_widgets_tools_release_changelog_create_label (ProtonPlusWidgetsToolsReleaseChangelog* self,
                                                                    const gchar* markdown);
static gchar* proton_plus_widgets_tools_release_changelog_markdown_to_markup (ProtonPlusWidgetsToolsReleaseChangelog* self,
                                                                       const gchar* markdown);
static gboolean proton_plus_widgets_tools_release_changelog_has_open_attribute (ProtonPlusWidgetsToolsReleaseChangelog* self,
                                                                         const gchar* attributes);
static gboolean ___lambda64_ (ProtonPlusWidgetsToolsReleaseChangelog* self,
                       GMatchInfo* match_info,
                       GString* _result_);
static gboolean ____lambda64__gregex_eval_callback (GMatchInfo* match_info,
                                             GString* _result_,
                                             gpointer self);
static gboolean ___lambda65_ (ProtonPlusWidgetsToolsReleaseChangelog* self,
                       GMatchInfo* match_info,
                       GString* _result_);
static gboolean ____lambda65__gregex_eval_callback (GMatchInfo* match_info,
                                             GString* _result_,
                                             gpointer self);
static gboolean ___lambda66_ (ProtonPlusWidgetsToolsReleaseChangelog* self,
                       GMatchInfo* match_info,
                       GString* _result_);
static gboolean ____lambda66__gregex_eval_callback (GMatchInfo* match_info,
                                             GString* _result_,
                                             gpointer self);
static gboolean ___lambda67_ (ProtonPlusWidgetsToolsReleaseChangelog* self,
                       GMatchInfo* match_info,
                       GString* _result_);
static gboolean ____lambda67__gregex_eval_callback (GMatchInfo* match_info,
                                             GString* _result_,
                                             gpointer self);
static gboolean ___lambda68_ (ProtonPlusWidgetsToolsReleaseChangelog* self,
                       GMatchInfo* match_info,
                       GString* _result_);
static gboolean ____lambda68__gregex_eval_callback (GMatchInfo* match_info,
                                             GString* _result_,
                                             gpointer self);
static gboolean ___lambda69_ (ProtonPlusWidgetsToolsReleaseChangelog* self,
                       GMatchInfo* match_info,
                       GString* _result_);
static gboolean ____lambda69__gregex_eval_callback (GMatchInfo* match_info,
                                             GString* _result_,
                                             gpointer self);
static gboolean ___lambda70_ (ProtonPlusWidgetsToolsReleaseChangelog* self,
                       GMatchInfo* match_info,
                       GString* _result_);
static gboolean ____lambda70__gregex_eval_callback (GMatchInfo* match_info,
                                             GString* _result_,
                                             gpointer self);
static void proton_plus_widgets_tools_release_changelog_finalize (GObject * obj);
static GType proton_plus_widgets_tools_release_changelog_get_type_once (void);

static inline gpointer
proton_plus_widgets_tools_release_changelog_get_instance_private (ProtonPlusWidgetsToolsReleaseChangelog* self)
{
	return G_STRUCT_MEMBER_P (self, ProtonPlusWidgetsToolsReleaseChangelog_private_offset);
}

static gpointer
_g_object_ref0 (gpointer self)
{
	return self ? g_object_ref (self) : NULL;
}

ProtonPlusWidgetsToolsReleaseChangelog*
proton_plus_widgets_tools_release_changelog_construct (GType object_type)
{
	ProtonPlusWidgetsToolsReleaseChangelog * self = NULL;
	GtkBox* _tmp0_ = NULL;
	GtkScrolledWindow* scrolled = NULL;
	GtkBox* _tmp1_;
	GtkWidget* _tmp2_;
	GtkScrolledWindow* _tmp3_ = NULL;
	self = (ProtonPlusWidgetsToolsReleaseChangelog*) g_object_new (object_type, "orientation", GTK_ORIENTATION_VERTICAL, "vexpand", TRUE, NULL);
	_tmp0_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_VERTICAL, 8);
	gtk_widget_set_margin_start ((GtkWidget*) _tmp0_, 12);
	gtk_widget_set_margin_end ((GtkWidget*) _tmp0_, 12);
	gtk_widget_set_margin_top ((GtkWidget*) _tmp0_, 12);
	gtk_widget_set_margin_bottom ((GtkWidget*) _tmp0_, 12);
	gtk_widget_set_hexpand ((GtkWidget*) _tmp0_, TRUE);
	gtk_widget_set_halign ((GtkWidget*) _tmp0_, GTK_ALIGN_FILL);
	gtk_widget_set_valign ((GtkWidget*) _tmp0_, GTK_ALIGN_START);
	g_object_ref_sink (_tmp0_);
	_g_object_unref0 (self->priv->content);
	self->priv->content = _tmp0_;
	_tmp1_ = self->priv->content;
	_tmp2_ = _g_object_ref0 ((GtkWidget*) _tmp1_);
	_tmp3_ = (GtkScrolledWindow*) gtk_scrolled_window_new ();
	gtk_widget_set_vexpand ((GtkWidget*) _tmp3_, TRUE);
	g_object_set (_tmp3_, "hscrollbar-policy", GTK_POLICY_NEVER, NULL);
	g_object_set (_tmp3_, "vscrollbar-policy", GTK_POLICY_AUTOMATIC, NULL);
	gtk_scrolled_window_set_child (_tmp3_, _tmp2_);
	_g_object_unref0 (_tmp2_);
	g_object_ref_sink (_tmp3_);
	scrolled = _tmp3_;
	gtk_box_append ((GtkBox*) self, (GtkWidget*) scrolled);
	_g_object_unref0 (scrolled);
	return self;
}

ProtonPlusWidgetsToolsReleaseChangelog*
proton_plus_widgets_tools_release_changelog_new (void)
{
	return proton_plus_widgets_tools_release_changelog_construct (PROTON_PLUS_WIDGETS_TOOLS_TYPE_RELEASE_CHANGELOG);
}

static glong
string_strnlen (gchar* str,
                glong maxlen)
{
	gchar* end = NULL;
	gchar* _tmp0_;
	gchar* _tmp1_;
	glong result;
	_tmp0_ = memchr (str, 0, (gsize) maxlen);
	end = _tmp0_;
	_tmp1_ = end;
	if (_tmp1_ == NULL) {
		result = maxlen;
		return result;
	} else {
		gchar* _tmp2_;
		_tmp2_ = end;
		result = (glong) (_tmp2_ - str);
		return result;
	}
}

static gchar*
string_substring (const gchar* self,
                  glong offset,
                  glong len)
{
	glong string_length = 0L;
	gboolean _tmp0_ = FALSE;
	gchar* _tmp3_;
	gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	if (offset >= ((glong) 0)) {
		_tmp0_ = len >= ((glong) 0);
	} else {
		_tmp0_ = FALSE;
	}
	if (_tmp0_) {
		string_length = string_strnlen ((gchar*) self, offset + len);
	} else {
		gint _tmp1_;
		gint _tmp2_;
		_tmp1_ = strlen (self);
		_tmp2_ = _tmp1_;
		string_length = (glong) _tmp2_;
	}
	if (offset < ((glong) 0)) {
		offset = string_length + offset;
		g_return_val_if_fail (offset >= ((glong) 0), NULL);
	} else {
		g_return_val_if_fail (offset <= string_length, NULL);
	}
	if (len < ((glong) 0)) {
		len = string_length - offset;
	}
	g_return_val_if_fail ((offset + len) <= string_length, NULL);
	_tmp3_ = g_strndup (((gchar*) self) + offset, (gsize) len);
	result = _tmp3_;
	return result;
}

void
proton_plus_widgets_tools_release_changelog_set_markdown (ProtonPlusWidgetsToolsReleaseChangelog* self,
                                                          const gchar* markdown)
{
	gboolean _tmp5_ = FALSE;
	GError* _inner_error0_ = NULL;
	g_return_if_fail (self != NULL);
	while (TRUE) {
		GtkBox* _tmp0_;
		GtkWidget* _tmp1_;
		GtkBox* _tmp2_;
		GtkBox* _tmp3_;
		GtkWidget* _tmp4_;
		_tmp0_ = self->priv->content;
		_tmp1_ = gtk_widget_get_first_child ((GtkWidget*) _tmp0_);
		if (!(_tmp1_ != NULL)) {
			break;
		}
		_tmp2_ = self->priv->content;
		_tmp3_ = self->priv->content;
		_tmp4_ = gtk_widget_get_first_child ((GtkWidget*) _tmp3_);
		gtk_box_remove (_tmp2_, _tmp4_);
	}
	if (markdown == NULL) {
		_tmp5_ = TRUE;
	} else {
		_tmp5_ = g_strcmp0 (markdown, "") == 0;
	}
	if (_tmp5_) {
		return;
	}
	{
		GRegex* details = NULL;
		GRegex* _tmp6_;
		GMatchInfo* match_info = NULL;
		GRegex* _tmp7_;
		GMatchInfo* _tmp8_ = NULL;
		gint previous_end = 0;
		gchar* _tmp22_;
		gchar* _tmp23_;
		_tmp6_ = g_regex_new ("<details([^>]*)>([\\s\\S]*?)</details\\s*>", G_REGEX_CASELESS, 0, &_inner_error0_);
		details = _tmp6_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return;
		}
		_tmp7_ = details;
		g_regex_match (_tmp7_, markdown, 0, &_tmp8_);
		_g_match_info_unref0 (match_info);
		match_info = _tmp8_;
		previous_end = 0;
		while (TRUE) {
			GMatchInfo* _tmp9_;
			gint start = 0;
			gint end = 0;
			GMatchInfo* _tmp10_;
			gint _tmp11_ = 0;
			gint _tmp12_ = 0;
			gchar* _tmp13_;
			gchar* _tmp14_;
			GMatchInfo* _tmp15_;
			gchar* _tmp16_;
			gchar* _tmp17_;
			GMatchInfo* _tmp18_;
			gchar* _tmp19_;
			gchar* _tmp20_;
			GMatchInfo* _tmp21_;
			_tmp9_ = match_info;
			if (!g_match_info_matches (_tmp9_)) {
				break;
			}
			_tmp10_ = match_info;
			g_match_info_fetch_pos (_tmp10_, 0, &_tmp11_, &_tmp12_);
			start = _tmp11_;
			end = _tmp12_;
			_tmp13_ = string_substring (markdown, (glong) previous_end, (glong) (start - previous_end));
			_tmp14_ = _tmp13_;
			proton_plus_widgets_tools_release_changelog_append_markdown (self, _tmp14_);
			_g_free0 (_tmp14_);
			_tmp15_ = match_info;
			_tmp16_ = g_match_info_fetch (_tmp15_, 1);
			_tmp17_ = _tmp16_;
			_tmp18_ = match_info;
			_tmp19_ = g_match_info_fetch (_tmp18_, 2);
			_tmp20_ = _tmp19_;
			proton_plus_widgets_tools_release_changelog_append_details (self, _tmp17_, _tmp20_);
			_g_free0 (_tmp20_);
			_g_free0 (_tmp17_);
			previous_end = end;
			_tmp21_ = match_info;
			g_match_info_next (_tmp21_, &_inner_error0_);
			if (G_UNLIKELY (_inner_error0_ != NULL)) {
				_g_match_info_unref0 (match_info);
				_g_regex_unref0 (details);
				if (_inner_error0_->domain == G_REGEX_ERROR) {
					goto __catch0_g_regex_error;
				}
				g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
				g_clear_error (&_inner_error0_);
				return;
			}
		}
		_tmp22_ = string_substring (markdown, (glong) previous_end, (glong) -1);
		_tmp23_ = _tmp22_;
		proton_plus_widgets_tools_release_changelog_append_markdown (self, _tmp23_);
		_g_free0 (_tmp23_);
		_g_match_info_unref0 (match_info);
		_g_regex_unref0 (details);
	}
	goto __finally0;
	__catch0_g_regex_error:
	{
		GError* e = NULL;
		GError* _tmp24_;
		const gchar* _tmp25_;
		e = _inner_error0_;
		_inner_error0_ = NULL;
		_tmp24_ = e;
		_tmp25_ = _tmp24_->message;
		g_warning ("tools-release-changelog.vala:59: %s", _tmp25_);
		proton_plus_widgets_tools_release_changelog_append_markdown (self, markdown);
		_g_error_free0 (e);
	}
	__finally0:
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
		g_clear_error (&_inner_error0_);
		return;
	}
}

static GtkLabel*
proton_plus_widgets_tools_release_changelog_create_label (ProtonPlusWidgetsToolsReleaseChangelog* self,
                                                          const gchar* markdown)
{
	gchar* _tmp0_;
	GtkLabel* _tmp1_ = NULL;
	GtkLabel* result;
	g_return_val_if_fail (self != NULL, NULL);
	g_return_val_if_fail (markdown != NULL, NULL);
	_tmp0_ = proton_plus_widgets_tools_release_changelog_markdown_to_markup (self, markdown);
	_tmp1_ = (GtkLabel*) gtk_label_new ("");
	gtk_label_set_use_markup (_tmp1_, TRUE);
	gtk_label_set_label (_tmp1_, _tmp0_);
	_g_free0 (_tmp0_);
	gtk_label_set_wrap (_tmp1_, TRUE);
	gtk_label_set_wrap_mode (_tmp1_, PANGO_WRAP_WORD_CHAR);
	gtk_label_set_selectable (_tmp1_, TRUE);
	gtk_widget_set_focusable ((GtkWidget*) _tmp1_, FALSE);
	gtk_label_set_xalign (_tmp1_, (gfloat) 0);
	gtk_label_set_yalign (_tmp1_, (gfloat) 0);
	gtk_widget_set_hexpand ((GtkWidget*) _tmp1_, TRUE);
	gtk_widget_set_halign ((GtkWidget*) _tmp1_, GTK_ALIGN_FILL);
	gtk_widget_set_valign ((GtkWidget*) _tmp1_, GTK_ALIGN_START);
	g_object_ref_sink (_tmp1_);
	result = _tmp1_;
	return result;
}

static gchar*
string_strip (const gchar* self)
{
	gchar* _result_ = NULL;
	gchar* _tmp0_;
	gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = g_strdup (self);
	_result_ = _tmp0_;
	g_strstrip (_result_);
	result = _result_;
	return result;
}

static void
proton_plus_widgets_tools_release_changelog_append_markdown (ProtonPlusWidgetsToolsReleaseChangelog* self,
                                                             const gchar* markdown)
{
	gchar* _tmp0_;
	gchar* _tmp1_;
	gboolean _tmp2_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (markdown != NULL);
	_tmp0_ = string_strip (markdown);
	_tmp1_ = _tmp0_;
	_tmp2_ = g_strcmp0 (_tmp1_, "") != 0;
	_g_free0 (_tmp1_);
	if (_tmp2_) {
		GtkBox* _tmp3_;
		GtkLabel* _tmp4_;
		GtkLabel* _tmp5_;
		_tmp3_ = self->priv->content;
		_tmp4_ = proton_plus_widgets_tools_release_changelog_create_label (self, markdown);
		_tmp5_ = _tmp4_;
		gtk_box_append (_tmp3_, (GtkWidget*) _tmp5_);
		_g_object_unref0 (_tmp5_);
	}
}

static void
proton_plus_widgets_tools_release_changelog_append_details (ProtonPlusWidgetsToolsReleaseChangelog* self,
                                                            const gchar* attributes,
                                                            const gchar* details)
{
	gchar* summary = NULL;
	gchar* _tmp0_;
	gchar* body = NULL;
	gchar* _tmp1_;
	GtkExpander* expander = NULL;
	GtkExpander* _tmp18_ = NULL;
	GtkExpander* _tmp19_;
	const gchar* _tmp20_;
	GtkLabel* _tmp21_;
	GtkLabel* _tmp22_;
	const gchar* _tmp23_;
	gchar* _tmp24_;
	gchar* _tmp25_;
	gboolean _tmp26_;
	GtkBox* _tmp33_;
	GtkExpander* _tmp34_;
	GError* _inner_error0_ = NULL;
	g_return_if_fail (self != NULL);
	g_return_if_fail (attributes != NULL);
	g_return_if_fail (details != NULL);
	_tmp0_ = g_strdup (_ ("Details"));
	summary = _tmp0_;
	_tmp1_ = g_strdup (details);
	body = _tmp1_;
	{
		GRegex* summary_tag = NULL;
		GRegex* _tmp2_;
		GMatchInfo* match_info = NULL;
		gboolean _tmp3_ = FALSE;
		GMatchInfo* _tmp4_ = NULL;
		gboolean _tmp5_;
		_tmp2_ = g_regex_new ("^[\\t \\r\\n]*<summary(?:\\s[^>]*)?>([\\s\\S]*?)</summary\\s*>(?:\\r?\\" \
"n)?", G_REGEX_CASELESS, 0, &_inner_error0_);
		summary_tag = _tmp2_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (body);
			_g_free0 (summary);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return;
		}
		_tmp5_ = g_regex_match (summary_tag, details, 0, &_tmp4_);
		_g_match_info_unref0 (match_info);
		match_info = _tmp4_;
		if (_tmp5_) {
			GMatchInfo* _tmp6_;
			_tmp6_ = match_info;
			_tmp3_ = g_match_info_matches (_tmp6_);
		} else {
			_tmp3_ = FALSE;
		}
		if (_tmp3_) {
			gint end = 0;
			GMatchInfo* _tmp7_;
			gint _tmp8_ = 0;
			GMatchInfo* _tmp9_;
			gchar* _tmp10_;
			gchar* _tmp11_;
			gchar* _tmp12_;
			const gchar* _tmp13_;
			gchar* _tmp15_;
			_tmp7_ = match_info;
			g_match_info_fetch_pos (_tmp7_, 0, NULL, &_tmp8_);
			end = _tmp8_;
			_tmp9_ = match_info;
			_tmp10_ = g_match_info_fetch (_tmp9_, 1);
			_tmp11_ = _tmp10_;
			_tmp12_ = string_strip (_tmp11_);
			_g_free0 (summary);
			summary = _tmp12_;
			_g_free0 (_tmp11_);
			_tmp13_ = summary;
			if (g_strcmp0 (_tmp13_, "") == 0) {
				gchar* _tmp14_;
				_tmp14_ = g_strdup (_ ("Details"));
				_g_free0 (summary);
				summary = _tmp14_;
			}
			_tmp15_ = string_substring (details, (glong) end, (glong) -1);
			_g_free0 (body);
			body = _tmp15_;
		}
		_g_match_info_unref0 (match_info);
		_g_regex_unref0 (summary_tag);
	}
	goto __finally0;
	__catch0_g_regex_error:
	{
		GError* e = NULL;
		GError* _tmp16_;
		const gchar* _tmp17_;
		e = _inner_error0_;
		_inner_error0_ = NULL;
		_tmp16_ = e;
		_tmp17_ = _tmp16_->message;
		g_warning ("tools-release-changelog.vala:103: %s", _tmp17_);
		_g_error_free0 (e);
	}
	__finally0:
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		_g_free0 (body);
		_g_free0 (summary);
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
		g_clear_error (&_inner_error0_);
		return;
	}
	_tmp18_ = (GtkExpander*) gtk_expander_new (NULL);
	gtk_widget_set_hexpand ((GtkWidget*) _tmp18_, TRUE);
	gtk_expander_set_expanded (_tmp18_, proton_plus_widgets_tools_release_changelog_has_open_attribute (self, attributes));
	g_object_ref_sink (_tmp18_);
	expander = _tmp18_;
	_tmp19_ = expander;
	_tmp20_ = summary;
	_tmp21_ = proton_plus_widgets_tools_release_changelog_create_label (self, _tmp20_);
	_tmp22_ = _tmp21_;
	gtk_expander_set_label_widget (_tmp19_, (GtkWidget*) _tmp22_);
	_g_object_unref0 (_tmp22_);
	_tmp23_ = body;
	_tmp24_ = string_strip (_tmp23_);
	_tmp25_ = _tmp24_;
	_tmp26_ = g_strcmp0 (_tmp25_, "") != 0;
	_g_free0 (_tmp25_);
	if (_tmp26_) {
		GtkLabel* body_label = NULL;
		const gchar* _tmp27_;
		GtkLabel* _tmp28_;
		GtkLabel* _tmp29_;
		GtkLabel* _tmp30_;
		GtkExpander* _tmp31_;
		GtkLabel* _tmp32_;
		_tmp27_ = body;
		_tmp28_ = proton_plus_widgets_tools_release_changelog_create_label (self, _tmp27_);
		body_label = _tmp28_;
		_tmp29_ = body_label;
		gtk_widget_set_margin_start ((GtkWidget*) _tmp29_, 12);
		_tmp30_ = body_label;
		gtk_widget_set_margin_top ((GtkWidget*) _tmp30_, 6);
		_tmp31_ = expander;
		_tmp32_ = body_label;
		gtk_expander_set_child (_tmp31_, (GtkWidget*) _tmp32_);
		_g_object_unref0 (body_label);
	}
	_tmp33_ = self->priv->content;
	_tmp34_ = expander;
	gtk_box_append (_tmp33_, (GtkWidget*) _tmp34_);
	_g_object_unref0 (expander);
	_g_free0 (body);
	_g_free0 (summary);
}

static gboolean
proton_plus_widgets_tools_release_changelog_has_open_attribute (ProtonPlusWidgetsToolsReleaseChangelog* self,
                                                                const gchar* attributes)
{
	gboolean _tmp4_ = FALSE;
	GError* _inner_error0_ = NULL;
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	g_return_val_if_fail (attributes != NULL, FALSE);
	{
		GRegex* open_attribute = NULL;
		GRegex* _tmp0_;
		_tmp0_ = g_regex_new ("(?:^|\\s)open(?:\\s|=|$)", G_REGEX_CASELESS, 0, &_inner_error0_);
		open_attribute = _tmp0_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			gboolean _tmp1_ = FALSE;
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return _tmp1_;
		}
		result = g_regex_match (open_attribute, attributes, 0, NULL);
		_g_regex_unref0 (open_attribute);
		return result;
	}
	goto __finally0;
	__catch0_g_regex_error:
	{
		GError* e = NULL;
		GError* _tmp2_;
		const gchar* _tmp3_;
		e = _inner_error0_;
		_inner_error0_ = NULL;
		_tmp2_ = e;
		_tmp3_ = _tmp2_->message;
		g_warning ("tools-release-changelog.vala:127: %s", _tmp3_);
		result = FALSE;
		_g_error_free0 (e);
		return result;
	}
	__finally0:
	g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
	g_clear_error (&_inner_error0_);
	return _tmp4_;
}

static gboolean
___lambda64_ (ProtonPlusWidgetsToolsReleaseChangelog* self,
              GMatchInfo* match_info,
              GString* _result_)
{
	gchar* indent = NULL;
	gchar* _tmp0_;
	gchar* content = NULL;
	gchar* _tmp1_;
	gboolean result;
	g_return_val_if_fail (match_info != NULL, FALSE);
	g_return_val_if_fail (_result_ != NULL, FALSE);
	_tmp0_ = g_match_info_fetch (match_info, 1);
	indent = _tmp0_;
	_tmp1_ = g_match_info_fetch (match_info, 2);
	content = _tmp1_;
	g_string_append (_result_, indent);
	g_string_append (_result_, " ☐ ");
	g_string_append (_result_, content);
	result = FALSE;
	_g_free0 (content);
	_g_free0 (indent);
	return result;
}

static gboolean
____lambda64__gregex_eval_callback (GMatchInfo* match_info,
                                    GString* _result_,
                                    gpointer self)
{
	gboolean result;
	result = ___lambda64_ ((ProtonPlusWidgetsToolsReleaseChangelog*) self, match_info, _result_);
	return result;
}

static gboolean
___lambda65_ (ProtonPlusWidgetsToolsReleaseChangelog* self,
              GMatchInfo* match_info,
              GString* _result_)
{
	gchar* indent = NULL;
	gchar* _tmp0_;
	gchar* content = NULL;
	gchar* _tmp1_;
	gboolean result;
	g_return_val_if_fail (match_info != NULL, FALSE);
	g_return_val_if_fail (_result_ != NULL, FALSE);
	_tmp0_ = g_match_info_fetch (match_info, 1);
	indent = _tmp0_;
	_tmp1_ = g_match_info_fetch (match_info, 2);
	content = _tmp1_;
	g_string_append (_result_, indent);
	g_string_append (_result_, " ☑ ");
	g_string_append (_result_, content);
	result = FALSE;
	_g_free0 (content);
	_g_free0 (indent);
	return result;
}

static gboolean
____lambda65__gregex_eval_callback (GMatchInfo* match_info,
                                    GString* _result_,
                                    gpointer self)
{
	gboolean result;
	result = ___lambda65_ ((ProtonPlusWidgetsToolsReleaseChangelog*) self, match_info, _result_);
	return result;
}

static gboolean
___lambda66_ (ProtonPlusWidgetsToolsReleaseChangelog* self,
              GMatchInfo* match_info,
              GString* _result_)
{
	gchar* indent = NULL;
	gchar* _tmp0_;
	gchar* content = NULL;
	gchar* _tmp1_;
	gchar* bullet = NULL;
	gchar* _tmp2_;
	const gchar* _tmp3_;
	gint _tmp4_;
	gint _tmp5_;
	const gchar* _tmp15_;
	const gchar* _tmp16_;
	const gchar* _tmp17_;
	gboolean result;
	g_return_val_if_fail (match_info != NULL, FALSE);
	g_return_val_if_fail (_result_ != NULL, FALSE);
	_tmp0_ = g_match_info_fetch (match_info, 1);
	indent = _tmp0_;
	_tmp1_ = g_match_info_fetch (match_info, 2);
	content = _tmp1_;
	_tmp2_ = g_strdup ("•");
	bullet = _tmp2_;
	_tmp3_ = indent;
	_tmp4_ = strlen (_tmp3_);
	_tmp5_ = _tmp4_;
	if (_tmp5_ > 0) {
		const gchar* _tmp6_;
		gint _tmp7_;
		gint _tmp8_;
		_tmp6_ = indent;
		_tmp7_ = strlen (_tmp6_);
		_tmp8_ = _tmp7_;
		if (_tmp8_ >= 6) {
			gchar* _tmp9_;
			_tmp9_ = g_strdup ("▫");
			_g_free0 (bullet);
			bullet = _tmp9_;
		} else {
			const gchar* _tmp10_;
			gint _tmp11_;
			gint _tmp12_;
			_tmp10_ = indent;
			_tmp11_ = strlen (_tmp10_);
			_tmp12_ = _tmp11_;
			if (_tmp12_ >= 4) {
				gchar* _tmp13_;
				_tmp13_ = g_strdup ("▪");
				_g_free0 (bullet);
				bullet = _tmp13_;
			} else {
				gchar* _tmp14_;
				_tmp14_ = g_strdup ("◦");
				_g_free0 (bullet);
				bullet = _tmp14_;
			}
		}
	}
	_tmp15_ = indent;
	g_string_append (_result_, _tmp15_);
	g_string_append (_result_, " ");
	_tmp16_ = bullet;
	g_string_append (_result_, _tmp16_);
	g_string_append (_result_, " ");
	_tmp17_ = content;
	g_string_append (_result_, _tmp17_);
	result = FALSE;
	_g_free0 (bullet);
	_g_free0 (content);
	_g_free0 (indent);
	return result;
}

static gboolean
____lambda66__gregex_eval_callback (GMatchInfo* match_info,
                                    GString* _result_,
                                    gpointer self)
{
	gboolean result;
	result = ___lambda66_ ((ProtonPlusWidgetsToolsReleaseChangelog*) self, match_info, _result_);
	return result;
}

static gboolean
___lambda67_ (ProtonPlusWidgetsToolsReleaseChangelog* self,
              GMatchInfo* match_info,
              GString* _result_)
{
	gchar* indent = NULL;
	gchar* _tmp0_;
	gchar* number = NULL;
	gchar* _tmp1_;
	gchar* content = NULL;
	gchar* _tmp2_;
	gboolean result;
	g_return_val_if_fail (match_info != NULL, FALSE);
	g_return_val_if_fail (_result_ != NULL, FALSE);
	_tmp0_ = g_match_info_fetch (match_info, 1);
	indent = _tmp0_;
	_tmp1_ = g_match_info_fetch (match_info, 2);
	number = _tmp1_;
	_tmp2_ = g_match_info_fetch (match_info, 3);
	content = _tmp2_;
	g_string_append (_result_, indent);
	g_string_append (_result_, " ");
	g_string_append (_result_, number);
	g_string_append (_result_, ". ");
	g_string_append (_result_, content);
	result = FALSE;
	_g_free0 (content);
	_g_free0 (number);
	_g_free0 (indent);
	return result;
}

static gboolean
____lambda67__gregex_eval_callback (GMatchInfo* match_info,
                                    GString* _result_,
                                    gpointer self)
{
	gboolean result;
	result = ___lambda67_ ((ProtonPlusWidgetsToolsReleaseChangelog*) self, match_info, _result_);
	return result;
}

static gboolean
___lambda68_ (ProtonPlusWidgetsToolsReleaseChangelog* self,
              GMatchInfo* match_info,
              GString* _result_)
{
	gchar* alt = NULL;
	gchar* _tmp0_;
	gchar* url = NULL;
	gchar* _tmp1_;
	gchar* _tmp2_ = NULL;
	const gchar* _tmp3_;
	gchar* full_url = NULL;
	gchar* _tmp8_;
	const gchar* _tmp9_;
	gboolean result;
	g_return_val_if_fail (match_info != NULL, FALSE);
	g_return_val_if_fail (_result_ != NULL, FALSE);
	_tmp0_ = g_match_info_fetch (match_info, 1);
	alt = _tmp0_;
	_tmp1_ = g_match_info_fetch (match_info, 2);
	url = _tmp1_;
	_tmp3_ = url;
	if (g_str_has_prefix (_tmp3_, "www.")) {
		const gchar* _tmp4_;
		gchar* _tmp5_;
		_tmp4_ = url;
		_tmp5_ = g_strconcat ("https://", _tmp4_, NULL);
		_g_free0 (_tmp2_);
		_tmp2_ = _tmp5_;
	} else {
		const gchar* _tmp6_;
		gchar* _tmp7_;
		_tmp6_ = url;
		_tmp7_ = g_strdup (_tmp6_);
		_g_free0 (_tmp2_);
		_tmp2_ = _tmp7_;
	}
	_tmp8_ = _tmp2_;
	_tmp2_ = NULL;
	full_url = _tmp8_;
	_tmp9_ = alt;
	g_string_append_printf (_result_, "🖼 <b>%s</b> (<a href=\"%s\">%s</a>)", _tmp9_, full_url, full_url);
	result = FALSE;
	_g_free0 (full_url);
	_g_free0 (_tmp2_);
	_g_free0 (url);
	_g_free0 (alt);
	return result;
}

static gboolean
____lambda68__gregex_eval_callback (GMatchInfo* match_info,
                                    GString* _result_,
                                    gpointer self)
{
	gboolean result;
	result = ___lambda68_ ((ProtonPlusWidgetsToolsReleaseChangelog*) self, match_info, _result_);
	return result;
}

static gboolean
___lambda69_ (ProtonPlusWidgetsToolsReleaseChangelog* self,
              GMatchInfo* match_info,
              GString* _result_)
{
	gchar* text_match = NULL;
	gchar* _tmp0_;
	gchar* url = NULL;
	gchar* _tmp1_;
	gchar* _tmp2_ = NULL;
	const gchar* _tmp3_;
	gchar* full_url = NULL;
	gchar* _tmp8_;
	const gchar* _tmp9_;
	gboolean result;
	g_return_val_if_fail (match_info != NULL, FALSE);
	g_return_val_if_fail (_result_ != NULL, FALSE);
	_tmp0_ = g_match_info_fetch (match_info, 1);
	text_match = _tmp0_;
	_tmp1_ = g_match_info_fetch (match_info, 2);
	url = _tmp1_;
	_tmp3_ = url;
	if (g_str_has_prefix (_tmp3_, "www.")) {
		const gchar* _tmp4_;
		gchar* _tmp5_;
		_tmp4_ = url;
		_tmp5_ = g_strconcat ("https://", _tmp4_, NULL);
		_g_free0 (_tmp2_);
		_tmp2_ = _tmp5_;
	} else {
		const gchar* _tmp6_;
		gchar* _tmp7_;
		_tmp6_ = url;
		_tmp7_ = g_strdup (_tmp6_);
		_g_free0 (_tmp2_);
		_tmp2_ = _tmp7_;
	}
	_tmp8_ = _tmp2_;
	_tmp2_ = NULL;
	full_url = _tmp8_;
	_tmp9_ = text_match;
	g_string_append_printf (_result_, "<a href=\"%s\">%s</a>", full_url, _tmp9_);
	result = FALSE;
	_g_free0 (full_url);
	_g_free0 (_tmp2_);
	_g_free0 (url);
	_g_free0 (text_match);
	return result;
}

static gboolean
____lambda69__gregex_eval_callback (GMatchInfo* match_info,
                                    GString* _result_,
                                    gpointer self)
{
	gboolean result;
	result = ___lambda69_ ((ProtonPlusWidgetsToolsReleaseChangelog*) self, match_info, _result_);
	return result;
}

static gboolean
___lambda70_ (ProtonPlusWidgetsToolsReleaseChangelog* self,
              GMatchInfo* match_info,
              GString* _result_)
{
	gchar* anchor = NULL;
	gchar* _tmp0_;
	const gchar* _tmp1_;
	gchar* url = NULL;
	gchar* _tmp3_;
	gchar* _tmp4_ = NULL;
	const gchar* _tmp5_;
	gchar* full_url = NULL;
	gchar* _tmp10_;
	const gchar* _tmp11_;
	const gchar* _tmp12_;
	gboolean result;
	g_return_val_if_fail (match_info != NULL, FALSE);
	g_return_val_if_fail (_result_ != NULL, FALSE);
	_tmp0_ = g_match_info_fetch (match_info, 1);
	anchor = _tmp0_;
	_tmp1_ = anchor;
	if (_tmp1_ != NULL) {
		const gchar* _tmp2_;
		_tmp2_ = anchor;
		g_string_append (_result_, _tmp2_);
		result = FALSE;
		_g_free0 (anchor);
		return result;
	}
	_tmp3_ = g_match_info_fetch (match_info, 2);
	url = _tmp3_;
	_tmp5_ = url;
	if (g_str_has_prefix (_tmp5_, "www.")) {
		const gchar* _tmp6_;
		gchar* _tmp7_;
		_tmp6_ = url;
		_tmp7_ = g_strconcat ("https://", _tmp6_, NULL);
		_g_free0 (_tmp4_);
		_tmp4_ = _tmp7_;
	} else {
		const gchar* _tmp8_;
		gchar* _tmp9_;
		_tmp8_ = url;
		_tmp9_ = g_strdup (_tmp8_);
		_g_free0 (_tmp4_);
		_tmp4_ = _tmp9_;
	}
	_tmp10_ = _tmp4_;
	_tmp4_ = NULL;
	full_url = _tmp10_;
	_tmp11_ = full_url;
	_tmp12_ = url;
	g_string_append_printf (_result_, "<a href=\"%s\">%s</a>", _tmp11_, _tmp12_);
	result = FALSE;
	_g_free0 (full_url);
	_g_free0 (_tmp4_);
	_g_free0 (url);
	_g_free0 (anchor);
	return result;
}

static gboolean
____lambda70__gregex_eval_callback (GMatchInfo* match_info,
                                    GString* _result_,
                                    gpointer self)
{
	gboolean result;
	result = ___lambda70_ ((ProtonPlusWidgetsToolsReleaseChangelog*) self, match_info, _result_);
	return result;
}

static gchar*
string_replace (const gchar* self,
                const gchar* old,
                const gchar* replacement)
{
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	GError* _inner_error0_ = NULL;
	gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	g_return_val_if_fail (old != NULL, NULL);
	g_return_val_if_fail (replacement != NULL, NULL);
	if ((*((gchar*) self)) == '\0') {
		_tmp1_ = TRUE;
	} else {
		_tmp1_ = (*((gchar*) old)) == '\0';
	}
	if (_tmp1_) {
		_tmp0_ = TRUE;
	} else {
		_tmp0_ = g_strcmp0 (old, replacement) == 0;
	}
	if (_tmp0_) {
		gchar* _tmp2_;
		_tmp2_ = g_strdup (self);
		result = _tmp2_;
		return result;
	}
	{
		GRegex* regex = NULL;
		gchar* _tmp3_;
		gchar* _tmp4_;
		GRegex* _tmp5_;
		GRegex* _tmp6_;
		gchar* _tmp7_ = NULL;
		GRegex* _tmp8_;
		gchar* _tmp9_;
		gchar* _tmp10_;
		_tmp3_ = g_regex_escape_string (old, -1);
		_tmp4_ = _tmp3_;
		_tmp5_ = g_regex_new (_tmp4_, 0, 0, &_inner_error0_);
		_tmp6_ = _tmp5_;
		_g_free0 (_tmp4_);
		regex = _tmp6_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp8_ = regex;
		_tmp9_ = g_regex_replace_literal (_tmp8_, self, (gssize) -1, 0, replacement, 0, &_inner_error0_);
		_tmp7_ = _tmp9_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_regex_unref0 (regex);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp10_ = _tmp7_;
		_tmp7_ = NULL;
		result = _tmp10_;
		_g_free0 (_tmp7_);
		_g_regex_unref0 (regex);
		return result;
	}
	goto __finally0;
	__catch0_g_regex_error:
	{
		g_clear_error (&_inner_error0_);
		g_assert_not_reached ();
	}
	__finally0:
	g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
	g_clear_error (&_inner_error0_);
	return NULL;
}

static gchar*
proton_plus_widgets_tools_release_changelog_markdown_to_markup (ProtonPlusWidgetsToolsReleaseChangelog* self,
                                                                const gchar* markdown)
{
	gchar* text = NULL;
	gchar* _tmp0_;
	const gchar* _tmp173_;
	gchar* _tmp174_;
	GError* _inner_error0_ = NULL;
	gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	g_return_val_if_fail (markdown != NULL, NULL);
	_tmp0_ = g_markup_escape_text (markdown, (gssize) -1);
	text = _tmp0_;
	{
		GRegex* code_block = NULL;
		GRegex* _tmp1_;
		gchar* _tmp2_ = NULL;
		GRegex* _tmp3_;
		const gchar* _tmp4_;
		gchar* _tmp5_;
		gchar* _tmp6_;
		GRegex* code = NULL;
		GRegex* _tmp7_;
		gchar* _tmp8_ = NULL;
		GRegex* _tmp9_;
		const gchar* _tmp10_;
		gchar* _tmp11_;
		gchar* _tmp12_;
		GRegex* header1 = NULL;
		GRegex* _tmp13_;
		gchar* _tmp14_ = NULL;
		GRegex* _tmp15_;
		const gchar* _tmp16_;
		gchar* _tmp17_;
		gchar* _tmp18_;
		GRegex* header2 = NULL;
		GRegex* _tmp19_;
		gchar* _tmp20_ = NULL;
		GRegex* _tmp21_;
		const gchar* _tmp22_;
		gchar* _tmp23_;
		gchar* _tmp24_;
		GRegex* header3 = NULL;
		GRegex* _tmp25_;
		gchar* _tmp26_ = NULL;
		GRegex* _tmp27_;
		const gchar* _tmp28_;
		gchar* _tmp29_;
		gchar* _tmp30_;
		GRegex* header4 = NULL;
		GRegex* _tmp31_;
		gchar* _tmp32_ = NULL;
		GRegex* _tmp33_;
		const gchar* _tmp34_;
		gchar* _tmp35_;
		gchar* _tmp36_;
		GRegex* header5 = NULL;
		GRegex* _tmp37_;
		gchar* _tmp38_ = NULL;
		GRegex* _tmp39_;
		const gchar* _tmp40_;
		gchar* _tmp41_;
		gchar* _tmp42_;
		GRegex* header6 = NULL;
		GRegex* _tmp43_;
		gchar* _tmp44_ = NULL;
		GRegex* _tmp45_;
		const gchar* _tmp46_;
		gchar* _tmp47_;
		gchar* _tmp48_;
		GRegex* bold_star = NULL;
		GRegex* _tmp49_;
		gchar* _tmp50_ = NULL;
		GRegex* _tmp51_;
		const gchar* _tmp52_;
		gchar* _tmp53_;
		gchar* _tmp54_;
		GRegex* bold_under = NULL;
		GRegex* _tmp55_;
		gchar* _tmp56_ = NULL;
		GRegex* _tmp57_;
		const gchar* _tmp58_;
		gchar* _tmp59_;
		gchar* _tmp60_;
		GRegex* italic_star = NULL;
		GRegex* _tmp61_;
		gchar* _tmp62_ = NULL;
		GRegex* _tmp63_;
		const gchar* _tmp64_;
		gchar* _tmp65_;
		gchar* _tmp66_;
		GRegex* italic_under = NULL;
		GRegex* _tmp67_;
		gchar* _tmp68_ = NULL;
		GRegex* _tmp69_;
		const gchar* _tmp70_;
		gchar* _tmp71_;
		gchar* _tmp72_;
		GRegex* strike = NULL;
		GRegex* _tmp73_;
		gchar* _tmp74_ = NULL;
		GRegex* _tmp75_;
		const gchar* _tmp76_;
		gchar* _tmp77_;
		gchar* _tmp78_;
		GRegex* task_list_empty = NULL;
		GRegex* _tmp79_;
		gchar* _tmp80_ = NULL;
		GRegex* _tmp81_;
		const gchar* _tmp82_;
		gchar* _tmp83_;
		gchar* _tmp84_;
		GRegex* task_list_done = NULL;
		GRegex* _tmp85_;
		gchar* _tmp86_ = NULL;
		GRegex* _tmp87_;
		const gchar* _tmp88_;
		gchar* _tmp89_;
		gchar* _tmp90_;
		GRegex* list_item = NULL;
		GRegex* _tmp91_;
		gchar* _tmp92_ = NULL;
		GRegex* _tmp93_;
		const gchar* _tmp94_;
		gchar* _tmp95_;
		gchar* _tmp96_;
		GRegex* ordered_list = NULL;
		GRegex* _tmp97_;
		gchar* _tmp98_ = NULL;
		GRegex* _tmp99_;
		const gchar* _tmp100_;
		gchar* _tmp101_;
		gchar* _tmp102_;
		GRegex* note_alert = NULL;
		GRegex* _tmp103_;
		gchar* _tmp104_ = NULL;
		GRegex* _tmp105_;
		const gchar* _tmp106_;
		gchar* _tmp107_;
		gchar* _tmp108_;
		GRegex* tip_alert = NULL;
		GRegex* _tmp109_;
		gchar* _tmp110_ = NULL;
		GRegex* _tmp111_;
		const gchar* _tmp112_;
		gchar* _tmp113_;
		gchar* _tmp114_;
		GRegex* important_alert = NULL;
		GRegex* _tmp115_;
		gchar* _tmp116_ = NULL;
		GRegex* _tmp117_;
		const gchar* _tmp118_;
		gchar* _tmp119_;
		gchar* _tmp120_;
		GRegex* warning_alert = NULL;
		GRegex* _tmp121_;
		gchar* _tmp122_ = NULL;
		GRegex* _tmp123_;
		const gchar* _tmp124_;
		gchar* _tmp125_;
		gchar* _tmp126_;
		GRegex* caution_alert = NULL;
		GRegex* _tmp127_;
		gchar* _tmp128_ = NULL;
		GRegex* _tmp129_;
		const gchar* _tmp130_;
		gchar* _tmp131_;
		gchar* _tmp132_;
		GRegex* blockquote = NULL;
		GRegex* _tmp133_;
		gchar* _tmp134_ = NULL;
		GRegex* _tmp135_;
		const gchar* _tmp136_;
		gchar* _tmp137_;
		gchar* _tmp138_;
		GRegex* hr = NULL;
		GRegex* _tmp139_;
		gchar* _tmp140_ = NULL;
		GRegex* _tmp141_;
		const gchar* _tmp142_;
		gchar* _tmp143_;
		gchar* _tmp144_;
		GRegex* images = NULL;
		GRegex* _tmp145_;
		gchar* _tmp146_ = NULL;
		GRegex* _tmp147_;
		const gchar* _tmp148_;
		gchar* _tmp149_;
		gchar* _tmp150_;
		GRegex* links = NULL;
		GRegex* _tmp151_;
		gchar* _tmp152_ = NULL;
		GRegex* _tmp153_;
		const gchar* _tmp154_;
		gchar* _tmp155_;
		gchar* _tmp156_;
		GRegex* bare_links = NULL;
		GRegex* _tmp157_;
		gchar* _tmp158_ = NULL;
		GRegex* _tmp159_;
		const gchar* _tmp160_;
		gchar* _tmp161_;
		gchar* _tmp162_;
		const gchar* _tmp163_;
		gchar* _tmp164_;
		gchar* _tmp165_;
		gchar* _tmp166_;
		const gchar* _tmp167_;
		gchar* _tmp168_;
		gchar* _tmp169_;
		gchar* _tmp170_;
		_tmp1_ = g_regex_new ("```(?:[a-zA-Z0-9]*\n)?([\\s\\S]*?)```", G_REGEX_MULTILINE, 0, &_inner_error0_);
		code_block = _tmp1_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp3_ = code_block;
		_tmp4_ = text;
		_tmp5_ = g_regex_replace (_tmp3_, _tmp4_, (gssize) -1, 0, "<tt>\\1</tt>", 0, &_inner_error0_);
		_tmp2_ = _tmp5_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp6_ = _tmp2_;
		_tmp2_ = NULL;
		_g_free0 (text);
		text = _tmp6_;
		_tmp7_ = g_regex_new ("`(.*?)`", G_REGEX_MULTILINE, 0, &_inner_error0_);
		code = _tmp7_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp9_ = code;
		_tmp10_ = text;
		_tmp11_ = g_regex_replace (_tmp9_, _tmp10_, (gssize) -1, 0, "<tt>\\1</tt>", 0, &_inner_error0_);
		_tmp8_ = _tmp11_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp12_ = _tmp8_;
		_tmp8_ = NULL;
		_g_free0 (text);
		text = _tmp12_;
		_tmp13_ = g_regex_new ("^# (.*)$", G_REGEX_MULTILINE, 0, &_inner_error0_);
		header1 = _tmp13_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp15_ = header1;
		_tmp16_ = text;
		_tmp17_ = g_regex_replace (_tmp15_, _tmp16_, (gssize) -1, 0, "\n<b><span size=\"x-large\">\\1</span></b>", 0, &_inner_error0_);
		_tmp14_ = _tmp17_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp18_ = _tmp14_;
		_tmp14_ = NULL;
		_g_free0 (text);
		text = _tmp18_;
		_tmp19_ = g_regex_new ("^## (.*)$", G_REGEX_MULTILINE, 0, &_inner_error0_);
		header2 = _tmp19_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp21_ = header2;
		_tmp22_ = text;
		_tmp23_ = g_regex_replace (_tmp21_, _tmp22_, (gssize) -1, 0, "\n<b><span size=\"large\">\\1</span></b>", 0, &_inner_error0_);
		_tmp20_ = _tmp23_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp24_ = _tmp20_;
		_tmp20_ = NULL;
		_g_free0 (text);
		text = _tmp24_;
		_tmp25_ = g_regex_new ("^### (.*)$", G_REGEX_MULTILINE, 0, &_inner_error0_);
		header3 = _tmp25_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp27_ = header3;
		_tmp28_ = text;
		_tmp29_ = g_regex_replace (_tmp27_, _tmp28_, (gssize) -1, 0, "\n<b>\\1</b>", 0, &_inner_error0_);
		_tmp26_ = _tmp29_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp30_ = _tmp26_;
		_tmp26_ = NULL;
		_g_free0 (text);
		text = _tmp30_;
		_tmp31_ = g_regex_new ("^#### (.*)$", G_REGEX_MULTILINE, 0, &_inner_error0_);
		header4 = _tmp31_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp33_ = header4;
		_tmp34_ = text;
		_tmp35_ = g_regex_replace (_tmp33_, _tmp34_, (gssize) -1, 0, "\n<b>\\1</b>", 0, &_inner_error0_);
		_tmp32_ = _tmp35_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp36_ = _tmp32_;
		_tmp32_ = NULL;
		_g_free0 (text);
		text = _tmp36_;
		_tmp37_ = g_regex_new ("^##### (.*)$", G_REGEX_MULTILINE, 0, &_inner_error0_);
		header5 = _tmp37_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp39_ = header5;
		_tmp40_ = text;
		_tmp41_ = g_regex_replace (_tmp39_, _tmp40_, (gssize) -1, 0, "\n<b>\\1</b>", 0, &_inner_error0_);
		_tmp38_ = _tmp41_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp42_ = _tmp38_;
		_tmp38_ = NULL;
		_g_free0 (text);
		text = _tmp42_;
		_tmp43_ = g_regex_new ("^###### (.*)$", G_REGEX_MULTILINE, 0, &_inner_error0_);
		header6 = _tmp43_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_free0 (_tmp38_);
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp45_ = header6;
		_tmp46_ = text;
		_tmp47_ = g_regex_replace (_tmp45_, _tmp46_, (gssize) -1, 0, "\n<b>\\1</b>", 0, &_inner_error0_);
		_tmp44_ = _tmp47_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_regex_unref0 (header6);
			_g_free0 (_tmp38_);
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp48_ = _tmp44_;
		_tmp44_ = NULL;
		_g_free0 (text);
		text = _tmp48_;
		_tmp49_ = g_regex_new ("\\*\\*(.*?)\\*\\*", 0, 0, &_inner_error0_);
		bold_star = _tmp49_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_free0 (_tmp44_);
			_g_regex_unref0 (header6);
			_g_free0 (_tmp38_);
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp51_ = bold_star;
		_tmp52_ = text;
		_tmp53_ = g_regex_replace (_tmp51_, _tmp52_, (gssize) -1, 0, "<b>\\1</b>", 0, &_inner_error0_);
		_tmp50_ = _tmp53_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_regex_unref0 (bold_star);
			_g_free0 (_tmp44_);
			_g_regex_unref0 (header6);
			_g_free0 (_tmp38_);
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp54_ = _tmp50_;
		_tmp50_ = NULL;
		_g_free0 (text);
		text = _tmp54_;
		_tmp55_ = g_regex_new ("__(.*?)__", 0, 0, &_inner_error0_);
		bold_under = _tmp55_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_free0 (_tmp50_);
			_g_regex_unref0 (bold_star);
			_g_free0 (_tmp44_);
			_g_regex_unref0 (header6);
			_g_free0 (_tmp38_);
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp57_ = bold_under;
		_tmp58_ = text;
		_tmp59_ = g_regex_replace (_tmp57_, _tmp58_, (gssize) -1, 0, "<b>\\1</b>", 0, &_inner_error0_);
		_tmp56_ = _tmp59_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_regex_unref0 (bold_under);
			_g_free0 (_tmp50_);
			_g_regex_unref0 (bold_star);
			_g_free0 (_tmp44_);
			_g_regex_unref0 (header6);
			_g_free0 (_tmp38_);
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp60_ = _tmp56_;
		_tmp56_ = NULL;
		_g_free0 (text);
		text = _tmp60_;
		_tmp61_ = g_regex_new ("\\*(.*?)\\*", 0, 0, &_inner_error0_);
		italic_star = _tmp61_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_free0 (_tmp56_);
			_g_regex_unref0 (bold_under);
			_g_free0 (_tmp50_);
			_g_regex_unref0 (bold_star);
			_g_free0 (_tmp44_);
			_g_regex_unref0 (header6);
			_g_free0 (_tmp38_);
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp63_ = italic_star;
		_tmp64_ = text;
		_tmp65_ = g_regex_replace (_tmp63_, _tmp64_, (gssize) -1, 0, "<i>\\1</i>", 0, &_inner_error0_);
		_tmp62_ = _tmp65_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_regex_unref0 (italic_star);
			_g_free0 (_tmp56_);
			_g_regex_unref0 (bold_under);
			_g_free0 (_tmp50_);
			_g_regex_unref0 (bold_star);
			_g_free0 (_tmp44_);
			_g_regex_unref0 (header6);
			_g_free0 (_tmp38_);
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp66_ = _tmp62_;
		_tmp62_ = NULL;
		_g_free0 (text);
		text = _tmp66_;
		_tmp67_ = g_regex_new ("\\b_(.*?)_\\b", 0, 0, &_inner_error0_);
		italic_under = _tmp67_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_free0 (_tmp62_);
			_g_regex_unref0 (italic_star);
			_g_free0 (_tmp56_);
			_g_regex_unref0 (bold_under);
			_g_free0 (_tmp50_);
			_g_regex_unref0 (bold_star);
			_g_free0 (_tmp44_);
			_g_regex_unref0 (header6);
			_g_free0 (_tmp38_);
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp69_ = italic_under;
		_tmp70_ = text;
		_tmp71_ = g_regex_replace (_tmp69_, _tmp70_, (gssize) -1, 0, "<i>\\1</i>", 0, &_inner_error0_);
		_tmp68_ = _tmp71_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_regex_unref0 (italic_under);
			_g_free0 (_tmp62_);
			_g_regex_unref0 (italic_star);
			_g_free0 (_tmp56_);
			_g_regex_unref0 (bold_under);
			_g_free0 (_tmp50_);
			_g_regex_unref0 (bold_star);
			_g_free0 (_tmp44_);
			_g_regex_unref0 (header6);
			_g_free0 (_tmp38_);
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp72_ = _tmp68_;
		_tmp68_ = NULL;
		_g_free0 (text);
		text = _tmp72_;
		_tmp73_ = g_regex_new ("~~(.*?)~~", 0, 0, &_inner_error0_);
		strike = _tmp73_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_free0 (_tmp68_);
			_g_regex_unref0 (italic_under);
			_g_free0 (_tmp62_);
			_g_regex_unref0 (italic_star);
			_g_free0 (_tmp56_);
			_g_regex_unref0 (bold_under);
			_g_free0 (_tmp50_);
			_g_regex_unref0 (bold_star);
			_g_free0 (_tmp44_);
			_g_regex_unref0 (header6);
			_g_free0 (_tmp38_);
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp75_ = strike;
		_tmp76_ = text;
		_tmp77_ = g_regex_replace (_tmp75_, _tmp76_, (gssize) -1, 0, "<s>\\1</s>", 0, &_inner_error0_);
		_tmp74_ = _tmp77_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_regex_unref0 (strike);
			_g_free0 (_tmp68_);
			_g_regex_unref0 (italic_under);
			_g_free0 (_tmp62_);
			_g_regex_unref0 (italic_star);
			_g_free0 (_tmp56_);
			_g_regex_unref0 (bold_under);
			_g_free0 (_tmp50_);
			_g_regex_unref0 (bold_star);
			_g_free0 (_tmp44_);
			_g_regex_unref0 (header6);
			_g_free0 (_tmp38_);
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp78_ = _tmp74_;
		_tmp74_ = NULL;
		_g_free0 (text);
		text = _tmp78_;
		_tmp79_ = g_regex_new ("^([ \t]*)[*+-] \\[[ ]\\] (.*)$", G_REGEX_MULTILINE, 0, &_inner_error0_);
		task_list_empty = _tmp79_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_free0 (_tmp74_);
			_g_regex_unref0 (strike);
			_g_free0 (_tmp68_);
			_g_regex_unref0 (italic_under);
			_g_free0 (_tmp62_);
			_g_regex_unref0 (italic_star);
			_g_free0 (_tmp56_);
			_g_regex_unref0 (bold_under);
			_g_free0 (_tmp50_);
			_g_regex_unref0 (bold_star);
			_g_free0 (_tmp44_);
			_g_regex_unref0 (header6);
			_g_free0 (_tmp38_);
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp81_ = task_list_empty;
		_tmp82_ = text;
		_tmp83_ = g_regex_replace_eval (_tmp81_, _tmp82_, (gssize) -1, 0, 0, ____lambda64__gregex_eval_callback, self, &_inner_error0_);
		_tmp80_ = _tmp83_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_regex_unref0 (task_list_empty);
			_g_free0 (_tmp74_);
			_g_regex_unref0 (strike);
			_g_free0 (_tmp68_);
			_g_regex_unref0 (italic_under);
			_g_free0 (_tmp62_);
			_g_regex_unref0 (italic_star);
			_g_free0 (_tmp56_);
			_g_regex_unref0 (bold_under);
			_g_free0 (_tmp50_);
			_g_regex_unref0 (bold_star);
			_g_free0 (_tmp44_);
			_g_regex_unref0 (header6);
			_g_free0 (_tmp38_);
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp84_ = _tmp80_;
		_tmp80_ = NULL;
		_g_free0 (text);
		text = _tmp84_;
		_tmp85_ = g_regex_new ("^([ \t]*)[*+-] \\[[xX]\\] (.*)$", G_REGEX_MULTILINE, 0, &_inner_error0_);
		task_list_done = _tmp85_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_free0 (_tmp80_);
			_g_regex_unref0 (task_list_empty);
			_g_free0 (_tmp74_);
			_g_regex_unref0 (strike);
			_g_free0 (_tmp68_);
			_g_regex_unref0 (italic_under);
			_g_free0 (_tmp62_);
			_g_regex_unref0 (italic_star);
			_g_free0 (_tmp56_);
			_g_regex_unref0 (bold_under);
			_g_free0 (_tmp50_);
			_g_regex_unref0 (bold_star);
			_g_free0 (_tmp44_);
			_g_regex_unref0 (header6);
			_g_free0 (_tmp38_);
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp87_ = task_list_done;
		_tmp88_ = text;
		_tmp89_ = g_regex_replace_eval (_tmp87_, _tmp88_, (gssize) -1, 0, 0, ____lambda65__gregex_eval_callback, self, &_inner_error0_);
		_tmp86_ = _tmp89_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_regex_unref0 (task_list_done);
			_g_free0 (_tmp80_);
			_g_regex_unref0 (task_list_empty);
			_g_free0 (_tmp74_);
			_g_regex_unref0 (strike);
			_g_free0 (_tmp68_);
			_g_regex_unref0 (italic_under);
			_g_free0 (_tmp62_);
			_g_regex_unref0 (italic_star);
			_g_free0 (_tmp56_);
			_g_regex_unref0 (bold_under);
			_g_free0 (_tmp50_);
			_g_regex_unref0 (bold_star);
			_g_free0 (_tmp44_);
			_g_regex_unref0 (header6);
			_g_free0 (_tmp38_);
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp90_ = _tmp86_;
		_tmp86_ = NULL;
		_g_free0 (text);
		text = _tmp90_;
		_tmp91_ = g_regex_new ("^([ \t]*)[*+-] (.*)$", G_REGEX_MULTILINE, 0, &_inner_error0_);
		list_item = _tmp91_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_free0 (_tmp86_);
			_g_regex_unref0 (task_list_done);
			_g_free0 (_tmp80_);
			_g_regex_unref0 (task_list_empty);
			_g_free0 (_tmp74_);
			_g_regex_unref0 (strike);
			_g_free0 (_tmp68_);
			_g_regex_unref0 (italic_under);
			_g_free0 (_tmp62_);
			_g_regex_unref0 (italic_star);
			_g_free0 (_tmp56_);
			_g_regex_unref0 (bold_under);
			_g_free0 (_tmp50_);
			_g_regex_unref0 (bold_star);
			_g_free0 (_tmp44_);
			_g_regex_unref0 (header6);
			_g_free0 (_tmp38_);
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp93_ = list_item;
		_tmp94_ = text;
		_tmp95_ = g_regex_replace_eval (_tmp93_, _tmp94_, (gssize) -1, 0, 0, ____lambda66__gregex_eval_callback, self, &_inner_error0_);
		_tmp92_ = _tmp95_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_regex_unref0 (list_item);
			_g_free0 (_tmp86_);
			_g_regex_unref0 (task_list_done);
			_g_free0 (_tmp80_);
			_g_regex_unref0 (task_list_empty);
			_g_free0 (_tmp74_);
			_g_regex_unref0 (strike);
			_g_free0 (_tmp68_);
			_g_regex_unref0 (italic_under);
			_g_free0 (_tmp62_);
			_g_regex_unref0 (italic_star);
			_g_free0 (_tmp56_);
			_g_regex_unref0 (bold_under);
			_g_free0 (_tmp50_);
			_g_regex_unref0 (bold_star);
			_g_free0 (_tmp44_);
			_g_regex_unref0 (header6);
			_g_free0 (_tmp38_);
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp96_ = _tmp92_;
		_tmp92_ = NULL;
		_g_free0 (text);
		text = _tmp96_;
		_tmp97_ = g_regex_new ("^([ \t]*)([0-9]+)\\. (.*)$", G_REGEX_MULTILINE, 0, &_inner_error0_);
		ordered_list = _tmp97_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_free0 (_tmp92_);
			_g_regex_unref0 (list_item);
			_g_free0 (_tmp86_);
			_g_regex_unref0 (task_list_done);
			_g_free0 (_tmp80_);
			_g_regex_unref0 (task_list_empty);
			_g_free0 (_tmp74_);
			_g_regex_unref0 (strike);
			_g_free0 (_tmp68_);
			_g_regex_unref0 (italic_under);
			_g_free0 (_tmp62_);
			_g_regex_unref0 (italic_star);
			_g_free0 (_tmp56_);
			_g_regex_unref0 (bold_under);
			_g_free0 (_tmp50_);
			_g_regex_unref0 (bold_star);
			_g_free0 (_tmp44_);
			_g_regex_unref0 (header6);
			_g_free0 (_tmp38_);
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp99_ = ordered_list;
		_tmp100_ = text;
		_tmp101_ = g_regex_replace_eval (_tmp99_, _tmp100_, (gssize) -1, 0, 0, ____lambda67__gregex_eval_callback, self, &_inner_error0_);
		_tmp98_ = _tmp101_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_regex_unref0 (ordered_list);
			_g_free0 (_tmp92_);
			_g_regex_unref0 (list_item);
			_g_free0 (_tmp86_);
			_g_regex_unref0 (task_list_done);
			_g_free0 (_tmp80_);
			_g_regex_unref0 (task_list_empty);
			_g_free0 (_tmp74_);
			_g_regex_unref0 (strike);
			_g_free0 (_tmp68_);
			_g_regex_unref0 (italic_under);
			_g_free0 (_tmp62_);
			_g_regex_unref0 (italic_star);
			_g_free0 (_tmp56_);
			_g_regex_unref0 (bold_under);
			_g_free0 (_tmp50_);
			_g_regex_unref0 (bold_star);
			_g_free0 (_tmp44_);
			_g_regex_unref0 (header6);
			_g_free0 (_tmp38_);
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp102_ = _tmp98_;
		_tmp98_ = NULL;
		_g_free0 (text);
		text = _tmp102_;
		_tmp103_ = g_regex_new ("^&gt; ?\\[!NOTE\\]$", G_REGEX_MULTILINE | G_REGEX_CASELESS, 0, &_inner_error0_);
		note_alert = _tmp103_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_free0 (_tmp98_);
			_g_regex_unref0 (ordered_list);
			_g_free0 (_tmp92_);
			_g_regex_unref0 (list_item);
			_g_free0 (_tmp86_);
			_g_regex_unref0 (task_list_done);
			_g_free0 (_tmp80_);
			_g_regex_unref0 (task_list_empty);
			_g_free0 (_tmp74_);
			_g_regex_unref0 (strike);
			_g_free0 (_tmp68_);
			_g_regex_unref0 (italic_under);
			_g_free0 (_tmp62_);
			_g_regex_unref0 (italic_star);
			_g_free0 (_tmp56_);
			_g_regex_unref0 (bold_under);
			_g_free0 (_tmp50_);
			_g_regex_unref0 (bold_star);
			_g_free0 (_tmp44_);
			_g_regex_unref0 (header6);
			_g_free0 (_tmp38_);
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp105_ = note_alert;
		_tmp106_ = text;
		_tmp107_ = g_regex_replace (_tmp105_, _tmp106_, (gssize) -1, 0, "  <b><span color=\"#3584e4\">🗒️ Note</span></b>", 0, &_inner_error0_);
		_tmp104_ = _tmp107_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_regex_unref0 (note_alert);
			_g_free0 (_tmp98_);
			_g_regex_unref0 (ordered_list);
			_g_free0 (_tmp92_);
			_g_regex_unref0 (list_item);
			_g_free0 (_tmp86_);
			_g_regex_unref0 (task_list_done);
			_g_free0 (_tmp80_);
			_g_regex_unref0 (task_list_empty);
			_g_free0 (_tmp74_);
			_g_regex_unref0 (strike);
			_g_free0 (_tmp68_);
			_g_regex_unref0 (italic_under);
			_g_free0 (_tmp62_);
			_g_regex_unref0 (italic_star);
			_g_free0 (_tmp56_);
			_g_regex_unref0 (bold_under);
			_g_free0 (_tmp50_);
			_g_regex_unref0 (bold_star);
			_g_free0 (_tmp44_);
			_g_regex_unref0 (header6);
			_g_free0 (_tmp38_);
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp108_ = _tmp104_;
		_tmp104_ = NULL;
		_g_free0 (text);
		text = _tmp108_;
		_tmp109_ = g_regex_new ("^&gt; ?\\[!TIP\\]$", G_REGEX_MULTILINE | G_REGEX_CASELESS, 0, &_inner_error0_);
		tip_alert = _tmp109_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_free0 (_tmp104_);
			_g_regex_unref0 (note_alert);
			_g_free0 (_tmp98_);
			_g_regex_unref0 (ordered_list);
			_g_free0 (_tmp92_);
			_g_regex_unref0 (list_item);
			_g_free0 (_tmp86_);
			_g_regex_unref0 (task_list_done);
			_g_free0 (_tmp80_);
			_g_regex_unref0 (task_list_empty);
			_g_free0 (_tmp74_);
			_g_regex_unref0 (strike);
			_g_free0 (_tmp68_);
			_g_regex_unref0 (italic_under);
			_g_free0 (_tmp62_);
			_g_regex_unref0 (italic_star);
			_g_free0 (_tmp56_);
			_g_regex_unref0 (bold_under);
			_g_free0 (_tmp50_);
			_g_regex_unref0 (bold_star);
			_g_free0 (_tmp44_);
			_g_regex_unref0 (header6);
			_g_free0 (_tmp38_);
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp111_ = tip_alert;
		_tmp112_ = text;
		_tmp113_ = g_regex_replace (_tmp111_, _tmp112_, (gssize) -1, 0, "  <b><span color=\"#2ec27e\">💡 Tip</span></b>", 0, &_inner_error0_);
		_tmp110_ = _tmp113_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_regex_unref0 (tip_alert);
			_g_free0 (_tmp104_);
			_g_regex_unref0 (note_alert);
			_g_free0 (_tmp98_);
			_g_regex_unref0 (ordered_list);
			_g_free0 (_tmp92_);
			_g_regex_unref0 (list_item);
			_g_free0 (_tmp86_);
			_g_regex_unref0 (task_list_done);
			_g_free0 (_tmp80_);
			_g_regex_unref0 (task_list_empty);
			_g_free0 (_tmp74_);
			_g_regex_unref0 (strike);
			_g_free0 (_tmp68_);
			_g_regex_unref0 (italic_under);
			_g_free0 (_tmp62_);
			_g_regex_unref0 (italic_star);
			_g_free0 (_tmp56_);
			_g_regex_unref0 (bold_under);
			_g_free0 (_tmp50_);
			_g_regex_unref0 (bold_star);
			_g_free0 (_tmp44_);
			_g_regex_unref0 (header6);
			_g_free0 (_tmp38_);
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp114_ = _tmp110_;
		_tmp110_ = NULL;
		_g_free0 (text);
		text = _tmp114_;
		_tmp115_ = g_regex_new ("^&gt; ?\\[!IMPORTANT\\]$", G_REGEX_MULTILINE | G_REGEX_CASELESS, 0, &_inner_error0_);
		important_alert = _tmp115_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_free0 (_tmp110_);
			_g_regex_unref0 (tip_alert);
			_g_free0 (_tmp104_);
			_g_regex_unref0 (note_alert);
			_g_free0 (_tmp98_);
			_g_regex_unref0 (ordered_list);
			_g_free0 (_tmp92_);
			_g_regex_unref0 (list_item);
			_g_free0 (_tmp86_);
			_g_regex_unref0 (task_list_done);
			_g_free0 (_tmp80_);
			_g_regex_unref0 (task_list_empty);
			_g_free0 (_tmp74_);
			_g_regex_unref0 (strike);
			_g_free0 (_tmp68_);
			_g_regex_unref0 (italic_under);
			_g_free0 (_tmp62_);
			_g_regex_unref0 (italic_star);
			_g_free0 (_tmp56_);
			_g_regex_unref0 (bold_under);
			_g_free0 (_tmp50_);
			_g_regex_unref0 (bold_star);
			_g_free0 (_tmp44_);
			_g_regex_unref0 (header6);
			_g_free0 (_tmp38_);
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp117_ = important_alert;
		_tmp118_ = text;
		_tmp119_ = g_regex_replace (_tmp117_, _tmp118_, (gssize) -1, 0, "  <b><span color=\"#9141ac\">❗ Important</span></b>", 0, &_inner_error0_);
		_tmp116_ = _tmp119_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_regex_unref0 (important_alert);
			_g_free0 (_tmp110_);
			_g_regex_unref0 (tip_alert);
			_g_free0 (_tmp104_);
			_g_regex_unref0 (note_alert);
			_g_free0 (_tmp98_);
			_g_regex_unref0 (ordered_list);
			_g_free0 (_tmp92_);
			_g_regex_unref0 (list_item);
			_g_free0 (_tmp86_);
			_g_regex_unref0 (task_list_done);
			_g_free0 (_tmp80_);
			_g_regex_unref0 (task_list_empty);
			_g_free0 (_tmp74_);
			_g_regex_unref0 (strike);
			_g_free0 (_tmp68_);
			_g_regex_unref0 (italic_under);
			_g_free0 (_tmp62_);
			_g_regex_unref0 (italic_star);
			_g_free0 (_tmp56_);
			_g_regex_unref0 (bold_under);
			_g_free0 (_tmp50_);
			_g_regex_unref0 (bold_star);
			_g_free0 (_tmp44_);
			_g_regex_unref0 (header6);
			_g_free0 (_tmp38_);
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp120_ = _tmp116_;
		_tmp116_ = NULL;
		_g_free0 (text);
		text = _tmp120_;
		_tmp121_ = g_regex_new ("^&gt; ?\\[!WARNING\\]$", G_REGEX_MULTILINE | G_REGEX_CASELESS, 0, &_inner_error0_);
		warning_alert = _tmp121_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_free0 (_tmp116_);
			_g_regex_unref0 (important_alert);
			_g_free0 (_tmp110_);
			_g_regex_unref0 (tip_alert);
			_g_free0 (_tmp104_);
			_g_regex_unref0 (note_alert);
			_g_free0 (_tmp98_);
			_g_regex_unref0 (ordered_list);
			_g_free0 (_tmp92_);
			_g_regex_unref0 (list_item);
			_g_free0 (_tmp86_);
			_g_regex_unref0 (task_list_done);
			_g_free0 (_tmp80_);
			_g_regex_unref0 (task_list_empty);
			_g_free0 (_tmp74_);
			_g_regex_unref0 (strike);
			_g_free0 (_tmp68_);
			_g_regex_unref0 (italic_under);
			_g_free0 (_tmp62_);
			_g_regex_unref0 (italic_star);
			_g_free0 (_tmp56_);
			_g_regex_unref0 (bold_under);
			_g_free0 (_tmp50_);
			_g_regex_unref0 (bold_star);
			_g_free0 (_tmp44_);
			_g_regex_unref0 (header6);
			_g_free0 (_tmp38_);
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp123_ = warning_alert;
		_tmp124_ = text;
		_tmp125_ = g_regex_replace (_tmp123_, _tmp124_, (gssize) -1, 0, "  <b><span color=\"#e5a50a\">⚠️ Warning</span></b>", 0, &_inner_error0_);
		_tmp122_ = _tmp125_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_regex_unref0 (warning_alert);
			_g_free0 (_tmp116_);
			_g_regex_unref0 (important_alert);
			_g_free0 (_tmp110_);
			_g_regex_unref0 (tip_alert);
			_g_free0 (_tmp104_);
			_g_regex_unref0 (note_alert);
			_g_free0 (_tmp98_);
			_g_regex_unref0 (ordered_list);
			_g_free0 (_tmp92_);
			_g_regex_unref0 (list_item);
			_g_free0 (_tmp86_);
			_g_regex_unref0 (task_list_done);
			_g_free0 (_tmp80_);
			_g_regex_unref0 (task_list_empty);
			_g_free0 (_tmp74_);
			_g_regex_unref0 (strike);
			_g_free0 (_tmp68_);
			_g_regex_unref0 (italic_under);
			_g_free0 (_tmp62_);
			_g_regex_unref0 (italic_star);
			_g_free0 (_tmp56_);
			_g_regex_unref0 (bold_under);
			_g_free0 (_tmp50_);
			_g_regex_unref0 (bold_star);
			_g_free0 (_tmp44_);
			_g_regex_unref0 (header6);
			_g_free0 (_tmp38_);
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp126_ = _tmp122_;
		_tmp122_ = NULL;
		_g_free0 (text);
		text = _tmp126_;
		_tmp127_ = g_regex_new ("^&gt; ?\\[!CAUTION\\]$", G_REGEX_MULTILINE | G_REGEX_CASELESS, 0, &_inner_error0_);
		caution_alert = _tmp127_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_free0 (_tmp122_);
			_g_regex_unref0 (warning_alert);
			_g_free0 (_tmp116_);
			_g_regex_unref0 (important_alert);
			_g_free0 (_tmp110_);
			_g_regex_unref0 (tip_alert);
			_g_free0 (_tmp104_);
			_g_regex_unref0 (note_alert);
			_g_free0 (_tmp98_);
			_g_regex_unref0 (ordered_list);
			_g_free0 (_tmp92_);
			_g_regex_unref0 (list_item);
			_g_free0 (_tmp86_);
			_g_regex_unref0 (task_list_done);
			_g_free0 (_tmp80_);
			_g_regex_unref0 (task_list_empty);
			_g_free0 (_tmp74_);
			_g_regex_unref0 (strike);
			_g_free0 (_tmp68_);
			_g_regex_unref0 (italic_under);
			_g_free0 (_tmp62_);
			_g_regex_unref0 (italic_star);
			_g_free0 (_tmp56_);
			_g_regex_unref0 (bold_under);
			_g_free0 (_tmp50_);
			_g_regex_unref0 (bold_star);
			_g_free0 (_tmp44_);
			_g_regex_unref0 (header6);
			_g_free0 (_tmp38_);
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp129_ = caution_alert;
		_tmp130_ = text;
		_tmp131_ = g_regex_replace (_tmp129_, _tmp130_, (gssize) -1, 0, "  <b><span color=\"#e01b24\">🔴 Caution</span></b>", 0, &_inner_error0_);
		_tmp128_ = _tmp131_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_regex_unref0 (caution_alert);
			_g_free0 (_tmp122_);
			_g_regex_unref0 (warning_alert);
			_g_free0 (_tmp116_);
			_g_regex_unref0 (important_alert);
			_g_free0 (_tmp110_);
			_g_regex_unref0 (tip_alert);
			_g_free0 (_tmp104_);
			_g_regex_unref0 (note_alert);
			_g_free0 (_tmp98_);
			_g_regex_unref0 (ordered_list);
			_g_free0 (_tmp92_);
			_g_regex_unref0 (list_item);
			_g_free0 (_tmp86_);
			_g_regex_unref0 (task_list_done);
			_g_free0 (_tmp80_);
			_g_regex_unref0 (task_list_empty);
			_g_free0 (_tmp74_);
			_g_regex_unref0 (strike);
			_g_free0 (_tmp68_);
			_g_regex_unref0 (italic_under);
			_g_free0 (_tmp62_);
			_g_regex_unref0 (italic_star);
			_g_free0 (_tmp56_);
			_g_regex_unref0 (bold_under);
			_g_free0 (_tmp50_);
			_g_regex_unref0 (bold_star);
			_g_free0 (_tmp44_);
			_g_regex_unref0 (header6);
			_g_free0 (_tmp38_);
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp132_ = _tmp128_;
		_tmp128_ = NULL;
		_g_free0 (text);
		text = _tmp132_;
		_tmp133_ = g_regex_new ("^&gt; ?(.*)$", G_REGEX_MULTILINE, 0, &_inner_error0_);
		blockquote = _tmp133_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_free0 (_tmp128_);
			_g_regex_unref0 (caution_alert);
			_g_free0 (_tmp122_);
			_g_regex_unref0 (warning_alert);
			_g_free0 (_tmp116_);
			_g_regex_unref0 (important_alert);
			_g_free0 (_tmp110_);
			_g_regex_unref0 (tip_alert);
			_g_free0 (_tmp104_);
			_g_regex_unref0 (note_alert);
			_g_free0 (_tmp98_);
			_g_regex_unref0 (ordered_list);
			_g_free0 (_tmp92_);
			_g_regex_unref0 (list_item);
			_g_free0 (_tmp86_);
			_g_regex_unref0 (task_list_done);
			_g_free0 (_tmp80_);
			_g_regex_unref0 (task_list_empty);
			_g_free0 (_tmp74_);
			_g_regex_unref0 (strike);
			_g_free0 (_tmp68_);
			_g_regex_unref0 (italic_under);
			_g_free0 (_tmp62_);
			_g_regex_unref0 (italic_star);
			_g_free0 (_tmp56_);
			_g_regex_unref0 (bold_under);
			_g_free0 (_tmp50_);
			_g_regex_unref0 (bold_star);
			_g_free0 (_tmp44_);
			_g_regex_unref0 (header6);
			_g_free0 (_tmp38_);
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp135_ = blockquote;
		_tmp136_ = text;
		_tmp137_ = g_regex_replace (_tmp135_, _tmp136_, (gssize) -1, 0, "  <i>\\1</i>", 0, &_inner_error0_);
		_tmp134_ = _tmp137_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_regex_unref0 (blockquote);
			_g_free0 (_tmp128_);
			_g_regex_unref0 (caution_alert);
			_g_free0 (_tmp122_);
			_g_regex_unref0 (warning_alert);
			_g_free0 (_tmp116_);
			_g_regex_unref0 (important_alert);
			_g_free0 (_tmp110_);
			_g_regex_unref0 (tip_alert);
			_g_free0 (_tmp104_);
			_g_regex_unref0 (note_alert);
			_g_free0 (_tmp98_);
			_g_regex_unref0 (ordered_list);
			_g_free0 (_tmp92_);
			_g_regex_unref0 (list_item);
			_g_free0 (_tmp86_);
			_g_regex_unref0 (task_list_done);
			_g_free0 (_tmp80_);
			_g_regex_unref0 (task_list_empty);
			_g_free0 (_tmp74_);
			_g_regex_unref0 (strike);
			_g_free0 (_tmp68_);
			_g_regex_unref0 (italic_under);
			_g_free0 (_tmp62_);
			_g_regex_unref0 (italic_star);
			_g_free0 (_tmp56_);
			_g_regex_unref0 (bold_under);
			_g_free0 (_tmp50_);
			_g_regex_unref0 (bold_star);
			_g_free0 (_tmp44_);
			_g_regex_unref0 (header6);
			_g_free0 (_tmp38_);
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp138_ = _tmp134_;
		_tmp134_ = NULL;
		_g_free0 (text);
		text = _tmp138_;
		_tmp139_ = g_regex_new ("^([*_-]{3,})$", G_REGEX_MULTILINE, 0, &_inner_error0_);
		hr = _tmp139_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_free0 (_tmp134_);
			_g_regex_unref0 (blockquote);
			_g_free0 (_tmp128_);
			_g_regex_unref0 (caution_alert);
			_g_free0 (_tmp122_);
			_g_regex_unref0 (warning_alert);
			_g_free0 (_tmp116_);
			_g_regex_unref0 (important_alert);
			_g_free0 (_tmp110_);
			_g_regex_unref0 (tip_alert);
			_g_free0 (_tmp104_);
			_g_regex_unref0 (note_alert);
			_g_free0 (_tmp98_);
			_g_regex_unref0 (ordered_list);
			_g_free0 (_tmp92_);
			_g_regex_unref0 (list_item);
			_g_free0 (_tmp86_);
			_g_regex_unref0 (task_list_done);
			_g_free0 (_tmp80_);
			_g_regex_unref0 (task_list_empty);
			_g_free0 (_tmp74_);
			_g_regex_unref0 (strike);
			_g_free0 (_tmp68_);
			_g_regex_unref0 (italic_under);
			_g_free0 (_tmp62_);
			_g_regex_unref0 (italic_star);
			_g_free0 (_tmp56_);
			_g_regex_unref0 (bold_under);
			_g_free0 (_tmp50_);
			_g_regex_unref0 (bold_star);
			_g_free0 (_tmp44_);
			_g_regex_unref0 (header6);
			_g_free0 (_tmp38_);
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp141_ = hr;
		_tmp142_ = text;
		_tmp143_ = g_regex_replace (_tmp141_, _tmp142_, (gssize) -1, 0, "────────────────────────────────", 0, &_inner_error0_);
		_tmp140_ = _tmp143_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_regex_unref0 (hr);
			_g_free0 (_tmp134_);
			_g_regex_unref0 (blockquote);
			_g_free0 (_tmp128_);
			_g_regex_unref0 (caution_alert);
			_g_free0 (_tmp122_);
			_g_regex_unref0 (warning_alert);
			_g_free0 (_tmp116_);
			_g_regex_unref0 (important_alert);
			_g_free0 (_tmp110_);
			_g_regex_unref0 (tip_alert);
			_g_free0 (_tmp104_);
			_g_regex_unref0 (note_alert);
			_g_free0 (_tmp98_);
			_g_regex_unref0 (ordered_list);
			_g_free0 (_tmp92_);
			_g_regex_unref0 (list_item);
			_g_free0 (_tmp86_);
			_g_regex_unref0 (task_list_done);
			_g_free0 (_tmp80_);
			_g_regex_unref0 (task_list_empty);
			_g_free0 (_tmp74_);
			_g_regex_unref0 (strike);
			_g_free0 (_tmp68_);
			_g_regex_unref0 (italic_under);
			_g_free0 (_tmp62_);
			_g_regex_unref0 (italic_star);
			_g_free0 (_tmp56_);
			_g_regex_unref0 (bold_under);
			_g_free0 (_tmp50_);
			_g_regex_unref0 (bold_star);
			_g_free0 (_tmp44_);
			_g_regex_unref0 (header6);
			_g_free0 (_tmp38_);
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp144_ = _tmp140_;
		_tmp140_ = NULL;
		_g_free0 (text);
		text = _tmp144_;
		_tmp145_ = g_regex_new ("!\\[(.*?)\\]\\(((?:https?://|www\\.|magnet:)(?:[^()]*|\\([^()]*\\))*)\\" \
")", 0, 0, &_inner_error0_);
		images = _tmp145_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_free0 (_tmp140_);
			_g_regex_unref0 (hr);
			_g_free0 (_tmp134_);
			_g_regex_unref0 (blockquote);
			_g_free0 (_tmp128_);
			_g_regex_unref0 (caution_alert);
			_g_free0 (_tmp122_);
			_g_regex_unref0 (warning_alert);
			_g_free0 (_tmp116_);
			_g_regex_unref0 (important_alert);
			_g_free0 (_tmp110_);
			_g_regex_unref0 (tip_alert);
			_g_free0 (_tmp104_);
			_g_regex_unref0 (note_alert);
			_g_free0 (_tmp98_);
			_g_regex_unref0 (ordered_list);
			_g_free0 (_tmp92_);
			_g_regex_unref0 (list_item);
			_g_free0 (_tmp86_);
			_g_regex_unref0 (task_list_done);
			_g_free0 (_tmp80_);
			_g_regex_unref0 (task_list_empty);
			_g_free0 (_tmp74_);
			_g_regex_unref0 (strike);
			_g_free0 (_tmp68_);
			_g_regex_unref0 (italic_under);
			_g_free0 (_tmp62_);
			_g_regex_unref0 (italic_star);
			_g_free0 (_tmp56_);
			_g_regex_unref0 (bold_under);
			_g_free0 (_tmp50_);
			_g_regex_unref0 (bold_star);
			_g_free0 (_tmp44_);
			_g_regex_unref0 (header6);
			_g_free0 (_tmp38_);
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp147_ = images;
		_tmp148_ = text;
		_tmp149_ = g_regex_replace_eval (_tmp147_, _tmp148_, (gssize) -1, 0, 0, ____lambda68__gregex_eval_callback, self, &_inner_error0_);
		_tmp146_ = _tmp149_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_regex_unref0 (images);
			_g_free0 (_tmp140_);
			_g_regex_unref0 (hr);
			_g_free0 (_tmp134_);
			_g_regex_unref0 (blockquote);
			_g_free0 (_tmp128_);
			_g_regex_unref0 (caution_alert);
			_g_free0 (_tmp122_);
			_g_regex_unref0 (warning_alert);
			_g_free0 (_tmp116_);
			_g_regex_unref0 (important_alert);
			_g_free0 (_tmp110_);
			_g_regex_unref0 (tip_alert);
			_g_free0 (_tmp104_);
			_g_regex_unref0 (note_alert);
			_g_free0 (_tmp98_);
			_g_regex_unref0 (ordered_list);
			_g_free0 (_tmp92_);
			_g_regex_unref0 (list_item);
			_g_free0 (_tmp86_);
			_g_regex_unref0 (task_list_done);
			_g_free0 (_tmp80_);
			_g_regex_unref0 (task_list_empty);
			_g_free0 (_tmp74_);
			_g_regex_unref0 (strike);
			_g_free0 (_tmp68_);
			_g_regex_unref0 (italic_under);
			_g_free0 (_tmp62_);
			_g_regex_unref0 (italic_star);
			_g_free0 (_tmp56_);
			_g_regex_unref0 (bold_under);
			_g_free0 (_tmp50_);
			_g_regex_unref0 (bold_star);
			_g_free0 (_tmp44_);
			_g_regex_unref0 (header6);
			_g_free0 (_tmp38_);
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp150_ = _tmp146_;
		_tmp146_ = NULL;
		_g_free0 (text);
		text = _tmp150_;
		_tmp151_ = g_regex_new ("\\[(.*?)\\]\\(((?:https?://|www\\.|magnet:)(?:[^()]*|\\([^()]*\\))*)\\" \
")", 0, 0, &_inner_error0_);
		links = _tmp151_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_free0 (_tmp146_);
			_g_regex_unref0 (images);
			_g_free0 (_tmp140_);
			_g_regex_unref0 (hr);
			_g_free0 (_tmp134_);
			_g_regex_unref0 (blockquote);
			_g_free0 (_tmp128_);
			_g_regex_unref0 (caution_alert);
			_g_free0 (_tmp122_);
			_g_regex_unref0 (warning_alert);
			_g_free0 (_tmp116_);
			_g_regex_unref0 (important_alert);
			_g_free0 (_tmp110_);
			_g_regex_unref0 (tip_alert);
			_g_free0 (_tmp104_);
			_g_regex_unref0 (note_alert);
			_g_free0 (_tmp98_);
			_g_regex_unref0 (ordered_list);
			_g_free0 (_tmp92_);
			_g_regex_unref0 (list_item);
			_g_free0 (_tmp86_);
			_g_regex_unref0 (task_list_done);
			_g_free0 (_tmp80_);
			_g_regex_unref0 (task_list_empty);
			_g_free0 (_tmp74_);
			_g_regex_unref0 (strike);
			_g_free0 (_tmp68_);
			_g_regex_unref0 (italic_under);
			_g_free0 (_tmp62_);
			_g_regex_unref0 (italic_star);
			_g_free0 (_tmp56_);
			_g_regex_unref0 (bold_under);
			_g_free0 (_tmp50_);
			_g_regex_unref0 (bold_star);
			_g_free0 (_tmp44_);
			_g_regex_unref0 (header6);
			_g_free0 (_tmp38_);
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp153_ = links;
		_tmp154_ = text;
		_tmp155_ = g_regex_replace_eval (_tmp153_, _tmp154_, (gssize) -1, 0, 0, ____lambda69__gregex_eval_callback, self, &_inner_error0_);
		_tmp152_ = _tmp155_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_regex_unref0 (links);
			_g_free0 (_tmp146_);
			_g_regex_unref0 (images);
			_g_free0 (_tmp140_);
			_g_regex_unref0 (hr);
			_g_free0 (_tmp134_);
			_g_regex_unref0 (blockquote);
			_g_free0 (_tmp128_);
			_g_regex_unref0 (caution_alert);
			_g_free0 (_tmp122_);
			_g_regex_unref0 (warning_alert);
			_g_free0 (_tmp116_);
			_g_regex_unref0 (important_alert);
			_g_free0 (_tmp110_);
			_g_regex_unref0 (tip_alert);
			_g_free0 (_tmp104_);
			_g_regex_unref0 (note_alert);
			_g_free0 (_tmp98_);
			_g_regex_unref0 (ordered_list);
			_g_free0 (_tmp92_);
			_g_regex_unref0 (list_item);
			_g_free0 (_tmp86_);
			_g_regex_unref0 (task_list_done);
			_g_free0 (_tmp80_);
			_g_regex_unref0 (task_list_empty);
			_g_free0 (_tmp74_);
			_g_regex_unref0 (strike);
			_g_free0 (_tmp68_);
			_g_regex_unref0 (italic_under);
			_g_free0 (_tmp62_);
			_g_regex_unref0 (italic_star);
			_g_free0 (_tmp56_);
			_g_regex_unref0 (bold_under);
			_g_free0 (_tmp50_);
			_g_regex_unref0 (bold_star);
			_g_free0 (_tmp44_);
			_g_regex_unref0 (header6);
			_g_free0 (_tmp38_);
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp156_ = _tmp152_;
		_tmp152_ = NULL;
		_g_free0 (text);
		text = _tmp156_;
		_tmp157_ = g_regex_new ("(<a\\b[^>]*>[\\s\\S]*?</a>)|(?<!href=\")(?<!\">)(?<!=)((?:https?://|ww" \
"w\\.|magnet:)[^\\s<>\"'()]+[^\\s.,<>\"'()!?;:])", G_REGEX_CASELESS, 0, &_inner_error0_);
		bare_links = _tmp157_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_free0 (_tmp152_);
			_g_regex_unref0 (links);
			_g_free0 (_tmp146_);
			_g_regex_unref0 (images);
			_g_free0 (_tmp140_);
			_g_regex_unref0 (hr);
			_g_free0 (_tmp134_);
			_g_regex_unref0 (blockquote);
			_g_free0 (_tmp128_);
			_g_regex_unref0 (caution_alert);
			_g_free0 (_tmp122_);
			_g_regex_unref0 (warning_alert);
			_g_free0 (_tmp116_);
			_g_regex_unref0 (important_alert);
			_g_free0 (_tmp110_);
			_g_regex_unref0 (tip_alert);
			_g_free0 (_tmp104_);
			_g_regex_unref0 (note_alert);
			_g_free0 (_tmp98_);
			_g_regex_unref0 (ordered_list);
			_g_free0 (_tmp92_);
			_g_regex_unref0 (list_item);
			_g_free0 (_tmp86_);
			_g_regex_unref0 (task_list_done);
			_g_free0 (_tmp80_);
			_g_regex_unref0 (task_list_empty);
			_g_free0 (_tmp74_);
			_g_regex_unref0 (strike);
			_g_free0 (_tmp68_);
			_g_regex_unref0 (italic_under);
			_g_free0 (_tmp62_);
			_g_regex_unref0 (italic_star);
			_g_free0 (_tmp56_);
			_g_regex_unref0 (bold_under);
			_g_free0 (_tmp50_);
			_g_regex_unref0 (bold_star);
			_g_free0 (_tmp44_);
			_g_regex_unref0 (header6);
			_g_free0 (_tmp38_);
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp159_ = bare_links;
		_tmp160_ = text;
		_tmp161_ = g_regex_replace_eval (_tmp159_, _tmp160_, (gssize) -1, 0, 0, ____lambda70__gregex_eval_callback, self, &_inner_error0_);
		_tmp158_ = _tmp161_;
		if (G_UNLIKELY (_inner_error0_ != NULL)) {
			_g_regex_unref0 (bare_links);
			_g_free0 (_tmp152_);
			_g_regex_unref0 (links);
			_g_free0 (_tmp146_);
			_g_regex_unref0 (images);
			_g_free0 (_tmp140_);
			_g_regex_unref0 (hr);
			_g_free0 (_tmp134_);
			_g_regex_unref0 (blockquote);
			_g_free0 (_tmp128_);
			_g_regex_unref0 (caution_alert);
			_g_free0 (_tmp122_);
			_g_regex_unref0 (warning_alert);
			_g_free0 (_tmp116_);
			_g_regex_unref0 (important_alert);
			_g_free0 (_tmp110_);
			_g_regex_unref0 (tip_alert);
			_g_free0 (_tmp104_);
			_g_regex_unref0 (note_alert);
			_g_free0 (_tmp98_);
			_g_regex_unref0 (ordered_list);
			_g_free0 (_tmp92_);
			_g_regex_unref0 (list_item);
			_g_free0 (_tmp86_);
			_g_regex_unref0 (task_list_done);
			_g_free0 (_tmp80_);
			_g_regex_unref0 (task_list_empty);
			_g_free0 (_tmp74_);
			_g_regex_unref0 (strike);
			_g_free0 (_tmp68_);
			_g_regex_unref0 (italic_under);
			_g_free0 (_tmp62_);
			_g_regex_unref0 (italic_star);
			_g_free0 (_tmp56_);
			_g_regex_unref0 (bold_under);
			_g_free0 (_tmp50_);
			_g_regex_unref0 (bold_star);
			_g_free0 (_tmp44_);
			_g_regex_unref0 (header6);
			_g_free0 (_tmp38_);
			_g_regex_unref0 (header5);
			_g_free0 (_tmp32_);
			_g_regex_unref0 (header4);
			_g_free0 (_tmp26_);
			_g_regex_unref0 (header3);
			_g_free0 (_tmp20_);
			_g_regex_unref0 (header2);
			_g_free0 (_tmp14_);
			_g_regex_unref0 (header1);
			_g_free0 (_tmp8_);
			_g_regex_unref0 (code);
			_g_free0 (_tmp2_);
			_g_regex_unref0 (code_block);
			if (_inner_error0_->domain == G_REGEX_ERROR) {
				goto __catch0_g_regex_error;
			}
			_g_free0 (text);
			g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
			g_clear_error (&_inner_error0_);
			return NULL;
		}
		_tmp162_ = _tmp158_;
		_tmp158_ = NULL;
		_g_free0 (text);
		text = _tmp162_;
		_tmp163_ = text;
		_tmp164_ = string_replace (_tmp163_, "&lt;sub&gt;", "<sub>");
		_tmp165_ = _tmp164_;
		_tmp166_ = string_replace (_tmp165_, "&lt;/sub&gt;", "</sub>");
		_g_free0 (text);
		text = _tmp166_;
		_g_free0 (_tmp165_);
		_tmp167_ = text;
		_tmp168_ = string_replace (_tmp167_, "&lt;sup&gt;", "<sup>");
		_tmp169_ = _tmp168_;
		_tmp170_ = string_replace (_tmp169_, "&lt;/sup&gt;", "</sup>");
		_g_free0 (text);
		text = _tmp170_;
		_g_free0 (_tmp169_);
		_g_free0 (_tmp158_);
		_g_regex_unref0 (bare_links);
		_g_free0 (_tmp152_);
		_g_regex_unref0 (links);
		_g_free0 (_tmp146_);
		_g_regex_unref0 (images);
		_g_free0 (_tmp140_);
		_g_regex_unref0 (hr);
		_g_free0 (_tmp134_);
		_g_regex_unref0 (blockquote);
		_g_free0 (_tmp128_);
		_g_regex_unref0 (caution_alert);
		_g_free0 (_tmp122_);
		_g_regex_unref0 (warning_alert);
		_g_free0 (_tmp116_);
		_g_regex_unref0 (important_alert);
		_g_free0 (_tmp110_);
		_g_regex_unref0 (tip_alert);
		_g_free0 (_tmp104_);
		_g_regex_unref0 (note_alert);
		_g_free0 (_tmp98_);
		_g_regex_unref0 (ordered_list);
		_g_free0 (_tmp92_);
		_g_regex_unref0 (list_item);
		_g_free0 (_tmp86_);
		_g_regex_unref0 (task_list_done);
		_g_free0 (_tmp80_);
		_g_regex_unref0 (task_list_empty);
		_g_free0 (_tmp74_);
		_g_regex_unref0 (strike);
		_g_free0 (_tmp68_);
		_g_regex_unref0 (italic_under);
		_g_free0 (_tmp62_);
		_g_regex_unref0 (italic_star);
		_g_free0 (_tmp56_);
		_g_regex_unref0 (bold_under);
		_g_free0 (_tmp50_);
		_g_regex_unref0 (bold_star);
		_g_free0 (_tmp44_);
		_g_regex_unref0 (header6);
		_g_free0 (_tmp38_);
		_g_regex_unref0 (header5);
		_g_free0 (_tmp32_);
		_g_regex_unref0 (header4);
		_g_free0 (_tmp26_);
		_g_regex_unref0 (header3);
		_g_free0 (_tmp20_);
		_g_regex_unref0 (header2);
		_g_free0 (_tmp14_);
		_g_regex_unref0 (header1);
		_g_free0 (_tmp8_);
		_g_regex_unref0 (code);
		_g_free0 (_tmp2_);
		_g_regex_unref0 (code_block);
	}
	goto __finally0;
	__catch0_g_regex_error:
	{
		GError* e = NULL;
		GError* _tmp171_;
		const gchar* _tmp172_;
		e = _inner_error0_;
		_inner_error0_ = NULL;
		_tmp171_ = e;
		_tmp172_ = _tmp171_->message;
		g_warning ("tools-release-changelog.vala:310: %s", _tmp172_);
		_g_error_free0 (e);
	}
	__finally0:
	if (G_UNLIKELY (_inner_error0_ != NULL)) {
		_g_free0 (text);
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error0_->message, g_quark_to_string (_inner_error0_->domain), _inner_error0_->code);
		g_clear_error (&_inner_error0_);
		return NULL;
	}
	_tmp173_ = text;
	_tmp174_ = string_strip (_tmp173_);
	result = _tmp174_;
	_g_free0 (text);
	return result;
}

static void
proton_plus_widgets_tools_release_changelog_class_init (ProtonPlusWidgetsToolsReleaseChangelogClass * klass,
                                                        gpointer klass_data)
{
	proton_plus_widgets_tools_release_changelog_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &ProtonPlusWidgetsToolsReleaseChangelog_private_offset);
	G_OBJECT_CLASS (klass)->finalize = proton_plus_widgets_tools_release_changelog_finalize;
}

static void
proton_plus_widgets_tools_release_changelog_instance_init (ProtonPlusWidgetsToolsReleaseChangelog * self,
                                                           gpointer klass)
{
	self->priv = proton_plus_widgets_tools_release_changelog_get_instance_private (self);
}

static void
proton_plus_widgets_tools_release_changelog_finalize (GObject * obj)
{
	ProtonPlusWidgetsToolsReleaseChangelog * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, PROTON_PLUS_WIDGETS_TOOLS_TYPE_RELEASE_CHANGELOG, ProtonPlusWidgetsToolsReleaseChangelog);
	_g_object_unref0 (self->priv->content);
	G_OBJECT_CLASS (proton_plus_widgets_tools_release_changelog_parent_class)->finalize (obj);
}

static GType
proton_plus_widgets_tools_release_changelog_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (ProtonPlusWidgetsToolsReleaseChangelogClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) proton_plus_widgets_tools_release_changelog_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ProtonPlusWidgetsToolsReleaseChangelog), 0, (GInstanceInitFunc) proton_plus_widgets_tools_release_changelog_instance_init, NULL };
	GType proton_plus_widgets_tools_release_changelog_type_id;
	proton_plus_widgets_tools_release_changelog_type_id = g_type_register_static (gtk_box_get_type (), "ProtonPlusWidgetsToolsReleaseChangelog", &g_define_type_info, 0);
	ProtonPlusWidgetsToolsReleaseChangelog_private_offset = g_type_add_instance_private (proton_plus_widgets_tools_release_changelog_type_id, sizeof (ProtonPlusWidgetsToolsReleaseChangelogPrivate));
	return proton_plus_widgets_tools_release_changelog_type_id;
}

GType
proton_plus_widgets_tools_release_changelog_get_type (void)
{
	static volatile gsize proton_plus_widgets_tools_release_changelog_type_id__once = 0;
	if (g_once_init_enter (&proton_plus_widgets_tools_release_changelog_type_id__once)) {
		GType proton_plus_widgets_tools_release_changelog_type_id;
		proton_plus_widgets_tools_release_changelog_type_id = proton_plus_widgets_tools_release_changelog_get_type_once ();
		g_once_init_leave (&proton_plus_widgets_tools_release_changelog_type_id__once, proton_plus_widgets_tools_release_changelog_type_id);
	}
	return proton_plus_widgets_tools_release_changelog_type_id__once;
}

