/* Report.c generated by valac 0.56.19, the Vala compiler
 * generated from Report.vala, do not modify */

#include <adwaita.h>
#include <glib-object.h>
#include <gtk/gtk.h>
#include <stdlib.h>
#include <string.h>
#include <glib.h>
#include <gee.h>
#include <gio/gio.h>
#include <glib/gi18n-lib.h>
#include <libsoup/soup.h>
#include <json-glib/json-glib.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
#if !defined(VALA_EXTERN)
#if defined(_MSC_VER)
#define VALA_EXTERN __declspec(dllexport) extern
#elif __GNUC__ >= 4
#define VALA_EXTERN __attribute__((visibility("default"))) extern
#else
#define VALA_EXTERN extern
#endif
#endif

#define TUBA_DIALOGS_ADMIN_TYPE_BASE (tuba_dialogs_admin_base_get_type ())
#define TUBA_DIALOGS_ADMIN_BASE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_DIALOGS_ADMIN_TYPE_BASE, TubaDialogsAdminBase))
#define TUBA_DIALOGS_ADMIN_BASE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_DIALOGS_ADMIN_TYPE_BASE, TubaDialogsAdminBaseClass))
#define TUBA_DIALOGS_ADMIN_IS_BASE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_DIALOGS_ADMIN_TYPE_BASE))
#define TUBA_DIALOGS_ADMIN_IS_BASE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_DIALOGS_ADMIN_TYPE_BASE))
#define TUBA_DIALOGS_ADMIN_BASE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_DIALOGS_ADMIN_TYPE_BASE, TubaDialogsAdminBaseClass))

typedef struct _TubaDialogsAdminBase TubaDialogsAdminBase;
typedef struct _TubaDialogsAdminBaseClass TubaDialogsAdminBaseClass;
typedef struct _TubaDialogsAdminBasePrivate TubaDialogsAdminBasePrivate;

#define TUBA_DIALOGS_ADMIN_TYPE_REPORT (tuba_dialogs_admin_report_get_type ())
#define TUBA_DIALOGS_ADMIN_REPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_DIALOGS_ADMIN_TYPE_REPORT, TubaDialogsAdminReport))
#define TUBA_DIALOGS_ADMIN_REPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_DIALOGS_ADMIN_TYPE_REPORT, TubaDialogsAdminReportClass))
#define TUBA_DIALOGS_ADMIN_IS_REPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_DIALOGS_ADMIN_TYPE_REPORT))
#define TUBA_DIALOGS_ADMIN_IS_REPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_DIALOGS_ADMIN_TYPE_REPORT))
#define TUBA_DIALOGS_ADMIN_REPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_DIALOGS_ADMIN_TYPE_REPORT, TubaDialogsAdminReportClass))

typedef struct _TubaDialogsAdminReport TubaDialogsAdminReport;
typedef struct _TubaDialogsAdminReportClass TubaDialogsAdminReportClass;
typedef struct _TubaDialogsAdminReportPrivate TubaDialogsAdminReportPrivate;
enum  {
	TUBA_DIALOGS_ADMIN_REPORT_0_PROPERTY,
	TUBA_DIALOGS_ADMIN_REPORT_NUM_PROPERTIES
};
static GParamSpec* tuba_dialogs_admin_report_properties[TUBA_DIALOGS_ADMIN_REPORT_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_free0(var) (var = (g_free (var), NULL))

#define TUBA_TYPE_REQUEST_V2 (tuba_request_v2_get_type ())
#define TUBA_REQUEST_V2(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_TYPE_REQUEST_V2, TubaRequestV2))
#define TUBA_REQUEST_V2_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_TYPE_REQUEST_V2, TubaRequestV2Class))
#define TUBA_IS_REQUEST_V2(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_TYPE_REQUEST_V2))
#define TUBA_IS_REQUEST_V2_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_TYPE_REQUEST_V2))
#define TUBA_REQUEST_V2_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_TYPE_REQUEST_V2, TubaRequestV2Class))

typedef struct _TubaRequestV2 TubaRequestV2;
typedef struct _TubaRequestV2Class TubaRequestV2Class;
typedef enum  {
	TUBA_REQUEST_V2_METHOD_GET,
	TUBA_REQUEST_V2_METHOD_POST,
	TUBA_REQUEST_V2_METHOD_PUT,
	TUBA_REQUEST_V2_METHOD_DELETE,
	TUBA_REQUEST_V2_METHOD_PATCH
} TubaRequestV2Method;

#define TUBA_REQUEST_V2_TYPE_METHOD (tuba_request_v2_method_get_type ())

#define TUBA_TYPE_ACCOUNT_STORE (tuba_account_store_get_type ())
#define TUBA_ACCOUNT_STORE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_TYPE_ACCOUNT_STORE, TubaAccountStore))
#define TUBA_ACCOUNT_STORE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_TYPE_ACCOUNT_STORE, TubaAccountStoreClass))
#define TUBA_IS_ACCOUNT_STORE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_TYPE_ACCOUNT_STORE))
#define TUBA_IS_ACCOUNT_STORE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_TYPE_ACCOUNT_STORE))
#define TUBA_ACCOUNT_STORE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_TYPE_ACCOUNT_STORE, TubaAccountStoreClass))

typedef struct _TubaAccountStore TubaAccountStore;
typedef struct _TubaAccountStoreClass TubaAccountStoreClass;

#define TUBA_TYPE_ENTITY (tuba_entity_get_type ())
#define TUBA_ENTITY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_TYPE_ENTITY, TubaEntity))
#define TUBA_ENTITY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_TYPE_ENTITY, TubaEntityClass))
#define TUBA_IS_ENTITY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_TYPE_ENTITY))
#define TUBA_IS_ENTITY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_TYPE_ENTITY))
#define TUBA_ENTITY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_TYPE_ENTITY, TubaEntityClass))

typedef struct _TubaEntity TubaEntity;
typedef struct _TubaEntityClass TubaEntityClass;

#define TUBA_API_TYPE_ACCOUNT (tuba_api_account_get_type ())
#define TUBA_API_ACCOUNT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_TYPE_ACCOUNT, TubaAPIAccount))
#define TUBA_API_ACCOUNT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_API_TYPE_ACCOUNT, TubaAPIAccountClass))
#define TUBA_API_IS_ACCOUNT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_TYPE_ACCOUNT))
#define TUBA_API_IS_ACCOUNT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_API_TYPE_ACCOUNT))
#define TUBA_API_ACCOUNT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_API_TYPE_ACCOUNT, TubaAPIAccountClass))

typedef struct _TubaAPIAccount TubaAPIAccount;
typedef struct _TubaAPIAccountClass TubaAPIAccountClass;

#define TUBA_TYPE_INSTANCE_ACCOUNT (tuba_instance_account_get_type ())
#define TUBA_INSTANCE_ACCOUNT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_TYPE_INSTANCE_ACCOUNT, TubaInstanceAccount))
#define TUBA_INSTANCE_ACCOUNT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_TYPE_INSTANCE_ACCOUNT, TubaInstanceAccountClass))
#define TUBA_IS_INSTANCE_ACCOUNT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_TYPE_INSTANCE_ACCOUNT))
#define TUBA_IS_INSTANCE_ACCOUNT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_TYPE_INSTANCE_ACCOUNT))
#define TUBA_INSTANCE_ACCOUNT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_TYPE_INSTANCE_ACCOUNT, TubaInstanceAccountClass))

typedef struct _TubaInstanceAccount TubaInstanceAccount;
typedef struct _TubaInstanceAccountClass TubaInstanceAccountClass;

#define TUBA_TYPE_OOPSIE (tuba_oopsie_get_type ())
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
typedef struct _TubaDialogsAdminReportOnActionData TubaDialogsAdminReportOnActionData;

#define TUBA_API_ADMIN_TYPE_REPORT (tuba_api_admin_report_get_type ())
#define TUBA_API_ADMIN_REPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_ADMIN_TYPE_REPORT, TubaAPIAdminReport))
#define TUBA_API_ADMIN_REPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_API_ADMIN_TYPE_REPORT, TubaAPIAdminReportClass))
#define TUBA_API_ADMIN_IS_REPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_ADMIN_TYPE_REPORT))
#define TUBA_API_ADMIN_IS_REPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_API_ADMIN_TYPE_REPORT))
#define TUBA_API_ADMIN_REPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_API_ADMIN_TYPE_REPORT, TubaAPIAdminReportClass))

typedef struct _TubaAPIAdminReport TubaAPIAdminReport;
typedef struct _TubaAPIAdminReportClass TubaAPIAdminReportClass;
typedef struct _Block38Data Block38Data;

#define TUBA_API_ADMIN_TYPE_ACCOUNT (tuba_api_admin_account_get_type ())
#define TUBA_API_ADMIN_ACCOUNT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_ADMIN_TYPE_ACCOUNT, TubaAPIAdminAccount))
#define TUBA_API_ADMIN_ACCOUNT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_API_ADMIN_TYPE_ACCOUNT, TubaAPIAdminAccountClass))
#define TUBA_API_ADMIN_IS_ACCOUNT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_ADMIN_TYPE_ACCOUNT))
#define TUBA_API_ADMIN_IS_ACCOUNT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_API_ADMIN_TYPE_ACCOUNT))
#define TUBA_API_ADMIN_ACCOUNT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_API_ADMIN_TYPE_ACCOUNT, TubaAPIAdminAccountClass))

typedef struct _TubaAPIAdminAccount TubaAPIAdminAccount;
typedef struct _TubaAPIAdminAccountClass TubaAPIAdminAccountClass;

#define TUBA_WIDGETS_TYPE_ACCOUNT (tuba_widgets_account_get_type ())
#define TUBA_WIDGETS_ACCOUNT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_WIDGETS_TYPE_ACCOUNT, TubaWidgetsAccount))
#define TUBA_WIDGETS_ACCOUNT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_WIDGETS_TYPE_ACCOUNT, TubaWidgetsAccountClass))
#define TUBA_WIDGETS_IS_ACCOUNT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_WIDGETS_TYPE_ACCOUNT))
#define TUBA_WIDGETS_IS_ACCOUNT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_WIDGETS_TYPE_ACCOUNT))
#define TUBA_WIDGETS_ACCOUNT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_WIDGETS_TYPE_ACCOUNT, TubaWidgetsAccountClass))

typedef struct _TubaWidgetsAccount TubaWidgetsAccount;
typedef struct _TubaWidgetsAccountClass TubaWidgetsAccountClass;

#define TUBA_TYPE_WIDGETIZABLE (tuba_widgetizable_get_type ())
#define TUBA_WIDGETIZABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_TYPE_WIDGETIZABLE, TubaWidgetizable))
#define TUBA_IS_WIDGETIZABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_TYPE_WIDGETIZABLE))
#define TUBA_WIDGETIZABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TUBA_TYPE_WIDGETIZABLE, TubaWidgetizableIface))

typedef struct _TubaWidgetizable TubaWidgetizable;
typedef struct _TubaWidgetizableIface TubaWidgetizableIface;
#define _g_date_time_unref0(var) ((var == NULL) ? NULL : (var = (g_date_time_unref (var), NULL)))
#define _g_time_zone_unref0(var) ((var == NULL) ? NULL : (var = (g_time_zone_unref (var), NULL)))
#define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL)))

#define TUBA_WIDGETS_ADMIN_TYPE_ASSIGNED_TO_ROW (tuba_widgets_admin_assigned_to_row_get_type ())
#define TUBA_WIDGETS_ADMIN_ASSIGNED_TO_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_WIDGETS_ADMIN_TYPE_ASSIGNED_TO_ROW, TubaWidgetsAdminAssignedToRow))
#define TUBA_WIDGETS_ADMIN_ASSIGNED_TO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_WIDGETS_ADMIN_TYPE_ASSIGNED_TO_ROW, TubaWidgetsAdminAssignedToRowClass))
#define TUBA_WIDGETS_ADMIN_IS_ASSIGNED_TO_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_WIDGETS_ADMIN_TYPE_ASSIGNED_TO_ROW))
#define TUBA_WIDGETS_ADMIN_IS_ASSIGNED_TO_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_WIDGETS_ADMIN_TYPE_ASSIGNED_TO_ROW))
#define TUBA_WIDGETS_ADMIN_ASSIGNED_TO_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_WIDGETS_ADMIN_TYPE_ASSIGNED_TO_ROW, TubaWidgetsAdminAssignedToRowClass))

typedef struct _TubaWidgetsAdminAssignedToRow TubaWidgetsAdminAssignedToRow;
typedef struct _TubaWidgetsAdminAssignedToRowClass TubaWidgetsAdminAssignedToRowClass;
typedef enum  {
	TUBA_API_ADMIN_REPORT_CATEGORY_SPAM,
	TUBA_API_ADMIN_REPORT_CATEGORY_VIOLATION,
	TUBA_API_ADMIN_REPORT_CATEGORY_LEGAL,
	TUBA_API_ADMIN_REPORT_CATEGORY_OTHER
} TubaAPIAdminReportCategory;

#define TUBA_API_ADMIN_REPORT_TYPE_CATEGORY (tuba_api_admin_report_category_get_type ())

#define TUBA_API_TYPE_INSTANCE (tuba_api_instance_get_type ())
#define TUBA_API_INSTANCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_TYPE_INSTANCE, TubaAPIInstance))
#define TUBA_API_INSTANCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_API_TYPE_INSTANCE, TubaAPIInstanceClass))
#define TUBA_API_IS_INSTANCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_TYPE_INSTANCE))
#define TUBA_API_IS_INSTANCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_API_TYPE_INSTANCE))
#define TUBA_API_INSTANCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_API_TYPE_INSTANCE, TubaAPIInstanceClass))

typedef struct _TubaAPIInstance TubaAPIInstance;
typedef struct _TubaAPIInstanceClass TubaAPIInstanceClass;

#define TUBA_API_INSTANCE_TYPE_RULE (tuba_api_instance_rule_get_type ())
#define TUBA_API_INSTANCE_RULE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_INSTANCE_TYPE_RULE, TubaAPIInstanceRule))
#define TUBA_API_INSTANCE_RULE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_API_INSTANCE_TYPE_RULE, TubaAPIInstanceRuleClass))
#define TUBA_API_INSTANCE_IS_RULE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_INSTANCE_TYPE_RULE))
#define TUBA_API_INSTANCE_IS_RULE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_API_INSTANCE_TYPE_RULE))
#define TUBA_API_INSTANCE_RULE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_API_INSTANCE_TYPE_RULE, TubaAPIInstanceRuleClass))

typedef struct _TubaAPIInstanceRule TubaAPIInstanceRule;
typedef struct _TubaAPIInstanceRuleClass TubaAPIInstanceRuleClass;

#define TUBA_API_TYPE_STATUS (tuba_api_status_get_type ())
#define TUBA_API_STATUS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_TYPE_STATUS, TubaAPIStatus))
#define TUBA_API_STATUS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_API_TYPE_STATUS, TubaAPIStatusClass))
#define TUBA_API_IS_STATUS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_TYPE_STATUS))
#define TUBA_API_IS_STATUS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_API_TYPE_STATUS))
#define TUBA_API_STATUS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_API_TYPE_STATUS, TubaAPIStatusClass))

typedef struct _TubaAPIStatus TubaAPIStatus;
typedef struct _TubaAPIStatusClass TubaAPIStatusClass;

#define TUBA_API_FILTERS_TYPE_FILTER_RESULT (tuba_api_filters_filter_result_get_type ())
#define TUBA_API_FILTERS_FILTER_RESULT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_FILTERS_TYPE_FILTER_RESULT, TubaAPIFiltersFilterResult))
#define TUBA_API_FILTERS_FILTER_RESULT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_API_FILTERS_TYPE_FILTER_RESULT, TubaAPIFiltersFilterResultClass))
#define TUBA_API_FILTERS_IS_FILTER_RESULT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_FILTERS_TYPE_FILTER_RESULT))
#define TUBA_API_FILTERS_IS_FILTER_RESULT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_API_FILTERS_TYPE_FILTER_RESULT))
#define TUBA_API_FILTERS_FILTER_RESULT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_API_FILTERS_TYPE_FILTER_RESULT, TubaAPIFiltersFilterResultClass))

typedef struct _TubaAPIFiltersFilterResult TubaAPIFiltersFilterResult;
typedef struct _TubaAPIFiltersFilterResultClass TubaAPIFiltersFilterResultClass;

#define TUBA_API_TYPE_ATTACHMENT (tuba_api_attachment_get_type ())
#define TUBA_API_ATTACHMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_TYPE_ATTACHMENT, TubaAPIAttachment))
#define TUBA_API_ATTACHMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_API_TYPE_ATTACHMENT, TubaAPIAttachmentClass))
#define TUBA_API_IS_ATTACHMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_TYPE_ATTACHMENT))
#define TUBA_API_IS_ATTACHMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_API_TYPE_ATTACHMENT))
#define TUBA_API_ATTACHMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_API_TYPE_ATTACHMENT, TubaAPIAttachmentClass))

typedef struct _TubaAPIAttachment TubaAPIAttachment;
typedef struct _TubaAPIAttachmentClass TubaAPIAttachmentClass;

#define TUBA_WIDGETS_TYPE_STATUS (tuba_widgets_status_get_type ())
#define TUBA_WIDGETS_STATUS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_WIDGETS_TYPE_STATUS, TubaWidgetsStatus))
#define TUBA_WIDGETS_STATUS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_WIDGETS_TYPE_STATUS, TubaWidgetsStatusClass))
#define TUBA_WIDGETS_IS_STATUS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_WIDGETS_TYPE_STATUS))
#define TUBA_WIDGETS_IS_STATUS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_WIDGETS_TYPE_STATUS))
#define TUBA_WIDGETS_STATUS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_WIDGETS_TYPE_STATUS, TubaWidgetsStatusClass))

typedef struct _TubaWidgetsStatus TubaWidgetsStatus;
typedef struct _TubaWidgetsStatusClass TubaWidgetsStatusClass;
typedef struct _TubaWidgetsStatusPrivate TubaWidgetsStatusPrivate;
typedef void (*TubaDialogsComposerDialogSuccessCallback) (TubaAPIStatus* cb_status, gpointer user_data);

#define TUBA_WIDGETS_TYPE_RICH_LABEL (tuba_widgets_rich_label_get_type ())
#define TUBA_WIDGETS_RICH_LABEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_WIDGETS_TYPE_RICH_LABEL, TubaWidgetsRichLabel))
#define TUBA_WIDGETS_RICH_LABEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_WIDGETS_TYPE_RICH_LABEL, TubaWidgetsRichLabelClass))
#define TUBA_WIDGETS_IS_RICH_LABEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_WIDGETS_TYPE_RICH_LABEL))
#define TUBA_WIDGETS_IS_RICH_LABEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_WIDGETS_TYPE_RICH_LABEL))
#define TUBA_WIDGETS_RICH_LABEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_WIDGETS_TYPE_RICH_LABEL, TubaWidgetsRichLabelClass))

typedef struct _TubaWidgetsRichLabel TubaWidgetsRichLabel;
typedef struct _TubaWidgetsRichLabelClass TubaWidgetsRichLabelClass;

#define TUBA_WIDGETS_TYPE_AVATAR (tuba_widgets_avatar_get_type ())
#define TUBA_WIDGETS_AVATAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_WIDGETS_TYPE_AVATAR, TubaWidgetsAvatar))
#define TUBA_WIDGETS_AVATAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_WIDGETS_TYPE_AVATAR, TubaWidgetsAvatarClass))
#define TUBA_WIDGETS_IS_AVATAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_WIDGETS_TYPE_AVATAR))
#define TUBA_WIDGETS_IS_AVATAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_WIDGETS_TYPE_AVATAR))
#define TUBA_WIDGETS_AVATAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_WIDGETS_TYPE_AVATAR, TubaWidgetsAvatarClass))

typedef struct _TubaWidgetsAvatar TubaWidgetsAvatar;
typedef struct _TubaWidgetsAvatarClass TubaWidgetsAvatarClass;

#define TUBA_WIDGETS_TYPE_MARKUP_VIEW (tuba_widgets_markup_view_get_type ())
#define TUBA_WIDGETS_MARKUP_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_WIDGETS_TYPE_MARKUP_VIEW, TubaWidgetsMarkupView))
#define TUBA_WIDGETS_MARKUP_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_WIDGETS_TYPE_MARKUP_VIEW, TubaWidgetsMarkupViewClass))
#define TUBA_WIDGETS_IS_MARKUP_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_WIDGETS_TYPE_MARKUP_VIEW))
#define TUBA_WIDGETS_IS_MARKUP_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_WIDGETS_TYPE_MARKUP_VIEW))
#define TUBA_WIDGETS_MARKUP_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_WIDGETS_TYPE_MARKUP_VIEW, TubaWidgetsMarkupViewClass))

typedef struct _TubaWidgetsMarkupView TubaWidgetsMarkupView;
typedef struct _TubaWidgetsMarkupViewClass TubaWidgetsMarkupViewClass;

#define TUBA_WIDGETS_TYPE_FADE_BIN (tuba_widgets_fade_bin_get_type ())
#define TUBA_WIDGETS_FADE_BIN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_WIDGETS_TYPE_FADE_BIN, TubaWidgetsFadeBin))
#define TUBA_WIDGETS_FADE_BIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_WIDGETS_TYPE_FADE_BIN, TubaWidgetsFadeBinClass))
#define TUBA_WIDGETS_IS_FADE_BIN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_WIDGETS_TYPE_FADE_BIN))
#define TUBA_WIDGETS_IS_FADE_BIN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_WIDGETS_TYPE_FADE_BIN))
#define TUBA_WIDGETS_FADE_BIN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_WIDGETS_TYPE_FADE_BIN, TubaWidgetsFadeBinClass))

typedef struct _TubaWidgetsFadeBin TubaWidgetsFadeBin;
typedef struct _TubaWidgetsFadeBinClass TubaWidgetsFadeBinClass;

#define TUBA_WIDGETS_TYPE_PREVIEW_CARD (tuba_widgets_preview_card_get_type ())
#define TUBA_WIDGETS_PREVIEW_CARD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_WIDGETS_TYPE_PREVIEW_CARD, TubaWidgetsPreviewCard))
#define TUBA_WIDGETS_PREVIEW_CARD_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_WIDGETS_TYPE_PREVIEW_CARD, TubaWidgetsPreviewCardClass))
#define TUBA_WIDGETS_IS_PREVIEW_CARD(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_WIDGETS_TYPE_PREVIEW_CARD))
#define TUBA_WIDGETS_IS_PREVIEW_CARD_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_WIDGETS_TYPE_PREVIEW_CARD))
#define TUBA_WIDGETS_PREVIEW_CARD_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_WIDGETS_TYPE_PREVIEW_CARD, TubaWidgetsPreviewCardClass))

typedef struct _TubaWidgetsPreviewCard TubaWidgetsPreviewCard;
typedef struct _TubaWidgetsPreviewCardClass TubaWidgetsPreviewCardClass;

#define TUBA_WIDGETS_TYPE_VOTE_BOX (tuba_widgets_vote_box_get_type ())
#define TUBA_WIDGETS_VOTE_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_WIDGETS_TYPE_VOTE_BOX, TubaWidgetsVoteBox))
#define TUBA_WIDGETS_VOTE_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_WIDGETS_TYPE_VOTE_BOX, TubaWidgetsVoteBoxClass))
#define TUBA_WIDGETS_IS_VOTE_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_WIDGETS_TYPE_VOTE_BOX))
#define TUBA_WIDGETS_IS_VOTE_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_WIDGETS_TYPE_VOTE_BOX))
#define TUBA_WIDGETS_VOTE_BOX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_WIDGETS_TYPE_VOTE_BOX, TubaWidgetsVoteBoxClass))

typedef struct _TubaWidgetsVoteBox TubaWidgetsVoteBox;
typedef struct _TubaWidgetsVoteBoxClass TubaWidgetsVoteBoxClass;
typedef struct _Block39Data Block39Data;
typedef struct _TubaDialogsAdminReportUpdateReportAsyncData TubaDialogsAdminReportUpdateReportAsyncData;
typedef struct _TubaDialogsAdminReportUpdateReportActualData TubaDialogsAdminReportUpdateReportActualData;

#define TUBA_DIALOGS_ADMIN_TYPE_TAKE_ACTION (tuba_dialogs_admin_take_action_get_type ())
#define TUBA_DIALOGS_ADMIN_TAKE_ACTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_DIALOGS_ADMIN_TYPE_TAKE_ACTION, TubaDialogsAdminTakeAction))
#define TUBA_DIALOGS_ADMIN_TAKE_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_DIALOGS_ADMIN_TYPE_TAKE_ACTION, TubaDialogsAdminTakeActionClass))
#define TUBA_DIALOGS_ADMIN_IS_TAKE_ACTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_DIALOGS_ADMIN_TYPE_TAKE_ACTION))
#define TUBA_DIALOGS_ADMIN_IS_TAKE_ACTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_DIALOGS_ADMIN_TYPE_TAKE_ACTION))
#define TUBA_DIALOGS_ADMIN_TAKE_ACTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_DIALOGS_ADMIN_TYPE_TAKE_ACTION, TubaDialogsAdminTakeActionClass))

typedef struct _TubaDialogsAdminTakeAction TubaDialogsAdminTakeAction;
typedef struct _TubaDialogsAdminTakeActionClass TubaDialogsAdminTakeActionClass;
enum  {
	TUBA_DIALOGS_ADMIN_REPORT_REFRESH_SIGNAL,
	TUBA_DIALOGS_ADMIN_REPORT_NUM_SIGNALS
};
static guint tuba_dialogs_admin_report_signals[TUBA_DIALOGS_ADMIN_REPORT_NUM_SIGNALS] = {0};

struct _TubaDialogsAdminBase {
	AdwDialog parent_instance;
	TubaDialogsAdminBasePrivate * priv;
};

struct _TubaDialogsAdminBaseClass {
	AdwDialogClass parent_class;
};

struct _TubaDialogsAdminReport {
	TubaDialogsAdminBase parent_instance;
	TubaDialogsAdminReportPrivate * priv;
};

struct _TubaDialogsAdminReportClass {
	TubaDialogsAdminBaseClass parent_class;
};

struct _TubaDialogsAdminReportPrivate {
	AdwPreferencesGroup* profile_group;
	GtkButton* take_action_button;
	GtkButton* resolve_button;
	gchar* report_id;
	gchar* account_id;
	gchar* account_handle;
	GtkCheckButton* rule_other;
	GtkCheckButton* rule_legal;
	GtkCheckButton* rule_violation;
	GtkCheckButton* rule_spam;
	AdwPreferencesGroup* rules_group;
	AdwActionRow* rule_other_row;
	AdwActionRow* rule_legal_row;
	AdwActionRow* rule_violation_row;
	AdwActionRow* rule_spam_row;
	GeeHashMap* rules_buttons;
	gboolean should_refresh;
};

typedef enum  {
	TUBA_OOPSIE_USER,
	TUBA_OOPSIE_PARSING,
	TUBA_OOPSIE_INSTANCE,
	TUBA_OOPSIE_INTERNAL,
	TUBA_OOPSIE_HTTP_401 = 401,
	TUBA_OOPSIE_HTTP_403 = 403,
	TUBA_OOPSIE_HTTP_404 = 404,
	TUBA_OOPSIE_HTTP_410 = 410,
	TUBA_OOPSIE_HTTP_422 = 422,
	TUBA_OOPSIE_HTTP_429 = 429,
	TUBA_OOPSIE_HTTP_500 = 500,
	TUBA_OOPSIE_HTTP_503 = 503
} TubaOopsie;
#define TUBA_OOPSIE tuba_oopsie_quark ()

struct _TubaDialogsAdminReportOnActionData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	TubaDialogsAdminReport* self;
	gchar* title;
	gchar* suggested_label;
	gchar* endpoint;
	AdwAlertDialog* dlg;
	AdwAlertDialog* _tmp0_;
	AdwAlertDialog* _tmp1_;
	AdwAlertDialog* _tmp2_;
	AdwAlertDialog* _tmp3_;
	AdwAlertDialog* _tmp4_;
	AdwAlertDialog* _tmp5_;
	const gchar* _tmp6_;
	GtkButton* _tmp7_;
	TubaRequestV2* req;
	const gchar* _tmp8_;
	const gchar* _tmp9_;
	const gchar* _tmp10_;
	gchar* _tmp11_;
	gchar* _tmp12_;
	TubaAccountStore* _tmp13_;
	TubaInstanceAccount* _tmp14_;
	TubaInstanceAccount* _tmp15_;
	TubaInstanceAccount* _tmp16_;
	TubaRequestV2* _tmp17_;
	TubaRequestV2* _tmp18_;
	TubaRequestV2* _tmp19_;
	GInputStream* _tmp20_;
	GInputStream* _tmp21_;
	GError* e;
	const gchar* _tmp22_;
	const gchar* _tmp23_;
	const gchar* _tmp24_;
	GError* _tmp25_;
	const gchar* _tmp26_;
	const gchar* _tmp27_;
	GError* _tmp28_;
	gchar* _tmp29_;
	gchar* _tmp30_;
	gchar* _tmp31_;
	gchar* _tmp32_;
	GError* _tmp33_;
	const gchar* _tmp34_;
	const gchar* _tmp35_;
	GError* _tmp36_;
	gchar* _tmp37_;
	gchar* _tmp38_;
	gchar* _tmp39_;
	gchar* _tmp40_;
	GtkButton* _tmp41_;
	GError* _inner_error0_;
};

