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

#include <adwaita.h>
#include <glib-object.h>
#include <gtk/gtk.h>
#include <glib.h>
#include <stdlib.h>
#include <string.h>
#include <glib/gi18n-lib.h>
#include <gio/gio.h>
#include <gee.h>
#include <json-glib/json-glib.h>
#include <libsoup/soup.h>
#include <float.h>
#include <math.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_WIDGETS_TYPE_ACTIONS_ROW (tuba_widgets_actions_row_get_type ())
#define TUBA_WIDGETS_ACTIONS_ROW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_WIDGETS_TYPE_ACTIONS_ROW, TubaWidgetsActionsRow))
#define TUBA_WIDGETS_ACTIONS_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_WIDGETS_TYPE_ACTIONS_ROW, TubaWidgetsActionsRowClass))
#define TUBA_WIDGETS_IS_ACTIONS_ROW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_WIDGETS_TYPE_ACTIONS_ROW))
#define TUBA_WIDGETS_IS_ACTIONS_ROW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_WIDGETS_TYPE_ACTIONS_ROW))
#define TUBA_WIDGETS_ACTIONS_ROW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_WIDGETS_TYPE_ACTIONS_ROW, TubaWidgetsActionsRowClass))

typedef struct _TubaWidgetsActionsRow TubaWidgetsActionsRow;
typedef struct _TubaWidgetsActionsRowClass TubaWidgetsActionsRowClass;
typedef struct _TubaWidgetsActionsRowPrivate TubaWidgetsActionsRowPrivate;

#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_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_WIDGETS_TYPE_STATUS_ACTION_BUTTON (tuba_widgets_status_action_button_get_type ())
#define TUBA_WIDGETS_STATUS_ACTION_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_WIDGETS_TYPE_STATUS_ACTION_BUTTON, TubaWidgetsStatusActionButton))
#define TUBA_WIDGETS_STATUS_ACTION_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_WIDGETS_TYPE_STATUS_ACTION_BUTTON, TubaWidgetsStatusActionButtonClass))
#define TUBA_WIDGETS_IS_STATUS_ACTION_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_WIDGETS_TYPE_STATUS_ACTION_BUTTON))
#define TUBA_WIDGETS_IS_STATUS_ACTION_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_WIDGETS_TYPE_STATUS_ACTION_BUTTON))
#define TUBA_WIDGETS_STATUS_ACTION_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_WIDGETS_TYPE_STATUS_ACTION_BUTTON, TubaWidgetsStatusActionButtonClass))

typedef struct _TubaWidgetsStatusActionButton TubaWidgetsStatusActionButton;
typedef struct _TubaWidgetsStatusActionButtonClass TubaWidgetsStatusActionButtonClass;
enum  {
	TUBA_WIDGETS_ACTIONS_ROW_0_PROPERTY,
	TUBA_WIDGETS_ACTIONS_ROW_STATUS_PROPERTY,
	TUBA_WIDGETS_ACTIONS_ROW_IS_NARROW_PROPERTY,
	TUBA_WIDGETS_ACTIONS_ROW_NUM_PROPERTIES
};
static GParamSpec* tuba_widgets_actions_row_properties[TUBA_WIDGETS_ACTIONS_ROW_NUM_PROPERTIES];
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
typedef struct _Block106Data Block106Data;

#define TUBA_TYPE_SETTINGS (tuba_settings_get_type ())
#define TUBA_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_TYPE_SETTINGS, TubaSettings))
#define TUBA_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_TYPE_SETTINGS, TubaSettingsClass))
#define TUBA_IS_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_TYPE_SETTINGS))
#define TUBA_IS_SETTINGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_TYPE_SETTINGS))
#define TUBA_SETTINGS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_TYPE_SETTINGS, TubaSettingsClass))

typedef struct _TubaSettings TubaSettings;
typedef struct _TubaSettingsClass TubaSettingsClass;

#define TUBA_TYPE_APPLICATION (tuba_application_get_type ())
#define TUBA_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_TYPE_APPLICATION, TubaApplication))
#define TUBA_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_TYPE_APPLICATION, TubaApplicationClass))
#define TUBA_IS_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_TYPE_APPLICATION))
#define TUBA_IS_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_TYPE_APPLICATION))
#define TUBA_APPLICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_TYPE_APPLICATION, TubaApplicationClass))

typedef struct _TubaApplication TubaApplication;
typedef struct _TubaApplicationClass TubaApplicationClass;

#define TUBA_APPLICATION_TYPE_QUESTION_TEXT (tuba_application_question_text_get_type ())
typedef struct _TubaApplicationQuestionText TubaApplicationQuestionText;

#define TUBA_APPLICATION_TYPE_QUESTION_BUTTONS (tuba_application_question_buttons_get_type ())
typedef struct _TubaApplicationQuestionButtons TubaApplicationQuestionButtons;

#define TUBA_APPLICATION_TYPE_QUESTION_BUTTON (tuba_application_question_button_get_type ())
typedef struct _TubaApplicationQuestionButton TubaApplicationQuestionButton;
typedef enum  {
	TUBA_APPLICATION_QUESTION_ANSWER_YES,
	TUBA_APPLICATION_QUESTION_ANSWER_NO,
	TUBA_APPLICATION_QUESTION_ANSWER_CLOSE
} TubaApplicationQuestionAnswer;

#define TUBA_APPLICATION_TYPE_QUESTION_ANSWER (tuba_application_question_answer_get_type ())
#define _g_free0(var) (var = (g_free (var), NULL))

#define TUBA_DIALOGS_TYPE_MAIN_WINDOW (tuba_dialogs_main_window_get_type ())
#define TUBA_DIALOGS_MAIN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_DIALOGS_TYPE_MAIN_WINDOW, TubaDialogsMainWindow))
#define TUBA_DIALOGS_MAIN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_DIALOGS_TYPE_MAIN_WINDOW, TubaDialogsMainWindowClass))
#define TUBA_DIALOGS_IS_MAIN_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_DIALOGS_TYPE_MAIN_WINDOW))
#define TUBA_DIALOGS_IS_MAIN_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_DIALOGS_TYPE_MAIN_WINDOW))
#define TUBA_DIALOGS_MAIN_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_DIALOGS_TYPE_MAIN_WINDOW, TubaDialogsMainWindowClass))

typedef struct _TubaDialogsMainWindow TubaDialogsMainWindow;
typedef struct _TubaDialogsMainWindowClass TubaDialogsMainWindowClass;

#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 struct _Block107Data Block107Data;

#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;
typedef struct _Block108Data Block108Data;
typedef struct _Block109Data Block109Data;
typedef struct _Block110Data Block110Data;
typedef enum  {
	TUBA_API_STATUS_VISIBILITY_PUBLIC,
	TUBA_API_STATUS_VISIBILITY_UNLISTED,
	TUBA_API_STATUS_VISIBILITY_PRIVATE,
	TUBA_API_STATUS_VISIBILITY_DIRECT,
	TUBA_API_STATUS_VISIBILITY_LOCAL
} TubaAPIStatusVisibility;

#define TUBA_API_STATUS_TYPE_VISIBILITY (tuba_api_status_visibility_get_type ())
typedef struct _Block111Data Block111Data;

#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_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_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;
typedef struct _TubaEntityPrivate TubaEntityPrivate;

#define TUBA_API_TYPE_SEARCH_RESULT (tuba_api_search_result_get_type ())
#define TUBA_API_SEARCH_RESULT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_TYPE_SEARCH_RESULT, TubaAPISearchResult))
#define TUBA_API_IS_SEARCH_RESULT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_TYPE_SEARCH_RESULT))
#define TUBA_API_SEARCH_RESULT_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TUBA_API_TYPE_SEARCH_RESULT, TubaAPISearchResultIface))

typedef struct _TubaAPISearchResult TubaAPISearchResult;
typedef struct _TubaAPISearchResultIface TubaAPISearchResultIface;
typedef struct _TubaAPIAccountPrivate TubaAPIAccountPrivate;

#define TUBA_TYPE_STREAMABLE (tuba_streamable_get_type ())
#define TUBA_STREAMABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_TYPE_STREAMABLE, TubaStreamable))
#define TUBA_IS_STREAMABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_TYPE_STREAMABLE))
#define TUBA_STREAMABLE_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TUBA_TYPE_STREAMABLE, TubaStreamableIface))

typedef struct _TubaStreamable TubaStreamable;
typedef struct _TubaStreamableIface TubaStreamableIface;
typedef struct _TubaInstanceAccountPrivate TubaInstanceAccountPrivate;

#define TUBA_INSTANCE_ACCOUNT_TYPE_KIND (tuba_instance_account_kind_get_type ())
typedef struct _TubaInstanceAccountKind TubaInstanceAccountKind;

#define TUBA_TYPE_PLACE (tuba_place_get_type ())
#define TUBA_PLACE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_TYPE_PLACE, TubaPlace))
#define TUBA_PLACE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_TYPE_PLACE, TubaPlaceClass))
#define TUBA_IS_PLACE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_TYPE_PLACE))
#define TUBA_IS_PLACE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_TYPE_PLACE))
#define TUBA_PLACE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_TYPE_PLACE, TubaPlaceClass))

typedef struct _TubaPlace TubaPlace;
typedef struct _TubaPlaceClass TubaPlaceClass;

#define TUBA_API_TYPE_NOTIFICATION (tuba_api_notification_get_type ())
#define TUBA_API_NOTIFICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_API_TYPE_NOTIFICATION, TubaAPINotification))
#define TUBA_API_NOTIFICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_API_TYPE_NOTIFICATION, TubaAPINotificationClass))
#define TUBA_API_IS_NOTIFICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_API_TYPE_NOTIFICATION))
#define TUBA_API_IS_NOTIFICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_API_TYPE_NOTIFICATION))
#define TUBA_API_NOTIFICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_API_TYPE_NOTIFICATION, TubaAPINotificationClass))

typedef struct _TubaAPINotification TubaAPINotification;
typedef struct _TubaAPINotificationClass TubaAPINotificationClass;

#define TUBA_INSTANCE_ACCOUNT_TYPE_VISIBILITY (tuba_instance_account_visibility_get_type ())
#define TUBA_INSTANCE_ACCOUNT_VISIBILITY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_INSTANCE_ACCOUNT_TYPE_VISIBILITY, TubaInstanceAccountVisibility))
#define TUBA_INSTANCE_ACCOUNT_VISIBILITY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_INSTANCE_ACCOUNT_TYPE_VISIBILITY, TubaInstanceAccountVisibilityClass))
#define TUBA_INSTANCE_ACCOUNT_IS_VISIBILITY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_INSTANCE_ACCOUNT_TYPE_VISIBILITY))
#define TUBA_INSTANCE_ACCOUNT_IS_VISIBILITY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_INSTANCE_ACCOUNT_TYPE_VISIBILITY))
#define TUBA_INSTANCE_ACCOUNT_VISIBILITY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_INSTANCE_ACCOUNT_TYPE_VISIBILITY, TubaInstanceAccountVisibilityClass))

typedef struct _TubaInstanceAccountVisibility TubaInstanceAccountVisibility;
typedef struct _TubaInstanceAccountVisibilityClass TubaInstanceAccountVisibilityClass;
typedef struct _Block112Data Block112Data;

#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;
typedef enum  {
	TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_NONE = 1 << 0,
	TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_QUOTE = 1 << 1,
	TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_EMOJI_REACTIONS = 1 << 2,
	TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_BUBBLE = 1 << 3,
	TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_GROUP_NOTIFICATIONS = 1 << 4,
	TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_FEATURE_TAGS = 1 << 5,
	TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_ENDORSE_USERS = 1 << 6,
	TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_MUTUALS = 1 << 7,
	TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_TRANSLATION = 1 << 8,
	TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_ICESHRIMP = 1 << 9,
	TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_GLITCH = 1 << 10,
	TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_LOCAL_ONLY = 1 << 11,
	TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_GOTOSOCIAL = 1 << 12
} TubaInstanceAccountInstanceFeatures;

#define TUBA_INSTANCE_ACCOUNT_TYPE_INSTANCE_FEATURES (tuba_instance_account_instance_features_get_type ())

#define TUBA_DIALOGS_COMPOSER_TYPE_DIALOG (tuba_dialogs_composer_dialog_get_type ())
#define TUBA_DIALOGS_COMPOSER_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TUBA_DIALOGS_COMPOSER_TYPE_DIALOG, TubaDialogsComposerDialog))
#define TUBA_DIALOGS_COMPOSER_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TUBA_DIALOGS_COMPOSER_TYPE_DIALOG, TubaDialogsComposerDialogClass))
#define TUBA_DIALOGS_COMPOSER_IS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TUBA_DIALOGS_COMPOSER_TYPE_DIALOG))
#define TUBA_DIALOGS_COMPOSER_IS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TUBA_DIALOGS_COMPOSER_TYPE_DIALOG))
#define TUBA_DIALOGS_COMPOSER_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TUBA_DIALOGS_COMPOSER_TYPE_DIALOG, TubaDialogsComposerDialogClass))

typedef struct _TubaDialogsComposerDialog TubaDialogsComposerDialog;
typedef struct _TubaDialogsComposerDialogClass TubaDialogsComposerDialogClass;

#define TUBA_TYPE_OOPSIE (tuba_oopsie_get_type ())
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
typedef struct _TubaWidgetsActionsRowMastodonActionData TubaWidgetsActionsRowMastodonActionData;
#define __vala_GValue_free0(var) ((var == NULL) ? NULL : (var = (_vala_GValue_free (var), NULL)))
#define _adw_breakpoint_condition_free0(var) ((var == NULL) ? NULL : (var = (adw_breakpoint_condition_free (var), NULL)))
enum  {
	TUBA_WIDGETS_ACTIONS_ROW_REPLY_SIGNAL,
	TUBA_WIDGETS_ACTIONS_ROW_NUM_SIGNALS
};
static guint tuba_widgets_actions_row_signals[TUBA_WIDGETS_ACTIONS_ROW_NUM_SIGNALS] = {0};

struct _TubaWidgetsActionsRow {
	AdwBreakpointBin parent_instance;
	TubaWidgetsActionsRowPrivate * priv;
};

struct _TubaWidgetsActionsRowClass {
	AdwBreakpointBinClass parent_class;
};

struct _TubaWidgetsActionsRowPrivate {
	TubaAPIStatus* _status;
	TubaWidgetsStatusActionButton* reply_button;
	TubaWidgetsStatusActionButton* reblog_button;
	TubaWidgetsStatusActionButton* favorite_button;
	TubaWidgetsStatusActionButton* bookmark_button;
	TubaWidgetsStatusActionButton* quote_button;
	GBinding** bindings;
	gint bindings_length1;
	gint _bindings_size_;
	gulong* status_notify_signals;
	gint status_notify_signals_length1;
	gint _status_notify_signals_size_;
	GtkBox* box;
	gboolean _is_narrow;
};

struct _Block106Data {
	int _ref_count_;
	TubaWidgetsActionsRow* self;
	GtkButton* btn;
};

struct _TubaApplicationQuestionText {
	gchar* text;
	gboolean use_markup;
};

struct _TubaApplicationQuestionButton {
	gchar* label;
	AdwResponseAppearance appearance;
};

struct _TubaApplicationQuestionButtons {
	TubaApplicationQuestionButton yes;
	TubaApplicationQuestionButton no;
};

struct _Block107Data {
	int _ref_count_;
	TubaWidgetsActionsRow* self;
	gboolean res;
};

struct _Block108Data {
	int _ref_count_;
	TubaWidgetsActionsRow* self;
	TubaWidgetsStatusActionButton* status_btn;
};

struct _Block109Data {
	int _ref_count_;
	Block108Data * _data108_;
	GtkCheckButton* checkbutton;
};

struct _Block110Data {
	int _ref_count_;
	TubaWidgetsActionsRow* self;
	TubaWidgetsStatusActionButton* status_btn;
};

struct _Block111Data {
	int _ref_count_;
	Block110Data * _data110_;
	GtkCheckButton* group;
	GeeHashMap* check_buttons;
	AdwAlertDialog* dlg;
};

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

struct _TubaEntity {
	GObject parent_instance;
	TubaEntityPrivate * priv;
};

struct _TubaEntityClass {
	GObjectClass parent_class;
	gboolean (*is_local) (TubaEntity* self, TubaInstanceAccount* account);
	GType (*deserialize_array_type) (TubaEntity* self, const gchar* prop);
};

struct _TubaAPISearchResultIface {
	GTypeInterface parent_iface;
	GRegex* (*get_tuba_search_query_regex) (TubaAPISearchResult* self);
	void (*set_tuba_search_query_regex) (TubaAPISearchResult* self, GRegex* value);
};

struct _TubaAPIAccount {
	TubaEntity parent_instance;
	TubaAPIAccountPrivate * priv;
};

struct _TubaAPIAccountClass {
	TubaEntityClass parent_class;
};

struct _TubaStreamableIface {
	GTypeInterface parent_iface;
	gchar* (*get_stream_url) (TubaStreamable* self);
	void (*on_streaming_policy_changed) (TubaStreamable* self);
	const gchar* (*get_t_connection_url) (TubaStreamable* self);
	void (*set_t_connection_url) (TubaStreamable* self, const gchar* value);
	gboolean (*get_subscribed) (TubaStreamable* self);
	void (*set_subscribed) (TubaStreamable* self, gboolean value);
};

struct _TubaInstanceAccountKind {
	gchar* icon;
	gchar* description;
	gchar* url;
};

struct _TubaInstanceAccount {
	TubaAPIAccount parent_instance;
	TubaInstanceAccountPrivate * priv;
	GListStore* known_places;
	GListStore* list_places;
	GListStore* tags_places;
	GeeHashMap* type_overrides;
	GeeHashMap* visibility;
	GListStore* visibility_list;
	GListStore* supported_mime_types;
};

struct _TubaInstanceAccountClass {
	TubaAPIAccountClass parent_class;
	void (*describe_kind) (TubaInstanceAccount* self, const gchar* kind, TubaInstanceAccountKind* _result_, const gchar* actor_name, const gchar* callback_url, const gchar* other_data);
	void (*register_known_places) (TubaInstanceAccount* self, GListStore* places);
	void (*register_extra) (TubaInstanceAccount* self, GListStore* places, TubaPlace** extra, gint extra_length1);
	void (*bump_sidebar_items) (TubaInstanceAccount* self);
	void (*check_notifications) (TubaInstanceAccount* self, GAsyncReadyCallback _callback_, gpointer _user_data_);
	void (*check_notifications_finish) (TubaInstanceAccount* self, GAsyncResult* _res_);
	gchar* (*get_stream_url) (TubaInstanceAccount* self);
	void (*on_notification_received) (TubaInstanceAccount* self, TubaAPINotification* entity);
	void (*open_status_url) (TubaInstanceAccount* self, const gchar* url);
	void (*answer_follow_request) (TubaInstanceAccount* self, const gchar* issuer_id, const gchar* fr_id, gboolean accept);
	void (*follow_back) (TubaInstanceAccount* self, const gchar* issuer_id, const gchar* acc_id);
	void (*reply_to_status_uri) (TubaInstanceAccount* self, const gchar* issuer_id, const gchar* uri);
	void (*remove_from_followers) (TubaInstanceAccount* self, const gchar* issuer_id, const gchar* acc_id);
	void (*activated) (TubaInstanceAccount* self);
	void (*deactivated) (TubaInstanceAccount* self);
	void (*added) (TubaInstanceAccount* self);
	void (*removed) (TubaInstanceAccount* self);
};