struct _Block38Data {
	int _ref_count_;
	TubaDialogsAdminReport* self;
	AdwPreferencesGroup* status_group;
};

struct _TubaWidgetizableIface {
	GTypeInterface parent_iface;
	GtkWidget* (*to_widget) (TubaWidgetizable* self);
	void (*open) (TubaWidgetizable* self);
	void (*resolve_open) (TubaWidgetizable* self, TubaInstanceAccount* account);
};

struct _TubaWidgetsStatus {
	GtkListBoxRow parent_instance;
	TubaWidgetsStatusPrivate * priv;
	TubaDialogsComposerDialogSuccessCallback reply_cb;
	gpointer reply_cb_target;
	GDestroyNotify reply_cb_target_destroy_notify;
	GtkBox* status_box;
	GtkBox* avatar_side;
	GtkBox* title_box;
	GtkBox* content_side;
	AdwWrapBox* name_wrapbox;
	GtkMenuButton* menu_button;
	GtkImage* header_icon;
	TubaWidgetsRichLabel* header_label;
	GtkButton* header_button;
	TubaWidgetsAvatar* avatar;
	GtkOverlay* avatar_overlay;
	GtkButton* name_button;
	TubaWidgetsRichLabel* name_label;
	GtkLabel* handle_label;
	GtkBox* indicators;
	GtkLabel* date_label;
	GtkImage* pin_indicator;
	GtkImage* edited_indicator;
	GtkImage* visibility_indicator;
	GtkBox* content_column;
	GtkStack* spoiler_stack;
	GtkBox* content_box;
	TubaWidgetsMarkupView* content;
	GtkButton* spoiler_button;
	GtkLabel* spoiler_label;
	GtkLabel* spoiler_label_rev;
	GtkBox* spoiler_status_con;
	TubaWidgetsFadeBin* fade_bin;
	GtkStack* filter_stack;
	GtkLabel* filter_label;
	GtkLabel* filter_author_label;
	TubaWidgetsPreviewCard* prev_card;
	TubaWidgetsVoteBox* poll;
};

struct _TubaWidgetsStatusClass {
	GtkListBoxRowClass parent_class;
	void (*on_open) (TubaWidgetsStatus* self);
	void (*change_kind) (TubaWidgetsStatus* self);
	void (*bind) (TubaWidgetsStatus* self);
};

struct _Block39Data {
	int _ref_count_;
	TubaDialogsAdminReport* self;
	gchar** rule_ids;
	gint rule_ids_length1;
	gint _rule_ids_size_;
	gpointer _async_data_;
};

struct _TubaDialogsAdminReportUpdateReportAsyncData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	TubaDialogsAdminReport* self;
	Block39Data* _data39_;
	gchar** _tmp0_;
	gchar* category;
	gboolean _tmp1_;
	GtkCheckButton* _tmp2_;
	gboolean _tmp3_;
	gboolean _tmp4_;
	AdwPreferencesGroup* _tmp5_;
	gboolean _tmp6_;
	gboolean _tmp7_;
	gchar* _tmp8_;
	gchar* _tmp9_;
	gchar** _tmp10_;
	gint _tmp10__length1;
	GtkCheckButton* _tmp11_;
	gboolean _tmp12_;
	gboolean _tmp13_;
	GeeHashMap* _tmp14_;
	gchar* _tmp15_;
	AdwPreferencesGroup* _tmp16_;
	GtkCheckButton* _tmp17_;
	gboolean _tmp18_;
	gboolean _tmp19_;
	gchar* _tmp20_;
	AdwPreferencesGroup* _tmp21_;
	GtkCheckButton* _tmp22_;
	gboolean _tmp23_;
	gboolean _tmp24_;
	gchar* _tmp25_;
	AdwPreferencesGroup* _tmp26_;
	GtkCheckButton* _tmp27_;
	gboolean _tmp28_;
	gboolean _tmp29_;
	gchar* _tmp30_;
	AdwPreferencesGroup* _tmp31_;
	const gchar* _tmp32_;
	const gchar* _tmp33_;
	gchar** _tmp34_;
	gint _tmp34__length1;
};

struct _TubaDialogsAdminReportUpdateReportActualData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	TubaDialogsAdminReport* self;
	gchar* category;
	gchar** rule_ids;
	gint rule_ids_length1;
	JsonBuilder* builder;
	JsonBuilder* _tmp0_;
	JsonBuilder* _tmp1_;
	JsonBuilder* _tmp2_;
	JsonBuilder* _tmp3_;
	JsonBuilder* _tmp4_;
	JsonBuilder* _tmp5_;
	gchar** rule_id_collection;
	gint rule_id_collection_length1;
	gint _rule_id_collection_size_;
	gint rule_id_it;
	gchar* _tmp6_;
	gchar* rule_id;
	JsonBuilder* _tmp7_;
	const gchar* _tmp8_;
	JsonBuilder* _tmp9_;
	JsonBuilder* _tmp10_;
	TubaRequestV2* req;
	const gchar* _tmp11_;
	const gchar* _tmp12_;
	gchar* _tmp13_;
	gchar* _tmp14_;
	TubaAccountStore* _tmp15_;
	TubaInstanceAccount* _tmp16_;
	TubaInstanceAccount* _tmp17_;
	TubaInstanceAccount* _tmp18_;
	TubaRequestV2* _tmp19_;
	TubaRequestV2* _tmp20_;
	JsonBuilder* _tmp21_;
	GInputStream* _tmp22_;
	GInputStream* _tmp23_;
	GError* e;
	const gchar* _tmp24_;
	const gchar* _tmp25_;
	GError* _tmp26_;
	gchar* _tmp27_;
	gchar* _tmp28_;
	GError* _tmp29_;
	const gchar* _tmp30_;
	const gchar* _tmp31_;
	gchar* _tmp32_;
	gchar* _tmp33_;
	GError* _tmp34_;
	const gchar* _tmp35_;
	const gchar* _tmp36_;
	GError* _tmp37_;
	gchar* _tmp38_;
	gchar* _tmp39_;
	gchar* _tmp40_;
	gchar* _tmp41_;
	GtkButton* _tmp42_;
	GError* _inner_error0_;
};

static gint TubaDialogsAdminReport_private_offset;
static gpointer tuba_dialogs_admin_report_parent_class = NULL;
VALA_EXTERN TubaAccountStore* tuba_accounts;

VALA_EXTERN GType tuba_dialogs_admin_base_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaDialogsAdminBase, g_object_unref)
VALA_EXTERN GType tuba_dialogs_admin_report_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaDialogsAdminReport, g_object_unref)
static void tuba_dialogs_admin_report_on_action_data_free (gpointer _data);
static void tuba_dialogs_admin_report_on_action (TubaDialogsAdminReport* self,
                                          const gchar* title,
                                          const gchar* suggested_label,
                                          const gchar* endpoint,
                                          GAsyncReadyCallback _callback_,
                                          gpointer _user_data_);
static void tuba_dialogs_admin_report_on_action_finish (TubaDialogsAdminReport* self,
                                                 GAsyncResult* _res_);
static gboolean tuba_dialogs_admin_report_on_action_co (TubaDialogsAdminReportOnActionData* _data_);
static void tuba_dialogs_admin_report_on_action_ready (GObject* source_object,
                                                GAsyncResult* _res_,
                                                gpointer _user_data_);
VALA_EXTERN GType tuba_request_v2_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaRequestV2, g_object_unref)
VALA_EXTERN GType tuba_request_v2_method_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType tuba_account_store_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAccountStore, g_object_unref)
VALA_EXTERN GType tuba_entity_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaEntity, g_object_unref)
VALA_EXTERN GType tuba_api_account_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPIAccount, g_object_unref)
VALA_EXTERN GType tuba_instance_account_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaInstanceAccount, g_object_unref)
VALA_EXTERN TubaInstanceAccount* tuba_account_store_get_active (TubaAccountStore* self);
VALA_EXTERN TubaRequestV2* tuba_request_v2_new (const gchar* url,
                                    TubaRequestV2Method method);
VALA_EXTERN TubaRequestV2* tuba_request_v2_construct (GType object_type,
                                          const gchar* url,
                                          TubaRequestV2Method method);
VALA_EXTERN void tuba_request_v2_set_account (TubaRequestV2* self,
                                  TubaInstanceAccount* value);
VALA_EXTERN void tuba_request_v2_exec (TubaRequestV2* self,
                           GAsyncReadyCallback _callback_,
                           gpointer _user_data_);
VALA_EXTERN GQuark tuba_oopsie_quark (void);
VALA_EXTERN GType tuba_oopsie_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GInputStream* tuba_request_v2_exec_finish (TubaRequestV2* self,
                                           GAsyncResult* _res_,
                                           SoupMessageHeaders** response_headers,
                                           GError** error);
static void tuba_dialogs_admin_report_on_close (TubaDialogsAdminReport* self);
VALA_EXTERN void tuba_dialogs_admin_base_add_toast (TubaDialogsAdminBase* self,
                                        const gchar* content);
static void tuba_dialogs_admin_report_on_resolve (TubaDialogsAdminReport* self);
static void tuba_dialogs_admin_report_on_reopen (TubaDialogsAdminReport* self);
static void tuba_dialogs_admin_report_on_assign_row_error (TubaDialogsAdminReport* self,
                                                    const gchar* content);
VALA_EXTERN GType tuba_api_admin_report_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPIAdminReport, g_object_unref)
VALA_EXTERN TubaDialogsAdminReport* tuba_dialogs_admin_report_new (TubaAPIAdminReport* report);
VALA_EXTERN TubaDialogsAdminReport* tuba_dialogs_admin_report_construct (GType object_type,
                                                             TubaAPIAdminReport* report);
static Block38Data* block38_data_ref (Block38Data* _data38_);
static void block38_data_unref (void * _userdata_);
VALA_EXTERN TubaDialogsAdminBase* tuba_dialogs_admin_base_new (void);
VALA_EXTERN TubaDialogsAdminBase* tuba_dialogs_admin_base_construct (GType object_type);
VALA_EXTERN const gchar* tuba_api_admin_report_get_id (TubaAPIAdminReport* self);
VALA_EXTERN GType tuba_api_admin_account_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPIAdminAccount, g_object_unref)
VALA_EXTERN TubaAPIAdminAccount* tuba_api_admin_report_get_target_account (TubaAPIAdminReport* self);
VALA_EXTERN TubaAPIAccount* tuba_api_admin_account_get_account (TubaAPIAdminAccount* self);
VALA_EXTERN const gchar* tuba_api_account_get_id (TubaAPIAccount* self);
VALA_EXTERN gchar* tuba_api_account_get_full_handle (TubaAPIAccount* self);
VALA_EXTERN gboolean tuba_api_admin_report_get_action_taken (TubaAPIAdminReport* self);
static void tuba_dialogs_admin_report_show_take_action_dialog (TubaDialogsAdminReport* self);
static void _tuba_dialogs_admin_report_show_take_action_dialog_gtk_button_clicked (GtkButton* _sender,
                                                                            gpointer self);
static void _tuba_dialogs_admin_report_on_reopen_gtk_button_clicked (GtkButton* _sender,
                                                              gpointer self);
static void _tuba_dialogs_admin_report_on_resolve_gtk_button_clicked (GtkButton* _sender,
                                                               gpointer self);
VALA_EXTERN AdwHeaderBar* tuba_dialogs_admin_base_get_headerbar (TubaDialogsAdminBase* self);
VALA_EXTERN GType tuba_widgets_account_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaWidgetsAccount, g_object_unref)
VALA_EXTERN GType tuba_widgetizable_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaWidgetizable, g_object_unref)
VALA_EXTERN GtkWidget* tuba_widgetizable_to_widget (TubaWidgetizable* self);
VALA_EXTERN void tuba_widgets_account_set_disable_profile_open (TubaWidgetsAccount* self,
                                                    gboolean value);
VALA_EXTERN const gchar* tuba_api_account_get_created_at (TubaAPIAccount* self);
VALA_EXTERN const gchar* tuba_api_admin_report_get_created_at (TubaAPIAdminReport* self);
VALA_EXTERN TubaAPIAdminAccount* tuba_api_admin_report_get_account (TubaAPIAdminReport* self);
VALA_EXTERN gboolean tuba_api_admin_report_get_forwarded (TubaAPIAdminReport* self);
VALA_EXTERN TubaAPIAdminAccount* tuba_api_admin_report_get_action_taken_by_account (TubaAPIAdminReport* self);
VALA_EXTERN GType tuba_widgets_admin_assigned_to_row_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaWidgetsAdminAssignedToRow, g_object_unref)
VALA_EXTERN TubaAPIAdminAccount* tuba_api_admin_report_get_assigned_account (TubaAPIAdminReport* self);
VALA_EXTERN TubaWidgetsAdminAssignedToRow* tuba_widgets_admin_assigned_to_row_new (const gchar* report_id,
                                                                       TubaAPIAdminAccount* assigned_account);
VALA_EXTERN TubaWidgetsAdminAssignedToRow* tuba_widgets_admin_assigned_to_row_construct (GType object_type,
                                                                             const gchar* report_id,
                                                                             TubaAPIAdminAccount* assigned_account);
static void _tuba_dialogs_admin_report_on_assign_row_error_tuba_widgets_admin_assigned_to_row_on_error (TubaWidgetsAdminAssignedToRow* _sender,
                                                                                                 const gchar* error_message,
                                                                                                 gpointer self);
static void tuba_dialogs_admin_report_mark_for_refresh (TubaDialogsAdminReport* self);
static void _tuba_dialogs_admin_report_mark_for_refresh_tuba_widgets_admin_assigned_to_row_assignment_changed (TubaWidgetsAdminAssignedToRow* _sender,
                                                                                                        const gchar* new_handle,
                                                                                                        gpointer self);
VALA_EXTERN GType tuba_api_admin_report_category_get_type (void) G_GNUC_CONST ;
VALA_EXTERN TubaAPIAdminReportCategory tuba_api_admin_report_category_from_string (const gchar* cat);
VALA_EXTERN const gchar* tuba_api_admin_report_get_category (TubaAPIAdminReport* self);
static void tuba_dialogs_admin_report_update_report (TubaDialogsAdminReport* self);
static void _tuba_dialogs_admin_report_update_report_gtk_check_button_toggled (GtkCheckButton* _sender,
                                                                        gpointer self);
VALA_EXTERN gchar* tuba_api_admin_report_category_to_string (TubaAPIAdminReportCategory self);
VALA_EXTERN GType tuba_api_instance_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPIInstance, g_object_unref)
VALA_EXTERN TubaAPIInstance* tuba_instance_account_get_instance_info (TubaInstanceAccount* self);
VALA_EXTERN GType tuba_api_instance_rule_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPIInstanceRule, g_object_unref)
VALA_EXTERN GeeArrayList* tuba_api_instance_get_rules (TubaAPIInstance* self);
VALA_EXTERN GeeArrayList* tuba_api_admin_report_get_rules (TubaAPIAdminReport* self);
VALA_EXTERN const gchar* tuba_api_instance_rule_get_id (TubaAPIInstanceRule* self);
static void _vala_array_add38 (gchar** * array,
                        gint* length,
                        gint* size,
                        gchar* value);
static gboolean _vala_string_array_contains (gchar* * stack,
                                      gssize stack_length,
                                      const gchar* needle);
VALA_EXTERN const gchar* tuba_api_instance_rule_get_text (TubaAPIInstanceRule* self);
VALA_EXTERN GType tuba_api_status_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPIStatus, g_object_unref)
VALA_EXTERN GeeArrayList* tuba_api_admin_report_get_statuses (TubaAPIAdminReport* self);
static gboolean __lambda111_ (Block38Data* _data38_,
                       TubaAPIStatus* status);
VALA_EXTERN TubaAPIStatus* tuba_api_status_get_formal (TubaAPIStatus* self);
VALA_EXTERN GType tuba_api_filters_filter_result_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPIFiltersFilterResult, g_object_unref)
VALA_EXTERN void tuba_api_status_set_filtered (TubaAPIStatus* self,
                                   GeeArrayList* value);
VALA_EXTERN void tuba_api_status_set_tuba_spoiler_revealed (TubaAPIStatus* self,
                                                gboolean value);
VALA_EXTERN gboolean tuba_api_status_get_has_media (TubaAPIStatus* self);
VALA_EXTERN GType tuba_api_attachment_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPIAttachment, g_object_unref)
VALA_EXTERN GeeArrayList* tuba_api_status_get_media_attachments (TubaAPIStatus* self);
static gboolean ___lambda112_ (TubaDialogsAdminReport* self,
                        TubaAPIAttachment* e);
VALA_EXTERN void tuba_api_attachment_set_tuba_is_report (TubaAPIAttachment* self,
                                             gboolean value);
static gboolean ____lambda112__gee_forall_func (gpointer g,
                                         gpointer self);
VALA_EXTERN GType tuba_widgets_status_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaWidgetsStatus, g_object_unref)
VALA_EXTERN void tuba_widgets_status_toggle_actions_visibility (TubaWidgetsStatus* self,
                                                    gboolean visible);
VALA_EXTERN GType tuba_widgets_rich_label_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaWidgetsRichLabel, g_object_unref)
VALA_EXTERN GType tuba_widgets_avatar_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaWidgetsAvatar, g_object_unref)
VALA_EXTERN GType tuba_widgets_markup_view_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaWidgetsMarkupView, g_object_unref)
VALA_EXTERN GType tuba_widgets_fade_bin_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaWidgetsFadeBin, g_object_unref)
VALA_EXTERN GType tuba_widgets_preview_card_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaWidgetsPreviewCard, g_object_unref)
VALA_EXTERN GType tuba_widgets_vote_box_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaWidgetsVoteBox, g_object_unref)
static gboolean ___lambda111__gee_forall_func (gpointer g,
                                        gpointer self);
VALA_EXTERN AdwPreferencesPage* tuba_dialogs_admin_base_get_page (TubaDialogsAdminBase* self);
static void tuba_dialogs_admin_report_update_report_async (TubaDialogsAdminReport* self,
                                                    GAsyncReadyCallback _callback_,
                                                    gpointer _user_data_);
static void tuba_dialogs_admin_report_update_report_finish (TubaDialogsAdminReport* self,
                                                     GAsyncResult* _res_);
static void tuba_dialogs_admin_report_update_report_async_data_free (gpointer _data);
static gboolean tuba_dialogs_admin_report_update_report_async_co (TubaDialogsAdminReportUpdateReportAsyncData* _data_);
static Block39Data* block39_data_ref (Block39Data* _data39_);
static void block39_data_unref (void * _userdata_);
static void tuba_dialogs_admin_report_update_report_actual (TubaDialogsAdminReport* self,
                                                     const gchar* category,
                                                     gchar** rule_ids,
                                                     gint rule_ids_length1,
                                                     GAsyncReadyCallback _callback_,
                                                     gpointer _user_data_);
static void tuba_dialogs_admin_report_update_report_actual_finish (TubaDialogsAdminReport* self,
                                                            GAsyncResult* _res_);
VALA_EXTERN gchar* tuba_api_admin_report_category_to_api_string (TubaAPIAdminReportCategory self);
static void tuba_dialogs_admin_report_update_report_async_ready (GObject* source_object,
                                                          GAsyncResult* _res_,
                                                          gpointer _user_data_);
static gboolean ___lambda110_ (Block39Data* _data39_,
                        GeeMapEntry* e);
static void _vala_array_add39 (gchar** * array,
                        gint* length,
                        gint* size,
                        gchar* value);
static gboolean ____lambda110__gee_forall_func (gpointer g,
                                         gpointer self);
static void tuba_dialogs_admin_report_update_report_actual_data_free (gpointer _data);
static gboolean tuba_dialogs_admin_report_update_report_actual_co (TubaDialogsAdminReportUpdateReportActualData* _data_);
VALA_EXTERN void tuba_request_v2_set_body_from_json (TubaRequestV2* self,
                                         JsonBuilder* json_builder);
static void tuba_dialogs_admin_report_update_report_actual_ready (GObject* source_object,
                                                           GAsyncResult* _res_,
                                                           gpointer _user_data_);
VALA_EXTERN GType tuba_dialogs_admin_take_action_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaDialogsAdminTakeAction, g_object_unref)
VALA_EXTERN TubaDialogsAdminTakeAction* tuba_dialogs_admin_take_action_new (const gchar* account_id,
                                                                const gchar* account_handle,
                                                                const gchar* report_id);
VALA_EXTERN TubaDialogsAdminTakeAction* tuba_dialogs_admin_take_action_construct (GType object_type,
                                                                      const gchar* account_id,
                                                                      const gchar* account_handle,
                                                                      const gchar* report_id);
static void tuba_dialogs_admin_report_on_took_action (TubaDialogsAdminReport* self);
static void _tuba_dialogs_admin_report_on_took_action_tuba_dialogs_admin_take_action_took_action (TubaDialogsAdminTakeAction* _sender,
                                                                                           gpointer self);
static GObject * tuba_dialogs_admin_report_constructor (GType type,
                                                 guint n_construct_properties,
                                                 GObjectConstructParam * construct_properties);
static void _tuba_dialogs_admin_report_on_close_adw_dialog_close_attempt (AdwDialog* _sender,
                                                                   gpointer self);
static void tuba_dialogs_admin_report_finalize (GObject * obj);
static GType tuba_dialogs_admin_report_get_type_once (void);
static void _vala_array_destroy (gpointer array,
                          gssize array_length,
                          GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array,
                       gssize array_length,
                       GDestroyNotify destroy_func);

static inline gpointer
tuba_dialogs_admin_report_get_instance_private (TubaDialogsAdminReport* self)
{
	return G_STRUCT_MEMBER_P (self, TubaDialogsAdminReport_private_offset);
}

static void
tuba_dialogs_admin_report_on_action_data_free (gpointer _data)
{
	TubaDialogsAdminReportOnActionData* _data_;
	_data_ = _data;
	_g_free0 (_data_->title);
	_g_free0 (_data_->suggested_label);
	_g_free0 (_data_->endpoint);
	_g_object_unref0 (_data_->self);
	g_slice_free (TubaDialogsAdminReportOnActionData, _data_);
}

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