struct _Block112Data {
	int _ref_count_;
	Block111Data * _data111_;
	TubaAPIStatusVisibility* reblog_visibility;
};

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 _TubaWidgetsActionsRowMastodonActionData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GTask* _async_result;
	TubaWidgetsActionsRow* self;
	TubaWidgetsStatusActionButton* status_btn;
	TubaRequestV2* req;
	gchar* action;
	gchar* count_property;
	GInputStream* _tmp0_;
	GInputStream* _tmp1_;
	gint64 status_property_count;
	TubaAPIStatus* _tmp2_;
	gint64 _tmp3_;
	gint _tmp4_;
	gboolean _tmp5_;
	gboolean _tmp6_;
	TubaAPIStatus* _tmp7_;
	const gchar* _tmp8_;
	gchar* _tmp9_;
	gchar* _tmp10_;
	GError* e;
	const gchar* _tmp11_;
	gchar* _tmp12_;
	gchar* _tmp13_;
	GError* _tmp14_;
	const gchar* _tmp15_;
	TubaApplication* _tmp16_;
	GError* _tmp17_;
	const gchar* _tmp18_;
	gchar* _tmp19_;
	gchar* _tmp20_;
	gint _tmp21_;
	gboolean _tmp22_;
	gboolean _tmp23_;
	gint64 _tmp24_;
	gint64 _tmp25_;
	gboolean _tmp26_;
	gboolean _tmp27_;
	GError* _inner_error0_;
};

static gint TubaWidgetsActionsRow_private_offset;
static gpointer tuba_widgets_actions_row_parent_class = NULL;
VALA_EXTERN TubaSettings* tuba_settings;
VALA_EXTERN TubaApplication* tuba_app;
VALA_EXTERN TubaAccountStore* tuba_accounts;

VALA_EXTERN GType tuba_widgets_actions_row_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaWidgetsActionsRow, 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_status_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPIStatus, g_object_unref)
VALA_EXTERN GType tuba_widgets_status_action_button_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaWidgetsStatusActionButton, g_object_unref)
VALA_EXTERN void tuba_widgets_actions_row_unbind (TubaWidgetsActionsRow* self);
VALA_EXTERN TubaWidgetsActionsRow* tuba_widgets_actions_row_new (TubaAPIStatus* t_status);
VALA_EXTERN TubaWidgetsActionsRow* tuba_widgets_actions_row_construct (GType object_type,
                                                           TubaAPIStatus* t_status);
VALA_EXTERN void tuba_widgets_actions_row_bind (TubaWidgetsActionsRow* self);
VALA_EXTERN TubaAPIStatus* tuba_widgets_actions_row_get_status (TubaWidgetsActionsRow* self);
static void _vala_array_add159 (GBinding** * array,
                         gint* length,
                         gint* size,
                         GBinding* value);
static void tuba_widgets_actions_row_in_reply_to_id_notify_func (TubaWidgetsActionsRow* self);
static void _tuba_widgets_actions_row_in_reply_to_id_notify_func_g_object_notify (GObject* _sender,
                                                                           GParamSpec* pspec,
                                                                           gpointer self);
static void _vala_array_add160 (gulong* * array,
                         gint* length,
                         gint* size,
                         gulong value);
static void tuba_widgets_actions_row_can_be_boosted_notify_func (TubaWidgetsActionsRow* self);
static void _tuba_widgets_actions_row_can_be_boosted_notify_func_g_object_notify (GObject* _sender,
                                                                           GParamSpec* pspec,
                                                                           gpointer self);
static void _vala_array_add161 (gulong* * array,
                         gint* length,
                         gint* size,
                         gulong value);
static void _vala_array_add162 (GBinding** * array,
                         gint* length,
                         gint* size,
                         GBinding* value);
static void _vala_array_add163 (GBinding** * array,
                         gint* length,
                         gint* size,
                         GBinding* value);
static void _vala_array_add164 (GBinding** * array,
                         gint* length,
                         gint* size,
                         GBinding* value);
static void _vala_array_add165 (GBinding** * array,
                         gint* length,
                         gint* size,
                         GBinding* value);
static void _vala_array_add166 (GBinding** * array,
                         gint* length,
                         gint* size,
                         GBinding* value);
static void _vala_array_add167 (GBinding** * array,
                         gint* length,
                         gint* size,
                         GBinding* value);
static void _vala_array_add168 (GBinding** * array,
                         gint* length,
                         gint* size,
                         GBinding* value);
static void _vala_array_add169 (GBinding** * array,
                         gint* length,
                         gint* size,
                         GBinding* value);
static void tuba_widgets_actions_row_can_be_quoted_notify_fun (TubaWidgetsActionsRow* self);
static void _tuba_widgets_actions_row_can_be_quoted_notify_fun_g_object_notify (GObject* _sender,
                                                                         GParamSpec* pspec,
                                                                         gpointer self);
static void _vala_array_add170 (gulong* * array,
                         gint* length,
                         gint* size,
                         gulong value);
VALA_EXTERN const gchar* tuba_api_status_get_in_reply_to_id (TubaAPIStatus* self);
VALA_EXTERN void tuba_widgets_status_action_button_set_default_icon_name (TubaWidgetsStatusActionButton* self,
                                                              const gchar* value);
VALA_EXTERN gboolean tuba_api_status_get_can_be_boosted (TubaAPIStatus* self);
VALA_EXTERN gboolean tuba_api_status_get_can_be_quoted (TubaAPIStatus* self);
static void tuba_widgets_actions_row_on_reply_button_clicked (TubaWidgetsActionsRow* self,
                                                       GtkButton* btn);
static Block106Data* block106_data_ref (Block106Data* _data106_);
static void block106_data_unref (void * _userdata_);
VALA_EXTERN GType tuba_settings_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaSettings, g_object_unref)
VALA_EXTERN gboolean tuba_settings_get_reply_to_old_post_reminder (TubaSettings* self);
VALA_EXTERN gboolean tuba_utils_date_time_is_3_months_old (const gchar* iso8601);
VALA_EXTERN TubaAPIStatus* tuba_api_status_get_formal (TubaAPIStatus* self);
VALA_EXTERN const gchar* tuba_api_status_get_created_at (TubaAPIStatus* self);
VALA_EXTERN GType tuba_application_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaApplication, g_object_unref)
VALA_EXTERN GType tuba_application_question_text_get_type (void) G_GNUC_CONST ;
VALA_EXTERN TubaApplicationQuestionText* tuba_application_question_text_dup (const TubaApplicationQuestionText* self);
VALA_EXTERN void tuba_application_question_text_free (TubaApplicationQuestionText* self);
VALA_EXTERN void tuba_application_question_text_copy (const TubaApplicationQuestionText* self,
                                          TubaApplicationQuestionText* dest);
VALA_EXTERN void tuba_application_question_text_destroy (TubaApplicationQuestionText* self);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (TubaApplicationQuestionText, tuba_application_question_text_destroy)
VALA_EXTERN GType tuba_application_question_buttons_get_type (void) G_GNUC_CONST ;
VALA_EXTERN GType tuba_application_question_button_get_type (void) G_GNUC_CONST ;
VALA_EXTERN TubaApplicationQuestionButton* tuba_application_question_button_dup (const TubaApplicationQuestionButton* self);
VALA_EXTERN void tuba_application_question_button_free (TubaApplicationQuestionButton* self);
VALA_EXTERN void tuba_application_question_button_copy (const TubaApplicationQuestionButton* self,
                                            TubaApplicationQuestionButton* dest);
VALA_EXTERN void tuba_application_question_button_destroy (TubaApplicationQuestionButton* self);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (TubaApplicationQuestionButton, tuba_application_question_button_destroy)
VALA_EXTERN TubaApplicationQuestionButtons* tuba_application_question_buttons_dup (const TubaApplicationQuestionButtons* self);
VALA_EXTERN void tuba_application_question_buttons_free (TubaApplicationQuestionButtons* self);
VALA_EXTERN void tuba_application_question_buttons_copy (const TubaApplicationQuestionButtons* self,
                                             TubaApplicationQuestionButtons* dest);
VALA_EXTERN void tuba_application_question_buttons_destroy (TubaApplicationQuestionButtons* self);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (TubaApplicationQuestionButtons, tuba_application_question_buttons_destroy)
VALA_EXTERN void tuba_application_question (TubaApplication* self,
                                TubaApplicationQuestionText* title,
                                TubaApplicationQuestionText* msg,
                                GtkWidget* win,
                                TubaApplicationQuestionButtons* buttons,
                                GtkWidget* child,
                                gboolean skip,
                                GAsyncReadyCallback _callback_,
                                gpointer _user_data_);
VALA_EXTERN GType tuba_application_question_answer_get_type (void) G_GNUC_CONST ;
VALA_EXTERN TubaApplicationQuestionAnswer tuba_application_question_finish (TubaApplication* self,
                                                                GAsyncResult* _res_);
VALA_EXTERN gchar* tuba_utils_date_time_humanize_old (const gchar* iso8601);
VALA_EXTERN GType tuba_dialogs_main_window_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaDialogsMainWindow, g_object_unref)
VALA_EXTERN TubaDialogsMainWindow* tuba_application_get_main_window (TubaApplication* self);
static void ___lambda62_ (Block106Data* _data106_,
                   GObject* obj,
                   GAsyncResult* res);
VALA_EXTERN void tuba_settings_set_reply_to_old_post_reminder (TubaSettings* self,
                                                   gboolean value);
static void ____lambda62__gasync_ready_callback (GObject* source_object,
                                          GAsyncResult* res,
                                          gpointer self);
static void tuba_widgets_actions_row_on_bookmark_button_clicked (TubaWidgetsActionsRow* self,
                                                          GtkButton* btn);
VALA_EXTERN gboolean tuba_widgets_status_action_button_get_working (TubaWidgetsStatusActionButton* self);
VALA_EXTERN void tuba_widgets_status_action_button_block_clicked (TubaWidgetsStatusActionButton* self);
VALA_EXTERN gboolean tuba_widgets_status_action_button_get_active (TubaWidgetsStatusActionButton* self);
VALA_EXTERN void tuba_widgets_status_action_button_set_active (TubaWidgetsStatusActionButton* self,
                                                   gboolean value);
VALA_EXTERN GType tuba_request_v2_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaRequestV2, g_object_unref)
VALA_EXTERN TubaRequestV2* tuba_api_status_bookmark_req (TubaAPIStatus* self);
VALA_EXTERN TubaRequestV2* tuba_api_status_unbookmark_req (TubaAPIStatus* self);
static void tuba_widgets_actions_row_mastodon_action (TubaWidgetsActionsRow* self,
                                               TubaWidgetsStatusActionButton* status_btn,
                                               TubaRequestV2* req,
                                               const gchar* action,
                                               const gchar* count_property,
                                               GAsyncReadyCallback _callback_,
                                               gpointer _user_data_);
static void tuba_widgets_actions_row_mastodon_action_finish (TubaWidgetsActionsRow* self,
                                                      GAsyncResult* _res_);
static void tuba_widgets_actions_row_on_favorite_button_clicked (TubaWidgetsActionsRow* self,
                                                          GtkButton* btn);
VALA_EXTERN TubaRequestV2* tuba_api_status_favourite_req (TubaAPIStatus* self);
VALA_EXTERN TubaRequestV2* tuba_api_status_unfavourite_req (TubaAPIStatus* self);
VALA_EXTERN gint64 tuba_widgets_status_action_button_get_amount (TubaWidgetsStatusActionButton* self);
VALA_EXTERN void tuba_widgets_status_action_button_set_amount (TubaWidgetsStatusActionButton* self,
                                                   gint64 value);
static gboolean tuba_widgets_actions_row_is_any_missing_alt (TubaWidgetsActionsRow* self);
static Block107Data* block107_data_ref (Block107Data* _data107_);
static void block107_data_unref (void * _userdata_);
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 __lambda63_ (Block107Data* _data107_,
                      TubaAPIAttachment* e);
VALA_EXTERN const gchar* tuba_api_attachment_get_description (TubaAPIAttachment* self);
static gboolean ___lambda63__gee_forall_func (gpointer g,
                                       gpointer self);
static void tuba_widgets_actions_row_on_boost_button_clicked (TubaWidgetsActionsRow* self,
                                                       GtkButton* btn);
static Block108Data* block108_data_ref (Block108Data* _data108_);
static void block108_data_unref (void * _userdata_);
VALA_EXTERN gboolean tuba_settings_get_boost_alt_text_reminder (TubaSettings* self);
static Block109Data* block109_data_ref (Block109Data* _data109_);
static void block109_data_unref (void * _userdata_);
static void ___lambda64_ (Block109Data* _data109_,
                   GObject* obj,
                   GAsyncResult* res);
VALA_EXTERN gboolean tuba_application_question_answer_truthy (TubaApplicationQuestionAnswer self);
static void tuba_widgets_actions_row_boost_button_clicked_real (TubaWidgetsActionsRow* self,
                                                         TubaWidgetsStatusActionButton* status_btn);
VALA_EXTERN void tuba_settings_set_boost_alt_text_reminder (TubaSettings* self,
                                                gboolean value);
static void ____lambda64__gasync_ready_callback (GObject* source_object,
                                          GAsyncResult* res,
                                          gpointer self);
static Block110Data* block110_data_ref (Block110Data* _data110_);
static void block110_data_unref (void * _userdata_);
VALA_EXTERN gboolean tuba_settings_get_advanced_boost_dialog (TubaSettings* self);
VALA_EXTERN GType tuba_api_status_visibility_get_type (void) G_GNUC_CONST ;
static Block111Data* block111_data_ref (Block111Data* _data111_);
static void block111_data_unref (void * _userdata_);
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_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 GType tuba_widgetizable_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaWidgetizable, g_object_unref)
VALA_EXTERN GType tuba_api_search_result_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPISearchResult, g_object_unref)
VALA_EXTERN GType tuba_streamable_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaStreamable, g_object_unref)
VALA_EXTERN GType tuba_instance_account_kind_get_type (void) G_GNUC_CONST ;
VALA_EXTERN TubaInstanceAccountKind* tuba_instance_account_kind_dup (const TubaInstanceAccountKind* self);
VALA_EXTERN void tuba_instance_account_kind_free (TubaInstanceAccountKind* self);
VALA_EXTERN void tuba_instance_account_kind_copy (const TubaInstanceAccountKind* self,
                                      TubaInstanceAccountKind* dest);
VALA_EXTERN void tuba_instance_account_kind_destroy (TubaInstanceAccountKind* self);
G_DEFINE_AUTO_CLEANUP_CLEAR_FUNC (TubaInstanceAccountKind, tuba_instance_account_kind_destroy)
VALA_EXTERN GType tuba_place_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaPlace, g_object_unref)
VALA_EXTERN GType tuba_api_notification_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaAPINotification, g_object_unref)
VALA_EXTERN GType tuba_instance_account_visibility_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaInstanceAccountVisibility, g_object_unref)
VALA_EXTERN TubaAPIStatusVisibility* tuba_api_status_visibility_from_string (const gchar* id);
VALA_EXTERN const gchar* tuba_instance_account_visibility_get_id (TubaInstanceAccountVisibility* self);
static gboolean _tuba_api_status_visibility_equal (const TubaAPIStatusVisibility * s1,
                                            const TubaAPIStatusVisibility * s2);
VALA_EXTERN const gchar* tuba_settings_get_default_post_visibility (TubaSettings* self);
VALA_EXTERN const gchar* tuba_instance_account_visibility_get_name (TubaInstanceAccountVisibility* self);
VALA_EXTERN const gchar* tuba_instance_account_visibility_get_description (TubaInstanceAccountVisibility* self);
VALA_EXTERN const gchar* tuba_instance_account_visibility_get_icon_name (TubaInstanceAccountVisibility* self);
static void ___lambda65_ (Block111Data* _data111_,
                   const gchar* res);
static Block112Data* block112_data_ref (Block112Data* _data112_);
static void block112_data_unref (void * _userdata_);
static gboolean ___lambda66_ (Block112Data* _data112_,
                       GeeMapEntry* e);
static TubaAPIStatusVisibility* _tuba_api_status_visibility_dup (TubaAPIStatusVisibility* self);
static gboolean ____lambda66__gee_forall_func (gpointer g,
                                        gpointer self);
static void tuba_widgets_actions_row_commit_boost (TubaWidgetsActionsRow* self,
                                            TubaWidgetsStatusActionButton* status_btn,
                                            TubaAPIStatusVisibility* visibility);
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 gboolean tuba_api_instance_get_supports_quote_posting (TubaAPIInstance* self);
VALA_EXTERN GType tuba_instance_account_instance_features_get_type (void) G_GNUC_CONST ;
VALA_EXTERN TubaInstanceAccountInstanceFeatures tuba_instance_account_get_tuba_instance_features (TubaInstanceAccount* self);
VALA_EXTERN TubaDialogsComposerDialog* tuba_dialogs_composer_dialog_new_quote (TubaAPIStatus* to,
                                                                   TubaAPIStatusVisibility* reblog_visibility,
                                                                   gboolean supports_quotes);
VALA_EXTERN TubaDialogsComposerDialog* tuba_dialogs_composer_dialog_construct_quote (GType object_type,
                                                                         TubaAPIStatus* to,
                                                                         TubaAPIStatusVisibility* reblog_visibility,
                                                                         gboolean supports_quotes);
VALA_EXTERN GType tuba_dialogs_composer_dialog_get_type (void) G_GNUC_CONST ;
G_DEFINE_AUTOPTR_CLEANUP_FUNC (TubaDialogsComposerDialog, g_object_unref)
VALA_EXTERN void tuba_widgets_status_action_button_unblock_clicked (TubaWidgetsStatusActionButton* self);
static void ____lambda65__adw_alert_dialog_response (AdwAlertDialog* _sender,
                                              const gchar* response,
                                              gpointer self);
static void tuba_widgets_actions_row_on_quote_button_clicked (TubaWidgetsActionsRow* self);
VALA_EXTERN TubaRequestV2* tuba_api_status_reblog_req (TubaAPIStatus* self,
                                           TubaAPIStatusVisibility* visibility);
VALA_EXTERN TubaRequestV2* tuba_api_status_unreblog_req (TubaAPIStatus* self);
static void tuba_widgets_actions_row_mastodon_action_data_free (gpointer _data);
static gboolean tuba_widgets_actions_row_mastodon_action_co (TubaWidgetsActionsRowMastodonActionData* _data_);
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_widgets_actions_row_mastodon_action_ready (GObject* source_object,
                                                     GAsyncResult* _res_,
                                                     gpointer _user_data_);
VALA_EXTERN void tuba_widgets_actions_row_set_status (TubaWidgetsActionsRow* self,
                                          TubaAPIStatus* value);