static void
tuba_dialogs_admin_report_on_action (TubaDialogsAdminReport* self,
                                     const gchar* title,
                                     const gchar* suggested_label,
                                     const gchar* endpoint,
                                     GAsyncReadyCallback _callback_,
                                     gpointer _user_data_)
{
	TubaDialogsAdminReportOnActionData* _data_;
	TubaDialogsAdminReport* _tmp0_;
	gchar* _tmp1_;
	gchar* _tmp2_;
	gchar* _tmp3_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (title != NULL);
	g_return_if_fail (suggested_label != NULL);
	g_return_if_fail (endpoint != NULL);
	_data_ = g_slice_new0 (TubaDialogsAdminReportOnActionData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, tuba_dialogs_admin_report_on_action_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = g_strdup (title);
	_g_free0 (_data_->title);
	_data_->title = _tmp1_;
	_tmp2_ = g_strdup (suggested_label);
	_g_free0 (_data_->suggested_label);
	_data_->suggested_label = _tmp2_;
	_tmp3_ = g_strdup (endpoint);
	_g_free0 (_data_->endpoint);
	_data_->endpoint = _tmp3_;
	tuba_dialogs_admin_report_on_action_co (_data_);
}

static void
tuba_dialogs_admin_report_on_action_finish (TubaDialogsAdminReport* self,
                                            GAsyncResult* _res_)
{
	TubaDialogsAdminReportOnActionData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
}

static void
tuba_dialogs_admin_report_on_action_ready (GObject* source_object,
                                           GAsyncResult* _res_,
                                           gpointer _user_data_)
{
	TubaDialogsAdminReportOnActionData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	tuba_dialogs_admin_report_on_action_co (_data_);
}

static const gchar*
string_to_string (const gchar* self)
{
	const gchar* result;
	g_return_val_if_fail (self != NULL, NULL);
	result = self;
	return result;
}

static gboolean
tuba_dialogs_admin_report_on_action_co (TubaDialogsAdminReportOnActionData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		case 2:
		goto _state_2;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_tmp0_ = (AdwAlertDialog*) adw_alert_dialog_new (_data_->title, NULL);
	g_object_ref_sink (_data_->_tmp0_);
	_data_->dlg = _data_->_tmp0_;
	_data_->_tmp1_ = _data_->dlg;
	adw_alert_dialog_add_response (_data_->_tmp1_, "no", _ ("Cancel"));
	_data_->_tmp2_ = _data_->dlg;
	adw_alert_dialog_set_response_appearance (_data_->_tmp2_, "no", ADW_RESPONSE_DEFAULT);
	_data_->_tmp3_ = _data_->dlg;
	adw_alert_dialog_add_response (_data_->_tmp3_, "yes", _data_->suggested_label);
	_data_->_tmp4_ = _data_->dlg;
	adw_alert_dialog_set_response_appearance (_data_->_tmp4_, "yes", ADW_RESPONSE_SUGGESTED);
	_data_->_tmp5_ = _data_->dlg;
	_data_->_state_ = 1;
	adw_alert_dialog_choose (_data_->_tmp5_, (GtkWidget*) _data_->self, NULL, tuba_dialogs_admin_report_on_action_ready, _data_);
	return FALSE;
	_state_1:
	_data_->_tmp6_ = adw_alert_dialog_choose_finish (_data_->_tmp5_, _data_->_res_);
	if (g_strcmp0 (_data_->_tmp6_, "yes") == 0) {
		_data_->_tmp7_ = _data_->self->priv->resolve_button;
		gtk_widget_set_sensitive ((GtkWidget*) _data_->_tmp7_, FALSE);
		_data_->_tmp8_ = _data_->self->priv->report_id;
		_data_->_tmp9_ = string_to_string (_data_->_tmp8_);
		_data_->_tmp10_ = string_to_string (_data_->endpoint);
		_data_->_tmp11_ = g_strconcat ("/api/v1/admin/reports/", _data_->_tmp9_, "/", _data_->_tmp10_, NULL);
		_data_->_tmp12_ = _data_->_tmp11_;
		_data_->_tmp13_ = tuba_accounts;
		_data_->_tmp14_ = tuba_account_store_get_active (_data_->_tmp13_);
		_data_->_tmp15_ = _data_->_tmp14_;
		_data_->_tmp16_ = _g_object_ref0 (_data_->_tmp15_);
		_data_->_tmp17_ = NULL;
		_data_->_tmp17_ = tuba_request_v2_new (_data_->_tmp12_, TUBA_REQUEST_V2_METHOD_POST);
		tuba_request_v2_set_account (_data_->_tmp17_, _data_->_tmp16_);
		_g_object_unref0 (_data_->_tmp16_);
		_data_->_tmp18_ = _data_->_tmp17_;
		_g_free0 (_data_->_tmp12_);
		_data_->req = _data_->_tmp18_;
		{
			_data_->_tmp19_ = _data_->req;
			_data_->_state_ = 2;
			tuba_request_v2_exec (_data_->_tmp19_, tuba_dialogs_admin_report_on_action_ready, _data_);
			return FALSE;
			_state_2:
			_data_->_tmp20_ = tuba_request_v2_exec_finish (_data_->_tmp19_, _data_->_res_, NULL, &_data_->_inner_error0_);
			_data_->_tmp21_ = _data_->_tmp20_;
			_g_object_unref0 (_data_->_tmp21_);
			if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
				goto __catch0_g_error;
			}
			_data_->self->priv->should_refresh = TRUE;
			tuba_dialogs_admin_report_on_close (_data_->self);
		}
		goto __finally0;
		__catch0_g_error:
		{
			_data_->e = _data_->_inner_error0_;
			_data_->_inner_error0_ = NULL;
			_data_->_tmp22_ = string_to_string (_data_->endpoint);
			_data_->_tmp23_ = _data_->self->priv->report_id;
			_data_->_tmp24_ = string_to_string (_data_->_tmp23_);
			_data_->_tmp25_ = _data_->e;
			_data_->_tmp26_ = _data_->_tmp25_->message;
			_data_->_tmp27_ = string_to_string (_data_->_tmp26_);
			_data_->_tmp28_ = _data_->e;
			_data_->_tmp29_ = g_strdup_printf ("%i", _data_->_tmp28_->code);
			_data_->_tmp30_ = _data_->_tmp29_;
			_data_->_tmp31_ = g_strconcat ("Error trying to ", _data_->_tmp22_, " report ", _data_->_tmp24_, ": ", _data_->_tmp27_, " ", _data_->_tmp30_, NULL);
			_data_->_tmp32_ = _data_->_tmp31_;
			g_warning ("Report.vala:37: %s", _data_->_tmp32_);
			_g_free0 (_data_->_tmp32_);
			_g_free0 (_data_->_tmp30_);
			_data_->_tmp33_ = _data_->e;
			_data_->_tmp34_ = _data_->_tmp33_->message;
			_data_->_tmp35_ = string_to_string (_data_->_tmp34_);
			_data_->_tmp36_ = _data_->e;
			_data_->_tmp37_ = g_strdup_printf ("%i", _data_->_tmp36_->code);
			_data_->_tmp38_ = _data_->_tmp37_;
			_data_->_tmp39_ = g_strconcat (_data_->_tmp35_, " ", _data_->_tmp38_, NULL);
			_data_->_tmp40_ = _data_->_tmp39_;
			tuba_dialogs_admin_base_add_toast ((TubaDialogsAdminBase*) _data_->self, _data_->_tmp40_);
			_g_free0 (_data_->_tmp40_);
			_g_free0 (_data_->_tmp38_);
			_data_->_tmp41_ = _data_->self->priv->resolve_button;
			gtk_widget_set_sensitive ((GtkWidget*) _data_->_tmp41_, TRUE);
			_g_error_free0 (_data_->e);
		}
		__finally0:
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			_g_object_unref0 (_data_->req);
			_g_object_unref0 (_data_->dlg);
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
			g_clear_error (&_data_->_inner_error0_);
			g_object_unref (_data_->_async_result);
			return FALSE;
		}
		_g_object_unref0 (_data_->req);
	}
	_g_object_unref0 (_data_->dlg);
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static void
tuba_dialogs_admin_report_on_resolve (TubaDialogsAdminReport* self)
{
	g_return_if_fail (self != NULL);
	tuba_dialogs_admin_report_on_action (self, _ ("Mark this Report as Resolved?"), _ ("Resolve"), "resolve", NULL, NULL);
}

static void
tuba_dialogs_admin_report_on_reopen (TubaDialogsAdminReport* self)
{
	g_return_if_fail (self != NULL);
	tuba_dialogs_admin_report_on_action (self, _ ("Reopen this Report?"), _ ("Reopen"), "reopen", NULL, NULL);
}

static void
tuba_dialogs_admin_report_on_assign_row_error (TubaDialogsAdminReport* self,
                                               const gchar* content)
{
	g_return_if_fail (self != NULL);
	g_return_if_fail (content != NULL);
	tuba_dialogs_admin_base_add_toast ((TubaDialogsAdminBase*) self, content);
}

static Block38Data*
block38_data_ref (Block38Data* _data38_)
{
	g_atomic_int_inc (&_data38_->_ref_count_);
	return _data38_;
}

static void
block38_data_unref (void * _userdata_)
{
	Block38Data* _data38_;
	_data38_ = (Block38Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data38_->_ref_count_)) {
		TubaDialogsAdminReport* self;
		self = _data38_->self;
		_g_object_unref0 (_data38_->status_group);
		_g_object_unref0 (self);
		g_slice_free (Block38Data, _data38_);
	}
}

static void
_tuba_dialogs_admin_report_show_take_action_dialog_gtk_button_clicked (GtkButton* _sender,
                                                                       gpointer self)
{
	tuba_dialogs_admin_report_show_take_action_dialog ((TubaDialogsAdminReport*) self);
}

static void
_tuba_dialogs_admin_report_on_reopen_gtk_button_clicked (GtkButton* _sender,
                                                         gpointer self)
{
	tuba_dialogs_admin_report_on_reopen ((TubaDialogsAdminReport*) self);
}

static void
_tuba_dialogs_admin_report_on_resolve_gtk_button_clicked (GtkButton* _sender,
                                                          gpointer self)
{
	tuba_dialogs_admin_report_on_resolve ((TubaDialogsAdminReport*) self);
}

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 void
_tuba_dialogs_admin_report_on_assign_row_error_tuba_widgets_admin_assigned_to_row_on_error (TubaWidgetsAdminAssignedToRow* _sender,
                                                                                            const gchar* error_message,
                                                                                            gpointer self)
{
	tuba_dialogs_admin_report_on_assign_row_error ((TubaDialogsAdminReport*) self, error_message);
}

static void
_tuba_dialogs_admin_report_mark_for_refresh_tuba_widgets_admin_assigned_to_row_assignment_changed (TubaWidgetsAdminAssignedToRow* _sender,
                                                                                                   const gchar* new_handle,
                                                                                                   gpointer self)
{
	tuba_dialogs_admin_report_mark_for_refresh ((TubaDialogsAdminReport*) self);
}

static void
_tuba_dialogs_admin_report_update_report_gtk_check_button_toggled (GtkCheckButton* _sender,
                                                                   gpointer self)
{
	tuba_dialogs_admin_report_update_report ((TubaDialogsAdminReport*) self);
}

static void
_vala_array_add38 (gchar** * array,
                   gint* length,
                   gint* size,
                   gchar* value)
{
	if ((*length) == (*size)) {
		*size = (*size) ? (2 * (*size)) : 4;
		*array = g_renew (gchar*, *array, (*size) + 1);
	}
	(*array)[(*length)++] = value;
	(*array)[*length] = NULL;
}

static gboolean
_vala_string_array_contains (gchar* * stack,
                             gssize stack_length,
                             const gchar* needle)
{
	gssize i;
	for (i = 0; i < stack_length; i++) {
		if (g_strcmp0 (stack[i], needle) == 0) {
			return TRUE;
		}
	}
	return FALSE;
}

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 gboolean
___lambda112_ (TubaDialogsAdminReport* self,
               TubaAPIAttachment* e)
{
	gboolean result;
	g_return_val_if_fail (e != NULL, FALSE);
	tuba_api_attachment_set_tuba_is_report (e, TRUE);
	result = TRUE;
	_g_object_unref0 (e);
	return result;
}

static gboolean
____lambda112__gee_forall_func (gpointer g,
                                gpointer self)
{
	gboolean result;
	result = ___lambda112_ ((TubaDialogsAdminReport*) self, (TubaAPIAttachment*) g);
	return result;
}

static gboolean
__lambda111_ (Block38Data* _data38_,
              TubaAPIStatus* status)
{
	TubaDialogsAdminReport* self;
	TubaAPIStatus* _tmp0_;
	TubaAPIStatus* _tmp1_;
	TubaAPIStatus* _tmp2_;
	TubaAPIStatus* _tmp3_;
	TubaAPIStatus* _tmp4_;
	TubaAPIStatus* _tmp5_;
	gboolean _tmp6_;
	gboolean _tmp7_;
	TubaWidgetsStatus* widget = NULL;
	GtkWidget* _tmp12_;
	GtkMenuButton* _tmp13_;
	GtkStack* _tmp14_;
	GtkStack* _tmp15_;
	GtkStack* _tmp16_;
	gboolean result;
	self = _data38_->self;
	g_return_val_if_fail (status != NULL, FALSE);
	_tmp0_ = tuba_api_status_get_formal (status);
	_tmp1_ = _tmp0_;
	tuba_api_status_set_filtered (_tmp1_, NULL);
	_tmp2_ = tuba_api_status_get_formal (status);
	_tmp3_ = _tmp2_;
	tuba_api_status_set_tuba_spoiler_revealed (_tmp3_, TRUE);
	_tmp4_ = tuba_api_status_get_formal (status);
	_tmp5_ = _tmp4_;
	_tmp6_ = tuba_api_status_get_has_media (_tmp5_);
	_tmp7_ = _tmp6_;
	if (_tmp7_) {
		TubaAPIStatus* _tmp8_;
		TubaAPIStatus* _tmp9_;
		GeeArrayList* _tmp10_;
		GeeArrayList* _tmp11_;
		_tmp8_ = tuba_api_status_get_formal (status);
		_tmp9_ = _tmp8_;
		_tmp10_ = tuba_api_status_get_media_attachments (_tmp9_);
		_tmp11_ = _tmp10_;
		gee_abstract_collection_foreach ((GeeAbstractCollection*) _tmp11_, ____lambda112__gee_forall_func, self);
	}
	_tmp12_ = tuba_widgetizable_to_widget ((TubaWidgetizable*) status);
	widget = G_TYPE_CHECK_INSTANCE_CAST (_tmp12_, TUBA_WIDGETS_TYPE_STATUS, TubaWidgetsStatus);
	gtk_widget_add_css_class ((GtkWidget*) widget, "report-status");
	gtk_widget_add_css_class ((GtkWidget*) widget, "card");
	gtk_widget_add_css_class ((GtkWidget*) widget, "card-spacing");
	tuba_widgets_status_toggle_actions_visibility (widget, FALSE);
	_tmp13_ = widget->menu_button;
	gtk_widget_set_visible ((GtkWidget*) _tmp13_, FALSE);
	gtk_list_box_row_set_activatable ((GtkListBoxRow*) widget, FALSE);
	_tmp14_ = widget->filter_stack;
	gtk_widget_set_can_focus ((GtkWidget*) _tmp14_, FALSE);
	_tmp15_ = widget->filter_stack;
	gtk_widget_set_can_target ((GtkWidget*) _tmp15_, FALSE);
	_tmp16_ = widget->filter_stack;
	gtk_widget_set_focusable ((GtkWidget*) _tmp16_, FALSE);
	adw_preferences_group_add (_data38_->status_group, (GtkWidget*) widget);
	result = TRUE;
	_g_object_unref0 (widget);
	_g_object_unref0 (status);
	return result;
}

static gboolean
___lambda111__gee_forall_func (gpointer g,
                               gpointer self)
{
	gboolean result;
	result = __lambda111_ (self, (TubaAPIStatus*) g);
	return result;
}