VALA_EXTERN gboolean tuba_widgets_actions_row_get_is_narrow (TubaWidgetsActionsRow* self);
VALA_EXTERN void tuba_widgets_actions_row_set_is_narrow (TubaWidgetsActionsRow* self,
                                             gboolean value);
VALA_EXTERN void tuba_widgets_status_action_button_set_show_counts (TubaWidgetsStatusActionButton* self,
                                                        gboolean value);
VALA_EXTERN void tuba_widgets_status_action_button_set_smaller (TubaWidgetsStatusActionButton* self,
                                                    gboolean value);
VALA_EXTERN gboolean tuba_settings_get_show_interaction_counters (TubaSettings* self);
static GObject * tuba_widgets_actions_row_constructor (GType type,
                                                guint n_construct_properties,
                                                GObjectConstructParam * construct_properties);
VALA_EXTERN TubaWidgetsStatusActionButton* tuba_widgets_status_action_button_new_with_icon_name (const gchar* icon_name);
VALA_EXTERN TubaWidgetsStatusActionButton* tuba_widgets_status_action_button_construct_with_icon_name (GType object_type,
                                                                                           const gchar* icon_name);
static void _tuba_widgets_actions_row_on_reply_button_clicked_gtk_button_clicked (GtkButton* _sender,
                                                                           gpointer self);
static void _tuba_widgets_actions_row_on_boost_button_clicked_gtk_button_clicked (GtkButton* _sender,
                                                                           gpointer self);
static void _tuba_widgets_actions_row_on_quote_button_clicked_gtk_button_clicked (GtkButton* _sender,
                                                                           gpointer self);
VALA_EXTERN void tuba_widgets_status_action_button_set_active_icon_name (TubaWidgetsStatusActionButton* self,
                                                             const gchar* value);
static void _tuba_widgets_actions_row_on_favorite_button_clicked_gtk_button_clicked (GtkButton* _sender,
                                                                              gpointer self);
static void _tuba_widgets_actions_row_on_bookmark_button_clicked_gtk_button_clicked (GtkButton* _sender,
                                                                              gpointer self);
static void _vala_GValue_free (GValue* self);
static void tuba_widgets_actions_row_finalize (GObject * obj);
static GType tuba_widgets_actions_row_get_type_once (void);
static void _vala_tuba_widgets_actions_row_get_property (GObject * object,
                                                  guint property_id,
                                                  GValue * value,
                                                  GParamSpec * pspec);
static void _vala_tuba_widgets_actions_row_set_property (GObject * object,
                                                  guint property_id,
                                                  const GValue * value,
                                                  GParamSpec * pspec);
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_widgets_actions_row_get_instance_private (TubaWidgetsActionsRow* self)
{
	return G_STRUCT_MEMBER_P (self, TubaWidgetsActionsRow_private_offset);
}

TubaWidgetsActionsRow*
tuba_widgets_actions_row_construct (GType object_type,
                                    TubaAPIStatus* t_status)
{
	TubaWidgetsActionsRow * self = NULL;
	g_return_val_if_fail (t_status != NULL, NULL);
	self = (TubaWidgetsActionsRow*) g_object_new (object_type, "status", t_status, NULL);
	tuba_widgets_actions_row_bind (self);
	return self;
}

TubaWidgetsActionsRow*
tuba_widgets_actions_row_new (TubaAPIStatus* t_status)
{
	return tuba_widgets_actions_row_construct (TUBA_WIDGETS_TYPE_ACTIONS_ROW, t_status);
}

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

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

static void
_tuba_widgets_actions_row_in_reply_to_id_notify_func_g_object_notify (GObject* _sender,
                                                                      GParamSpec* pspec,
                                                                      gpointer self)
{
	tuba_widgets_actions_row_in_reply_to_id_notify_func ((TubaWidgetsActionsRow*) self);
}

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

static void
_tuba_widgets_actions_row_can_be_boosted_notify_func_g_object_notify (GObject* _sender,
                                                                      GParamSpec* pspec,
                                                                      gpointer self)
{
	tuba_widgets_actions_row_can_be_boosted_notify_func ((TubaWidgetsActionsRow*) self);
}

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

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

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

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

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

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

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

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

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

static void
_tuba_widgets_actions_row_can_be_quoted_notify_fun_g_object_notify (GObject* _sender,
                                                                    GParamSpec* pspec,
                                                                    gpointer self)
{
	tuba_widgets_actions_row_can_be_quoted_notify_fun ((TubaWidgetsActionsRow*) self);
}

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

void
tuba_widgets_actions_row_bind (TubaWidgetsActionsRow* self)
{
	GBinding** _tmp0_;
	gint _tmp0__length1;
	TubaAPIStatus* _tmp1_;
	TubaWidgetsStatusActionButton* _tmp2_;
	GBinding* _tmp3_;
	GBinding* _tmp4_;
	TubaAPIStatus* _tmp5_;
	gulong _tmp6_;
	TubaAPIStatus* _tmp7_;
	gulong _tmp8_;
	TubaAPIStatus* _tmp9_;
	TubaWidgetsStatusActionButton* _tmp10_;
	GBinding* _tmp11_;
	GBinding* _tmp12_;
	TubaAPIStatus* _tmp13_;
	TubaWidgetsStatusActionButton* _tmp14_;
	GBinding* _tmp15_;
	GBinding* _tmp16_;
	TubaAPIStatus* _tmp17_;
	TubaWidgetsStatusActionButton* _tmp18_;
	GBinding* _tmp19_;
	GBinding* _tmp20_;
	TubaAPIStatus* _tmp21_;
	TubaWidgetsStatusActionButton* _tmp22_;
	GBinding* _tmp23_;
	GBinding* _tmp24_;
	TubaAPIStatus* _tmp25_;
	TubaWidgetsStatusActionButton* _tmp26_;
	GBinding* _tmp27_;
	GBinding* _tmp28_;
	TubaAPIStatus* _tmp29_;
	TubaWidgetsStatusActionButton* _tmp30_;
	GBinding* _tmp31_;
	GBinding* _tmp32_;
	TubaWidgetsStatusActionButton* _tmp33_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->bindings;
	_tmp0__length1 = self->priv->bindings_length1;
	if (_tmp0__length1 != 0) {
		return;
	}
	_tmp1_ = self->priv->_status;
	_tmp2_ = self->priv->reply_button;
	_tmp3_ = g_object_bind_property_with_closures ((GObject*) _tmp1_, "replies-count", (GObject*) _tmp2_, "amount", G_BINDING_SYNC_CREATE, (GClosure*) ((NULL == NULL) ? NULL : g_cclosure_new ((GCallback) NULL, NULL, (GClosureNotify) NULL)), (GClosure*) ((NULL == NULL) ? NULL : g_cclosure_new ((GCallback) NULL, NULL, (GClosureNotify) NULL)));
	_tmp4_ = _g_object_ref0 (_tmp3_);
	_vala_array_add159 (&self->priv->bindings, &self->priv->bindings_length1, &self->priv->_bindings_size_, _tmp4_);
	_tmp5_ = self->priv->_status;
	_tmp6_ = g_signal_connect_object ((GObject*) _tmp5_, "notify::in-reply-to-id", (GCallback) _tuba_widgets_actions_row_in_reply_to_id_notify_func_g_object_notify, self, 0);
	_vala_array_add160 (&self->priv->status_notify_signals, &self->priv->status_notify_signals_length1, &self->priv->_status_notify_signals_size_, _tmp6_);
	tuba_widgets_actions_row_in_reply_to_id_notify_func (self);
	_tmp7_ = self->priv->_status;
	_tmp8_ = g_signal_connect_object ((GObject*) _tmp7_, "notify::can-be-boosted", (GCallback) _tuba_widgets_actions_row_can_be_boosted_notify_func_g_object_notify, self, 0);
	_vala_array_add161 (&self->priv->status_notify_signals, &self->priv->status_notify_signals_length1, &self->priv->_status_notify_signals_size_, _tmp8_);
	tuba_widgets_actions_row_can_be_boosted_notify_func (self);
	_tmp9_ = self->priv->_status;
	_tmp10_ = self->priv->reblog_button;
	_tmp11_ = g_object_bind_property_with_closures ((GObject*) _tmp9_, "can-be-boosted", (GObject*) _tmp10_, "sensitive", G_BINDING_SYNC_CREATE, (GClosure*) ((NULL == NULL) ? NULL : g_cclosure_new ((GCallback) NULL, NULL, (GClosureNotify) NULL)), (GClosure*) ((NULL == NULL) ? NULL : g_cclosure_new ((GCallback) NULL, NULL, (GClosureNotify) NULL)));
	_tmp12_ = _g_object_ref0 (_tmp11_);
	_vala_array_add162 (&self->priv->bindings, &self->priv->bindings_length1, &self->priv->_bindings_size_, _tmp12_);
	_tmp13_ = self->priv->_status;
	_tmp14_ = self->priv->reblog_button;
	_tmp15_ = g_object_bind_property_with_closures ((GObject*) _tmp13_, "reblogged", (GObject*) _tmp14_, "active", G_BINDING_SYNC_CREATE | G_BINDING_BIDIRECTIONAL, (GClosure*) ((NULL == NULL) ? NULL : g_cclosure_new ((GCallback) NULL, NULL, (GClosureNotify) NULL)), (GClosure*) ((NULL == NULL) ? NULL : g_cclosure_new ((GCallback) NULL, NULL, (GClosureNotify) NULL)));
	_tmp16_ = _g_object_ref0 (_tmp15_);
	_vala_array_add163 (&self->priv->bindings, &self->priv->bindings_length1, &self->priv->_bindings_size_, _tmp16_);
	_tmp17_ = self->priv->_status;
	_tmp18_ = self->priv->reblog_button;
	_tmp19_ = g_object_bind_property_with_closures ((GObject*) _tmp17_, "reblogs-count", (GObject*) _tmp18_, "amount", G_BINDING_SYNC_CREATE, (GClosure*) ((NULL == NULL) ? NULL : g_cclosure_new ((GCallback) NULL, NULL, (GClosureNotify) NULL)), (GClosure*) ((NULL == NULL) ? NULL : g_cclosure_new ((GCallback) NULL, NULL, (GClosureNotify) NULL)));
	_tmp20_ = _g_object_ref0 (_tmp19_);
	_vala_array_add164 (&self->priv->bindings, &self->priv->bindings_length1, &self->priv->_bindings_size_, _tmp20_);
	_tmp21_ = self->priv->_status;
	_tmp22_ = self->priv->favorite_button;
	_tmp23_ = g_object_bind_property_with_closures ((GObject*) _tmp21_, "favourited", (GObject*) _tmp22_, "active", G_BINDING_SYNC_CREATE | G_BINDING_BIDIRECTIONAL, (GClosure*) ((NULL == NULL) ? NULL : g_cclosure_new ((GCallback) NULL, NULL, (GClosureNotify) NULL)), (GClosure*) ((NULL == NULL) ? NULL : g_cclosure_new ((GCallback) NULL, NULL, (GClosureNotify) NULL)));
	_tmp24_ = _g_object_ref0 (_tmp23_);
	_vala_array_add165 (&self->priv->bindings, &self->priv->bindings_length1, &self->priv->_bindings_size_, _tmp24_);
	_tmp25_ = self->priv->_status;
	_tmp26_ = self->priv->favorite_button;
	_tmp27_ = g_object_bind_property_with_closures ((GObject*) _tmp25_, "favourites-count", (GObject*) _tmp26_, "amount", G_BINDING_SYNC_CREATE, (GClosure*) ((NULL == NULL) ? NULL : g_cclosure_new ((GCallback) NULL, NULL, (GClosureNotify) NULL)), (GClosure*) ((NULL == NULL) ? NULL : g_cclosure_new ((GCallback) NULL, NULL, (GClosureNotify) NULL)));
	_tmp28_ = _g_object_ref0 (_tmp27_);
	_vala_array_add166 (&self->priv->bindings, &self->priv->bindings_length1, &self->priv->_bindings_size_, _tmp28_);
	_tmp29_ = self->priv->_status;
	_tmp30_ = self->priv->bookmark_button;
	_tmp31_ = g_object_bind_property_with_closures ((GObject*) _tmp29_, "bookmarked", (GObject*) _tmp30_, "active", G_BINDING_SYNC_CREATE | G_BINDING_BIDIRECTIONAL, (GClosure*) ((NULL == NULL) ? NULL : g_cclosure_new ((GCallback) NULL, NULL, (GClosureNotify) NULL)), (GClosure*) ((NULL == NULL) ? NULL : g_cclosure_new ((GCallback) NULL, NULL, (GClosureNotify) NULL)));
	_tmp32_ = _g_object_ref0 (_tmp31_);
	_vala_array_add167 (&self->priv->bindings, &self->priv->bindings_length1, &self->priv->_bindings_size_, _tmp32_);
	_tmp33_ = self->priv->quote_button;
	if (_tmp33_ != NULL) {
		TubaAPIStatus* _tmp34_;
		TubaWidgetsStatusActionButton* _tmp35_;
		GBinding* _tmp36_;
		GBinding* _tmp37_;
		TubaAPIStatus* _tmp38_;
		TubaWidgetsStatusActionButton* _tmp39_;
		GBinding* _tmp40_;
		GBinding* _tmp41_;
		TubaAPIStatus* _tmp42_;
		gulong _tmp43_;
		_tmp34_ = self->priv->_status;
		_tmp35_ = self->priv->quote_button;
		_tmp36_ = g_object_bind_property_with_closures ((GObject*) _tmp34_, "can-be-quoted", (GObject*) _tmp35_, "sensitive", G_BINDING_SYNC_CREATE, (GClosure*) ((NULL == NULL) ? NULL : g_cclosure_new ((GCallback) NULL, NULL, (GClosureNotify) NULL)), (GClosure*) ((NULL == NULL) ? NULL : g_cclosure_new ((GCallback) NULL, NULL, (GClosureNotify) NULL)));
		_tmp37_ = _g_object_ref0 (_tmp36_);
		_vala_array_add168 (&self->priv->bindings, &self->priv->bindings_length1, &self->priv->_bindings_size_, _tmp37_);
		_tmp38_ = self->priv->_status;
		_tmp39_ = self->priv->quote_button;
		_tmp40_ = g_object_bind_property_with_closures ((GObject*) _tmp38_, "quotes-count", (GObject*) _tmp39_, "amount", G_BINDING_SYNC_CREATE, (GClosure*) ((NULL == NULL) ? NULL : g_cclosure_new ((GCallback) NULL, NULL, (GClosureNotify) NULL)), (GClosure*) ((NULL == NULL) ? NULL : g_cclosure_new ((GCallback) NULL, NULL, (GClosureNotify) NULL)));
		_tmp41_ = _g_object_ref0 (_tmp40_);
		_vala_array_add169 (&self->priv->bindings, &self->priv->bindings_length1, &self->priv->_bindings_size_, _tmp41_);
		_tmp42_ = self->priv->_status;
		_tmp43_ = g_signal_connect_object ((GObject*) _tmp42_, "notify::can-be-quoted", (GCallback) _tuba_widgets_actions_row_can_be_quoted_notify_fun_g_object_notify, self, 0);
		_vala_array_add170 (&self->priv->status_notify_signals, &self->priv->status_notify_signals_length1, &self->priv->_status_notify_signals_size_, _tmp43_);
		tuba_widgets_actions_row_can_be_quoted_notify_fun (self);
	}
}

static void
tuba_widgets_actions_row_in_reply_to_id_notify_func (TubaWidgetsActionsRow* self)
{
	const gchar* _tmp0_ = NULL;
	TubaAPIStatus* _tmp1_;
	const gchar* _tmp2_;
	const gchar* _tmp3_;
	TubaWidgetsStatusActionButton* _tmp4_;
	g_return_if_fail (self != NULL);
	_tmp1_ = self->priv->_status;
	_tmp2_ = tuba_api_status_get_in_reply_to_id (_tmp1_);
	_tmp3_ = _tmp2_;
	if (_tmp3_ != NULL) {
		_tmp0_ = "tuba-reply-all-symbolic";
	} else {
		_tmp0_ = "tuba-reply-sender-symbolic";
	}
	_tmp4_ = self->priv->reply_button;
	tuba_widgets_status_action_button_set_default_icon_name (_tmp4_, _tmp0_);
}

static void
tuba_widgets_actions_row_can_be_boosted_notify_func (TubaWidgetsActionsRow* self)
{
	gboolean src_val = FALSE;
	TubaAPIStatus* _tmp0_;
	gboolean _tmp1_;
	gboolean _tmp2_;
	TubaWidgetsStatusActionButton* _tmp3_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->_status;
	_tmp1_ = tuba_api_status_get_can_be_boosted (_tmp0_);
	_tmp2_ = _tmp1_;
	src_val = _tmp2_;
	_tmp3_ = self->priv->reblog_button;
	gtk_widget_set_sensitive ((GtkWidget*) _tmp3_, src_val);
	if (src_val) {
		TubaWidgetsStatusActionButton* _tmp4_;
		TubaWidgetsStatusActionButton* _tmp5_;
		_tmp4_ = self->priv->reblog_button;
		gtk_widget_set_tooltip_text ((GtkWidget*) _tmp4_, _ ("Boost"));
		_tmp5_ = self->priv->reblog_button;
		tuba_widgets_status_action_button_set_default_icon_name (_tmp5_, "tuba-media-playlist-repeat-symbolic");
	} else {
		TubaWidgetsStatusActionButton* _tmp6_;
		TubaWidgetsStatusActionButton* _tmp7_;
		_tmp6_ = self->priv->reblog_button;
		gtk_widget_set_tooltip_text ((GtkWidget*) _tmp6_, _ ("This post can't be boosted"));
		_tmp7_ = self->priv->reblog_button;
		tuba_widgets_status_action_button_set_default_icon_name (_tmp7_, "tuba-arrows-loop-tall-disabled-symbolic");
	}
}

static void
tuba_widgets_actions_row_can_be_quoted_notify_fun (TubaWidgetsActionsRow* self)
{
	gboolean src_val = FALSE;
	TubaAPIStatus* _tmp0_;
	gboolean _tmp1_;
	gboolean _tmp2_;
	TubaWidgetsStatusActionButton* _tmp3_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->_status;
	_tmp1_ = tuba_api_status_get_can_be_quoted (_tmp0_);
	_tmp2_ = _tmp1_;
	src_val = _tmp2_;
	_tmp3_ = self->priv->quote_button;
	gtk_widget_set_sensitive ((GtkWidget*) _tmp3_, src_val);
	if (src_val) {
		TubaWidgetsStatusActionButton* _tmp4_;
		TubaWidgetsStatusActionButton* _tmp5_;
		_tmp4_ = self->priv->quote_button;
		gtk_widget_set_tooltip_text ((GtkWidget*) _tmp4_, _ ("Quote"));
		_tmp5_ = self->priv->quote_button;
		tuba_widgets_status_action_button_set_default_icon_name (_tmp5_, "tuba-quotation-symbolic");
	} else {
		TubaWidgetsStatusActionButton* _tmp6_;
		TubaWidgetsStatusActionButton* _tmp7_;
		_tmp6_ = self->priv->quote_button;
		gtk_widget_set_tooltip_text ((GtkWidget*) _tmp6_, _ ("This post can't be quoted"));
		_tmp7_ = self->priv->quote_button;
		tuba_widgets_status_action_button_set_default_icon_name (_tmp7_, "tuba-quotation-disabled-symbolic");
	}
}

void
tuba_widgets_actions_row_unbind (TubaWidgetsActionsRow* self)
{
	GBinding** _tmp0_;
	gint _tmp0__length1;
	gulong* _tmp4_;
	gint _tmp4__length1;
	GBinding** _tmp7_;
	gulong* _tmp8_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->bindings;
	_tmp0__length1 = self->priv->bindings_length1;
	{
		GBinding** binding_collection = NULL;
		gint binding_collection_length1 = 0;
		gint _binding_collection_size_ = 0;
		gint binding_it = 0;
		binding_collection = _tmp0_;
		binding_collection_length1 = _tmp0__length1;
		for (binding_it = 0; binding_it < binding_collection_length1; binding_it = binding_it + 1) {
			GBinding* _tmp1_;
			GBinding* binding = NULL;
			_tmp1_ = _g_object_ref0 (binding_collection[binding_it]);
			binding = _tmp1_;
			{
				GBinding* _tmp2_;
				GBinding* _tmp3_;
				_tmp2_ = binding;
				_tmp3_ = _g_object_ref0 (_tmp2_);
				g_binding_unbind (_tmp3_);
				_g_object_unref0 (binding);
			}
		}
	}
	_tmp4_ = self->priv->status_notify_signals;
	_tmp4__length1 = self->priv->status_notify_signals_length1;
	{
		gulong* signal_id_collection = NULL;
		gint signal_id_collection_length1 = 0;
		gint _signal_id_collection_size_ = 0;
		gint signal_id_it = 0;
		signal_id_collection = _tmp4_;
		signal_id_collection_length1 = _tmp4__length1;
		for (signal_id_it = 0; signal_id_it < signal_id_collection_length1; signal_id_it = signal_id_it + 1) {
			gulong signal_id = 0UL;
			signal_id = signal_id_collection[signal_id_it];
			{
				TubaAPIStatus* _tmp5_;
				_tmp5_ = self->priv->_status;
				if (g_signal_handler_is_connected (_tmp5_, signal_id)) {
					TubaAPIStatus* _tmp6_;
					_tmp6_ = self->priv->_status;
					g_signal_handler_disconnect ((GObject*) _tmp6_, signal_id);
				}
			}
		}
	}
	_tmp7_ = g_new0 (GBinding*, 0 + 1);
	self->priv->bindings = (_vala_array_free (self->priv->bindings, self->priv->bindings_length1, (GDestroyNotify) g_object_unref), NULL);
	self->priv->bindings = _tmp7_;
	self->priv->bindings_length1 = 0;
	self->priv->_bindings_size_ = self->priv->bindings_length1;
	_tmp8_ = g_new0 (gulong, 0);
	self->priv->status_notify_signals = (g_free (self->priv->status_notify_signals), NULL);
	self->priv->status_notify_signals = _tmp8_;
	self->priv->status_notify_signals_length1 = 0;
	self->priv->_status_notify_signals_size_ = self->priv->status_notify_signals_length1;
}

static Block106Data*
block106_data_ref (Block106Data* _data106_)
{
	g_atomic_int_inc (&_data106_->_ref_count_);
	return _data106_;
}

static void
block106_data_unref (void * _userdata_)
{
	Block106Data* _data106_;
	_data106_ = (Block106Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data106_->_ref_count_)) {
		TubaWidgetsActionsRow* self;
		self = _data106_->self;
		_g_object_unref0 (_data106_->btn);
		_g_object_unref0 (self);
		g_slice_free (Block106Data, _data106_);
	}
}

static void
___lambda62_ (Block106Data* _data106_,
              GObject* obj,
              GAsyncResult* res)
{
	TubaWidgetsActionsRow* self;
	TubaApplication* _tmp0_;
	self = _data106_->self;
	g_return_if_fail (res != NULL);
	_tmp0_ = tuba_app;
	if (tuba_application_question_finish (_tmp0_, res) == TUBA_APPLICATION_QUESTION_ANSWER_NO) {
		TubaSettings* _tmp1_;
		_tmp1_ = tuba_settings;
		tuba_settings_set_reply_to_old_post_reminder (_tmp1_, FALSE);
	}
	g_signal_emit (self, tuba_widgets_actions_row_signals[TUBA_WIDGETS_ACTIONS_ROW_REPLY_SIGNAL], 0, _data106_->btn);
}

static void
____lambda62__gasync_ready_callback (GObject* source_object,
                                     GAsyncResult* res,
                                     gpointer self)
{
	___lambda62_ (self, source_object, res);
	block106_data_unref (self);
}

static void
tuba_widgets_actions_row_on_reply_button_clicked (TubaWidgetsActionsRow* self,
                                                  GtkButton* btn)
{
	Block106Data* _data106_;
	GtkButton* _tmp0_;
	gboolean _tmp1_ = FALSE;
	TubaSettings* _tmp2_;
	gboolean _tmp3_;
	gboolean _tmp4_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (btn != NULL);
	_data106_ = g_slice_new0 (Block106Data);
	_data106_->_ref_count_ = 1;
	_data106_->self = g_object_ref (self);
	_tmp0_ = _g_object_ref0 (btn);
	_g_object_unref0 (_data106_->btn);
	_data106_->btn = _tmp0_;
	_tmp2_ = tuba_settings;
	_tmp3_ = tuba_settings_get_reply_to_old_post_reminder (_tmp2_);
	_tmp4_ = _tmp3_;
	if (_tmp4_) {
		TubaAPIStatus* _tmp5_;
		TubaAPIStatus* _tmp6_;
		TubaAPIStatus* _tmp7_;
		const gchar* _tmp8_;
		const gchar* _tmp9_;
		_tmp5_ = self->priv->_status;
		_tmp6_ = tuba_api_status_get_formal (_tmp5_);
		_tmp7_ = _tmp6_;
		_tmp8_ = tuba_api_status_get_created_at (_tmp7_);
		_tmp9_ = _tmp8_;
		_tmp1_ = tuba_utils_date_time_is_3_months_old (_tmp9_);
	} else {
		_tmp1_ = FALSE;
	}
	if (_tmp1_) {
		TubaApplication* _tmp10_;
		TubaAPIStatus* _tmp11_;
		TubaAPIStatus* _tmp12_;
		TubaAPIStatus* _tmp13_;
		const gchar* _tmp14_;
		const gchar* _tmp15_;
		gchar* _tmp16_;
		gchar* _tmp17_;
		gchar* _tmp18_;
		gchar* _tmp19_;
		TubaApplicationQuestionText _tmp20_ = {0};
		TubaApplicationQuestionText _tmp21_ = {0};
		TubaApplication* _tmp22_;
		TubaDialogsMainWindow* _tmp23_;
		TubaDialogsMainWindow* _tmp24_;
		TubaApplicationQuestionButtons _tmp25_ = {0};
		_tmp10_ = tuba_app;
		_tmp11_ = self->priv->_status;
		_tmp12_ = tuba_api_status_get_formal (_tmp11_);
		_tmp13_ = _tmp12_;
		_tmp14_ = tuba_api_status_get_created_at (_tmp13_);
		_tmp15_ = _tmp14_;
		_tmp16_ = tuba_utils_date_time_humanize_old (_tmp15_);
		_tmp17_ = _tmp16_;
		_tmp18_ = g_strdup_printf (_ ("This post is %s"), _tmp17_);
		_tmp19_ = _tmp18_;
		_g_free0 (_tmp20_.text);
		_tmp20_.text = _tmp19_;
		_tmp20_.use_markup = FALSE;
		_g_free0 (_tmp21_.text);
		_tmp21_.text = _ ("You can still reply, but it may no longer be relevant.");
		_tmp21_.use_markup = FALSE;
		_tmp22_ = tuba_app;
		_tmp23_ = tuba_application_get_main_window (_tmp22_);
		_tmp24_ = _tmp23_;
		tuba_application_question_button_destroy (&_tmp25_.yes);
		_tmp25_.yes = (TubaApplicationQuestionButton) {_ ("Reply"), ADW_RESPONSE_SUGGESTED};
		tuba_application_question_button_destroy (&_tmp25_.no);
		_tmp25_.no = (TubaApplicationQuestionButton) {_ ("Don't remind me again"), ADW_RESPONSE_DEFAULT};
		tuba_application_question (_tmp10_, &_tmp20_, &_tmp21_, (GtkWidget*) _tmp24_, &_tmp25_, NULL, FALSE, ____lambda62__gasync_ready_callback, block106_data_ref (_data106_));
		_g_free0 (_tmp19_);
		_g_free0 (_tmp17_);
	} else {
		g_signal_emit (self, tuba_widgets_actions_row_signals[TUBA_WIDGETS_ACTIONS_ROW_REPLY_SIGNAL], 0, _data106_->btn);
	}
	block106_data_unref (_data106_);
	_data106_ = NULL;
}

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 void
tuba_widgets_actions_row_on_bookmark_button_clicked (TubaWidgetsActionsRow* self,
                                                     GtkButton* btn)
{
	TubaWidgetsStatusActionButton* status_btn = NULL;
	TubaWidgetsStatusActionButton* _tmp0_;
	TubaWidgetsStatusActionButton* _tmp1_;
	gboolean _tmp2_;
	gboolean _tmp3_;
	TubaWidgetsStatusActionButton* _tmp4_;
	TubaWidgetsStatusActionButton* _tmp5_;
	TubaWidgetsStatusActionButton* _tmp6_;
	gboolean _tmp7_;
	gboolean _tmp8_;
	gchar* action = NULL;
	TubaRequestV2* req = NULL;
	TubaWidgetsStatusActionButton* _tmp9_;
	gboolean _tmp10_;
	gboolean _tmp11_;
	const gchar* _tmp18_;
	const gchar* _tmp19_;
	gchar* _tmp20_;
	gchar* _tmp21_;
	TubaWidgetsStatusActionButton* _tmp22_;
	TubaRequestV2* _tmp23_;
	const gchar* _tmp24_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (btn != NULL);
	_tmp0_ = _g_object_ref0 (TUBA_WIDGETS_IS_STATUS_ACTION_BUTTON (btn) ? ((TubaWidgetsStatusActionButton*) btn) : NULL);
	status_btn = _tmp0_;
	_tmp1_ = status_btn;
	_tmp2_ = tuba_widgets_status_action_button_get_working (_tmp1_);
	_tmp3_ = _tmp2_;
	if (_tmp3_) {
		_g_object_unref0 (status_btn);
		return;
	}
	_tmp4_ = status_btn;
	tuba_widgets_status_action_button_block_clicked (_tmp4_);
	_tmp5_ = status_btn;
	_tmp6_ = status_btn;
	_tmp7_ = tuba_widgets_status_action_button_get_active (_tmp6_);
	_tmp8_ = _tmp7_;
	tuba_widgets_status_action_button_set_active (_tmp5_, !_tmp8_);
	_tmp9_ = status_btn;
	_tmp10_ = tuba_widgets_status_action_button_get_active (_tmp9_);
	_tmp11_ = _tmp10_;
	if (_tmp11_) {
		gchar* _tmp12_;
		TubaAPIStatus* _tmp13_;
		TubaRequestV2* _tmp14_;
		_tmp12_ = g_strdup ("bookmark");
		_g_free0 (action);
		action = _tmp12_;
		_tmp13_ = self->priv->_status;
		_tmp14_ = tuba_api_status_bookmark_req (_tmp13_);
		_g_object_unref0 (req);
		req = _tmp14_;
	} else {
		gchar* _tmp15_;
		TubaAPIStatus* _tmp16_;
		TubaRequestV2* _tmp17_;
		_tmp15_ = g_strdup ("unbookmark");
		_g_free0 (action);
		action = _tmp15_;
		_tmp16_ = self->priv->_status;
		_tmp17_ = tuba_api_status_unbookmark_req (_tmp16_);
		_g_object_unref0 (req);
		req = _tmp17_;
	}
	_tmp18_ = action;
	_tmp19_ = string_to_string (_tmp18_);
	_tmp20_ = g_strconcat ("Performing status action '", _tmp19_, "'…", NULL);
	_tmp21_ = _tmp20_;
	g_debug ("ActionsRow.vala:276: %s", _tmp21_);
	_g_free0 (_tmp21_);
	_tmp22_ = status_btn;
	_tmp23_ = req;
	_tmp24_ = action;
	tuba_widgets_actions_row_mastodon_action (self, _tmp22_, _tmp23_, _tmp24_, NULL, NULL, NULL);
	_g_object_unref0 (req);
	_g_free0 (action);
	_g_object_unref0 (status_btn);
}

static void
tuba_widgets_actions_row_on_favorite_button_clicked (TubaWidgetsActionsRow* self,
                                                     GtkButton* btn)
{
	TubaWidgetsStatusActionButton* status_btn = NULL;
	TubaWidgetsStatusActionButton* _tmp0_;
	TubaWidgetsStatusActionButton* _tmp1_;
	gboolean _tmp2_;
	gboolean _tmp3_;
	TubaWidgetsStatusActionButton* _tmp4_;
	TubaWidgetsStatusActionButton* _tmp5_;
	TubaWidgetsStatusActionButton* _tmp6_;
	gboolean _tmp7_;
	gboolean _tmp8_;
	gchar* action = NULL;
	TubaRequestV2* req = NULL;
	TubaWidgetsStatusActionButton* _tmp9_;
	gboolean _tmp10_;
	gboolean _tmp11_;
	gint _tmp18_ = 0;
	TubaWidgetsStatusActionButton* _tmp19_;
	gboolean _tmp20_;
	gboolean _tmp21_;
	TubaWidgetsStatusActionButton* _tmp22_;
	TubaWidgetsStatusActionButton* _tmp23_;
	gint64 _tmp24_;
	gint64 _tmp25_;
	const gchar* _tmp26_;
	const gchar* _tmp27_;
	gchar* _tmp28_;
	gchar* _tmp29_;
	TubaWidgetsStatusActionButton* _tmp30_;
	TubaRequestV2* _tmp31_;
	const gchar* _tmp32_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (btn != NULL);
	_tmp0_ = _g_object_ref0 (TUBA_WIDGETS_IS_STATUS_ACTION_BUTTON (btn) ? ((TubaWidgetsStatusActionButton*) btn) : NULL);
	status_btn = _tmp0_;
	_tmp1_ = status_btn;
	_tmp2_ = tuba_widgets_status_action_button_get_working (_tmp1_);
	_tmp3_ = _tmp2_;
	if (_tmp3_) {
		_g_object_unref0 (status_btn);
		return;
	}
	_tmp4_ = status_btn;
	tuba_widgets_status_action_button_block_clicked (_tmp4_);
	_tmp5_ = status_btn;
	_tmp6_ = status_btn;
	_tmp7_ = tuba_widgets_status_action_button_get_active (_tmp6_);
	_tmp8_ = _tmp7_;
	tuba_widgets_status_action_button_set_active (_tmp5_, !_tmp8_);
	_tmp9_ = status_btn;
	_tmp10_ = tuba_widgets_status_action_button_get_active (_tmp9_);
	_tmp11_ = _tmp10_;
	if (_tmp11_) {
		gchar* _tmp12_;
		TubaAPIStatus* _tmp13_;
		TubaRequestV2* _tmp14_;
		_tmp12_ = g_strdup ("favorite");
		_g_free0 (action);
		action = _tmp12_;
		_tmp13_ = self->priv->_status;
		_tmp14_ = tuba_api_status_favourite_req (_tmp13_);
		_g_object_unref0 (req);
		req = _tmp14_;
	} else {
		gchar* _tmp15_;
		TubaAPIStatus* _tmp16_;
		TubaRequestV2* _tmp17_;
		_tmp15_ = g_strdup ("unfavorite");
		_g_free0 (action);
		action = _tmp15_;
		_tmp16_ = self->priv->_status;
		_tmp17_ = tuba_api_status_unfavourite_req (_tmp16_);
		_g_object_unref0 (req);
		req = _tmp17_;
	}
	_tmp19_ = status_btn;
	_tmp20_ = tuba_widgets_status_action_button_get_active (_tmp19_);
	_tmp21_ = _tmp20_;
	if (_tmp21_) {
		_tmp18_ = 1;
	} else {
		_tmp18_ = -1;
	}
	_tmp22_ = status_btn;
	_tmp23_ = status_btn;
	_tmp24_ = tuba_widgets_status_action_button_get_amount (_tmp23_);
	_tmp25_ = _tmp24_;
	tuba_widgets_status_action_button_set_amount (_tmp23_, _tmp25_ + _tmp18_);
	_tmp26_ = action;
	_tmp27_ = string_to_string (_tmp26_);
	_tmp28_ = g_strconcat ("Performing status action '", _tmp27_, "'…", NULL);
	_tmp29_ = _tmp28_;
	g_debug ("ActionsRow.vala:298: %s", _tmp29_);
	_g_free0 (_tmp29_);
	_tmp30_ = status_btn;
	_tmp31_ = req;
	_tmp32_ = action;
	tuba_widgets_actions_row_mastodon_action (self, _tmp30_, _tmp31_, _tmp32_, "favourites-count", NULL, NULL);
	_g_object_unref0 (req);
	_g_free0 (action);
	_g_object_unref0 (status_btn);
}

static Block107Data*
block107_data_ref (Block107Data* _data107_)
{
	g_atomic_int_inc (&_data107_->_ref_count_);
	return _data107_;
}

static void
block107_data_unref (void * _userdata_)
{
	Block107Data* _data107_;
	_data107_ = (Block107Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data107_->_ref_count_)) {
		TubaWidgetsActionsRow* self;
		self = _data107_->self;
		_g_object_unref0 (self);
		g_slice_free (Block107Data, _data107_);
	}
}

static gboolean
__lambda63_ (Block107Data* _data107_,
             TubaAPIAttachment* e)
{
	TubaWidgetsActionsRow* self;
	gboolean _tmp0_ = FALSE;
	const gchar* _tmp1_;
	const gchar* _tmp2_;
	gboolean result;
	self = _data107_->self;
	g_return_val_if_fail (e != NULL, FALSE);
	_tmp1_ = tuba_api_attachment_get_description (e);
	_tmp2_ = _tmp1_;
	if (_tmp2_ == NULL) {
		_tmp0_ = TRUE;
	} else {
		const gchar* _tmp3_;
		const gchar* _tmp4_;
		_tmp3_ = tuba_api_attachment_get_description (e);
		_tmp4_ = _tmp3_;
		_tmp0_ = g_strcmp0 (_tmp4_, "") == 0;
	}
	if (_tmp0_) {
		_data107_->res = TRUE;
		result = FALSE;
		_g_object_unref0 (e);
		return result;
	}
	result = TRUE;
	_g_object_unref0 (e);
	return result;
}

static gboolean
___lambda63__gee_forall_func (gpointer g,
                              gpointer self)
{
	gboolean result;
	result = __lambda63_ (self, (TubaAPIAttachment*) g);
	return result;
}