TubaDialogsAdminReport*
tuba_dialogs_admin_report_construct (GType object_type,
                                     TubaAPIAdminReport* report)
{
	TubaDialogsAdminReport * self = NULL;
	Block38Data* _data38_;
	const gchar* _tmp0_;
	const gchar* _tmp1_;
	gchar* _tmp2_;
	TubaAPIAdminAccount* _tmp3_;
	TubaAPIAdminAccount* _tmp4_;
	TubaAPIAccount* _tmp5_;
	TubaAPIAccount* _tmp6_;
	const gchar* _tmp7_;
	const gchar* _tmp8_;
	gchar* _tmp9_;
	TubaAPIAdminAccount* _tmp10_;
	TubaAPIAdminAccount* _tmp11_;
	TubaAPIAccount* _tmp12_;
	TubaAPIAccount* _tmp13_;
	gchar* _tmp14_;
	gchar* _tmp15_;
	gchar* _tmp16_;
	gchar** _tmp17_;
	gboolean _tmp18_;
	gboolean _tmp19_;
	GtkButton* _tmp20_ = NULL;
	GtkButton* _tmp21_;
	const gchar* _tmp22_ = NULL;
	gboolean _tmp23_;
	gboolean _tmp24_;
	gchar* _tmp25_;
	gchar** _tmp26_;
	GtkButton* _tmp27_ = NULL;
	gboolean _tmp28_;
	gboolean _tmp29_;
	AdwHeaderBar* _tmp32_;
	AdwHeaderBar* _tmp33_;
	GtkButton* _tmp34_;
	AdwHeaderBar* _tmp35_;
	AdwHeaderBar* _tmp36_;
	GtkButton* _tmp37_;
	TubaWidgetsAccount* profile = NULL;
	TubaAPIAdminAccount* _tmp38_;
	TubaAPIAdminAccount* _tmp39_;
	TubaAPIAccount* _tmp40_;
	TubaAPIAccount* _tmp41_;
	GtkWidget* _tmp42_;
	TubaWidgetsAccount* _tmp43_;
	TubaWidgetsAccount* _tmp44_;
	TubaWidgetsAccount* _tmp45_;
	AdwPreferencesGroup* _tmp46_;
	TubaWidgetsAccount* _tmp47_;
	AdwPreferencesGroup* info_group = NULL;
	AdwPreferencesGroup* _tmp48_;
	TubaAPIAdminAccount* _tmp49_;
	TubaAPIAdminAccount* _tmp50_;
	TubaAPIAccount* _tmp51_;
	TubaAPIAccount* _tmp52_;
	const gchar* _tmp53_;
	const gchar* _tmp54_;
	AdwPreferencesGroup* _tmp74_;
	gchar* _tmp75_;
	const gchar* _tmp76_;
	const gchar* _tmp77_;
	GDateTime* _tmp78_;
	GDateTime* _tmp79_;
	gchar* _tmp80_;
	AdwActionRow* _tmp81_ = NULL;
	AdwActionRow* _tmp82_;
	AdwPreferencesGroup* _tmp83_;
	gchar* _tmp84_;
	TubaAPIAdminAccount* _tmp85_;
	TubaAPIAdminAccount* _tmp86_;
	TubaAPIAccount* _tmp87_;
	TubaAPIAccount* _tmp88_;
	gchar* _tmp89_;
	gchar* _tmp90_;
	AdwActionRow* _tmp91_ = NULL;
	AdwActionRow* _tmp92_;
	const gchar* _tmp93_ = NULL;
	gboolean _tmp94_;
	gboolean _tmp95_;
	AdwPreferencesGroup* _tmp96_;
	gchar* _tmp97_;
	gchar* _tmp98_;
	AdwActionRow* _tmp99_ = NULL;
	AdwActionRow* _tmp100_;
	gboolean _tmp101_;
	gboolean _tmp102_;
	TubaAPIAdminAccount* _tmp107_;
	TubaAPIAdminAccount* _tmp108_;
	AdwPreferencesGroup* rule_group = NULL;
	gchar* _tmp128_;
	gchar* _tmp129_;
	AdwPreferencesGroup* _tmp130_ = NULL;
	TubaAPIAdminReportCategory report_category = 0;
	const gchar* _tmp131_;
	const gchar* _tmp132_;
	gchar* _tmp133_;
	gchar** _tmp134_;
	GtkCheckButton* _tmp135_ = NULL;
	GtkCheckButton* _tmp136_;
	GtkCheckButton* _tmp137_;
	GtkCheckButton* _tmp138_;
	gchar* _tmp139_;
	gchar** _tmp140_;
	GtkCheckButton* _tmp141_ = NULL;
	GtkCheckButton* _tmp142_;
	GtkCheckButton* _tmp143_;
	GtkCheckButton* _tmp144_;
	gchar* _tmp145_;
	gchar** _tmp146_;
	GtkCheckButton* _tmp147_ = NULL;
	GtkCheckButton* _tmp148_;
	GtkCheckButton* _tmp149_;
	GtkCheckButton* _tmp150_;
	gchar* _tmp151_;
	gchar** _tmp152_;
	GtkCheckButton* _tmp153_ = NULL;
	GtkCheckButton* _tmp154_;
	gchar* _tmp155_;
	GtkCheckButton* _tmp156_;
	GtkWidget* _tmp157_;
	gboolean _tmp158_;
	gboolean _tmp159_;
	AdwActionRow* _tmp160_ = NULL;
	AdwActionRow* _tmp161_;
	GtkCheckButton* _tmp162_;
	gchar* _tmp163_;
	GtkCheckButton* _tmp164_;
	GtkWidget* _tmp165_;
	gboolean _tmp166_;
	gboolean _tmp167_;
	AdwActionRow* _tmp168_ = NULL;
	AdwActionRow* _tmp169_;
	GtkCheckButton* _tmp170_;
	gchar* _tmp171_;
	GtkCheckButton* _tmp172_;
	GtkWidget* _tmp173_;
	gboolean _tmp174_;
	gboolean _tmp175_;
	AdwActionRow* _tmp176_ = NULL;
	AdwActionRow* _tmp177_;
	GtkCheckButton* _tmp178_;
	gchar* _tmp179_;
	GtkCheckButton* _tmp180_;
	GtkWidget* _tmp181_;
	gboolean _tmp182_;
	gboolean _tmp183_;
	AdwActionRow* _tmp184_ = NULL;
	AdwActionRow* _tmp185_;
	GtkCheckButton* _tmp186_;
	AdwPreferencesGroup* _tmp187_;
	AdwActionRow* _tmp188_;
	AdwPreferencesGroup* _tmp189_;
	AdwActionRow* _tmp190_;
	AdwPreferencesGroup* _tmp191_;
	AdwActionRow* _tmp192_;
	AdwPreferencesGroup* _tmp193_;
	AdwActionRow* _tmp194_;
	gchar* _tmp195_;
	AdwPreferencesGroup* _tmp196_ = NULL;
	gboolean _tmp197_ = FALSE;
	TubaAccountStore* _tmp198_;
	TubaInstanceAccount* _tmp199_;
	TubaInstanceAccount* _tmp200_;
	TubaAPIInstance* _tmp201_;
	TubaAPIInstance* _tmp202_;
	GeeArrayList* _tmp203_;
	GeeArrayList* _tmp204_;
	gchar* _tmp272_;
	AdwPreferencesGroup* _tmp273_ = NULL;
	GeeArrayList* _tmp274_;
	GeeArrayList* _tmp275_;
	AdwPreferencesPage* _tmp276_;
	AdwPreferencesPage* _tmp277_;
	AdwPreferencesGroup* _tmp278_;
	AdwPreferencesPage* _tmp279_;
	AdwPreferencesPage* _tmp280_;
	AdwPreferencesGroup* _tmp281_;
	AdwPreferencesPage* _tmp282_;
	AdwPreferencesPage* _tmp283_;
	AdwPreferencesGroup* _tmp284_;
	AdwPreferencesPage* _tmp285_;
	AdwPreferencesPage* _tmp286_;
	g_return_val_if_fail (report != NULL, NULL);
	_data38_ = g_slice_new0 (Block38Data);
	_data38_->_ref_count_ = 1;
	self = (TubaDialogsAdminReport*) tuba_dialogs_admin_base_construct (object_type);
	_data38_->self = g_object_ref (self);
	_tmp0_ = tuba_api_admin_report_get_id (report);
	_tmp1_ = _tmp0_;
	_tmp2_ = g_strdup (_tmp1_);
	_g_free0 (self->priv->report_id);
	self->priv->report_id = _tmp2_;
	_tmp3_ = tuba_api_admin_report_get_target_account (report);
	_tmp4_ = _tmp3_;
	_tmp5_ = tuba_api_admin_account_get_account (_tmp4_);
	_tmp6_ = _tmp5_;
	_tmp7_ = tuba_api_account_get_id (_tmp6_);
	_tmp8_ = _tmp7_;
	_tmp9_ = g_strdup (_tmp8_);
	_g_free0 (self->priv->account_id);
	self->priv->account_id = _tmp9_;
	_tmp10_ = tuba_api_admin_report_get_target_account (report);
	_tmp11_ = _tmp10_;
	_tmp12_ = tuba_api_admin_account_get_account (_tmp11_);
	_tmp13_ = _tmp12_;
	_tmp14_ = tuba_api_account_get_full_handle (_tmp13_);
	_tmp15_ = _tmp14_;
	_g_free0 (self->priv->account_handle);
	self->priv->account_handle = _tmp15_;
	_tmp16_ = g_strdup ("destructive-action");
	_tmp17_ = g_new0 (gchar*, 1 + 1);
	_tmp17_[0] = _tmp16_;
	_tmp18_ = tuba_api_admin_report_get_action_taken (report);
	_tmp19_ = _tmp18_;
	_tmp20_ = (GtkButton*) gtk_button_new_with_label (_ ("Take Action"));
	gtk_widget_set_css_classes ((GtkWidget*) _tmp20_, _tmp17_);
	_tmp17_ = (_vala_array_free (_tmp17_, 1, (GDestroyNotify) g_free), NULL);
	gtk_widget_set_sensitive ((GtkWidget*) _tmp20_, !_tmp19_);
	g_object_ref_sink (_tmp20_);
	_g_object_unref0 (self->priv->take_action_button);
	self->priv->take_action_button = _tmp20_;
	_tmp21_ = self->priv->take_action_button;
	g_signal_connect_object (_tmp21_, "clicked", (GCallback) _tuba_dialogs_admin_report_show_take_action_dialog_gtk_button_clicked, self, 0);
	_tmp23_ = tuba_api_admin_report_get_action_taken (report);
	_tmp24_ = _tmp23_;
	if (_tmp24_) {
		_tmp22_ = _ ("Reopen");
	} else {
		_tmp22_ = _ ("Resolve");
	}
	_tmp25_ = g_strdup ("suggested-action");
	_tmp26_ = g_new0 (gchar*, 1 + 1);
	_tmp26_[0] = _tmp25_;
	_tmp27_ = (GtkButton*) gtk_button_new_with_label (_tmp22_);
	gtk_widget_set_css_classes ((GtkWidget*) _tmp27_, _tmp26_);
	_tmp26_ = (_vala_array_free (_tmp26_, 1, (GDestroyNotify) g_free), NULL);
	g_object_ref_sink (_tmp27_);
	_g_object_unref0 (self->priv->resolve_button);
	self->priv->resolve_button = _tmp27_;
	_tmp28_ = tuba_api_admin_report_get_action_taken (report);
	_tmp29_ = _tmp28_;
	if (_tmp29_) {
		GtkButton* _tmp30_;
		_tmp30_ = self->priv->resolve_button;
		g_signal_connect_object (_tmp30_, "clicked", (GCallback) _tuba_dialogs_admin_report_on_reopen_gtk_button_clicked, self, 0);
	} else {
		GtkButton* _tmp31_;
		_tmp31_ = self->priv->resolve_button;
		g_signal_connect_object (_tmp31_, "clicked", (GCallback) _tuba_dialogs_admin_report_on_resolve_gtk_button_clicked, self, 0);
	}
	_tmp32_ = tuba_dialogs_admin_base_get_headerbar ((TubaDialogsAdminBase*) self);
	_tmp33_ = _tmp32_;
	_tmp34_ = self->priv->take_action_button;
	adw_header_bar_pack_end (_tmp33_, (GtkWidget*) _tmp34_);
	_tmp35_ = tuba_dialogs_admin_base_get_headerbar ((TubaDialogsAdminBase*) self);
	_tmp36_ = _tmp35_;
	_tmp37_ = self->priv->resolve_button;
	adw_header_bar_pack_start (_tmp36_, (GtkWidget*) _tmp37_);
	_tmp38_ = tuba_api_admin_report_get_target_account (report);
	_tmp39_ = _tmp38_;
	_tmp40_ = tuba_api_admin_account_get_account (_tmp39_);
	_tmp41_ = _tmp40_;
	_tmp42_ = tuba_widgetizable_to_widget ((TubaWidgetizable*) _tmp41_);
	profile = G_TYPE_CHECK_INSTANCE_CAST (_tmp42_, TUBA_WIDGETS_TYPE_ACCOUNT, TubaWidgetsAccount);
	_tmp43_ = profile;
	gtk_widget_set_overflow ((GtkWidget*) _tmp43_, GTK_OVERFLOW_HIDDEN);
	_tmp44_ = profile;
	tuba_widgets_account_set_disable_profile_open (_tmp44_, TRUE);
	_tmp45_ = profile;
	gtk_widget_add_css_class ((GtkWidget*) _tmp45_, "card");
	_tmp46_ = self->priv->profile_group;
	_tmp47_ = profile;
	adw_preferences_group_add (_tmp46_, (GtkWidget*) _tmp47_);
	_tmp48_ = (AdwPreferencesGroup*) adw_preferences_group_new ();
	g_object_ref_sink (_tmp48_);
	info_group = _tmp48_;
	_tmp49_ = tuba_api_admin_report_get_target_account (report);
	_tmp50_ = _tmp49_;
	_tmp51_ = tuba_api_admin_account_get_account (_tmp50_);
	_tmp52_ = _tmp51_;
	_tmp53_ = tuba_api_account_get_created_at (_tmp52_);
	_tmp54_ = _tmp53_;
	if (_tmp54_ != NULL) {
		GDateTime* join_date = NULL;
		TubaAPIAdminAccount* _tmp55_;
		TubaAPIAdminAccount* _tmp56_;
		TubaAPIAccount* _tmp57_;
		TubaAPIAccount* _tmp58_;
		const gchar* _tmp59_;
		const gchar* _tmp60_;
		GDateTime* _tmp61_;
		GDateTime* _tmp62_;
		GTimeZone* _tmp63_;
		GTimeZone* _tmp64_;
		GDateTime* _tmp65_;
		AdwPreferencesGroup* _tmp66_;
		gchar* _tmp67_;
		GDateTime* _tmp68_;
		gchar* _tmp69_;
		gchar* _tmp70_;
		gchar* _tmp71_;
		AdwActionRow* _tmp72_ = NULL;
		AdwActionRow* _tmp73_;
		_tmp55_ = tuba_api_admin_report_get_target_account (report);
		_tmp56_ = _tmp55_;
		_tmp57_ = tuba_api_admin_account_get_account (_tmp56_);
		_tmp58_ = _tmp57_;
		_tmp59_ = tuba_api_account_get_created_at (_tmp58_);
		_tmp60_ = _tmp59_;
		_tmp61_ = g_date_time_new_from_iso8601 (_tmp60_, NULL);
		join_date = _tmp61_;
		_tmp62_ = join_date;
		_tmp63_ = g_time_zone_new_local ();
		_tmp64_ = _tmp63_;
		_tmp65_ = g_date_time_to_timezone (_tmp62_, _tmp64_);
		_g_date_time_unref0 (join_date);
		join_date = _tmp65_;
		_g_time_zone_unref0 (_tmp64_);
		_tmp66_ = info_group;
		_tmp67_ = g_strdup (_ ("Joined"));
		_tmp68_ = join_date;
		_tmp69_ = g_date_time_format (_tmp68_, _ ("%B %e, %Y"));
		_tmp70_ = _tmp69_;
		_tmp71_ = string_replace (_tmp70_, " ", "");
		_tmp72_ = (AdwActionRow*) adw_action_row_new ();
		adw_preferences_row_set_title ((AdwPreferencesRow*) _tmp72_, _tmp67_);
		_g_free0 (_tmp67_);
		adw_action_row_set_subtitle (_tmp72_, _tmp71_);
		_g_free0 (_tmp71_);
		adw_action_row_set_subtitle_selectable (_tmp72_, TRUE);
		g_object_ref_sink (_tmp72_);
		_tmp73_ = _tmp72_;
		adw_preferences_group_add (_tmp66_, (GtkWidget*) _tmp73_);
		_g_object_unref0 (_tmp73_);
		_g_free0 (_tmp70_);
		_g_date_time_unref0 (join_date);
	}
	_tmp74_ = info_group;
	_tmp75_ = g_strdup (_ ("Reported on"));
	_tmp76_ = tuba_api_admin_report_get_created_at (report);
	_tmp77_ = _tmp76_;
	_tmp78_ = g_date_time_new_from_iso8601 (_tmp77_, NULL);
	_tmp79_ = _tmp78_;
	_tmp80_ = g_date_time_format (_tmp79_, "%F %T");
	_tmp81_ = (AdwActionRow*) adw_action_row_new ();
	adw_preferences_row_set_title ((AdwPreferencesRow*) _tmp81_, _tmp75_);
	_g_free0 (_tmp75_);
	adw_action_row_set_subtitle (_tmp81_, _tmp80_);
	_g_free0 (_tmp80_);
	adw_action_row_set_subtitle_selectable (_tmp81_, TRUE);
	g_object_ref_sink (_tmp81_);
	_tmp82_ = _tmp81_;
	adw_preferences_group_add (_tmp74_, (GtkWidget*) _tmp82_);
	_g_object_unref0 (_tmp82_);
	_g_date_time_unref0 (_tmp79_);
	_tmp83_ = info_group;
	_tmp84_ = g_strdup (_ ("Reported by"));
	_tmp85_ = tuba_api_admin_report_get_account (report);
	_tmp86_ = _tmp85_;
	_tmp87_ = tuba_api_admin_account_get_account (_tmp86_);
	_tmp88_ = _tmp87_;
	_tmp89_ = tuba_api_account_get_full_handle (_tmp88_);
	_tmp90_ = _tmp89_;
	_tmp91_ = (AdwActionRow*) adw_action_row_new ();
	adw_preferences_row_set_title ((AdwPreferencesRow*) _tmp91_, _tmp84_);
	_g_free0 (_tmp84_);
	adw_action_row_set_subtitle (_tmp91_, _tmp90_);
	_g_free0 (_tmp90_);
	adw_action_row_set_subtitle_selectable (_tmp91_, TRUE);
	g_object_ref_sink (_tmp91_);
	_tmp92_ = _tmp91_;
	adw_preferences_group_add (_tmp83_, (GtkWidget*) _tmp92_);
	_g_object_unref0 (_tmp92_);
	_tmp94_ = tuba_api_admin_report_get_action_taken (report);
	_tmp95_ = _tmp94_;
	if (_tmp95_) {
		_tmp93_ = _ ("Resolved");
	} else {
		_tmp93_ = _ ("Unresolved");
	}
	_tmp96_ = info_group;
	_tmp97_ = g_strdup (_ ("Status"));
	_tmp98_ = g_strdup (_tmp93_);
	_tmp99_ = (AdwActionRow*) adw_action_row_new ();
	adw_preferences_row_set_title ((AdwPreferencesRow*) _tmp99_, _tmp97_);
	_g_free0 (_tmp97_);
	adw_action_row_set_subtitle (_tmp99_, _tmp98_);
	_g_free0 (_tmp98_);
	adw_action_row_set_subtitle_selectable (_tmp99_, TRUE);
	g_object_ref_sink (_tmp99_);
	_tmp100_ = _tmp99_;
	adw_preferences_group_add (_tmp96_, (GtkWidget*) _tmp100_);
	_g_object_unref0 (_tmp100_);
	_tmp101_ = tuba_api_admin_report_get_forwarded (report);
	_tmp102_ = _tmp101_;
	if (_tmp102_ == TRUE) {
		AdwPreferencesGroup* _tmp103_;
		gchar* _tmp104_;
		AdwActionRow* _tmp105_ = NULL;
		AdwActionRow* _tmp106_;
		_tmp103_ = info_group;
		_tmp104_ = g_strdup (_ ("Forwarded"));
		_tmp105_ = (AdwActionRow*) adw_action_row_new ();
		adw_preferences_row_set_title ((AdwPreferencesRow*) _tmp105_, _tmp104_);
		_g_free0 (_tmp104_);
		g_object_ref_sink (_tmp105_);
		_tmp106_ = _tmp105_;
		adw_preferences_group_add (_tmp103_, (GtkWidget*) _tmp106_);
		_g_object_unref0 (_tmp106_);
	}
	_tmp107_ = tuba_api_admin_report_get_action_taken_by_account (report);
	_tmp108_ = _tmp107_;
	if (_tmp108_ != NULL) {
		AdwPreferencesGroup* _tmp109_;
		gchar* _tmp110_;
		TubaAPIAdminAccount* _tmp111_;
		TubaAPIAdminAccount* _tmp112_;
		TubaAPIAccount* _tmp113_;
		TubaAPIAccount* _tmp114_;
		gchar* _tmp115_;
		gchar* _tmp116_;
		AdwActionRow* _tmp117_ = NULL;
		AdwActionRow* _tmp118_;
		_tmp109_ = info_group;
		_tmp110_ = g_strdup (_ ("Action Taken by"));
		_tmp111_ = tuba_api_admin_report_get_action_taken_by_account (report);
		_tmp112_ = _tmp111_;
		_tmp113_ = tuba_api_admin_account_get_account (_tmp112_);
		_tmp114_ = _tmp113_;
		_tmp115_ = tuba_api_account_get_full_handle (_tmp114_);
		_tmp116_ = _tmp115_;
		_tmp117_ = (AdwActionRow*) adw_action_row_new ();
		adw_preferences_row_set_title ((AdwPreferencesRow*) _tmp117_, _tmp110_);
		_g_free0 (_tmp110_);
		adw_action_row_set_subtitle (_tmp117_, _tmp116_);
		_g_free0 (_tmp116_);
		adw_action_row_set_subtitle_selectable (_tmp117_, TRUE);
		g_object_ref_sink (_tmp117_);
		_tmp118_ = _tmp117_;
		adw_preferences_group_add (_tmp109_, (GtkWidget*) _tmp118_);
		_g_object_unref0 (_tmp118_);
	} else {
		TubaWidgetsAdminAssignedToRow* row = NULL;
		const gchar* _tmp119_;
		const gchar* _tmp120_;
		TubaAPIAdminAccount* _tmp121_;
		TubaAPIAdminAccount* _tmp122_;
		TubaWidgetsAdminAssignedToRow* _tmp123_;
		TubaWidgetsAdminAssignedToRow* _tmp124_;
		TubaWidgetsAdminAssignedToRow* _tmp125_;
		AdwPreferencesGroup* _tmp126_;
		TubaWidgetsAdminAssignedToRow* _tmp127_;
		_tmp119_ = tuba_api_admin_report_get_id (report);
		_tmp120_ = _tmp119_;
		_tmp121_ = tuba_api_admin_report_get_assigned_account (report);
		_tmp122_ = _tmp121_;
		_tmp123_ = tuba_widgets_admin_assigned_to_row_new (_tmp120_, _tmp122_);
		g_object_ref_sink (_tmp123_);
		row = _tmp123_;
		_tmp124_ = row;
		g_signal_connect_object (_tmp124_, "on-error", (GCallback) _tuba_dialogs_admin_report_on_assign_row_error_tuba_widgets_admin_assigned_to_row_on_error, self, 0);
		_tmp125_ = row;
		g_signal_connect_object (_tmp125_, "assignment-changed", (GCallback) _tuba_dialogs_admin_report_mark_for_refresh_tuba_widgets_admin_assigned_to_row_assignment_changed, self, 0);
		_tmp126_ = info_group;
		_tmp127_ = row;
		adw_preferences_group_add (_tmp126_, (GtkWidget*) _tmp127_);
		_g_object_unref0 (row);
	}
	_tmp128_ = g_strdup (_ ("Category"));
	_tmp129_ = g_strdup (_ ("The reason this account and/or content was reported will be cited in c" \
"ommunication with the reported account"));
	_tmp130_ = (AdwPreferencesGroup*) adw_preferences_group_new ();
	adw_preferences_group_set_title (_tmp130_, _tmp128_);
	_g_free0 (_tmp128_);
	adw_preferences_group_set_description (_tmp130_, _tmp129_);
	_g_free0 (_tmp129_);
	g_object_ref_sink (_tmp130_);
	rule_group = _tmp130_;
	_tmp131_ = tuba_api_admin_report_get_category (report);
	_tmp132_ = _tmp131_;
	report_category = tuba_api_admin_report_category_from_string (_tmp132_);
	_tmp133_ = g_strdup ("selection-mode");
	_tmp134_ = g_new0 (gchar*, 1 + 1);
	_tmp134_[0] = _tmp133_;
	_tmp135_ = (GtkCheckButton*) gtk_check_button_new ();
	gtk_check_button_set_active (_tmp135_, report_category == TUBA_API_ADMIN_REPORT_CATEGORY_OTHER);
	gtk_widget_set_css_classes ((GtkWidget*) _tmp135_, _tmp134_);
	_tmp134_ = (_vala_array_free (_tmp134_, 1, (GDestroyNotify) g_free), NULL);
	g_object_ref_sink (_tmp135_);
	_g_object_unref0 (self->priv->rule_other);
	self->priv->rule_other = _tmp135_;
	_tmp136_ = self->priv->rule_other;
	g_signal_connect_object (_tmp136_, "toggled", (GCallback) _tuba_dialogs_admin_report_update_report_gtk_check_button_toggled, self, 0);
	_tmp137_ = self->priv->rule_other;
	_tmp138_ = _g_object_ref0 (_tmp137_);
	_tmp139_ = g_strdup ("selection-mode");
	_tmp140_ = g_new0 (gchar*, 1 + 1);
	_tmp140_[0] = _tmp139_;
	_tmp141_ = (GtkCheckButton*) gtk_check_button_new ();
	gtk_check_button_set_group (_tmp141_, _tmp138_);
	_g_object_unref0 (_tmp138_);
	gtk_check_button_set_active (_tmp141_, report_category == TUBA_API_ADMIN_REPORT_CATEGORY_LEGAL);
	gtk_widget_set_css_classes ((GtkWidget*) _tmp141_, _tmp140_);
	_tmp140_ = (_vala_array_free (_tmp140_, 1, (GDestroyNotify) g_free), NULL);
	g_object_ref_sink (_tmp141_);
	_g_object_unref0 (self->priv->rule_legal);
	self->priv->rule_legal = _tmp141_;
	_tmp142_ = self->priv->rule_legal;
	g_signal_connect_object (_tmp142_, "toggled", (GCallback) _tuba_dialogs_admin_report_update_report_gtk_check_button_toggled, self, 0);
	_tmp143_ = self->priv->rule_other;
	_tmp144_ = _g_object_ref0 (_tmp143_);
	_tmp145_ = g_strdup ("selection-mode");
	_tmp146_ = g_new0 (gchar*, 1 + 1);
	_tmp146_[0] = _tmp145_;
	_tmp147_ = (GtkCheckButton*) gtk_check_button_new ();
	gtk_check_button_set_group (_tmp147_, _tmp144_);
	_g_object_unref0 (_tmp144_);
	gtk_check_button_set_active (_tmp147_, report_category == TUBA_API_ADMIN_REPORT_CATEGORY_SPAM);
	gtk_widget_set_css_classes ((GtkWidget*) _tmp147_, _tmp146_);
	_tmp146_ = (_vala_array_free (_tmp146_, 1, (GDestroyNotify) g_free), NULL);
	g_object_ref_sink (_tmp147_);
	_g_object_unref0 (self->priv->rule_spam);
	self->priv->rule_spam = _tmp147_;
	_tmp148_ = self->priv->rule_spam;
	g_signal_connect_object (_tmp148_, "toggled", (GCallback) _tuba_dialogs_admin_report_update_report_gtk_check_button_toggled, self, 0);
	_tmp149_ = self->priv->rule_other;
	_tmp150_ = _g_object_ref0 (_tmp149_);
	_tmp151_ = g_strdup ("selection-mode");
	_tmp152_ = g_new0 (gchar*, 1 + 1);
	_tmp152_[0] = _tmp151_;
	_tmp153_ = (GtkCheckButton*) gtk_check_button_new ();
	gtk_check_button_set_group (_tmp153_, _tmp150_);
	_g_object_unref0 (_tmp150_);
	gtk_check_button_set_active (_tmp153_, report_category == TUBA_API_ADMIN_REPORT_CATEGORY_VIOLATION);
	gtk_widget_set_css_classes ((GtkWidget*) _tmp153_, _tmp152_);
	_tmp152_ = (_vala_array_free (_tmp152_, 1, (GDestroyNotify) g_free), NULL);
	g_object_ref_sink (_tmp153_);
	_g_object_unref0 (self->priv->rule_violation);
	self->priv->rule_violation = _tmp153_;
	_tmp154_ = self->priv->rule_violation;
	g_signal_connect_object (_tmp154_, "toggled", (GCallback) _tuba_dialogs_admin_report_update_report_gtk_check_button_toggled, self, 0);
	_tmp155_ = tuba_api_admin_report_category_to_string (TUBA_API_ADMIN_REPORT_CATEGORY_OTHER);
	_tmp156_ = self->priv->rule_other;
	_tmp157_ = _g_object_ref0 ((GtkWidget*) _tmp156_);
	_tmp158_ = tuba_api_admin_report_get_action_taken (report);
	_tmp159_ = _tmp158_;
	_tmp160_ = (AdwActionRow*) adw_action_row_new ();
	adw_preferences_row_set_title ((AdwPreferencesRow*) _tmp160_, _tmp155_);
	_g_free0 (_tmp155_);
	adw_action_row_set_activatable_widget (_tmp160_, _tmp157_);
	_g_object_unref0 (_tmp157_);
	gtk_widget_set_sensitive ((GtkWidget*) _tmp160_, !_tmp159_);
	g_object_ref_sink (_tmp160_);
	_g_object_unref0 (self->priv->rule_other_row);
	self->priv->rule_other_row = _tmp160_;
	_tmp161_ = self->priv->rule_other_row;
	_tmp162_ = self->priv->rule_other;
	adw_action_row_add_prefix (_tmp161_, (GtkWidget*) _tmp162_);
	_tmp163_ = tuba_api_admin_report_category_to_string (TUBA_API_ADMIN_REPORT_CATEGORY_LEGAL);
	_tmp164_ = self->priv->rule_legal;
	_tmp165_ = _g_object_ref0 ((GtkWidget*) _tmp164_);
	_tmp166_ = tuba_api_admin_report_get_action_taken (report);
	_tmp167_ = _tmp166_;
	_tmp168_ = (AdwActionRow*) adw_action_row_new ();
	adw_preferences_row_set_title ((AdwPreferencesRow*) _tmp168_, _tmp163_);
	_g_free0 (_tmp163_);
	adw_action_row_set_activatable_widget (_tmp168_, _tmp165_);
	_g_object_unref0 (_tmp165_);
	gtk_widget_set_sensitive ((GtkWidget*) _tmp168_, !_tmp167_);
	g_object_ref_sink (_tmp168_);
	_g_object_unref0 (self->priv->rule_legal_row);
	self->priv->rule_legal_row = _tmp168_;
	_tmp169_ = self->priv->rule_legal_row;
	_tmp170_ = self->priv->rule_legal;
	adw_action_row_add_prefix (_tmp169_, (GtkWidget*) _tmp170_);
	_tmp171_ = tuba_api_admin_report_category_to_string (TUBA_API_ADMIN_REPORT_CATEGORY_SPAM);
	_tmp172_ = self->priv->rule_spam;
	_tmp173_ = _g_object_ref0 ((GtkWidget*) _tmp172_);
	_tmp174_ = tuba_api_admin_report_get_action_taken (report);
	_tmp175_ = _tmp174_;
	_tmp176_ = (AdwActionRow*) adw_action_row_new ();
	adw_preferences_row_set_title ((AdwPreferencesRow*) _tmp176_, _tmp171_);
	_g_free0 (_tmp171_);
	adw_action_row_set_activatable_widget (_tmp176_, _tmp173_);
	_g_object_unref0 (_tmp173_);
	gtk_widget_set_sensitive ((GtkWidget*) _tmp176_, !_tmp175_);
	g_object_ref_sink (_tmp176_);
	_g_object_unref0 (self->priv->rule_spam_row);
	self->priv->rule_spam_row = _tmp176_;
	_tmp177_ = self->priv->rule_spam_row;
	_tmp178_ = self->priv->rule_spam;
	adw_action_row_add_prefix (_tmp177_, (GtkWidget*) _tmp178_);
	_tmp179_ = tuba_api_admin_report_category_to_string (TUBA_API_ADMIN_REPORT_CATEGORY_VIOLATION);
	_tmp180_ = self->priv->rule_violation;
	_tmp181_ = _g_object_ref0 ((GtkWidget*) _tmp180_);
	_tmp182_ = tuba_api_admin_report_get_action_taken (report);
	_tmp183_ = _tmp182_;
	_tmp184_ = (AdwActionRow*) adw_action_row_new ();
	adw_preferences_row_set_title ((AdwPreferencesRow*) _tmp184_, _tmp179_);
	_g_free0 (_tmp179_);
	adw_action_row_set_activatable_widget (_tmp184_, _tmp181_);
	_g_object_unref0 (_tmp181_);
	gtk_widget_set_sensitive ((GtkWidget*) _tmp184_, !_tmp183_);
	g_object_ref_sink (_tmp184_);
	_g_object_unref0 (self->priv->rule_violation_row);
	self->priv->rule_violation_row = _tmp184_;
	_tmp185_ = self->priv->rule_violation_row;
	_tmp186_ = self->priv->rule_violation;
	adw_action_row_add_prefix (_tmp185_, (GtkWidget*) _tmp186_);
	_tmp187_ = rule_group;
	_tmp188_ = self->priv->rule_other_row;
	adw_preferences_group_add (_tmp187_, (GtkWidget*) _tmp188_);
	_tmp189_ = rule_group;
	_tmp190_ = self->priv->rule_legal_row;
	adw_preferences_group_add (_tmp189_, (GtkWidget*) _tmp190_);
	_tmp191_ = rule_group;
	_tmp192_ = self->priv->rule_spam_row;
	adw_preferences_group_add (_tmp191_, (GtkWidget*) _tmp192_);
	_tmp193_ = rule_group;
	_tmp194_ = self->priv->rule_violation_row;
	adw_preferences_group_add (_tmp193_, (GtkWidget*) _tmp194_);
	_tmp195_ = g_strdup (_ ("Violated Rules"));
	_tmp196_ = (AdwPreferencesGroup*) adw_preferences_group_new ();
	adw_preferences_group_set_title (_tmp196_, _tmp195_);
	_g_free0 (_tmp195_);
	gtk_widget_set_visible ((GtkWidget*) _tmp196_, report_category == TUBA_API_ADMIN_REPORT_CATEGORY_VIOLATION);
	g_object_ref_sink (_tmp196_);
	_g_object_unref0 (self->priv->rules_group);
	self->priv->rules_group = _tmp196_;
	_tmp198_ = tuba_accounts;
	_tmp199_ = tuba_account_store_get_active (_tmp198_);
	_tmp200_ = _tmp199_;
	_tmp201_ = tuba_instance_account_get_instance_info (_tmp200_);
	_tmp202_ = _tmp201_;
	_tmp203_ = tuba_api_instance_get_rules (_tmp202_);
	_tmp204_ = _tmp203_;
	if (_tmp204_ != NULL) {
		TubaAccountStore* _tmp205_;
		TubaInstanceAccount* _tmp206_;
		TubaInstanceAccount* _tmp207_;
		TubaAPIInstance* _tmp208_;
		TubaAPIInstance* _tmp209_;
		GeeArrayList* _tmp210_;
		GeeArrayList* _tmp211_;
		gint _tmp212_;
		gint _tmp213_;
		_tmp205_ = tuba_accounts;
		_tmp206_ = tuba_account_store_get_active (_tmp205_);
		_tmp207_ = _tmp206_;
		_tmp208_ = tuba_instance_account_get_instance_info (_tmp207_);
		_tmp209_ = _tmp208_;
		_tmp210_ = tuba_api_instance_get_rules (_tmp209_);
		_tmp211_ = _tmp210_;
		_tmp212_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp211_);
		_tmp213_ = _tmp212_;
		_tmp197_ = _tmp213_ > 0;
	} else {
		_tmp197_ = FALSE;
	}
	if (_tmp197_) {
		GeeHashMap* _tmp214_;
		gchar** selected_rules_ids = NULL;
		gchar** _tmp215_;
		gint selected_rules_ids_length1;
		gint _selected_rules_ids_size_;
		_tmp214_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, gtk_check_button_get_type (), (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
		_g_object_unref0 (self->priv->rules_buttons);
		self->priv->rules_buttons = _tmp214_;
		_tmp215_ = g_new0 (gchar*, 0 + 1);
		selected_rules_ids = _tmp215_;
		selected_rules_ids_length1 = 0;
		_selected_rules_ids_size_ = selected_rules_ids_length1;
		{
			GeeArrayList* _rule_list = NULL;
			GeeArrayList* _tmp216_;
			GeeArrayList* _tmp217_;
			gint _rule_size = 0;
			GeeArrayList* _tmp218_;
			gint _tmp219_;
			gint _tmp220_;
			gint _rule_index = 0;
			_tmp216_ = tuba_api_admin_report_get_rules (report);
			_tmp217_ = _tmp216_;
			_rule_list = _tmp217_;
			_tmp218_ = _rule_list;
			_tmp219_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp218_);
			_tmp220_ = _tmp219_;
			_rule_size = _tmp220_;
			_rule_index = -1;
			while (TRUE) {
				gint _tmp221_;
				gint _tmp222_;
				TubaAPIInstanceRule* rule = NULL;
				GeeArrayList* _tmp223_;
				gpointer _tmp224_;
				TubaAPIInstanceRule* _tmp225_;
				const gchar* _tmp226_;
				const gchar* _tmp227_;
				gchar* _tmp228_;
				_rule_index = _rule_index + 1;
				_tmp221_ = _rule_index;
				_tmp222_ = _rule_size;
				if (!(_tmp221_ < _tmp222_)) {
					break;
				}
				_tmp223_ = _rule_list;
				_tmp224_ = gee_abstract_list_get ((GeeAbstractList*) _tmp223_, _rule_index);
				rule = (TubaAPIInstanceRule*) _tmp224_;
				_tmp225_ = rule;
				_tmp226_ = tuba_api_instance_rule_get_id (_tmp225_);
				_tmp227_ = _tmp226_;
				_tmp228_ = g_strdup (_tmp227_);
				_vala_array_add38 (&selected_rules_ids, &selected_rules_ids_length1, &_selected_rules_ids_size_, _tmp228_);
				_g_object_unref0 (rule);
			}
		}
		{
			GeeArrayList* _rule_list = NULL;
			TubaAccountStore* _tmp229_;
			TubaInstanceAccount* _tmp230_;
			TubaInstanceAccount* _tmp231_;
			TubaAPIInstance* _tmp232_;
			TubaAPIInstance* _tmp233_;
			GeeArrayList* _tmp234_;
			GeeArrayList* _tmp235_;
			gint _rule_size = 0;
			GeeArrayList* _tmp236_;
			gint _tmp237_;
			gint _tmp238_;
			gint _rule_index = 0;
			_tmp229_ = tuba_accounts;
			_tmp230_ = tuba_account_store_get_active (_tmp229_);
			_tmp231_ = _tmp230_;
			_tmp232_ = tuba_instance_account_get_instance_info (_tmp231_);
			_tmp233_ = _tmp232_;
			_tmp234_ = tuba_api_instance_get_rules (_tmp233_);
			_tmp235_ = _tmp234_;
			_rule_list = _tmp235_;
			_tmp236_ = _rule_list;
			_tmp237_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp236_);
			_tmp238_ = _tmp237_;
			_rule_size = _tmp238_;
			_rule_index = -1;
			while (TRUE) {
				gint _tmp239_;
				gint _tmp240_;
				TubaAPIInstanceRule* rule = NULL;
				GeeArrayList* _tmp241_;
				gpointer _tmp242_;
				GtkCheckButton* checkbutton = NULL;
				gchar* _tmp243_;
				gchar** _tmp244_;
				TubaAPIInstanceRule* _tmp245_;
				const gchar* _tmp246_;
				const gchar* _tmp247_;
				gchar** _tmp248_;
				gint _tmp248__length1;
				GtkCheckButton* _tmp249_ = NULL;
				GtkCheckButton* _tmp250_;
				GeeHashMap* _tmp251_;
				TubaAPIInstanceRule* _tmp252_;
				const gchar* _tmp253_;
				const gchar* _tmp254_;
				GtkCheckButton* _tmp255_;
				AdwActionRow* rule_row = NULL;
				TubaAPIInstanceRule* _tmp256_;
				const gchar* _tmp257_;
				const gchar* _tmp258_;
				gchar* _tmp259_;
				gchar* _tmp260_;
				gchar* _tmp261_;
				GtkCheckButton* _tmp262_;
				GtkWidget* _tmp263_;
				gboolean _tmp264_;
				gboolean _tmp265_;
				AdwActionRow* _tmp266_ = NULL;
				AdwActionRow* _tmp267_;
				AdwActionRow* _tmp268_;
				GtkCheckButton* _tmp269_;
				AdwPreferencesGroup* _tmp270_;
				AdwActionRow* _tmp271_;
				_rule_index = _rule_index + 1;
				_tmp239_ = _rule_index;
				_tmp240_ = _rule_size;
				if (!(_tmp239_ < _tmp240_)) {
					break;
				}
				_tmp241_ = _rule_list;
				_tmp242_ = gee_abstract_list_get ((GeeAbstractList*) _tmp241_, _rule_index);
				rule = (TubaAPIInstanceRule*) _tmp242_;
				_tmp243_ = g_strdup ("selection-mode");
				_tmp244_ = g_new0 (gchar*, 1 + 1);
				_tmp244_[0] = _tmp243_;
				_tmp245_ = rule;
				_tmp246_ = tuba_api_instance_rule_get_id (_tmp245_);
				_tmp247_ = _tmp246_;
				_tmp248_ = selected_rules_ids;
				_tmp248__length1 = selected_rules_ids_length1;
				_tmp249_ = (GtkCheckButton*) gtk_check_button_new ();
				gtk_widget_set_css_classes ((GtkWidget*) _tmp249_, _tmp244_);
				_tmp244_ = (_vala_array_free (_tmp244_, 1, (GDestroyNotify) g_free), NULL);
				gtk_check_button_set_active (_tmp249_, _vala_string_array_contains (_tmp248_, _tmp248__length1, _tmp247_));
				g_object_ref_sink (_tmp249_);
				checkbutton = _tmp249_;
				_tmp250_ = checkbutton;
				g_signal_connect_object (_tmp250_, "toggled", (GCallback) _tuba_dialogs_admin_report_update_report_gtk_check_button_toggled, self, 0);
				_tmp251_ = self->priv->rules_buttons;
				_tmp252_ = rule;
				_tmp253_ = tuba_api_instance_rule_get_id (_tmp252_);
				_tmp254_ = _tmp253_;
				_tmp255_ = checkbutton;
				gee_abstract_map_set ((GeeAbstractMap*) _tmp251_, _tmp254_, _tmp255_);
				_tmp256_ = rule;
				_tmp257_ = tuba_api_instance_rule_get_text (_tmp256_);
				_tmp258_ = _tmp257_;
				_tmp259_ = g_markup_escape_text (_tmp258_, (gssize) -1);
				_tmp260_ = _tmp259_;
				_tmp261_ = string_strip (_tmp260_);
				_tmp262_ = checkbutton;
				_tmp263_ = _g_object_ref0 ((GtkWidget*) _tmp262_);
				_tmp264_ = tuba_api_admin_report_get_action_taken (report);
				_tmp265_ = _tmp264_;
				_tmp266_ = (AdwActionRow*) adw_action_row_new ();
				adw_preferences_row_set_title ((AdwPreferencesRow*) _tmp266_, _tmp261_);
				_g_free0 (_tmp261_);
				adw_action_row_set_activatable_widget (_tmp266_, _tmp263_);
				_g_object_unref0 (_tmp263_);
				adw_preferences_row_set_use_markup ((AdwPreferencesRow*) _tmp266_, TRUE);
				gtk_widget_set_sensitive ((GtkWidget*) _tmp266_, !_tmp265_);
				g_object_ref_sink (_tmp266_);
				_tmp267_ = _tmp266_;
				_g_free0 (_tmp260_);
				rule_row = _tmp267_;
				_tmp268_ = rule_row;
				_tmp269_ = checkbutton;
				adw_action_row_add_prefix (_tmp268_, (GtkWidget*) _tmp269_);
				_tmp270_ = self->priv->rules_group;
				_tmp271_ = rule_row;
				adw_preferences_group_add (_tmp270_, (GtkWidget*) _tmp271_);
				_g_object_unref0 (rule_row);
				_g_object_unref0 (checkbutton);
				_g_object_unref0 (rule);
			}
		}
		selected_rules_ids = (_vala_array_free (selected_rules_ids, selected_rules_ids_length1, (GDestroyNotify) g_free), NULL);
	}
	_tmp272_ = g_strdup (_ ("Reported Posts"));
	_tmp273_ = (AdwPreferencesGroup*) adw_preferences_group_new ();
	adw_preferences_group_set_title (_tmp273_, _tmp272_);
	_g_free0 (_tmp272_);
	g_object_ref_sink (_tmp273_);
	_data38_->status_group = _tmp273_;
	_tmp274_ = tuba_api_admin_report_get_statuses (report);
	_tmp275_ = _tmp274_;
	gee_abstract_collection_foreach ((GeeAbstractCollection*) _tmp275_, ___lambda111__gee_forall_func, _data38_);
	_tmp276_ = tuba_dialogs_admin_base_get_page ((TubaDialogsAdminBase*) self);
	_tmp277_ = _tmp276_;
	_tmp278_ = info_group;
	adw_preferences_page_add (_tmp277_, _tmp278_);
	_tmp279_ = tuba_dialogs_admin_base_get_page ((TubaDialogsAdminBase*) self);
	_tmp280_ = _tmp279_;
	_tmp281_ = rule_group;
	adw_preferences_page_add (_tmp280_, _tmp281_);
	_tmp282_ = tuba_dialogs_admin_base_get_page ((TubaDialogsAdminBase*) self);
	_tmp283_ = _tmp282_;
	_tmp284_ = self->priv->rules_group;
	adw_preferences_page_add (_tmp283_, _tmp284_);
	_tmp285_ = tuba_dialogs_admin_base_get_page ((TubaDialogsAdminBase*) self);
	_tmp286_ = _tmp285_;
	adw_preferences_page_add (_tmp286_, _data38_->status_group);
	_g_object_unref0 (rule_group);
	_g_object_unref0 (info_group);
	_g_object_unref0 (profile);
	block38_data_unref (_data38_);
	_data38_ = NULL;
	return self;
}