static gboolean
tuba_widgets_actions_row_is_any_missing_alt (TubaWidgetsActionsRow* self)
{
	Block107Data* _data107_;
	TubaAPIStatus* _tmp0_;
	TubaAPIStatus* _tmp1_;
	TubaAPIStatus* _tmp2_;
	gboolean _tmp3_;
	gboolean _tmp4_;
	TubaAPIStatus* _tmp5_;
	TubaAPIStatus* _tmp6_;
	TubaAPIStatus* _tmp7_;
	GeeArrayList* _tmp8_;
	GeeArrayList* _tmp9_;
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	_data107_ = g_slice_new0 (Block107Data);
	_data107_->_ref_count_ = 1;
	_data107_->self = g_object_ref (self);
	_tmp0_ = self->priv->_status;
	_tmp1_ = tuba_api_status_get_formal (_tmp0_);
	_tmp2_ = _tmp1_;
	_tmp3_ = tuba_api_status_get_has_media (_tmp2_);
	_tmp4_ = _tmp3_;
	if (!_tmp4_) {
		result = FALSE;
		block107_data_unref (_data107_);
		_data107_ = NULL;
		return result;
	}
	_data107_->res = FALSE;
	_tmp5_ = self->priv->_status;
	_tmp6_ = tuba_api_status_get_formal (_tmp5_);
	_tmp7_ = _tmp6_;
	_tmp8_ = tuba_api_status_get_media_attachments (_tmp7_);
	_tmp9_ = _tmp8_;
	gee_abstract_collection_foreach ((GeeAbstractCollection*) _tmp9_, ___lambda63__gee_forall_func, _data107_);
	result = _data107_->res;
	block107_data_unref (_data107_);
	_data107_ = NULL;
	return result;
}

static Block108Data*
block108_data_ref (Block108Data* _data108_)
{
	g_atomic_int_inc (&_data108_->_ref_count_);
	return _data108_;
}

static void
block108_data_unref (void * _userdata_)
{
	Block108Data* _data108_;
	_data108_ = (Block108Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data108_->_ref_count_)) {
		TubaWidgetsActionsRow* self;
		self = _data108_->self;
		_g_object_unref0 (_data108_->status_btn);
		_g_object_unref0 (self);
		g_slice_free (Block108Data, _data108_);
	}
}

static Block109Data*
block109_data_ref (Block109Data* _data109_)
{
	g_atomic_int_inc (&_data109_->_ref_count_);
	return _data109_;
}

static void
block109_data_unref (void * _userdata_)
{
	Block109Data* _data109_;
	_data109_ = (Block109Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data109_->_ref_count_)) {
		TubaWidgetsActionsRow* self;
		self = _data109_->_data108_->self;
		_g_object_unref0 (_data109_->checkbutton);
		block108_data_unref (_data109_->_data108_);
		_data109_->_data108_ = NULL;
		g_slice_free (Block109Data, _data109_);
	}
}

static void
___lambda64_ (Block109Data* _data109_,
              GObject* obj,
              GAsyncResult* res)
{
	Block108Data* _data108_;
	TubaWidgetsActionsRow* self;
	TubaApplication* _tmp0_;
	GtkCheckButton* _tmp2_;
	gboolean _tmp3_;
	gboolean _tmp4_;
	_data108_ = _data109_->_data108_;
	self = _data108_->self;
	g_return_if_fail (res != NULL);
	_tmp0_ = tuba_app;
	if (tuba_application_question_answer_truthy (tuba_application_question_finish (_tmp0_, res))) {
		TubaWidgetsStatusActionButton* _tmp1_;
		_tmp1_ = _data108_->status_btn;
		tuba_widgets_actions_row_boost_button_clicked_real (self, _tmp1_);
	}
	_tmp2_ = _data109_->checkbutton;
	_tmp3_ = gtk_check_button_get_active (_tmp2_);
	_tmp4_ = _tmp3_;
	if (_tmp4_) {
		TubaSettings* _tmp5_;
		_tmp5_ = tuba_settings;
		tuba_settings_set_boost_alt_text_reminder (_tmp5_, FALSE);
	}
}

static void
____lambda64__gasync_ready_callback (GObject* source_object,
                                     GAsyncResult* res,
                                     gpointer self)
{
	___lambda64_ (self, source_object, res);
	block109_data_unref (self);
}

static void
tuba_widgets_actions_row_on_boost_button_clicked (TubaWidgetsActionsRow* self,
                                                  GtkButton* btn)
{
	Block108Data* _data108_;
	TubaWidgetsStatusActionButton* _tmp0_;
	TubaWidgetsStatusActionButton* _tmp1_;
	gboolean _tmp2_;
	gboolean _tmp3_;
	gboolean _tmp4_ = FALSE;
	gboolean _tmp5_ = FALSE;
	TubaWidgetsStatusActionButton* _tmp6_;
	gboolean _tmp7_;
	gboolean _tmp8_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (btn != NULL);
	_data108_ = g_slice_new0 (Block108Data);
	_data108_->_ref_count_ = 1;
	_data108_->self = g_object_ref (self);
	_tmp0_ = _g_object_ref0 (TUBA_WIDGETS_IS_STATUS_ACTION_BUTTON (btn) ? ((TubaWidgetsStatusActionButton*) btn) : NULL);
	_data108_->status_btn = _tmp0_;
	_tmp1_ = _data108_->status_btn;
	_tmp2_ = tuba_widgets_status_action_button_get_working (_tmp1_);
	_tmp3_ = _tmp2_;
	if (_tmp3_) {
		block108_data_unref (_data108_);
		_data108_ = NULL;
		return;
	}
	_tmp6_ = _data108_->status_btn;
	_tmp7_ = tuba_widgets_status_action_button_get_active (_tmp6_);
	_tmp8_ = _tmp7_;
	if (!_tmp8_) {
		TubaSettings* _tmp9_;
		gboolean _tmp10_;
		gboolean _tmp11_;
		_tmp9_ = tuba_settings;
		_tmp10_ = tuba_settings_get_boost_alt_text_reminder (_tmp9_);
		_tmp11_ = _tmp10_;
		_tmp5_ = _tmp11_;
	} else {
		_tmp5_ = FALSE;
	}
	if (_tmp5_) {
		_tmp4_ = tuba_widgets_actions_row_is_any_missing_alt (self);
	} else {
		_tmp4_ = FALSE;
	}
	if (_tmp4_) {
		Block109Data* _data109_;
		gchar* _tmp12_;
		GtkCheckButton* _tmp13_ = NULL;
		TubaApplication* _tmp14_;
		TubaApplicationQuestionText _tmp15_ = {0};
		TubaApplicationQuestionText _tmp16_ = {0};
		TubaApplication* _tmp17_;
		TubaDialogsMainWindow* _tmp18_;
		TubaDialogsMainWindow* _tmp19_;
		TubaApplicationQuestionButtons _tmp20_ = {0};
		GtkCheckButton* _tmp21_;
		_data109_ = g_slice_new0 (Block109Data);
		_data109_->_ref_count_ = 1;
		_data109_->_data108_ = block108_data_ref (_data108_);
		_tmp12_ = g_strdup (_ ("Don't remind me again"));
		_tmp13_ = (GtkCheckButton*) gtk_check_button_new ();
		gtk_check_button_set_label (_tmp13_, _tmp12_);
		_g_free0 (_tmp12_);
		gtk_widget_set_halign ((GtkWidget*) _tmp13_, GTK_ALIGN_CENTER);
		g_object_ref_sink (_tmp13_);
		_data109_->checkbutton = _tmp13_;
		_tmp14_ = tuba_app;
		_g_free0 (_tmp15_.text);
		_tmp15_.text = _ ("This post includes attachments without alt text");
		_tmp15_.use_markup = FALSE;
		_g_free0 (_tmp16_.text);
		_tmp16_.text = _ ("Some of your followers might not be able to parse it.");
		_tmp16_.use_markup = FALSE;
		_tmp17_ = tuba_app;
		_tmp18_ = tuba_application_get_main_window (_tmp17_);
		_tmp19_ = _tmp18_;
		tuba_application_question_button_destroy (&_tmp20_.yes);
		_tmp20_.yes = (TubaApplicationQuestionButton) {_ ("Boost"), ADW_RESPONSE_SUGGESTED};
		tuba_application_question_button_destroy (&_tmp20_.no);
		_tmp20_.no = (TubaApplicationQuestionButton) {_ ("Cancel"), ADW_RESPONSE_DEFAULT};
		_tmp21_ = _data109_->checkbutton;
		tuba_application_question (_tmp14_, &_tmp15_, &_tmp16_, (GtkWidget*) _tmp19_, &_tmp20_, (GtkWidget*) _tmp21_, FALSE, ____lambda64__gasync_ready_callback, block109_data_ref (_data109_));
		block109_data_unref (_data109_);
		_data109_ = NULL;
	} else {
		TubaWidgetsStatusActionButton* _tmp22_;
		_tmp22_ = _data108_->status_btn;
		tuba_widgets_actions_row_boost_button_clicked_real (self, _tmp22_);
	}
	block108_data_unref (_data108_);
	_data108_ = NULL;
}

static Block110Data*
block110_data_ref (Block110Data* _data110_)
{
	g_atomic_int_inc (&_data110_->_ref_count_);
	return _data110_;
}

static void
block110_data_unref (void * _userdata_)
{
	Block110Data* _data110_;
	_data110_ = (Block110Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data110_->_ref_count_)) {
		TubaWidgetsActionsRow* self;
		self = _data110_->self;
		_g_object_unref0 (_data110_->status_btn);
		_g_object_unref0 (self);
		g_slice_free (Block110Data, _data110_);
	}
}

static Block111Data*
block111_data_ref (Block111Data* _data111_)
{
	g_atomic_int_inc (&_data111_->_ref_count_);
	return _data111_;
}

static void
block111_data_unref (void * _userdata_)
{
	Block111Data* _data111_;
	_data111_ = (Block111Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data111_->_ref_count_)) {
		TubaWidgetsActionsRow* self;
		self = _data111_->_data110_->self;
		_g_object_unref0 (_data111_->dlg);
		_g_object_unref0 (_data111_->check_buttons);
		_g_object_unref0 (_data111_->group);
		block110_data_unref (_data111_->_data110_);
		_data111_->_data110_ = NULL;
		g_slice_free (Block111Data, _data111_);
	}
}

static gboolean
_tuba_api_status_visibility_equal (const TubaAPIStatusVisibility * s1,
                                   const TubaAPIStatusVisibility * s2)
{
	if (s1 == s2) {
		return TRUE;
	}
	if (s1 == NULL) {
		return FALSE;
	}
	if (s2 == NULL) {
		return FALSE;
	}
	return (*s1) == (*s2);
}

static Block112Data*
block112_data_ref (Block112Data* _data112_)
{
	g_atomic_int_inc (&_data112_->_ref_count_);
	return _data112_;
}

static void
block112_data_unref (void * _userdata_)
{
	Block112Data* _data112_;
	_data112_ = (Block112Data*) _userdata_;
	if (g_atomic_int_dec_and_test (&_data112_->_ref_count_)) {
		TubaWidgetsActionsRow* self;
		self = _data112_->_data111_->_data110_->self;
		_g_free0 (_data112_->reblog_visibility);
		block111_data_unref (_data112_->_data111_);
		_data112_->_data111_ = NULL;
		g_slice_free (Block112Data, _data112_);
	}
}

static TubaAPIStatusVisibility*
_tuba_api_status_visibility_dup (TubaAPIStatusVisibility* self)
{
	TubaAPIStatusVisibility* dup;
	dup = g_new0 (TubaAPIStatusVisibility, 1);
	memcpy (dup, self, sizeof (TubaAPIStatusVisibility));
	return dup;
}

static gpointer
__tuba_api_status_visibility_dup0 (gpointer self)
{
	return self ? _tuba_api_status_visibility_dup (self) : NULL;
}

static gboolean
___lambda66_ (Block112Data* _data112_,
              GeeMapEntry* e)
{
	Block111Data* _data111_;
	Block110Data* _data110_;
	TubaWidgetsActionsRow* self;
	gconstpointer _tmp0_;
	gconstpointer _tmp1_;
	gboolean _tmp2_;
	gboolean _tmp3_;
	gboolean result;
	_data111_ = _data112_->_data111_;
	_data110_ = _data111_->_data110_;
	self = _data110_->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_;
		TubaAPIStatusVisibility _tmp6_;
		TubaAPIStatusVisibility* _tmp7_;
		_tmp4_ = gee_map_entry_get_key (e);
		_tmp5_ = _tmp4_;
		_tmp6_ = (TubaAPIStatusVisibility) ((TubaAPIStatusVisibility) ((gintptr) _tmp5_));
		_tmp7_ = __tuba_api_status_visibility_dup0 (&_tmp6_);
		_g_free0 (_data112_->reblog_visibility);
		_data112_->reblog_visibility = _tmp7_;
		result = FALSE;
		_g_object_unref0 (e);
		return result;
	}
	result = TRUE;
	_g_object_unref0 (e);
	return result;
}

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

static void
___lambda65_ (Block111Data* _data111_,
              const gchar* res)
{
	Block110Data* _data110_;
	TubaWidgetsActionsRow* self;
	AdwAlertDialog* _tmp0_;
	const gchar* _tmp1_;
	GQuark _tmp3_ = 0U;
	static GQuark _tmp2_label0 = 0;
	static GQuark _tmp2_label1 = 0;
	GeeHashMap* _tmp40_;
	_data110_ = _data111_->_data110_;
	self = _data110_->self;
	g_return_if_fail (res != NULL);
	_tmp0_ = _data111_->dlg;
	g_signal_emit_by_name ((GtkWidget*) _tmp0_, "destroy");
	_tmp1_ = res;
	_tmp3_ = (NULL == _tmp1_) ? 0 : g_quark_from_string (_tmp1_);
	if ((_tmp3_ == ((0 != _tmp2_label0) ? _tmp2_label0 : (_tmp2_label0 = g_quark_from_static_string ("yes")))) || (_tmp3_ == ((0 != _tmp2_label1) ? _tmp2_label1 : (_tmp2_label1 = g_quark_from_static_string ("quote"))))) {
		switch (0) {
			default:
			{
				Block112Data* _data112_;
				GeeHashMap* _tmp4_;
				const gchar* _tmp5_;
				GQuark _tmp7_ = 0U;
				static GQuark _tmp6_label0 = 0;
				static GQuark _tmp6_label1 = 0;
				_data112_ = g_slice_new0 (Block112Data);
				_data112_->_ref_count_ = 1;
				_data112_->_data111_ = block111_data_ref (_data111_);
				_data112_->reblog_visibility = NULL;
				_tmp4_ = _data111_->check_buttons;
				gee_abstract_map_foreach ((GeeAbstractMap*) _tmp4_, ____lambda66__gee_forall_func, _data112_);
				_tmp5_ = res;
				_tmp7_ = (NULL == _tmp5_) ? 0 : g_quark_from_string (_tmp5_);
				if (_tmp7_ == ((0 != _tmp6_label0) ? _tmp6_label0 : (_tmp6_label0 = g_quark_from_static_string ("yes")))) {
					switch (0) {
						default:
						{
							TubaAPIStatusVisibility* _tmp8_;
							_tmp8_ = _data112_->reblog_visibility;
							tuba_widgets_actions_row_commit_boost (self, _data110_->status_btn, _tmp8_);
							break;
						}
					}
				} else if (_tmp7_ == ((0 != _tmp6_label1) ? _tmp6_label1 : (_tmp6_label1 = g_quark_from_static_string ("quote")))) {
					switch (0) {
						default:
						{
							gboolean _tmp9_ = FALSE;
							TubaAPIStatus* _tmp10_;
							TubaAPIStatus* _tmp11_;
							TubaAPIStatus* _tmp12_;
							gboolean _tmp13_;
							gboolean _tmp14_;
							gboolean supports_quotes = FALSE;
							TubaAPIStatus* _tmp34_;
							TubaAPIStatus* _tmp35_;
							TubaAPIStatus* _tmp36_;
							TubaAPIStatusVisibility* _tmp37_;
							TubaDialogsComposerDialog* _tmp38_;
							TubaDialogsComposerDialog* _tmp39_;
							_tmp10_ = self->priv->_status;
							_tmp11_ = tuba_api_status_get_formal (_tmp10_);
							_tmp12_ = _tmp11_;
							_tmp13_ = tuba_api_status_get_can_be_quoted (_tmp12_);
							_tmp14_ = _tmp13_;
							if (_tmp14_) {
								gboolean _tmp15_ = FALSE;
								gboolean _tmp16_ = FALSE;
								TubaAccountStore* _tmp17_;
								TubaInstanceAccount* _tmp18_;
								TubaInstanceAccount* _tmp19_;
								TubaAPIInstance* _tmp20_;
								TubaAPIInstance* _tmp21_;
								_tmp17_ = tuba_accounts;
								_tmp18_ = tuba_account_store_get_active (_tmp17_);
								_tmp19_ = _tmp18_;
								_tmp20_ = tuba_instance_account_get_instance_info (_tmp19_);
								_tmp21_ = _tmp20_;
								if (_tmp21_ != NULL) {
									TubaAccountStore* _tmp22_;
									TubaInstanceAccount* _tmp23_;
									TubaInstanceAccount* _tmp24_;
									TubaAPIInstance* _tmp25_;
									TubaAPIInstance* _tmp26_;
									gboolean _tmp27_;
									gboolean _tmp28_;
									_tmp22_ = tuba_accounts;
									_tmp23_ = tuba_account_store_get_active (_tmp22_);
									_tmp24_ = _tmp23_;
									_tmp25_ = tuba_instance_account_get_instance_info (_tmp24_);
									_tmp26_ = _tmp25_;
									_tmp27_ = tuba_api_instance_get_supports_quote_posting (_tmp26_);
									_tmp28_ = _tmp27_;
									_tmp16_ = _tmp28_;
								} else {
									_tmp16_ = FALSE;
								}
								if (_tmp16_) {
									_tmp15_ = TRUE;
								} else {
									TubaAccountStore* _tmp29_;
									TubaInstanceAccount* _tmp30_;
									TubaInstanceAccount* _tmp31_;
									TubaInstanceAccountInstanceFeatures _tmp32_;
									TubaInstanceAccountInstanceFeatures _tmp33_;
									_tmp29_ = tuba_accounts;
									_tmp30_ = tuba_account_store_get_active (_tmp29_);
									_tmp31_ = _tmp30_;
									_tmp32_ = tuba_instance_account_get_tuba_instance_features (_tmp31_);
									_tmp33_ = _tmp32_;
									_tmp15_ = (_tmp33_ & TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_QUOTE) == TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_QUOTE;
								}
								_tmp9_ = _tmp15_;
							} else {
								_tmp9_ = FALSE;
							}
							supports_quotes = _tmp9_;
							_tmp34_ = self->priv->_status;
							_tmp35_ = tuba_api_status_get_formal (_tmp34_);
							_tmp36_ = _tmp35_;
							_tmp37_ = _data112_->reblog_visibility;
							_tmp38_ = tuba_dialogs_composer_dialog_new_quote (_tmp36_, _tmp37_, supports_quotes);
							g_object_ref_sink (_tmp38_);
							_tmp39_ = _tmp38_;
							_g_object_unref0 (_tmp39_);
							tuba_widgets_status_action_button_unblock_clicked (_data110_->status_btn);
							break;
						}
					}
				} else {
					switch (0) {
						default:
						{
							g_assert_not_reached ();
						}
					}
				}
				block112_data_unref (_data112_);
				_data112_ = NULL;
				break;
			}
		}
	} else {
		switch (0) {
			default:
			{
				tuba_widgets_status_action_button_unblock_clicked (_data110_->status_btn);
				break;
			}
		}
	}
	_g_object_unref0 (_data111_->group);
	_data111_->group = NULL;
	_tmp40_ = _data111_->check_buttons;
	gee_abstract_map_clear ((GeeAbstractMap*) _tmp40_);
}

static void
____lambda65__adw_alert_dialog_response (AdwAlertDialog* _sender,
                                         const gchar* response,
                                         gpointer self)
{
	___lambda65_ (self, response);
}

static void
tuba_widgets_actions_row_boost_button_clicked_real (TubaWidgetsActionsRow* self,
                                                    TubaWidgetsStatusActionButton* status_btn)
{
	Block110Data* _data110_;
	TubaWidgetsStatusActionButton* _tmp0_;
	gboolean _tmp1_ = FALSE;
	gboolean _tmp2_;
	gboolean _tmp3_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (status_btn != NULL);
	_data110_ = g_slice_new0 (Block110Data);
	_data110_->_ref_count_ = 1;
	_data110_->self = g_object_ref (self);
	_tmp0_ = _g_object_ref0 (status_btn);
	_g_object_unref0 (_data110_->status_btn);
	_data110_->status_btn = _tmp0_;
	tuba_widgets_status_action_button_block_clicked (_data110_->status_btn);
	_tmp2_ = tuba_widgets_status_action_button_get_active (_data110_->status_btn);
	_tmp3_ = _tmp2_;
	if (!_tmp3_) {
		TubaSettings* _tmp4_;
		gboolean _tmp5_;
		gboolean _tmp6_;
		_tmp4_ = tuba_settings;
		_tmp5_ = tuba_settings_get_advanced_boost_dialog (_tmp4_);
		_tmp6_ = _tmp5_;
		_tmp1_ = _tmp6_;
	} else {
		_tmp1_ = FALSE;
	}
	if (_tmp1_) {
		Block111Data* _data111_;
		GtkListBox* visibility_box = NULL;
		gchar* _tmp7_;
		gchar** _tmp8_;
		GtkListBox* _tmp9_ = NULL;
		GeeHashMap* _tmp10_;
		GtkListBox* _tmp70_;
		GtkWidget* _tmp71_;
		AdwAlertDialog* _tmp72_ = NULL;
		AdwAlertDialog* _tmp73_;
		TubaWidgetsStatusActionButton* _tmp74_;
		AdwAlertDialog* _tmp76_;
		AdwAlertDialog* _tmp77_;
		AdwAlertDialog* _tmp78_;
		AdwAlertDialog* _tmp79_;
		TubaApplication* _tmp80_;
		TubaDialogsMainWindow* _tmp81_;
		TubaDialogsMainWindow* _tmp82_;
		_data111_ = g_slice_new0 (Block111Data);
		_data111_->_ref_count_ = 1;
		_data111_->_data110_ = block110_data_ref (_data110_);
		_tmp7_ = g_strdup ("content");
		_tmp8_ = g_new0 (gchar*, 1 + 1);
		_tmp8_[0] = _tmp7_;
		_tmp9_ = (GtkListBox*) gtk_list_box_new ();
		gtk_widget_set_css_classes ((GtkWidget*) _tmp9_, _tmp8_);
		_tmp8_ = (_vala_array_free (_tmp8_, 1, (GDestroyNotify) g_free), NULL);
		gtk_list_box_set_selection_mode (_tmp9_, GTK_SELECTION_NONE);
		g_object_ref_sink (_tmp9_);
		visibility_box = _tmp9_;
		_data111_->group = NULL;
		_tmp10_ = gee_hash_map_new (TUBA_API_STATUS_TYPE_VISIBILITY, NULL, NULL, gtk_check_button_get_type (), (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
		_data111_->check_buttons = _tmp10_;
		{
			gint i = 0;
			i = 0;
			{
				gboolean _tmp11_ = FALSE;
				_tmp11_ = TRUE;
				while (TRUE) {
					TubaAccountStore* _tmp13_;
					TubaInstanceAccount* _tmp14_;
					TubaInstanceAccount* _tmp15_;
					GListStore* _tmp16_;
					guint _tmp17_;
					guint _tmp18_;
					TubaInstanceAccountVisibility* visibility = NULL;
					TubaAccountStore* _tmp19_;
					TubaInstanceAccount* _tmp20_;
					TubaInstanceAccount* _tmp21_;
					GListStore* _tmp22_;
					GObject* _tmp23_;
					TubaAPIStatusVisibility* reblog_visibility = NULL;
					TubaInstanceAccountVisibility* _tmp24_;
					const gchar* _tmp25_;
					const gchar* _tmp26_;
					TubaAPIStatusVisibility* _tmp27_;
					gboolean _tmp28_ = FALSE;
					TubaAPIStatusVisibility* _tmp29_;
					GtkCheckButton* checkbutton = NULL;
					gchar* _tmp32_;
					gchar** _tmp33_;
					TubaSettings* _tmp34_;
					const gchar* _tmp35_;
					const gchar* _tmp36_;
					TubaInstanceAccountVisibility* _tmp37_;
					const gchar* _tmp38_;
					const gchar* _tmp39_;
					GtkCheckButton* _tmp40_ = NULL;
					GeeHashMap* _tmp41_;
					TubaAPIStatusVisibility* _tmp42_;
					GtkCheckButton* _tmp43_;
					GtkCheckButton* _tmp44_;
					AdwActionRow* visibility_row = NULL;
					TubaInstanceAccountVisibility* _tmp49_;
					const gchar* _tmp50_;
					const gchar* _tmp51_;
					gchar* _tmp52_;
					TubaInstanceAccountVisibility* _tmp53_;
					const gchar* _tmp54_;
					const gchar* _tmp55_;
					gchar* _tmp56_;
					GtkCheckButton* _tmp57_;
					GtkWidget* _tmp58_;
					AdwActionRow* _tmp59_ = NULL;
					AdwActionRow* _tmp60_;
					TubaInstanceAccountVisibility* _tmp61_;
					const gchar* _tmp62_;
					const gchar* _tmp63_;
					GtkImage* _tmp64_;
					GtkImage* _tmp65_;
					AdwActionRow* _tmp66_;
					GtkCheckButton* _tmp67_;
					GtkListBox* _tmp68_;
					AdwActionRow* _tmp69_;
					if (!_tmp11_) {
						gint _tmp12_;
						_tmp12_ = i;
						i = _tmp12_ + 1;
					}
					_tmp11_ = FALSE;
					_tmp13_ = tuba_accounts;
					_tmp14_ = tuba_account_store_get_active (_tmp13_);
					_tmp15_ = _tmp14_;
					_tmp16_ = _tmp15_->visibility_list;
					g_object_get (_tmp16_, "n-items", &_tmp17_, NULL);
					_tmp18_ = _tmp17_;
					if (!(((guint) i) < _tmp18_)) {
						break;
					}
					_tmp19_ = tuba_accounts;
					_tmp20_ = tuba_account_store_get_active (_tmp19_);
					_tmp21_ = _tmp20_;
					_tmp22_ = _tmp21_->visibility_list;
					_tmp23_ = g_list_model_get_item ((GListModel*) _tmp22_, (guint) i);
					visibility = G_TYPE_CHECK_INSTANCE_CAST (_tmp23_, TUBA_INSTANCE_ACCOUNT_TYPE_VISIBILITY, TubaInstanceAccountVisibility);
					_tmp24_ = visibility;
					_tmp25_ = tuba_instance_account_visibility_get_id (_tmp24_);
					_tmp26_ = _tmp25_;
					_tmp27_ = tuba_api_status_visibility_from_string (_tmp26_);
					reblog_visibility = _tmp27_;
					_tmp29_ = reblog_visibility;
					if (_tmp29_ == NULL) {
						_tmp28_ = TRUE;
					} else {
						TubaAPIStatusVisibility* _tmp30_;
						TubaAPIStatusVisibility _tmp31_;
						_tmp30_ = reblog_visibility;
						_tmp31_ = TUBA_API_STATUS_VISIBILITY_DIRECT;
						_tmp28_ = _tuba_api_status_visibility_equal (_tmp30_, &_tmp31_) == TRUE;
					}
					if (_tmp28_) {
						_g_free0 (reblog_visibility);
						_g_object_unref0 (visibility);
						continue;
					}
					_tmp32_ = g_strdup ("selection-mode");
					_tmp33_ = g_new0 (gchar*, 1 + 1);
					_tmp33_[0] = _tmp32_;
					_tmp34_ = tuba_settings;
					_tmp35_ = tuba_settings_get_default_post_visibility (_tmp34_);
					_tmp36_ = _tmp35_;
					_tmp37_ = visibility;
					_tmp38_ = tuba_instance_account_visibility_get_id (_tmp37_);
					_tmp39_ = _tmp38_;
					_tmp40_ = (GtkCheckButton*) gtk_check_button_new ();
					gtk_widget_set_css_classes ((GtkWidget*) _tmp40_, _tmp33_);
					_tmp33_ = (_vala_array_free (_tmp33_, 1, (GDestroyNotify) g_free), NULL);
					gtk_check_button_set_active (_tmp40_, g_strcmp0 (_tmp36_, _tmp39_) == 0);
					g_object_ref_sink (_tmp40_);
					checkbutton = _tmp40_;
					_tmp41_ = _data111_->check_buttons;
					_tmp42_ = reblog_visibility;
					_tmp43_ = checkbutton;
					gee_abstract_map_set ((GeeAbstractMap*) _tmp41_, (gpointer) ((gintptr) (*_tmp42_)), _tmp43_);
					_tmp44_ = _data111_->group;
					if (_tmp44_ != NULL) {
						GtkCheckButton* _tmp45_;
						GtkCheckButton* _tmp46_;
						_tmp45_ = checkbutton;
						_tmp46_ = _data111_->group;
						gtk_check_button_set_group (_tmp45_, _tmp46_);
					} else {
						GtkCheckButton* _tmp47_;
						GtkCheckButton* _tmp48_;
						_tmp47_ = checkbutton;
						_tmp48_ = _g_object_ref0 (_tmp47_);
						_g_object_unref0 (_data111_->group);
						_data111_->group = _tmp48_;
					}
					_tmp49_ = visibility;
					_tmp50_ = tuba_instance_account_visibility_get_name (_tmp49_);
					_tmp51_ = _tmp50_;
					_tmp52_ = g_strdup (_tmp51_);
					_tmp53_ = visibility;
					_tmp54_ = tuba_instance_account_visibility_get_description (_tmp53_);
					_tmp55_ = _tmp54_;
					_tmp56_ = g_strdup (_tmp55_);
					_tmp57_ = checkbutton;
					_tmp58_ = _g_object_ref0 ((GtkWidget*) _tmp57_);
					_tmp59_ = (AdwActionRow*) adw_action_row_new ();
					adw_preferences_row_set_title ((AdwPreferencesRow*) _tmp59_, _tmp52_);
					_g_free0 (_tmp52_);
					adw_action_row_set_subtitle (_tmp59_, _tmp56_);
					_g_free0 (_tmp56_);
					adw_action_row_set_activatable_widget (_tmp59_, _tmp58_);
					_g_object_unref0 (_tmp58_);
					g_object_ref_sink (_tmp59_);
					visibility_row = _tmp59_;
					_tmp60_ = visibility_row;
					_tmp61_ = visibility;
					_tmp62_ = tuba_instance_account_visibility_get_icon_name (_tmp61_);
					_tmp63_ = _tmp62_;
					_tmp64_ = (GtkImage*) gtk_image_new_from_icon_name (_tmp63_);
					g_object_ref_sink (_tmp64_);
					_tmp65_ = _tmp64_;
					adw_action_row_add_prefix (_tmp60_, (GtkWidget*) _tmp65_);
					_g_object_unref0 (_tmp65_);
					_tmp66_ = visibility_row;
					_tmp67_ = checkbutton;
					adw_action_row_add_prefix (_tmp66_, (GtkWidget*) _tmp67_);
					_tmp68_ = visibility_box;
					_tmp69_ = visibility_row;
					gtk_list_box_append (_tmp68_, (GtkWidget*) _tmp69_);
					_g_object_unref0 (visibility_row);
					_g_object_unref0 (checkbutton);
					_g_free0 (reblog_visibility);
					_g_object_unref0 (visibility);
				}
			}
		}
		_tmp70_ = visibility_box;
		_tmp71_ = _g_object_ref0 ((GtkWidget*) _tmp70_);
		_tmp72_ = (AdwAlertDialog*) adw_alert_dialog_new (_ ("Boost with Visibility"), NULL);
		adw_alert_dialog_set_extra_child (_tmp72_, _tmp71_);
		_g_object_unref0 (_tmp71_);
		g_object_ref_sink (_tmp72_);
		_data111_->dlg = _tmp72_;
		_tmp73_ = _data111_->dlg;
		adw_alert_dialog_add_response (_tmp73_, "no", _ ("Cancel"));
		_tmp74_ = self->priv->quote_button;
		if (_tmp74_ == NULL) {
			AdwAlertDialog* _tmp75_;
			_tmp75_ = _data111_->dlg;
			adw_alert_dialog_add_response (_tmp75_, "quote", _ ("Quote"));
		}
		_tmp76_ = _data111_->dlg;
		adw_alert_dialog_add_response (_tmp76_, "yes", _ ("Boost"));
		_tmp77_ = _data111_->dlg;
		adw_alert_dialog_set_response_appearance (_tmp77_, "yes", ADW_RESPONSE_SUGGESTED);
		_tmp78_ = _data111_->dlg;
		g_signal_connect_data (_tmp78_, "response", (GCallback) ____lambda65__adw_alert_dialog_response, block111_data_ref (_data111_), (GClosureNotify) block111_data_unref, 0);
		_tmp79_ = _data111_->dlg;
		_tmp80_ = tuba_app;
		_tmp81_ = tuba_application_get_main_window (_tmp80_);
		_tmp82_ = _tmp81_;
		adw_dialog_present ((AdwDialog*) _tmp79_, (GtkWidget*) _tmp82_);
		_g_object_unref0 (visibility_box);
		block111_data_unref (_data111_);
		_data111_ = NULL;
	} else {
		tuba_widgets_actions_row_commit_boost (self, _data110_->status_btn, NULL);
	}
	block110_data_unref (_data110_);
	_data110_ = NULL;
}

static void
tuba_widgets_actions_row_on_quote_button_clicked (TubaWidgetsActionsRow* self)
{
	TubaAPIStatus* _tmp0_;
	TubaAPIStatus* _tmp1_;
	TubaAPIStatus* _tmp2_;
	TubaDialogsComposerDialog* _tmp3_;
	TubaDialogsComposerDialog* _tmp4_;
	g_return_if_fail (self != NULL);
	_tmp0_ = self->priv->_status;
	_tmp1_ = tuba_api_status_get_formal (_tmp0_);
	_tmp2_ = _tmp1_;
	_tmp3_ = tuba_dialogs_composer_dialog_new_quote (_tmp2_, NULL, TRUE);
	g_object_ref_sink (_tmp3_);
	_tmp4_ = _tmp3_;
	_g_object_unref0 (_tmp4_);
}

static void
tuba_widgets_actions_row_commit_boost (TubaWidgetsActionsRow* self,
                                       TubaWidgetsStatusActionButton* status_btn,
                                       TubaAPIStatusVisibility* visibility)
{
	gboolean _tmp0_;
	gboolean _tmp1_;
	gchar* action = NULL;
	TubaRequestV2* req = NULL;
	gboolean _tmp2_;
	gboolean _tmp3_;
	gint _tmp10_ = 0;
	gboolean _tmp11_;
	gboolean _tmp12_;
	gint64 _tmp13_;
	gint64 _tmp14_;
	const gchar* _tmp15_;
	const gchar* _tmp16_;
	gchar* _tmp17_;
	gchar* _tmp18_;
	TubaRequestV2* _tmp19_;
	const gchar* _tmp20_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (status_btn != NULL);
	_tmp0_ = tuba_widgets_status_action_button_get_active (status_btn);
	_tmp1_ = _tmp0_;
	tuba_widgets_status_action_button_set_active (status_btn, !_tmp1_);
	_tmp2_ = tuba_widgets_status_action_button_get_active (status_btn);
	_tmp3_ = _tmp2_;
	if (_tmp3_) {
		gchar* _tmp4_;
		TubaAPIStatus* _tmp5_;
		TubaRequestV2* _tmp6_;
		_tmp4_ = g_strdup ("reblog");
		_g_free0 (action);
		action = _tmp4_;
		_tmp5_ = self->priv->_status;
		_tmp6_ = tuba_api_status_reblog_req (_tmp5_, visibility);
		_g_object_unref0 (req);
		req = _tmp6_;
	} else {
		gchar* _tmp7_;
		TubaAPIStatus* _tmp8_;
		TubaRequestV2* _tmp9_;
		_tmp7_ = g_strdup ("unreblog");
		_g_free0 (action);
		action = _tmp7_;
		_tmp8_ = self->priv->_status;
		_tmp9_ = tuba_api_status_unreblog_req (_tmp8_);
		_g_object_unref0 (req);
		req = _tmp9_;
	}
	_tmp11_ = tuba_widgets_status_action_button_get_active (status_btn);
	_tmp12_ = _tmp11_;
	if (_tmp12_) {
		_tmp10_ = 1;
	} else {
		_tmp10_ = -1;
	}
	_tmp13_ = tuba_widgets_status_action_button_get_amount (status_btn);
	_tmp14_ = _tmp13_;
	tuba_widgets_status_action_button_set_amount (status_btn, _tmp14_ + _tmp10_);
	_tmp15_ = action;
	_tmp16_ = string_to_string (_tmp15_);
	_tmp17_ = g_strconcat ("Performing status action '", _tmp16_, "'…", NULL);
	_tmp18_ = _tmp17_;
	g_debug ("ActionsRow.vala:470: %s", _tmp18_);
	_g_free0 (_tmp18_);
	_tmp19_ = req;
	_tmp20_ = action;
	tuba_widgets_actions_row_mastodon_action (self, status_btn, _tmp19_, _tmp20_, "reblogs-count", NULL, NULL);
	_g_object_unref0 (req);
	_g_free0 (action);
}

static void
tuba_widgets_actions_row_mastodon_action_data_free (gpointer _data)
{
	TubaWidgetsActionsRowMastodonActionData* _data_;
	_data_ = _data;
	_g_object_unref0 (_data_->status_btn);
	_g_object_unref0 (_data_->req);
	_g_free0 (_data_->action);
	_g_free0 (_data_->count_property);
	_g_object_unref0 (_data_->self);
	g_slice_free (TubaWidgetsActionsRowMastodonActionData, _data_);
}

static void
tuba_widgets_actions_row_mastodon_action (TubaWidgetsActionsRow* self,
                                          TubaWidgetsStatusActionButton* status_btn,
                                          TubaRequestV2* req,
                                          const gchar* action,
                                          const gchar* count_property,
                                          GAsyncReadyCallback _callback_,
                                          gpointer _user_data_)
{
	TubaWidgetsActionsRowMastodonActionData* _data_;
	TubaWidgetsActionsRow* _tmp0_;
	TubaWidgetsStatusActionButton* _tmp1_;
	TubaRequestV2* _tmp2_;
	gchar* _tmp3_;
	gchar* _tmp4_;
	g_return_if_fail (self != NULL);
	g_return_if_fail (status_btn != NULL);
	g_return_if_fail (req != NULL);
	g_return_if_fail (action != NULL);
	_data_ = g_slice_new0 (TubaWidgetsActionsRowMastodonActionData);
	_data_->_async_result = g_task_new (G_OBJECT (self), NULL, _callback_, _user_data_);
	g_task_set_task_data (_data_->_async_result, _data_, tuba_widgets_actions_row_mastodon_action_data_free);
	_tmp0_ = _g_object_ref0 (self);
	_data_->self = _tmp0_;
	_tmp1_ = _g_object_ref0 (status_btn);
	_g_object_unref0 (_data_->status_btn);
	_data_->status_btn = _tmp1_;
	_tmp2_ = _g_object_ref0 (req);
	_g_object_unref0 (_data_->req);
	_data_->req = _tmp2_;
	_tmp3_ = g_strdup (action);
	_g_free0 (_data_->action);
	_data_->action = _tmp3_;
	_tmp4_ = g_strdup (count_property);
	_g_free0 (_data_->count_property);
	_data_->count_property = _tmp4_;
	tuba_widgets_actions_row_mastodon_action_co (_data_);
}

static void
tuba_widgets_actions_row_mastodon_action_finish (TubaWidgetsActionsRow* self,
                                                 GAsyncResult* _res_)
{
	TubaWidgetsActionsRowMastodonActionData* _data_;
	_data_ = g_task_propagate_pointer (G_TASK (_res_), NULL);
}

static void
tuba_widgets_actions_row_mastodon_action_ready (GObject* source_object,
                                                GAsyncResult* _res_,
                                                gpointer _user_data_)
{
	TubaWidgetsActionsRowMastodonActionData* _data_;
	_data_ = _user_data_;
	_data_->_source_object_ = source_object;
	_data_->_res_ = _res_;
	tuba_widgets_actions_row_mastodon_action_co (_data_);
}

static gboolean
tuba_widgets_actions_row_mastodon_action_co (TubaWidgetsActionsRowMastodonActionData* _data_)
{
	switch (_data_->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	{
		_data_->_state_ = 1;
		tuba_request_v2_exec (_data_->req, tuba_widgets_actions_row_mastodon_action_ready, _data_);
		return FALSE;
		_state_1:
		_data_->_tmp0_ = tuba_request_v2_exec_finish (_data_->req, _data_->_res_, NULL, &_data_->_inner_error0_);
		_data_->_tmp1_ = _data_->_tmp0_;
		_g_object_unref0 (_data_->_tmp1_);
		if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
			goto __catch0_g_error;
		}
		if (_data_->count_property != NULL) {
			_data_->_tmp2_ = _data_->self->priv->_status;
			_data_->_tmp3_ = 0LL;
			g_object_get ((GObject*) _data_->_tmp2_, _data_->count_property, &_data_->_tmp3_, NULL);
			_data_->status_property_count = _data_->_tmp3_;
			_data_->_tmp5_ = tuba_widgets_status_action_button_get_active (_data_->status_btn);
			_data_->_tmp6_ = _data_->_tmp5_;
			if (_data_->_tmp6_) {
				_data_->_tmp4_ = 1;
			} else {
				_data_->_tmp4_ = -1;
			}
			_data_->_tmp7_ = _data_->self->priv->_status;
			g_object_set ((GObject*) _data_->_tmp7_, _data_->count_property, _data_->status_property_count + _data_->_tmp4_, NULL);
		}
		_data_->_tmp8_ = string_to_string (_data_->action);
		_data_->_tmp9_ = g_strconcat ("Status action '", _data_->_tmp8_, "' complete", NULL);
		_data_->_tmp10_ = _data_->_tmp9_;
		g_debug ("ActionsRow.vala:503: %s", _data_->_tmp10_);
		_g_free0 (_data_->_tmp10_);
	}
	goto __finally0;
	__catch0_g_error:
	{
		_data_->e = _data_->_inner_error0_;
		_data_->_inner_error0_ = NULL;
		_data_->_tmp11_ = string_to_string (_data_->action);
		_data_->_tmp12_ = g_strconcat ("Couldn't perform action \"", _data_->_tmp11_, "\" on a Status:", NULL);
		_data_->_tmp13_ = _data_->_tmp12_;
		g_warning ("ActionsRow.vala:505: %s", _data_->_tmp13_);
		_g_free0 (_data_->_tmp13_);
		_data_->_tmp14_ = _data_->e;
		_data_->_tmp15_ = _data_->_tmp14_->message;
		g_warning ("ActionsRow.vala:506: %s", _data_->_tmp15_);
		_data_->_tmp16_ = tuba_app;
		_data_->_tmp17_ = _data_->e;
		_data_->_tmp18_ = _data_->_tmp17_->message;
		_data_->_tmp19_ = g_strdup_printf ("%s: %s", _ ("Network Error"), _data_->_tmp18_);
		_data_->_tmp20_ = _data_->_tmp19_;
		g_signal_emit_by_name (_data_->_tmp16_, "toast", _data_->_tmp20_, (guint) 5, NULL, NULL, NULL);
		_g_free0 (_data_->_tmp20_);
		if (_data_->count_property != NULL) {
			_data_->_tmp22_ = tuba_widgets_status_action_button_get_active (_data_->status_btn);
			_data_->_tmp23_ = _data_->_tmp22_;
			if (_data_->_tmp23_) {
				_data_->_tmp21_ = -1;
			} else {
				_data_->_tmp21_ = 1;
			}
			_data_->_tmp24_ = tuba_widgets_status_action_button_get_amount (_data_->status_btn);
			_data_->_tmp25_ = _data_->_tmp24_;
			tuba_widgets_status_action_button_set_amount (_data_->status_btn, _data_->_tmp25_ + _data_->_tmp21_);
		}
		_data_->_tmp26_ = tuba_widgets_status_action_button_get_active (_data_->status_btn);
		_data_->_tmp27_ = _data_->_tmp26_;
		tuba_widgets_status_action_button_set_active (_data_->status_btn, !_data_->_tmp27_);
		_g_error_free0 (_data_->e);
	}
	__finally0:
	if (G_UNLIKELY (_data_->_inner_error0_ != NULL)) {
		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;
	}
	tuba_widgets_status_action_button_unblock_clicked (_data_->status_btn);
	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;
}

TubaAPIStatus*
tuba_widgets_actions_row_get_status (TubaWidgetsActionsRow* self)
{
	TubaAPIStatus* result;
	TubaAPIStatus* _tmp0_;
	g_return_val_if_fail (self != NULL, NULL);
	_tmp0_ = self->priv->_status;
	result = _tmp0_;
	return result;
}

void
tuba_widgets_actions_row_set_status (TubaWidgetsActionsRow* self,
                                     TubaAPIStatus* value)
{
	TubaAPIStatus* old_value;
	g_return_if_fail (self != NULL);
	old_value = tuba_widgets_actions_row_get_status (self);
	if (old_value != value) {
		TubaAPIStatus* _tmp0_;
		_tmp0_ = _g_object_ref0 (value);
		_g_object_unref0 (self->priv->_status);
		self->priv->_status = _tmp0_;
		g_object_notify_by_pspec ((GObject *) self, tuba_widgets_actions_row_properties[TUBA_WIDGETS_ACTIONS_ROW_STATUS_PROPERTY]);
	}
}

gboolean
tuba_widgets_actions_row_get_is_narrow (TubaWidgetsActionsRow* self)
{
	gboolean result;
	g_return_val_if_fail (self != NULL, FALSE);
	result = self->priv->_is_narrow;
	return result;
}

void
tuba_widgets_actions_row_set_is_narrow (TubaWidgetsActionsRow* self,
                                        gboolean value)
{
	g_return_if_fail (self != NULL);
	self->priv->_is_narrow = value;
	if (value) {
		GtkBox* _tmp0_;
		TubaWidgetsStatusActionButton* _tmp1_;
		TubaWidgetsStatusActionButton* _tmp2_;
		TubaWidgetsStatusActionButton* _tmp5_;
		TubaWidgetsStatusActionButton* _tmp6_;
		TubaWidgetsStatusActionButton* _tmp7_;
		g_object_set ((GtkWidget*) self, "height-request", 34, NULL);
		_tmp0_ = self->priv->box;
		gtk_box_set_spacing (_tmp0_, 2);
		gtk_widget_add_css_class ((GtkWidget*) self, "narrow");
		_tmp1_ = self->priv->reply_button;
		tuba_widgets_status_action_button_set_show_counts (_tmp1_, FALSE);
		_tmp2_ = self->priv->quote_button;
		if (_tmp2_ != NULL) {
			TubaWidgetsStatusActionButton* _tmp3_;
			TubaWidgetsStatusActionButton* _tmp4_;
			_tmp3_ = self->priv->quote_button;
			tuba_widgets_status_action_button_set_show_counts (_tmp3_, FALSE);
			_tmp4_ = self->priv->quote_button;
			tuba_widgets_status_action_button_set_smaller (_tmp4_, TRUE);
		}
		_tmp5_ = self->priv->reply_button;
		tuba_widgets_status_action_button_set_smaller (_tmp5_, TRUE);
		_tmp6_ = self->priv->reblog_button;
		tuba_widgets_status_action_button_set_smaller (_tmp6_, TRUE);
		_tmp7_ = self->priv->favorite_button;
		tuba_widgets_status_action_button_set_smaller (_tmp7_, TRUE);
	} else {
		GtkBox* _tmp8_;
		TubaWidgetsStatusActionButton* _tmp9_;
		TubaSettings* _tmp10_;
		gboolean _tmp11_;
		gboolean _tmp12_;
		TubaWidgetsStatusActionButton* _tmp13_;
		TubaWidgetsStatusActionButton* _tmp19_;
		TubaWidgetsStatusActionButton* _tmp20_;
		TubaWidgetsStatusActionButton* _tmp21_;
		g_object_set ((GtkWidget*) self, "height-request", 36, NULL);
		_tmp8_ = self->priv->box;
		gtk_box_set_spacing (_tmp8_, 6);
		gtk_widget_remove_css_class ((GtkWidget*) self, "narrow");
		_tmp9_ = self->priv->reply_button;
		_tmp10_ = tuba_settings;
		_tmp11_ = tuba_settings_get_show_interaction_counters (_tmp10_);
		_tmp12_ = _tmp11_;
		tuba_widgets_status_action_button_set_show_counts (_tmp9_, _tmp12_);
		_tmp13_ = self->priv->quote_button;
		if (_tmp13_ != NULL) {
			TubaWidgetsStatusActionButton* _tmp14_;
			TubaSettings* _tmp15_;
			gboolean _tmp16_;
			gboolean _tmp17_;
			TubaWidgetsStatusActionButton* _tmp18_;
			_tmp14_ = self->priv->quote_button;
			_tmp15_ = tuba_settings;
			_tmp16_ = tuba_settings_get_show_interaction_counters (_tmp15_);
			_tmp17_ = _tmp16_;
			tuba_widgets_status_action_button_set_show_counts (_tmp14_, _tmp17_);
			_tmp18_ = self->priv->quote_button;
			tuba_widgets_status_action_button_set_smaller (_tmp18_, FALSE);
		}
		_tmp19_ = self->priv->reply_button;
		tuba_widgets_status_action_button_set_smaller (_tmp19_, FALSE);
		_tmp20_ = self->priv->reblog_button;
		tuba_widgets_status_action_button_set_smaller (_tmp20_, FALSE);
		_tmp21_ = self->priv->favorite_button;
		tuba_widgets_status_action_button_set_smaller (_tmp21_, FALSE);
	}
	g_object_notify_by_pspec ((GObject *) self, tuba_widgets_actions_row_properties[TUBA_WIDGETS_ACTIONS_ROW_IS_NARROW_PROPERTY]);
}

static void
_tuba_widgets_actions_row_on_reply_button_clicked_gtk_button_clicked (GtkButton* _sender,
                                                                      gpointer self)
{
	tuba_widgets_actions_row_on_reply_button_clicked ((TubaWidgetsActionsRow*) self, _sender);
}

static void
_tuba_widgets_actions_row_on_boost_button_clicked_gtk_button_clicked (GtkButton* _sender,
                                                                      gpointer self)
{
	tuba_widgets_actions_row_on_boost_button_clicked ((TubaWidgetsActionsRow*) self, _sender);
}

static void
_tuba_widgets_actions_row_on_quote_button_clicked_gtk_button_clicked (GtkButton* _sender,
                                                                      gpointer self)
{
	tuba_widgets_actions_row_on_quote_button_clicked ((TubaWidgetsActionsRow*) self);
}

static void
_tuba_widgets_actions_row_on_favorite_button_clicked_gtk_button_clicked (GtkButton* _sender,
                                                                         gpointer self)
{
	tuba_widgets_actions_row_on_favorite_button_clicked ((TubaWidgetsActionsRow*) self, _sender);
}

static void
_tuba_widgets_actions_row_on_bookmark_button_clicked_gtk_button_clicked (GtkButton* _sender,
                                                                         gpointer self)
{
	tuba_widgets_actions_row_on_bookmark_button_clicked ((TubaWidgetsActionsRow*) self, _sender);
}

static void
_vala_GValue_free (GValue* self)
{
	g_boxed_free (G_TYPE_VALUE, self);
}

static GObject *
tuba_widgets_actions_row_constructor (GType type,
                                      guint n_construct_properties,
                                      GObjectConstructParam * construct_properties)
{
	GObject * obj;
	GObjectClass * parent_class;
	TubaWidgetsActionsRow * self;
	GtkBox* _tmp0_;
	GtkBox* _tmp1_;
	GtkBox* _tmp2_;
	TubaSettings* _tmp3_;
	gboolean _tmp4_;
	gboolean _tmp5_;
	gchar* _tmp6_;
	gchar* _tmp7_;
	gchar* _tmp8_;
	gchar** _tmp9_;
	gchar* _tmp10_;
	TubaWidgetsStatusActionButton* _tmp11_ = NULL;
	TubaWidgetsStatusActionButton* _tmp12_;
	GtkBox* _tmp13_;
	TubaWidgetsStatusActionButton* _tmp14_;
	TubaSettings* _tmp15_;
	gboolean _tmp16_;
	gboolean _tmp17_;
	gchar* _tmp18_;
	gchar* _tmp19_;
	gchar* _tmp20_;
	gchar** _tmp21_;
	gchar* _tmp22_;
	TubaWidgetsStatusActionButton* _tmp23_ = NULL;
	TubaWidgetsStatusActionButton* _tmp24_;
	GtkBox* _tmp25_;
	TubaWidgetsStatusActionButton* _tmp26_;
	gboolean _tmp27_ = FALSE;
	gboolean _tmp28_ = FALSE;
	TubaAccountStore* _tmp29_;
	TubaInstanceAccount* _tmp30_;
	TubaInstanceAccount* _tmp31_;
	TubaAPIInstance* _tmp32_;
	TubaAPIInstance* _tmp33_;
	TubaSettings* _tmp58_;
	gboolean _tmp59_;
	gboolean _tmp60_;
	gchar* _tmp61_;
	gchar* _tmp62_;
	gchar* _tmp63_;
	gchar* _tmp64_;
	gchar** _tmp65_;
	gchar* _tmp66_;
	TubaWidgetsStatusActionButton* _tmp67_ = NULL;
	TubaWidgetsStatusActionButton* _tmp68_;
	GtkBox* _tmp69_;
	TubaWidgetsStatusActionButton* _tmp70_;
	gchar* _tmp71_;
	gchar* _tmp72_;
	gchar* _tmp73_;
	gchar* _tmp74_;
	gchar** _tmp75_;
	gchar* _tmp76_;
	TubaWidgetsStatusActionButton* _tmp77_ = NULL;
	TubaWidgetsStatusActionButton* _tmp78_;
	GtkBox* _tmp79_;
	TubaWidgetsStatusActionButton* _tmp80_;
	gint _tmp81_ = 0;
	TubaWidgetsStatusActionButton* _tmp82_;
	AdwBreakpointCondition* condition = NULL;
	AdwBreakpointCondition* _tmp83_;
	AdwBreakpoint* breakpoint = NULL;
	AdwBreakpointCondition* _tmp84_;
	AdwBreakpoint* _tmp85_;
	AdwBreakpoint* _tmp86_;
	GValue* _tmp87_ = NULL;
	AdwBreakpoint* _tmp88_;
	AdwBreakpoint* _tmp89_;
	parent_class = G_OBJECT_CLASS (tuba_widgets_actions_row_parent_class);
	obj = parent_class->constructor (type, n_construct_properties, construct_properties);
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TUBA_WIDGETS_TYPE_ACTIONS_ROW, TubaWidgetsActionsRow);
	_tmp0_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 6);
	g_object_ref_sink (_tmp0_);
	_g_object_unref0 (self->priv->box);
	self->priv->box = _tmp0_;
	gtk_widget_add_css_class ((GtkWidget*) self, "ttl-post-actions");
	_tmp1_ = self->priv->box;
	gtk_box_set_spacing (_tmp1_, 6);
	_tmp2_ = self->priv->box;
	adw_breakpoint_bin_set_child ((AdwBreakpointBin*) self, (GtkWidget*) _tmp2_);
	gtk_widget_set_overflow ((GtkWidget*) self, GTK_OVERFLOW_VISIBLE);
	g_object_set ((GtkWidget*) self, "height-request", 36, NULL);
	g_object_set ((GtkWidget*) self, "width-request", 24, NULL);
	_tmp3_ = tuba_settings;
	_tmp4_ = tuba_settings_get_show_interaction_counters (_tmp3_);
	_tmp5_ = _tmp4_;
	_tmp6_ = g_strdup ("ttl-status-action-reply");
	_tmp7_ = g_strdup ("flat");
	_tmp8_ = g_strdup ("circular");
	_tmp9_ = g_new0 (gchar*, 3 + 1);
	_tmp9_[0] = _tmp6_;
	_tmp9_[1] = _tmp7_;
	_tmp9_[2] = _tmp8_;
	_tmp10_ = g_strdup (_ ("Reply"));
	_tmp11_ = tuba_widgets_status_action_button_new_with_icon_name ("tuba-reply-sender-symbolic");
	tuba_widgets_status_action_button_set_show_counts (_tmp11_, _tmp5_);
	tuba_widgets_status_action_button_set_active (_tmp11_, FALSE);
	gtk_widget_set_css_classes ((GtkWidget*) _tmp11_, _tmp9_);
	_tmp9_ = (_vala_array_free (_tmp9_, 3, (GDestroyNotify) g_free), NULL);
	gtk_widget_set_halign ((GtkWidget*) _tmp11_, GTK_ALIGN_START);
	gtk_widget_set_hexpand ((GtkWidget*) _tmp11_, TRUE);
	gtk_widget_set_tooltip_text ((GtkWidget*) _tmp11_, _tmp10_);
	_g_free0 (_tmp10_);
	g_object_ref_sink (_tmp11_);
	_g_object_unref0 (self->priv->reply_button);
	self->priv->reply_button = _tmp11_;
	_tmp12_ = self->priv->reply_button;
	g_signal_connect_object ((GtkButton*) _tmp12_, "clicked", (GCallback) _tuba_widgets_actions_row_on_reply_button_clicked_gtk_button_clicked, self, 0);
	_tmp13_ = self->priv->box;
	_tmp14_ = self->priv->reply_button;
	gtk_box_append (_tmp13_, (GtkWidget*) _tmp14_);
	_tmp15_ = tuba_settings;
	_tmp16_ = tuba_settings_get_show_interaction_counters (_tmp15_);
	_tmp17_ = _tmp16_;
	_tmp18_ = g_strdup ("ttl-status-action-reblog");
	_tmp19_ = g_strdup ("flat");
	_tmp20_ = g_strdup ("circular");
	_tmp21_ = g_new0 (gchar*, 3 + 1);
	_tmp21_[0] = _tmp18_;
	_tmp21_[1] = _tmp19_;
	_tmp21_[2] = _tmp20_;
	_tmp22_ = g_strdup (_ ("Boost"));
	_tmp23_ = tuba_widgets_status_action_button_new_with_icon_name ("tuba-media-playlist-repeat-symbolic");
	tuba_widgets_status_action_button_set_show_counts (_tmp23_, _tmp17_);
	gtk_widget_set_css_classes ((GtkWidget*) _tmp23_, _tmp21_);
	_tmp21_ = (_vala_array_free (_tmp21_, 3, (GDestroyNotify) g_free), NULL);
	gtk_widget_set_halign ((GtkWidget*) _tmp23_, GTK_ALIGN_START);
	gtk_widget_set_hexpand ((GtkWidget*) _tmp23_, TRUE);
	gtk_widget_set_tooltip_text ((GtkWidget*) _tmp23_, _tmp22_);
	_g_free0 (_tmp22_);
	g_object_ref_sink (_tmp23_);
	_g_object_unref0 (self->priv->reblog_button);
	self->priv->reblog_button = _tmp23_;
	_tmp24_ = self->priv->reblog_button;
	g_signal_connect_object ((GtkButton*) _tmp24_, "clicked", (GCallback) _tuba_widgets_actions_row_on_boost_button_clicked_gtk_button_clicked, self, 0);
	_tmp25_ = self->priv->box;
	_tmp26_ = self->priv->reblog_button;
	gtk_box_append (_tmp25_, (GtkWidget*) _tmp26_);
	_tmp29_ = tuba_accounts;
	_tmp30_ = tuba_account_store_get_active (_tmp29_);
	_tmp31_ = _tmp30_;
	_tmp32_ = tuba_instance_account_get_instance_info (_tmp31_);
	_tmp33_ = _tmp32_;
	if (_tmp33_ != NULL) {
		TubaAccountStore* _tmp34_;
		TubaInstanceAccount* _tmp35_;
		TubaInstanceAccount* _tmp36_;
		TubaAPIInstance* _tmp37_;
		TubaAPIInstance* _tmp38_;
		gboolean _tmp39_;
		gboolean _tmp40_;
		_tmp34_ = tuba_accounts;
		_tmp35_ = tuba_account_store_get_active (_tmp34_);
		_tmp36_ = _tmp35_;
		_tmp37_ = tuba_instance_account_get_instance_info (_tmp36_);
		_tmp38_ = _tmp37_;
		_tmp39_ = tuba_api_instance_get_supports_quote_posting (_tmp38_);
		_tmp40_ = _tmp39_;
		_tmp28_ = _tmp40_;
	} else {
		_tmp28_ = FALSE;
	}
	if (_tmp28_) {
		_tmp27_ = TRUE;
	} else {
		TubaAccountStore* _tmp41_;
		TubaInstanceAccount* _tmp42_;
		TubaInstanceAccount* _tmp43_;
		TubaInstanceAccountInstanceFeatures _tmp44_;
		TubaInstanceAccountInstanceFeatures _tmp45_;
		_tmp41_ = tuba_accounts;
		_tmp42_ = tuba_account_store_get_active (_tmp41_);
		_tmp43_ = _tmp42_;
		_tmp44_ = tuba_instance_account_get_tuba_instance_features (_tmp43_);
		_tmp45_ = _tmp44_;
		_tmp27_ = (_tmp45_ & TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_QUOTE) == TUBA_INSTANCE_ACCOUNT_INSTANCE_FEATURES_QUOTE;
	}
	if (_tmp27_) {
		TubaSettings* _tmp46_;
		gboolean _tmp47_;
		gboolean _tmp48_;
		gchar* _tmp49_;
		gchar* _tmp50_;
		gchar* _tmp51_;
		gchar** _tmp52_;
		gchar* _tmp53_;
		TubaWidgetsStatusActionButton* _tmp54_ = NULL;
		TubaWidgetsStatusActionButton* _tmp55_;
		GtkBox* _tmp56_;
		TubaWidgetsStatusActionButton* _tmp57_;
		_tmp46_ = tuba_settings;
		_tmp47_ = tuba_settings_get_show_interaction_counters (_tmp46_);
		_tmp48_ = _tmp47_;
		_tmp49_ = g_strdup ("ttl-status-action-quote");
		_tmp50_ = g_strdup ("flat");
		_tmp51_ = g_strdup ("circular");
		_tmp52_ = g_new0 (gchar*, 3 + 1);
		_tmp52_[0] = _tmp49_;
		_tmp52_[1] = _tmp50_;
		_tmp52_[2] = _tmp51_;
		_tmp53_ = g_strdup (_ ("Quote"));
		_tmp54_ = tuba_widgets_status_action_button_new_with_icon_name ("tuba-quotation-symbolic");
		tuba_widgets_status_action_button_set_show_counts (_tmp54_, _tmp48_);
		gtk_widget_set_css_classes ((GtkWidget*) _tmp54_, _tmp52_);
		_tmp52_ = (_vala_array_free (_tmp52_, 3, (GDestroyNotify) g_free), NULL);
		gtk_widget_set_halign ((GtkWidget*) _tmp54_, GTK_ALIGN_START);
		gtk_widget_set_hexpand ((GtkWidget*) _tmp54_, TRUE);
		gtk_widget_set_tooltip_text ((GtkWidget*) _tmp54_, _tmp53_);
		_g_free0 (_tmp53_);
		g_object_ref_sink (_tmp54_);
		_g_object_unref0 (self->priv->quote_button);
		self->priv->quote_button = _tmp54_;
		_tmp55_ = self->priv->quote_button;
		g_signal_connect_object ((GtkButton*) _tmp55_, "clicked", (GCallback) _tuba_widgets_actions_row_on_quote_button_clicked_gtk_button_clicked, self, 0);
		_tmp56_ = self->priv->box;
		_tmp57_ = self->priv->quote_button;
		gtk_box_append (_tmp56_, (GtkWidget*) _tmp57_);
	}
	_tmp58_ = tuba_settings;
	_tmp59_ = tuba_settings_get_show_interaction_counters (_tmp58_);
	_tmp60_ = _tmp59_;
	_tmp61_ = g_strdup ("tuba-starred-symbolic");
	_tmp62_ = g_strdup ("ttl-status-action-star");
	_tmp63_ = g_strdup ("flat");
	_tmp64_ = g_strdup ("circular");
	_tmp65_ = g_new0 (gchar*, 3 + 1);
	_tmp65_[0] = _tmp62_;
	_tmp65_[1] = _tmp63_;
	_tmp65_[2] = _tmp64_;
	_tmp66_ = g_strdup (_ ("Favorite"));
	_tmp67_ = tuba_widgets_status_action_button_new_with_icon_name ("tuba-unstarred-symbolic");
	tuba_widgets_status_action_button_set_show_counts (_tmp67_, _tmp60_);
	tuba_widgets_status_action_button_set_active_icon_name (_tmp67_, _tmp61_);
	_g_free0 (_tmp61_);
	gtk_widget_set_css_classes ((GtkWidget*) _tmp67_, _tmp65_);
	_tmp65_ = (_vala_array_free (_tmp65_, 3, (GDestroyNotify) g_free), NULL);
	gtk_widget_set_halign ((GtkWidget*) _tmp67_, GTK_ALIGN_START);
	gtk_widget_set_hexpand ((GtkWidget*) _tmp67_, TRUE);
	gtk_widget_set_tooltip_text ((GtkWidget*) _tmp67_, _tmp66_);
	_g_free0 (_tmp66_);
	g_object_ref_sink (_tmp67_);
	_g_object_unref0 (self->priv->favorite_button);
	self->priv->favorite_button = _tmp67_;
	_tmp68_ = self->priv->favorite_button;
	g_signal_connect_object ((GtkButton*) _tmp68_, "clicked", (GCallback) _tuba_widgets_actions_row_on_favorite_button_clicked_gtk_button_clicked, self, 0);
	_tmp69_ = self->priv->box;
	_tmp70_ = self->priv->favorite_button;
	gtk_box_append (_tmp69_, (GtkWidget*) _tmp70_);
	_tmp71_ = g_strdup ("tuba-bookmarks-filled-symbolic");
	_tmp72_ = g_strdup ("ttl-status-action-bookmark");
	_tmp73_ = g_strdup ("flat");
	_tmp74_ = g_strdup ("circular");
	_tmp75_ = g_new0 (gchar*, 3 + 1);
	_tmp75_[0] = _tmp72_;
	_tmp75_[1] = _tmp73_;
	_tmp75_[2] = _tmp74_;
	_tmp76_ = g_strdup (_ ("Bookmark"));
	_tmp77_ = tuba_widgets_status_action_button_new_with_icon_name ("tuba-bookmarks-symbolic");
	tuba_widgets_status_action_button_set_active_icon_name (_tmp77_, _tmp71_);
	_g_free0 (_tmp71_);
	gtk_widget_set_css_classes ((GtkWidget*) _tmp77_, _tmp75_);
	_tmp75_ = (_vala_array_free (_tmp75_, 3, (GDestroyNotify) g_free), NULL);
	gtk_widget_set_halign ((GtkWidget*) _tmp77_, GTK_ALIGN_START);
	gtk_widget_set_hexpand ((GtkWidget*) _tmp77_, FALSE);
	gtk_widget_set_tooltip_text ((GtkWidget*) _tmp77_, _tmp76_);
	_g_free0 (_tmp76_);
	g_object_ref_sink (_tmp77_);
	_g_object_unref0 (self->priv->bookmark_button);
	self->priv->bookmark_button = _tmp77_;
	_tmp78_ = self->priv->bookmark_button;
	g_signal_connect_object ((GtkButton*) _tmp78_, "clicked", (GCallback) _tuba_widgets_actions_row_on_bookmark_button_clicked_gtk_button_clicked, self, 0);
	_tmp79_ = self->priv->box;
	_tmp80_ = self->priv->bookmark_button;
	gtk_box_append (_tmp79_, (GtkWidget*) _tmp80_);
	_tmp82_ = self->priv->quote_button;
	if (_tmp82_ == NULL) {
		_tmp81_ = 300;
	} else {
		_tmp81_ = 380;
	}
	_tmp83_ = adw_breakpoint_condition_new_length (ADW_BREAKPOINT_CONDITION_MAX_WIDTH, (gdouble) _tmp81_, ADW_LENGTH_UNIT_SP);
	condition = _tmp83_;
	_tmp84_ = condition;
	condition = NULL;
	_tmp85_ = adw_breakpoint_new (_tmp84_);
	breakpoint = _tmp85_;
	_tmp86_ = breakpoint;
	_tmp87_ = g_new0 (GValue, 1);
	g_value_init (_tmp87_, G_TYPE_BOOLEAN);
	g_value_set_boolean (_tmp87_, TRUE);
	adw_breakpoint_add_setter (_tmp86_, (GObject*) self, "is-narrow", _tmp87_);
	__vala_GValue_free0 (_tmp87_);
	_tmp88_ = breakpoint;
	_tmp89_ = _g_object_ref0 (_tmp88_);
	adw_breakpoint_bin_add_breakpoint ((AdwBreakpointBin*) self, _tmp89_);
	_g_object_unref0 (breakpoint);
	_adw_breakpoint_condition_free0 (condition);
	return obj;
}