TubaDialogsAdminReport*
tuba_dialogs_admin_report_new (TubaAPIAdminReport* report)
{
	return tuba_dialogs_admin_report_construct (TUBA_DIALOGS_ADMIN_TYPE_REPORT, report);
}

static void
tuba_dialogs_admin_report_update_report (TubaDialogsAdminReport* self)
{
	g_return_if_fail (self != NULL);
	tuba_dialogs_admin_report_update_report_async (self, NULL, NULL);
}

static void
tuba_dialogs_admin_report_update_report_async_data_free (gpointer _data)
{
	TubaDialogsAdminReportUpdateReportAsyncData* _data_;
	_data_ = _data;
	_g_object_unref0 (_data_->self);
	g_slice_free (TubaDialogsAdminReportUpdateReportAsyncData, _data_);
}

static void
tuba_dialogs_admin_report_update_report_async (TubaDialogsAdminReport* self,
                                               GAsyncReadyCallback _callback_,
                                               gpointer _user_data_)
{
	TubaDialogsAdminReportUpdateReportAsyncData* _data_;
	TubaDialogsAdminReport* _tmp0_;
	g_return_if_fail (self != NULL);
	_data_ = g_slice_new0 (TubaDialogsAdminReportUpdateReportAsyncData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, tuba_dialogs_admin_report_update_report_async_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	tuba_dialogs_admin_report_update_report_async_co (_data_);
}

static void
tuba_dialogs_admin_report_update_report_finish (TubaDialogsAdminReport* self,
                                                GAsyncResult* _res_)
{
	TubaDialogsAdminReportUpdateReportAsyncData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
}

static Block39Data*
block39_data_ref (Block39Data* _data39_)
{
	g_atomic_int_inc (&_data39_->_ref_count_);
	return _data39_;
}

static void
block39_data_unref (void * _userdata_)
{
	Block39Data* _data39_;
	_data39_ = (Block39Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data39_->_ref_count_)) {
		TubaDialogsAdminReport* self;
		self = _data39_->self;
		_data39_->rule_ids = (_vala_array_free (_data39_->rule_ids, _data39_->rule_ids_length1, (GDestroyNotify) g_free), NULL);
		_g_object_unref0 (self);
		g_slice_free (Block39Data, _data39_);
	}
}