static void
tuba_widgets_actions_row_class_init (TubaWidgetsActionsRowClass * klass,
                                     gpointer klass_data)
{
	tuba_widgets_actions_row_parent_class = g_type_class_peek_parent (klass);
	g_type_class_adjust_private_offset (klass, &TubaWidgetsActionsRow_private_offset);
	G_OBJECT_CLASS (klass)->get_property = _vala_tuba_widgets_actions_row_get_property;
	G_OBJECT_CLASS (klass)->set_property = _vala_tuba_widgets_actions_row_set_property;
	G_OBJECT_CLASS (klass)->constructor = tuba_widgets_actions_row_constructor;
	G_OBJECT_CLASS (klass)->finalize = tuba_widgets_actions_row_finalize;
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_WIDGETS_ACTIONS_ROW_STATUS_PROPERTY, tuba_widgets_actions_row_properties[TUBA_WIDGETS_ACTIONS_ROW_STATUS_PROPERTY] = g_param_spec_object ("status", "status", "status", TUBA_API_TYPE_STATUS, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	g_object_class_install_property (G_OBJECT_CLASS (klass), TUBA_WIDGETS_ACTIONS_ROW_IS_NARROW_PROPERTY, tuba_widgets_actions_row_properties[TUBA_WIDGETS_ACTIONS_ROW_IS_NARROW_PROPERTY] = g_param_spec_boolean ("is-narrow", "is-narrow", "is-narrow", FALSE, G_PARAM_STATIC_STRINGS | G_PARAM_READABLE | G_PARAM_WRITABLE));
	tuba_widgets_actions_row_signals[TUBA_WIDGETS_ACTIONS_ROW_REPLY_SIGNAL] = g_signal_new ("reply", TUBA_WIDGETS_TYPE_ACTIONS_ROW, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, gtk_button_get_type ());
}

static void
tuba_widgets_actions_row_instance_init (TubaWidgetsActionsRow * self,
                                        gpointer klass)
{
	GBinding** _tmp0_;
	gulong* _tmp1_;
	self->priv = tuba_widgets_actions_row_get_instance_private (self);
	self->priv->quote_button = NULL;
	_tmp0_ = g_new0 (GBinding*, 0 + 1);
	self->priv->bindings = _tmp0_;
	self->priv->bindings_length1 = 0;
	self->priv->_bindings_size_ = self->priv->bindings_length1;
	_tmp1_ = g_new0 (gulong, 0);
	self->priv->status_notify_signals = _tmp1_;
	self->priv->status_notify_signals_length1 = 0;
	self->priv->_status_notify_signals_size_ = self->priv->status_notify_signals_length1;
	self->priv->_is_narrow = FALSE;
}

static void
tuba_widgets_actions_row_finalize (GObject * obj)
{
	TubaWidgetsActionsRow * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TUBA_WIDGETS_TYPE_ACTIONS_ROW, TubaWidgetsActionsRow);
	tuba_widgets_actions_row_unbind (self);
	_g_object_unref0 (self->priv->_status);
	_g_object_unref0 (self->priv->reply_button);
	_g_object_unref0 (self->priv->reblog_button);
	_g_object_unref0 (self->priv->favorite_button);
	_g_object_unref0 (self->priv->bookmark_button);
	_g_object_unref0 (self->priv->quote_button);
	self->priv->bindings = (_vala_array_free (self->priv->bindings, self->priv->bindings_length1, (GDestroyNotify) g_object_unref), NULL);
	self->priv->status_notify_signals = (g_free (self->priv->status_notify_signals), NULL);
	_g_object_unref0 (self->priv->box);
	G_OBJECT_CLASS (tuba_widgets_actions_row_parent_class)->finalize (obj);
}

 G_GNUC_NO_INLINE static GType
tuba_widgets_actions_row_get_type_once (void)
{
	static const GTypeInfo g_define_type_info = { sizeof (TubaWidgetsActionsRowClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) tuba_widgets_actions_row_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (TubaWidgetsActionsRow), 0, (GInstanceInitFunc) tuba_widgets_actions_row_instance_init, NULL };
	GType tuba_widgets_actions_row_type_id;
	tuba_widgets_actions_row_type_id = g_type_register_static (adw_breakpoint_bin_get_type (), "TubaWidgetsActionsRow", &g_define_type_info, G_TYPE_FLAG_NONE);
	TubaWidgetsActionsRow_private_offset = g_type_add_instance_private (tuba_widgets_actions_row_type_id, sizeof (TubaWidgetsActionsRowPrivate));
	return tuba_widgets_actions_row_type_id;
}

GType
tuba_widgets_actions_row_get_type (void)
{
	static GType tuba_widgets_actions_row_type_id__once = 0;
	if (g_once_init_enter_pointer (&tuba_widgets_actions_row_type_id__once)) {
		GType tuba_widgets_actions_row_type_id;
		tuba_widgets_actions_row_type_id = tuba_widgets_actions_row_get_type_once ();
		g_once_init_leave_pointer (&tuba_widgets_actions_row_type_id__once, tuba_widgets_actions_row_type_id);
	}
	return tuba_widgets_actions_row_type_id__once;
}

static void
_vala_tuba_widgets_actions_row_get_property (GObject * object,
                                             guint property_id,
                                             GValue * value,
                                             GParamSpec * pspec)
{
	TubaWidgetsActionsRow * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TUBA_WIDGETS_TYPE_ACTIONS_ROW, TubaWidgetsActionsRow);
	switch (property_id) {
		case TUBA_WIDGETS_ACTIONS_ROW_STATUS_PROPERTY:
		g_value_set_object (value, tuba_widgets_actions_row_get_status (self));
		break;
		case TUBA_WIDGETS_ACTIONS_ROW_IS_NARROW_PROPERTY:
		g_value_set_boolean (value, tuba_widgets_actions_row_get_is_narrow (self));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

static void
_vala_tuba_widgets_actions_row_set_property (GObject * object,
                                             guint property_id,
                                             const GValue * value,
                                             GParamSpec * pspec)
{
	TubaWidgetsActionsRow * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TUBA_WIDGETS_TYPE_ACTIONS_ROW, TubaWidgetsActionsRow);
	switch (property_id) {
		case TUBA_WIDGETS_ACTIONS_ROW_STATUS_PROPERTY:
		tuba_widgets_actions_row_set_status (self, g_value_get_object (value));
		break;
		case TUBA_WIDGETS_ACTIONS_ROW_IS_NARROW_PROPERTY:
		tuba_widgets_actions_row_set_is_narrow (self, g_value_get_boolean (value));
		break;
		default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
		break;
	}
}

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);
}