static void
tuba_dialogs_admin_report_update_report_async_ready (GObject* source_object,
                                                     GAsyncResult* _res_,
                                                     gpointer _user_data_)
{
	TubaDialogsAdminReportUpdateReportAsyncData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	tuba_dialogs_admin_report_update_report_async_co (_data_);
}

static void
_vala_array_add39 (gchar** * array,
                   gint* length,
                   gint* size,
                   gchar* value)
{
	if ((*length) == (*size)) {
		*size = (*size) ? (2 * (*size)) : 4;
		*array = g_renew (gchar*, *array, (*size) + 1);
	}
	(*array)[(*length)++] = value;
	(*array)[*length] = NULL;
}

static gboolean
___lambda110_ (Block39Data* _data39_,
               GeeMapEntry* e)
{
	TubaDialogsAdminReport* self;
	gconstpointer _tmp0_;
	gconstpointer _tmp1_;
	gboolean _tmp2_;
	gboolean _tmp3_;
	gboolean result;
	self = _data39_->self;
	g_return_val_if_fail (e != NULL, FALSE);
	_tmp0_ = gee_map_entry_get_value (e);
	_tmp1_ = _tmp0_;
	_tmp2_ = gtk_check_button_get_active (G_TYPE_CHECK_INSTANCE_CAST ((GtkCheckButton*) _tmp1_, gtk_check_button_get_type (), GtkCheckButton));
	_tmp3_ = _tmp2_;
	if (_tmp3_) {
		gconstpointer _tmp4_;
		gconstpointer _tmp5_;
		gchar* _tmp6_;
		_tmp4_ = gee_map_entry_get_key (e);
		_tmp5_ = _tmp4_;
		_tmp6_ = g_strdup ((const gchar*) ((const gchar*) _tmp5_));
		_vala_array_add39 (&_data39_->rule_ids, &_data39_->rule_ids_length1, &_data39_->_rule_ids_size_, _tmp6_);
	}
	result = TRUE;
	_g_object_unref0 (e);
	return result;
}

static gboolean
____lambda110__gee_forall_func (gpointer g,
                                gpointer self)
{
	gboolean result;
	result = ___lambda110_ (self, (GeeMapEntry*) g);
	return result;
}

static gboolean
tuba_dialogs_admin_report_update_report_async_co (TubaDialogsAdminReportUpdateReportAsyncData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		case 2:
		goto _state_2;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_data39_ = g_slice_new0 (Block39Data);
	_data_->_data39_->_ref_count_ = 1;
	_data_->_data39_->self = g_object_ref (_data_->self);
	_data_->_data39_->_async_data_ = _data_;
	_data_->_tmp0_ = g_new0 (gchar*, 0 + 1);
	_data_->_data39_->rule_ids = _data_->_tmp0_;
	_data_->_data39_->rule_ids_length1 = 0;
	_data_->_data39_->_rule_ids_size_ = _data_->_data39_->rule_ids_length1;
	_data_->category = NULL;
	_data_->_tmp2_ = _data_->self->priv->rule_violation;
	_data_->_tmp3_ = gtk_check_button_get_active (_data_->_tmp2_);
	_data_->_tmp4_ = _data_->_tmp3_;
	if (!_data_->_tmp4_) {
		_data_->_tmp5_ = _data_->self->priv->rules_group;
		_data_->_tmp6_ = gtk_widget_get_visible ((GtkWidget*) _data_->_tmp5_);
		_data_->_tmp7_ = _data_->_tmp6_;
		_data_->_tmp1_ = _data_->_tmp7_;
	} else {
		_data_->_tmp1_ = FALSE;
	}
	if (_data_->_tmp1_) {
		_data_->_tmp8_ = tuba_api_admin_report_category_to_api_string (TUBA_API_ADMIN_REPORT_CATEGORY_VIOLATION);
		_data_->_tmp9_ = _data_->_tmp8_;
		_data_->_tmp10_ = _data_->_data39_->rule_ids;
		_data_->_tmp10__length1 = _data_->_data39_->rule_ids_length1;
		_data_->_state_ = 1;
		tuba_dialogs_admin_report_update_report_actual (_data_->self, _data_->_tmp9_, _data_->_tmp10_, (gint) _data_->_tmp10__length1, tuba_dialogs_admin_report_update_report_async_ready, _data_);
		return FALSE;
		_state_1:
		tuba_dialogs_admin_report_update_report_actual_finish (_data_->self, _data_->_res_);
		_g_free0 (_data_->_tmp9_);
	}
	_data_->_tmp11_ = _data_->self->priv->rule_violation;
	_data_->_tmp12_ = gtk_check_button_get_active (_data_->_tmp11_);
	_data_->_tmp13_ = _data_->_tmp12_;
	if (_data_->_tmp13_) {
		_data_->_tmp14_ = _data_->self->priv->rules_buttons;
		gee_abstract_map_foreach ((GeeAbstractMap*) _data_->_tmp14_, ____lambda110__gee_forall_func, _data_->_data39_);
		_data_->_tmp15_ = tuba_api_admin_report_category_to_api_string (TUBA_API_ADMIN_REPORT_CATEGORY_VIOLATION);
		_g_free0 (_data_->category);
		_data_->category = _data_->_tmp15_;
		_data_->_tmp16_ = _data_->self->priv->rules_group;
		gtk_widget_set_visible ((GtkWidget*) _data_->_tmp16_, TRUE);
	} else {
		_data_->_tmp17_ = _data_->self->priv->rule_spam;
		_data_->_tmp18_ = gtk_check_button_get_active (_data_->_tmp17_);
		_data_->_tmp19_ = _data_->_tmp18_;
		if (_data_->_tmp19_) {
			_data_->_tmp20_ = tuba_api_admin_report_category_to_api_string (TUBA_API_ADMIN_REPORT_CATEGORY_SPAM);
			_g_free0 (_data_->category);
			_data_->category = _data_->_tmp20_;
			_data_->_tmp21_ = _data_->self->priv->rules_group;
			gtk_widget_set_visible ((GtkWidget*) _data_->_tmp21_, FALSE);
		} else {
			_data_->_tmp22_ = _data_->self->priv->rule_legal;
			_data_->_tmp23_ = gtk_check_button_get_active (_data_->_tmp22_);
			_data_->_tmp24_ = _data_->_tmp23_;
			if (_data_->_tmp24_) {
				_data_->_tmp25_ = tuba_api_admin_report_category_to_api_string (TUBA_API_ADMIN_REPORT_CATEGORY_LEGAL);
				_g_free0 (_data_->category);
				_data_->category = _data_->_tmp25_;
				_data_->_tmp26_ = _data_->self->priv->rules_group;
				gtk_widget_set_visible ((GtkWidget*) _data_->_tmp26_, FALSE);
			} else {
				_data_->_tmp27_ = _data_->self->priv->rule_other;
				_data_->_tmp28_ = gtk_check_button_get_active (_data_->_tmp27_);
				_data_->_tmp29_ = _data_->_tmp28_;
				if (_data_->_tmp29_) {
					_data_->_tmp30_ = tuba_api_admin_report_category_to_api_string (TUBA_API_ADMIN_REPORT_CATEGORY_OTHER);
					_g_free0 (_data_->category);
					_data_->category = _data_->_tmp30_;
					_data_->_tmp31_ = _data_->self->priv->rules_group;
					gtk_widget_set_visible ((GtkWidget*) _data_->_tmp31_, FALSE);
				}
			}
		}
	}
	_data_->_tmp32_ = _data_->category;
	if (_data_->_tmp32_ != NULL) {
		_data_->_tmp33_ = _data_->category;
		_data_->_tmp34_ = _data_->_data39_->rule_ids;
		_data_->_tmp34__length1 = _data_->_data39_->rule_ids_length1;
		_data_->_state_ = 2;
		tuba_dialogs_admin_report_update_report_actual (_data_->self, _data_->_tmp33_, _data_->_tmp34_, (gint) _data_->_tmp34__length1, tuba_dialogs_admin_report_update_report_async_ready, _data_);
		return FALSE;
		_state_2:
		tuba_dialogs_admin_report_update_report_actual_finish (_data_->self, _data_->_res_);
	}
	_g_free0 (_data_->category);
	block39_data_unref (_data_->_data39_);
	_data_->_data39_ = NULL;
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static void
tuba_dialogs_admin_report_update_report_actual_data_free (gpointer _data)
{
	TubaDialogsAdminReportUpdateReportActualData* _data_;
	_data_ = _data;
	_g_free0 (_data_->category);
	_g_object_unref0 (_data_->self);
	g_slice_free (TubaDialogsAdminReportUpdateReportActualData, _data_);
}

static void
tuba_dialogs_admin_report_update_report_actual (TubaDialogsAdminReport* self,
                                                const gchar* category,
                                                gchar** rule_ids,
                                                gint rule_ids_length1,
                                                GAsyncReadyCallback _callback_,
                                                gpointer _user_data_)
{
	TubaDialogsAdminReportUpdateReportActualData* _data_;
	TubaDialogsAdminReport* _tmp0_;
	gchar* _tmp1_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (category != NULL);
	_data_ = g_slice_new0 (TubaDialogsAdminReportUpdateReportActualData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, tuba_dialogs_admin_report_update_report_actual_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = g_strdup (category);
	_g_free0 (_data_->category);
	_data_->category = _tmp1_;
	_data_->rule_ids = rule_ids;
	_data_->rule_ids_length1 = rule_ids_length1;
	tuba_dialogs_admin_report_update_report_actual_co (_data_);
}

static void
tuba_dialogs_admin_report_update_report_actual_finish (TubaDialogsAdminReport* self,
                                                       GAsyncResult* _res_)
{
	TubaDialogsAdminReportUpdateReportActualData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
}

static void
tuba_dialogs_admin_report_update_report_actual_ready (GObject* source_object,
                                                      GAsyncResult* _res_,
                                                      gpointer _user_data_)
{
	TubaDialogsAdminReportUpdateReportActualData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	tuba_dialogs_admin_report_update_report_actual_co (_data_);
}

static gboolean
tuba_dialogs_admin_report_update_report_actual_co (TubaDialogsAdminReportUpdateReportActualData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	_data_->_tmp0_ = json_builder_new ();
	_data_->builder = _data_->_tmp0_;
	_data_->_tmp1_ = _data_->builder;
	json_builder_begin_object (_data_->_tmp1_);
	_data_->_tmp2_ = _data_->builder;
	json_builder_set_member_name (_data_->_tmp2_, "category");
	_data_->_tmp3_ = _data_->builder;
	json_builder_add_string_value (_data_->_tmp3_, _data_->category);
	_data_->_tmp4_ = _data_->builder;
	json_builder_set_member_name (_data_->_tmp4_, "rule_ids");
	_data_->_tmp5_ = _data_->builder;
	json_builder_begin_array (_data_->_tmp5_);
	{
		_data_->rule_id_collection_length1 = 0;
		_data_->_rule_id_collection_size_ = 0;
		_data_->rule_id_collection = _data_->rule_ids;
		_data_->rule_id_collection_length1 = _data_->rule_ids_length1;
		for (_data_->rule_id_it = 0; _data_->rule_id_it < _data_->rule_id_collection_length1; _data_->rule_id_it = _data_->rule_id_it + 1) {
			_data_->_tmp6_ = g_strdup (_data_->rule_id_collection[_data_->rule_id_it]);
			_data_->rule_id = _data_->_tmp6_;
			{
				_data_->_tmp7_ = _data_->builder;
				_data_->_tmp8_ = _data_->rule_id;
				json_builder_add_string_value (_data_->_tmp7_, _data_->_tmp8_);
				_g_free0 (_data_->rule_id);
			}
		}
	}
	_data_->_tmp9_ = _data_->builder;
	json_builder_end_array (_data_->_tmp9_);
	_data_->_tmp10_ = _data_->builder;
	json_builder_end_object (_data_->_tmp10_);
	_data_->self->priv->should_refresh = TRUE;
	_data_->_tmp11_ = _data_->self->priv->report_id;
	_data_->_tmp12_ = string_to_string (_data_->_tmp11_);
	_data_->_tmp13_ = g_strconcat ("/api/v1/admin/reports/", _data_->_tmp12_, NULL);
	_data_->_tmp14_ = _data_->_tmp13_;
	_data_->_tmp15_ = tuba_accounts;
	_data_->_tmp16_ = tuba_account_store_get_active (_data_->_tmp15_);
	_data_->_tmp17_ = _data_->_tmp16_;
	_data_->_tmp18_ = _g_object_ref0 (_data_->_tmp17_);
	_data_->_tmp19_ = NULL;
	_data_->_tmp19_ = tuba_request_v2_new (_data_->_tmp14_, TUBA_REQUEST_V2_METHOD_PUT);
	tuba_request_v2_set_account (_data_->_tmp19_, _data_->_tmp18_);
	_g_object_unref0 (_data_->_tmp18_);
	_data_->_tmp20_ = _data_->_tmp19_;
	_g_free0 (_data_->_tmp14_);
	_data_->req = _data_->_tmp20_;
	_data_->_tmp21_ = _data_->builder;
	tuba_request_v2_set_body_from_json (_data_->req, _data_->_tmp21_);
	{
		_data_->_state_ = 1;
		tuba_request_v2_exec (_data_->req, tuba_dialogs_admin_report_update_report_actual_ready, _data_);
		return FALSE;
		_state_1:
		_data_->_tmp22_ = tuba_request_v2_exec_finish (_data_->req, _data_->_res_, NULL, &_data_->_inner_error0_);
		_data_->_tmp23_ = _data_->_tmp22_;
		_g_object_unref0 (_data_->_tmp23_);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->e = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp24_ = _data_->self->priv->report_id;
		_data_->_tmp25_ = string_to_string (_data_->_tmp24_);
		_data_->_tmp26_ = _data_->e;
		_data_->_tmp27_ = g_strdup_printf ("%i", _data_->_tmp26_->code);
		_data_->_tmp28_ = _data_->_tmp27_;
		_data_->_tmp29_ = _data_->e;
		_data_->_tmp30_ = _data_->_tmp29_->message;
		_data_->_tmp31_ = string_to_string (_data_->_tmp30_);
		_data_->_tmp32_ = g_strconcat ("Error trying to update report ", _data_->_tmp25_, ": ", _data_->_tmp28_, " ", _data_->_tmp31_, NULL);
		_data_->_tmp33_ = _data_->_tmp32_;
		g_warning ("Report.vala:361: %s", _data_->_tmp33_);
		_g_free0 (_data_->_tmp33_);
		_g_free0 (_data_->_tmp28_);
		_data_->_tmp34_ = _data_->e;
		_data_->_tmp35_ = _data_->_tmp34_->message;
		_data_->_tmp36_ = string_to_string (_data_->_tmp35_);
		_data_->_tmp37_ = _data_->e;
		_data_->_tmp38_ = g_strdup_printf ("%i", _data_->_tmp37_->code);
		_data_->_tmp39_ = _data_->_tmp38_;
		_data_->_tmp40_ = g_strconcat (_data_->_tmp36_, " ", _data_->_tmp39_, NULL);
		_data_->_tmp41_ = _data_->_tmp40_;
		tuba_dialogs_admin_base_add_toast ((TubaDialogsAdminBase*) _data_->self, _data_->_tmp41_);
		_g_free0 (_data_->_tmp41_);
		_g_free0 (_data_->_tmp39_);
		_data_->_tmp42_ = _data_->self->priv->resolve_button;
		gtk_widget_set_sensitive ((GtkWidget*) _data_->_tmp42_, TRUE);
		_g_error_free0 (_data_->e);
	}
	__finally0:
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
		_g_object_unref0 (_data_->req);
		_g_object_unref0 (_data_->builder);
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _data_->_inner_error0_->message, g_quark_to_string (_data_->_inner_error0_->domain), _data_->_inner_error0_->code);
		g_clear_error (&_data_->_inner_error0_);
		g_object_unref (_data_->_async_result);
		return FALSE;
	}
	_g_object_unref0 (_data_->req);
	_g_object_unref0 (_data_->builder);
	g_task_return_pointer (_data_->_async_result, _data_, NULL);
	if (_data_->_state_ != 0) {
		while (!g_task_get_completed (_data_->_async_result)) {
			g_main_context_iteration (g_task_get_context (_data_->_async_result), TRUE);
		}
	}
	g_object_unref (_data_->_async_result);
	return FALSE;
}

static void
_tuba_dialogs_admin_report_on_took_action_tuba_dialogs_admin_take_action_took_action (TubaDialogsAdminTakeAction* _sender,
                                                                                      gpointer self)
{
	tuba_dialogs_admin_report_on_took_action ((TubaDialogsAdminReport*) self);
}

static void
tuba_dialogs_admin_report_show_take_action_dialog (TubaDialogsAdminReport* self)
{
	TubaDialogsAdminTakeAction* dlg = NULL;
	const gchar* _tmp0_;
	const gchar* _tmp1_;
	const gchar* _tmp2_;
	TubaDialogsAdminTakeAction* _tmp3_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->account_id;
	_tmp1_ = self->priv->account_handle;
	_tmp2_ = self->priv->report_id;
	_tmp3_ = tuba_dialogs_admin_take_action_new (_tmp0_, _tmp1_, _tmp2_);
	g_object_ref_sink (_tmp3_);
	dlg = _tmp3_;
	g_signal_connect_object (dlg, "took-action", (GCallback) _tuba_dialogs_admin_report_on_took_action_tuba_dialogs_admin_take_action_took_action, self, 0);
	adw_dialog_present ((AdwDialog*) dlg, (GtkWidget*) self);
	_g_object_unref0 (dlg);
}

static void
tuba_dialogs_admin_report_on_took_action (TubaDialogsAdminReport* self)
{
	g_return_if_fail (self != NULL);
	self->priv->should_refresh = TRUE;
	tuba_dialogs_admin_report_on_close (self);
}

static void
tuba_dialogs_admin_report_mark_for_refresh (TubaDialogsAdminReport* self)
{
	g_return_if_fail (self != NULL);
	self->priv->should_refresh = TRUE;
}

static void
tuba_dialogs_admin_report_on_close (TubaDialogsAdminReport* self)
{
	g_return_if_fail (self != NULL);
	if (self->priv->should_refresh) {
		g_signal_emit (self, tuba_dialogs_admin_report_signals[TUBA_DIALOGS_ADMIN_REPORT_REFRESH_SIGNAL], 0);
	}
	adw_dialog_force_close ((AdwDialog*) self);
}

static void
_tuba_dialogs_admin_report_on_close_adw_dialog_close_attempt (AdwDialog* _sender,
                                                              gpointer self)
{
	tuba_dialogs_admin_report_on_close ((TubaDialogsAdminReport*) self);
}

static GObject *
tuba_dialogs_admin_report_constructor (GType type,
                                       guint n_construct_properties,
                                       GObjectConstructParam * construct_properties)
{
	GObject * obj;
	GObjectClass * parent_class;
	TubaDialogsAdminReport * self;
	AdwPreferencesGroup* _tmp0_;
	AdwPreferencesPage* _tmp1_;
	AdwPreferencesPage* _tmp2_;
	AdwPreferencesGroup* _tmp3_;
	parent_class = G_OBJECT_CLASS (tuba_dialogs_admin_report_parent_class);
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TUBA_DIALOGS_ADMIN_TYPE_REPORT, TubaDialogsAdminReport);
	adw_dialog_set_title ((AdwDialog*) self, _ ("Report"));
	adw_dialog_set_content_width ((AdwDialog*) self, 460);
	adw_dialog_set_content_height ((AdwDialog*) self, 560);
	adw_dialog_set_can_close ((AdwDialog*) self, FALSE);
	_tmp0_ = (AdwPreferencesGroup*) adw_preferences_group_new ();
	g_object_ref_sink (_tmp0_);
	_g_object_unref0 (self->priv->profile_group);
	self->priv->profile_group = _tmp0_;
	_tmp1_ = tuba_dialogs_admin_base_get_page ((TubaDialogsAdminBase*) self);
	_tmp2_ = _tmp1_;
	_tmp3_ = self->priv->profile_group;
	adw_preferences_page_add (_tmp2_, _tmp3_);
	g_signal_connect_object ((AdwDialog*) self, "close-attempt", (GCallback) _tuba_dialogs_admin_report_on_close_adw_dialog_close_attempt, self, 0);
	return obj;
}

static void
tuba_dialogs_admin_report_class_init (TubaDialogsAdminReportClass * klass,
                                      gpointer klass_data)
{
	tuba_dialogs_admin_report_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &TubaDialogsAdminReport_private_offset);
	G_OBJECT_CLASS (klass)->constructor = tuba_dialogs_admin_report_constructor;
	G_OBJECT_CLASS (klass)->finalize = tuba_dialogs_admin_report_finalize;
	tuba_dialogs_admin_report_signals[TUBA_DIALOGS_ADMIN_REPORT_REFRESH_SIGNAL] = g_signal_new ("refresh", TUBA_DIALOGS_ADMIN_TYPE_REPORT, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
}

static void
tuba_dialogs_admin_report_instance_init (TubaDialogsAdminReport * self,
                                         gpointer klass)
{
	self->priv = tuba_dialogs_admin_report_get_instance_private (self);
	self->priv->should_refresh = FALSE;
}

static void
tuba_dialogs_admin_report_finalize (GObject * obj)
{
	TubaDialogsAdminReport * self;
	GeeHashMap* _tmp0_;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TUBA_DIALOGS_ADMIN_TYPE_REPORT, TubaDialogsAdminReport);
	g_debug ("Report.vala:67: Destroying Report");
	_tmp0_ = self->priv->rules_buttons;
	gee_abstract_map_clear ((GeeAbstractMap*) _tmp0_);
	_g_object_unref0 (self->priv->profile_group);
	_g_object_unref0 (self->priv->take_action_button);
	_g_object_unref0 (self->priv->resolve_button);
	_g_free0 (self->priv->report_id);
	_g_free0 (self->priv->account_id);
	_g_free0 (self->priv->account_handle);
	_g_object_unref0 (self->priv->rule_other);
	_g_object_unref0 (self->priv->rule_legal);
	_g_object_unref0 (self->priv->rule_violation);
	_g_object_unref0 (self->priv->rule_spam);
	_g_object_unref0 (self->priv->rules_group);
	_g_object_unref0 (self->priv->rule_other_row);
	_g_object_unref0 (self->priv->rule_legal_row);
	_g_object_unref0 (self->priv->rule_violation_row);
	_g_object_unref0 (self->priv->rule_spam_row);
	_g_object_unref0 (self->priv->rules_buttons);
	G_OBJECT_CLASS (tuba_dialogs_admin_report_parent_class)->finalize (obj);
}

 G_GNUC_NO_INLINE static GType
tuba_dialogs_admin_report_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (TubaDialogsAdminReportClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tuba_dialogs_admin_report_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TubaDialogsAdminReport), 0, (GInstanceInitFunc) tuba_dialogs_admin_report_instance_init, NULL };
	GType tuba_dialogs_admin_report_type_id;
	tuba_dialogs_admin_report_type_id = g_type_register_static (TUBA_DIALOGS_ADMIN_TYPE_BASE, "TubaDialogsAdminReport", &g_define_type_info, G_TYPE_FLAG_NONE);
	TubaDialogsAdminReport_private_offset = g_type_add_instance_private (tuba_dialogs_admin_report_type_id, sizeof (TubaDialogsAdminReportPrivate));
	return tuba_dialogs_admin_report_type_id;
}

GType
tuba_dialogs_admin_report_get_type (void)
{
	static GType tuba_dialogs_admin_report_type_id__once = 0;
	if (g_once_init_enter_pointer (&tuba_dialogs_admin_report_type_id__once)) {
		GType tuba_dialogs_admin_report_type_id;
		tuba_dialogs_admin_report_type_id = tuba_dialogs_admin_report_get_type_once ();
		g_once_init_leave_pointer (&tuba_dialogs_admin_report_type_id__once, tuba_dialogs_admin_report_type_id);
	}
	return tuba_dialogs_admin_report_type_id__once;
}

static void
_vala_array_destroy (gpointer array,
                     gssize array_length,
                     GDestroyNotify destroy_func)
{
	if ((array != NULL) && (destroy_func != NULL)) {
		gssize i;
		for (i = 0; i < array_length; i = i + 1) {
			if (((gpointer*) array)[i] != NULL) {
				destroy_func (((gpointer*) array)[i]);
			}
		}
	}
}

static void
_vala_array_free (gpointer array,
                  gssize array_length,
                  GDestroyNotify destroy_func)
{
	_vala_array_destroy (array, array_length, destroy_func);
	g_free (array);
}

