/* midori-completion.c generated by valac 0.26.2, the Vala compiler
 * generated from midori-completion.vala, do not modify */

/*
 Copyright (C) 2012-2013 Christian Dywan <christian@twotoasts.de>

 This library is free software; you can redistribute it and/or
 modify it under the terms of the GNU Lesser General Public
 License as published by the Free Software Foundation; either
 version 2.1 of the License, or (at your option) any later version.

 See the file COPYING for the full license text.
*/

#include <glib.h>
#include <glib-object.h>
#include <stdlib.h>
#include <string.h>
#include <gio/gio.h>
#include <gtk/gtk.h>
#include <float.h>
#include <math.h>
#include <gdk-pixbuf/gdk-pixbuf.h>


#define MIDORI_TYPE_SUGGESTION (midori_suggestion_get_type ())
#define MIDORI_SUGGESTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MIDORI_TYPE_SUGGESTION, MidoriSuggestion))
#define MIDORI_SUGGESTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MIDORI_TYPE_SUGGESTION, MidoriSuggestionClass))
#define MIDORI_IS_SUGGESTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MIDORI_TYPE_SUGGESTION))
#define MIDORI_IS_SUGGESTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MIDORI_TYPE_SUGGESTION))
#define MIDORI_SUGGESTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MIDORI_TYPE_SUGGESTION, MidoriSuggestionClass))

typedef struct _MidoriSuggestion MidoriSuggestion;
typedef struct _MidoriSuggestionClass MidoriSuggestionClass;
typedef struct _MidoriSuggestionPrivate MidoriSuggestionPrivate;
#define _g_free0(var) (var = (g_free (var), NULL))
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))

#define MIDORI_TYPE_COMPLETION (midori_completion_get_type ())
#define MIDORI_COMPLETION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MIDORI_TYPE_COMPLETION, MidoriCompletion))
#define MIDORI_COMPLETION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MIDORI_TYPE_COMPLETION, MidoriCompletionClass))
#define MIDORI_IS_COMPLETION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MIDORI_TYPE_COMPLETION))
#define MIDORI_IS_COMPLETION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MIDORI_TYPE_COMPLETION))
#define MIDORI_COMPLETION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MIDORI_TYPE_COMPLETION, MidoriCompletionClass))

typedef struct _MidoriCompletion MidoriCompletion;
typedef struct _MidoriCompletionClass MidoriCompletionClass;
typedef struct _MidoriCompletionPrivate MidoriCompletionPrivate;

#define MIDORI_TYPE_AUTOCOMPLETER (midori_autocompleter_get_type ())
#define MIDORI_AUTOCOMPLETER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), MIDORI_TYPE_AUTOCOMPLETER, MidoriAutocompleter))
#define MIDORI_AUTOCOMPLETER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), MIDORI_TYPE_AUTOCOMPLETER, MidoriAutocompleterClass))
#define MIDORI_IS_AUTOCOMPLETER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), MIDORI_TYPE_AUTOCOMPLETER))
#define MIDORI_IS_AUTOCOMPLETER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), MIDORI_TYPE_AUTOCOMPLETER))
#define MIDORI_AUTOCOMPLETER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), MIDORI_TYPE_AUTOCOMPLETER, MidoriAutocompleterClass))

typedef struct _MidoriAutocompleter MidoriAutocompleter;
typedef struct _MidoriAutocompleterClass MidoriAutocompleterClass;
typedef struct _MidoriAutocompleterPrivate MidoriAutocompleterPrivate;

#define MIDORI_AUTOCOMPLETER_TYPE_COLUMNS (midori_autocompleter_columns_get_type ())
#define __g_list_free__g_object_unref0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__g_object_unref0_ (var), NULL)))
typedef struct _Block1Data Block1Data;
typedef struct _MidoriAutocompleterCompleteWrappedData MidoriAutocompleterCompleteWrappedData;
typedef struct _MidoriAutocompleterCompleteData MidoriAutocompleterCompleteData;
typedef struct _MidoriAutocompleterActionData MidoriAutocompleterActionData;

struct _MidoriSuggestion {
	GObject parent_instance;
	MidoriSuggestionPrivate * priv;
};

struct _MidoriSuggestionClass {
	GObjectClass parent_class;
};

struct _MidoriSuggestionPrivate {
	gchar* _uri;
	gchar* _markup;
	gboolean _use_markup;
	gchar* _background;
	GIcon* _icon;
	gboolean _action;
	gint _priority;
};

struct _MidoriCompletion {
	GObject parent_instance;
	MidoriCompletionPrivate * priv;
};

struct _MidoriCompletionClass {
	GObjectClass parent_class;
	void (*prepare) (MidoriCompletion* self, GObject* app);
	gboolean (*can_complete) (MidoriCompletion* self, const gchar* prefix);
	gboolean (*can_action) (MidoriCompletion* self, const gchar* action);
	void (*complete) (MidoriCompletion* self, const gchar* text, const gchar* action, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
	GList* (*complete_finish) (MidoriCompletion* self, GAsyncResult* _res_);
};

struct _MidoriCompletionPrivate {
	gchar* _description;
	gint _max_items;
	gint _position;
};

struct _MidoriAutocompleter {
	GObject parent_instance;
	MidoriAutocompleterPrivate * priv;
};

struct _MidoriAutocompleterClass {
	GObjectClass parent_class;
};

struct _MidoriAutocompleterPrivate {
	GObject* app;
	GList* completions;
	gint next_position;
	GtkListStore* _model;
	gboolean need_to_clear;
	guint current_count;
	GCancellable* cancellable;
};

typedef enum  {
	MIDORI_AUTOCOMPLETER_COLUMNS_ICON,
	MIDORI_AUTOCOMPLETER_COLUMNS_URI,
	MIDORI_AUTOCOMPLETER_COLUMNS_MARKUP,
	MIDORI_AUTOCOMPLETER_COLUMNS_BACKGROUND,
	MIDORI_AUTOCOMPLETER_COLUMNS_YALIGN,
	MIDORI_AUTOCOMPLETER_COLUMNS_SIZE,
	MIDORI_AUTOCOMPLETER_COLUMNS_PRIORITY,
	MIDORI_AUTOCOMPLETER_COLUMNS_N
} MidoriAutocompleterColumns;

struct _Block1Data {
	int _ref_count_;
	MidoriAutocompleter* self;
	gint start;
	MidoriCompletion* completion;
};

struct _MidoriAutocompleterCompleteWrappedData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	MidoriAutocompleter* self;
	MidoriCompletion* completion;
	gchar* text;
	gchar* action;
	GCancellable* cancellable;
	GList* suggestions;
	MidoriCompletion* _tmp0_;
	const gchar* _tmp1_;
	const gchar* _tmp2_;
	GCancellable* _tmp3_;
	GList* _tmp4_;
	gboolean _tmp5_;
	GCancellable* _tmp6_;
	gboolean _tmp7_;
	GList* _tmp8_;
	MidoriCompletion* _tmp9_;
	GList* _tmp10_;
};

struct _MidoriAutocompleterCompleteData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	MidoriAutocompleter* self;
	gchar* text;
	GCancellable* _tmp0_;
	GCancellable* _tmp1_;
	GCancellable* _tmp2_;
	GList* _tmp3_;
	GList* completion_collection;
	GList* completion_it;
	MidoriCompletion* _tmp4_;
	MidoriCompletion* completion;
	MidoriCompletion* _tmp5_;
	const gchar* _tmp6_;
	gboolean _tmp7_;
	MidoriCompletion* _tmp8_;
	const gchar* _tmp9_;
	GCancellable* _tmp10_;
};

struct _MidoriAutocompleterActionData {
	int _state_;
	GObject* _source_object_;
	GAsyncResult* _res_;
	GSimpleAsyncResult* _async_result;
	MidoriAutocompleter* self;
	gchar* action;
	gchar* text;
	const gchar* _tmp0_;
	GCancellable* _tmp1_;
	GCancellable* _tmp2_;
	GCancellable* _tmp3_;
	GList* _tmp4_;
	GList* completion_collection;
	GList* completion_it;
	MidoriCompletion* _tmp5_;
	MidoriCompletion* completion;
	MidoriCompletion* _tmp6_;
	const gchar* _tmp7_;
	gboolean _tmp8_;
	MidoriCompletion* _tmp9_;
	const gchar* _tmp10_;
	const gchar* _tmp11_;
	GCancellable* _tmp12_;
};


static gpointer midori_suggestion_parent_class = NULL;
static gpointer midori_completion_parent_class = NULL;
static gpointer midori_autocompleter_parent_class = NULL;

GType midori_suggestion_get_type (void) G_GNUC_CONST;
#define MIDORI_SUGGESTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), MIDORI_TYPE_SUGGESTION, MidoriSuggestionPrivate))
enum  {
	MIDORI_SUGGESTION_DUMMY_PROPERTY,
	MIDORI_SUGGESTION_URI,
	MIDORI_SUGGESTION_MARKUP,
	MIDORI_SUGGESTION_USE_MARKUP,
	MIDORI_SUGGESTION_BACKGROUND,
	MIDORI_SUGGESTION_ICON,
	MIDORI_SUGGESTION_ACTION,
	MIDORI_SUGGESTION_PRIORITY
};
MidoriSuggestion* midori_suggestion_new (const gchar* uri, const gchar* markup, gboolean use_markup, const gchar* background, GIcon* icon, gint* priority);
MidoriSuggestion* midori_suggestion_construct (GType object_type, const gchar* uri, const gchar* markup, gboolean use_markup, const gchar* background, GIcon* icon, gint* priority);
const gchar* midori_suggestion_get_uri (MidoriSuggestion* self);
void midori_suggestion_set_uri (MidoriSuggestion* self, const gchar* value);
const gchar* midori_suggestion_get_markup (MidoriSuggestion* self);
void midori_suggestion_set_markup (MidoriSuggestion* self, const gchar* value);
gboolean midori_suggestion_get_use_markup (MidoriSuggestion* self);
void midori_suggestion_set_use_markup (MidoriSuggestion* self, gboolean value);
const gchar* midori_suggestion_get_background (MidoriSuggestion* self);
void midori_suggestion_set_background (MidoriSuggestion* self, const gchar* value);
GIcon* midori_suggestion_get_icon (MidoriSuggestion* self);
void midori_suggestion_set_icon (MidoriSuggestion* self, GIcon* value);
gboolean midori_suggestion_get_action (MidoriSuggestion* self);
void midori_suggestion_set_action (MidoriSuggestion* self, gboolean value);
gint midori_suggestion_get_priority (MidoriSuggestion* self);
void midori_suggestion_set_priority (MidoriSuggestion* self, gint value);
static void midori_suggestion_finalize (GObject* obj);
static void _vala_midori_suggestion_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_midori_suggestion_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
GType midori_completion_get_type (void) G_GNUC_CONST;
#define MIDORI_COMPLETION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), MIDORI_TYPE_COMPLETION, MidoriCompletionPrivate))
enum  {
	MIDORI_COMPLETION_DUMMY_PROPERTY,
	MIDORI_COMPLETION_DESCRIPTION,
	MIDORI_COMPLETION_MAX_ITEMS,
	MIDORI_COMPLETION_POSITION
};
void midori_completion_prepare (MidoriCompletion* self, GObject* app);
static void midori_completion_real_prepare (MidoriCompletion* self, GObject* app);
gboolean midori_completion_can_complete (MidoriCompletion* self, const gchar* prefix);
static gboolean midori_completion_real_can_complete (MidoriCompletion* self, const gchar* prefix);
gboolean midori_completion_can_action (MidoriCompletion* self, const gchar* action);
static gboolean midori_completion_real_can_action (MidoriCompletion* self, const gchar* action);
void midori_completion_complete (MidoriCompletion* self, const gchar* text, const gchar* action, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
GList* midori_completion_complete_finish (MidoriCompletion* self, GAsyncResult* _res_);
MidoriCompletion* midori_completion_construct (GType object_type);
const gchar* midori_completion_get_description (MidoriCompletion* self);
void midori_completion_set_description (MidoriCompletion* self, const gchar* value);
gint midori_completion_get_max_items (MidoriCompletion* self);
void midori_completion_set_max_items (MidoriCompletion* self, gint value);
gint midori_completion_get_position (MidoriCompletion* self);
void midori_completion_set_position (MidoriCompletion* self, gint value);
static void midori_completion_finalize (GObject* obj);
static void _vala_midori_completion_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_midori_completion_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
GType midori_autocompleter_get_type (void) G_GNUC_CONST;
#define MIDORI_AUTOCOMPLETER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), MIDORI_TYPE_AUTOCOMPLETER, MidoriAutocompleterPrivate))
enum  {
	MIDORI_AUTOCOMPLETER_DUMMY_PROPERTY,
	MIDORI_AUTOCOMPLETER_MODEL
};
GType midori_autocompleter_columns_get_type (void) G_GNUC_CONST;
static void _g_object_unref0_ (gpointer var);
static void _g_list_free__g_object_unref0_ (GList* self);
MidoriAutocompleter* midori_autocompleter_new (GObject* app);
MidoriAutocompleter* midori_autocompleter_construct (GType object_type, GObject* app);
static void midori_autocompleter_set_model (MidoriAutocompleter* self, GtkListStore* value);
void midori_autocompleter_add (MidoriAutocompleter* self, MidoriCompletion* completion);
gboolean midori_autocompleter_can_complete (MidoriAutocompleter* self, const gchar* text);
static GIcon* midori_autocompleter_scale_if_needed (MidoriAutocompleter* self, GIcon* icon);
static void midori_autocompleter_fill_model (MidoriAutocompleter* self, MidoriCompletion* completion, GList* suggestions);
static Block1Data* block1_data_ref (Block1Data* _data1_);
static void block1_data_unref (void * _userdata_);
GtkListStore* midori_autocompleter_get_model (MidoriAutocompleter* self);
static gboolean __lambda7_ (Block1Data* _data1_, GtkTreeModel* model, GtkTreePath* path, GtkTreeIter* iter);
static gboolean ___lambda7__gtk_tree_model_foreach_func (GtkTreeModel* model, GtkTreePath* path, GtkTreeIter* iter, gpointer self);
static void midori_autocompleter_complete_wrapped_data_free (gpointer _data);
static void midori_autocompleter_complete_wrapped (MidoriAutocompleter* self, MidoriCompletion* completion, const gchar* text, const gchar* action, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_);
static void midori_autocompleter_complete_wrapped_finish (MidoriAutocompleter* self, GAsyncResult* _res_);
static gboolean midori_autocompleter_complete_wrapped_co (MidoriAutocompleterCompleteWrappedData* _data_);
static void midori_autocompleter_complete_wrapped_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
static void midori_autocompleter_complete_data_free (gpointer _data);
void midori_autocompleter_complete (MidoriAutocompleter* self, const gchar* text, GAsyncReadyCallback _callback_, gpointer _user_data_);
void midori_autocompleter_complete_finish (MidoriAutocompleter* self, GAsyncResult* _res_);
static gboolean midori_autocompleter_complete_co (MidoriAutocompleterCompleteData* _data_);
static void midori_autocompleter_complete_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_);
gboolean midori_autocompleter_can_action (MidoriAutocompleter* self, const gchar* action);
static void midori_autocompleter_action_data_free (gpointer _data);
void midori_autocompleter_action (MidoriAutocompleter* self, const gchar* action, const gchar* text, GAsyncReadyCallback _callback_, gpointer _user_data_);
void midori_autocompleter_action_finish (MidoriAutocompleter* self, GAsyncResult* _res_);
static gboolean midori_autocompleter_action_co (MidoriAutocompleterActionData* _data_);
static void midori_autocompleter_finalize (GObject* obj);
static void _vala_midori_autocompleter_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
static void _vala_midori_autocompleter_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);


MidoriSuggestion* midori_suggestion_construct (GType object_type, const gchar* uri, const gchar* markup, gboolean use_markup, const gchar* background, GIcon* icon, gint* priority) {
	MidoriSuggestion * self = NULL;
	const gchar* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
	gboolean _tmp2_ = FALSE;
	const gchar* _tmp3_ = NULL;
	GIcon* _tmp4_ = NULL;
	gint* _tmp5_ = NULL;
#line 25 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp0_ = uri;
#line 25 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp1_ = markup;
#line 25 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp2_ = use_markup;
#line 25 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp3_ = background;
#line 25 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp4_ = icon;
#line 25 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp5_ = priority;
#line 25 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	self = (MidoriSuggestion*) g_object_new (object_type, "uri", _tmp0_, "markup", _tmp1_, "use-markup", _tmp2_, "background", _tmp3_, "icon", _tmp4_, "priority", _tmp5_, NULL);
#line 22 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	return self;
#line 345 "midori-completion.c"
}


MidoriSuggestion* midori_suggestion_new (const gchar* uri, const gchar* markup, gboolean use_markup, const gchar* background, GIcon* icon, gint* priority) {
#line 22 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	return midori_suggestion_construct (MIDORI_TYPE_SUGGESTION, uri, markup, use_markup, background, icon, priority);
#line 352 "midori-completion.c"
}


const gchar* midori_suggestion_get_uri (MidoriSuggestion* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
#line 14 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 14 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp0_ = self->priv->_uri;
#line 14 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	result = _tmp0_;
#line 14 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	return result;
#line 367 "midori-completion.c"
}


void midori_suggestion_set_uri (MidoriSuggestion* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 14 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_return_if_fail (self != NULL);
#line 14 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp0_ = value;
#line 14 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 14 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_g_free0 (self->priv->_uri);
#line 14 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	self->priv->_uri = _tmp1_;
#line 14 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_object_notify ((GObject *) self, "uri");
#line 386 "midori-completion.c"
}


const gchar* midori_suggestion_get_markup (MidoriSuggestion* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
#line 15 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 15 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp0_ = self->priv->_markup;
#line 15 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	result = _tmp0_;
#line 15 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	return result;
#line 401 "midori-completion.c"
}


void midori_suggestion_set_markup (MidoriSuggestion* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 15 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_return_if_fail (self != NULL);
#line 15 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp0_ = value;
#line 15 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 15 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_g_free0 (self->priv->_markup);
#line 15 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	self->priv->_markup = _tmp1_;
#line 15 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_object_notify ((GObject *) self, "markup");
#line 420 "midori-completion.c"
}


gboolean midori_suggestion_get_use_markup (MidoriSuggestion* self) {
	gboolean result;
	gboolean _tmp0_ = FALSE;
#line 16 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 16 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp0_ = self->priv->_use_markup;
#line 16 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	result = _tmp0_;
#line 16 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	return result;
#line 435 "midori-completion.c"
}


void midori_suggestion_set_use_markup (MidoriSuggestion* self, gboolean value) {
	gboolean _tmp0_ = FALSE;
#line 16 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_return_if_fail (self != NULL);
#line 16 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp0_ = value;
#line 16 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	self->priv->_use_markup = _tmp0_;
#line 16 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_object_notify ((GObject *) self, "use-markup");
#line 449 "midori-completion.c"
}


const gchar* midori_suggestion_get_background (MidoriSuggestion* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
#line 17 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 17 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp0_ = self->priv->_background;
#line 17 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	result = _tmp0_;
#line 17 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	return result;
#line 464 "midori-completion.c"
}


void midori_suggestion_set_background (MidoriSuggestion* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 17 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_return_if_fail (self != NULL);
#line 17 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp0_ = value;
#line 17 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 17 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_g_free0 (self->priv->_background);
#line 17 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	self->priv->_background = _tmp1_;
#line 17 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_object_notify ((GObject *) self, "background");
#line 483 "midori-completion.c"
}


GIcon* midori_suggestion_get_icon (MidoriSuggestion* self) {
	GIcon* result;
	GIcon* _tmp0_ = NULL;
#line 18 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 18 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp0_ = self->priv->_icon;
#line 18 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	result = _tmp0_;
#line 18 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	return result;
#line 498 "midori-completion.c"
}


static gpointer _g_object_ref0 (gpointer self) {
#line 18 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	return self ? g_object_ref (self) : NULL;
#line 505 "midori-completion.c"
}


void midori_suggestion_set_icon (MidoriSuggestion* self, GIcon* value) {
	GIcon* _tmp0_ = NULL;
	GIcon* _tmp1_ = NULL;
#line 18 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_return_if_fail (self != NULL);
#line 18 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp0_ = value;
#line 18 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 18 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_g_object_unref0 (self->priv->_icon);
#line 18 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	self->priv->_icon = _tmp1_;
#line 18 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_object_notify ((GObject *) self, "icon");
#line 524 "midori-completion.c"
}


gboolean midori_suggestion_get_action (MidoriSuggestion* self) {
	gboolean result;
	gboolean _tmp0_ = FALSE;
#line 19 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 19 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp0_ = self->priv->_action;
#line 19 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	result = _tmp0_;
#line 19 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	return result;
#line 539 "midori-completion.c"
}


void midori_suggestion_set_action (MidoriSuggestion* self, gboolean value) {
	gboolean _tmp0_ = FALSE;
#line 19 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_return_if_fail (self != NULL);
#line 19 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp0_ = value;
#line 19 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	self->priv->_action = _tmp0_;
#line 19 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_object_notify ((GObject *) self, "action");
#line 553 "midori-completion.c"
}


gint midori_suggestion_get_priority (MidoriSuggestion* self) {
	gint result;
	gint _tmp0_ = 0;
#line 20 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 20 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp0_ = self->priv->_priority;
#line 20 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	result = _tmp0_;
#line 20 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	return result;
#line 568 "midori-completion.c"
}


void midori_suggestion_set_priority (MidoriSuggestion* self, gint value) {
	gint _tmp0_ = 0;
#line 20 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_return_if_fail (self != NULL);
#line 20 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp0_ = value;
#line 20 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	self->priv->_priority = _tmp0_;
#line 20 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_object_notify ((GObject *) self, "priority");
#line 582 "midori-completion.c"
}


static void midori_suggestion_class_init (MidoriSuggestionClass * klass) {
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	midori_suggestion_parent_class = g_type_class_peek_parent (klass);
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_type_class_add_private (klass, sizeof (MidoriSuggestionPrivate));
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_midori_suggestion_get_property;
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_midori_suggestion_set_property;
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	G_OBJECT_CLASS (klass)->finalize = midori_suggestion_finalize;
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), MIDORI_SUGGESTION_URI, g_param_spec_string ("uri", "uri", "uri", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), MIDORI_SUGGESTION_MARKUP, g_param_spec_string ("markup", "markup", "markup", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), MIDORI_SUGGESTION_USE_MARKUP, g_param_spec_boolean ("use-markup", "use-markup", "use-markup", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), MIDORI_SUGGESTION_BACKGROUND, g_param_spec_string ("background", "background", "background", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), MIDORI_SUGGESTION_ICON, g_param_spec_object ("icon", "icon", "icon", G_TYPE_ICON, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), MIDORI_SUGGESTION_ACTION, g_param_spec_boolean ("action", "action", "action", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), MIDORI_SUGGESTION_PRIORITY, g_param_spec_int ("priority", "priority", "priority", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 611 "midori-completion.c"
}


static void midori_suggestion_instance_init (MidoriSuggestion * self) {
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	self->priv = MIDORI_SUGGESTION_GET_PRIVATE (self);
#line 19 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	self->priv->_action = FALSE;
#line 20 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	self->priv->_priority = 0;
#line 622 "midori-completion.c"
}


static void midori_suggestion_finalize (GObject* obj) {
	MidoriSuggestion * self;
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, MIDORI_TYPE_SUGGESTION, MidoriSuggestion);
#line 14 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_g_free0 (self->priv->_uri);
#line 15 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_g_free0 (self->priv->_markup);
#line 17 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_g_free0 (self->priv->_background);
#line 18 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_g_object_unref0 (self->priv->_icon);
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	G_OBJECT_CLASS (midori_suggestion_parent_class)->finalize (obj);
#line 640 "midori-completion.c"
}


GType midori_suggestion_get_type (void) {
	static volatile gsize midori_suggestion_type_id__volatile = 0;
	if (g_once_init_enter (&midori_suggestion_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (MidoriSuggestionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) midori_suggestion_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MidoriSuggestion), 0, (GInstanceInitFunc) midori_suggestion_instance_init, NULL };
		GType midori_suggestion_type_id;
		midori_suggestion_type_id = g_type_register_static (G_TYPE_OBJECT, "MidoriSuggestion", &g_define_type_info, 0);
		g_once_init_leave (&midori_suggestion_type_id__volatile, midori_suggestion_type_id);
	}
	return midori_suggestion_type_id__volatile;
}


static void _vala_midori_suggestion_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	MidoriSuggestion * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, MIDORI_TYPE_SUGGESTION, MidoriSuggestion);
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	switch (property_id) {
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		case MIDORI_SUGGESTION_URI:
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		g_value_set_string (value, midori_suggestion_get_uri (self));
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		break;
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		case MIDORI_SUGGESTION_MARKUP:
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		g_value_set_string (value, midori_suggestion_get_markup (self));
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		break;
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		case MIDORI_SUGGESTION_USE_MARKUP:
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		g_value_set_boolean (value, midori_suggestion_get_use_markup (self));
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		break;
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		case MIDORI_SUGGESTION_BACKGROUND:
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		g_value_set_string (value, midori_suggestion_get_background (self));
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		break;
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		case MIDORI_SUGGESTION_ICON:
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		g_value_set_object (value, midori_suggestion_get_icon (self));
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		break;
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		case MIDORI_SUGGESTION_ACTION:
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		g_value_set_boolean (value, midori_suggestion_get_action (self));
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		break;
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		case MIDORI_SUGGESTION_PRIORITY:
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		g_value_set_int (value, midori_suggestion_get_priority (self));
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		break;
#line 703 "midori-completion.c"
		default:
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		break;
#line 709 "midori-completion.c"
	}
}


static void _vala_midori_suggestion_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	MidoriSuggestion * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, MIDORI_TYPE_SUGGESTION, MidoriSuggestion);
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	switch (property_id) {
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		case MIDORI_SUGGESTION_URI:
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		midori_suggestion_set_uri (self, g_value_get_string (value));
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		break;
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		case MIDORI_SUGGESTION_MARKUP:
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		midori_suggestion_set_markup (self, g_value_get_string (value));
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		break;
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		case MIDORI_SUGGESTION_USE_MARKUP:
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		midori_suggestion_set_use_markup (self, g_value_get_boolean (value));
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		break;
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		case MIDORI_SUGGESTION_BACKGROUND:
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		midori_suggestion_set_background (self, g_value_get_string (value));
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		break;
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		case MIDORI_SUGGESTION_ICON:
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		midori_suggestion_set_icon (self, g_value_get_object (value));
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		break;
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		case MIDORI_SUGGESTION_ACTION:
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		midori_suggestion_set_action (self, g_value_get_boolean (value));
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		break;
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		case MIDORI_SUGGESTION_PRIORITY:
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		midori_suggestion_set_priority (self, g_value_get_int (value));
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		break;
#line 761 "midori-completion.c"
		default:
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 13 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		break;
#line 767 "midori-completion.c"
	}
}


static void midori_completion_real_prepare (MidoriCompletion* self, GObject* app) {
#line 35 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_critical ("Type `%s' does not implement abstract method `midori_completion_prepare'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
#line 35 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	return;
#line 777 "midori-completion.c"
}


void midori_completion_prepare (MidoriCompletion* self, GObject* app) {
#line 35 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_return_if_fail (self != NULL);
#line 35 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	MIDORI_COMPLETION_GET_CLASS (self)->prepare (self, app);
#line 786 "midori-completion.c"
}


static gboolean midori_completion_real_can_complete (MidoriCompletion* self, const gchar* prefix) {
#line 36 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_critical ("Type `%s' does not implement abstract method `midori_completion_can_complete'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
#line 36 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	return FALSE;
#line 795 "midori-completion.c"
}


gboolean midori_completion_can_complete (MidoriCompletion* self, const gchar* prefix) {
#line 36 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 36 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	return MIDORI_COMPLETION_GET_CLASS (self)->can_complete (self, prefix);
#line 804 "midori-completion.c"
}


static gboolean midori_completion_real_can_action (MidoriCompletion* self, const gchar* action) {
#line 37 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_critical ("Type `%s' does not implement abstract method `midori_completion_can_action'", g_type_name (G_TYPE_FROM_INSTANCE (self)));
#line 37 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	return FALSE;
#line 813 "midori-completion.c"
}


gboolean midori_completion_can_action (MidoriCompletion* self, const gchar* action) {
#line 37 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 37 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	return MIDORI_COMPLETION_GET_CLASS (self)->can_action (self, action);
#line 822 "midori-completion.c"
}


void midori_completion_complete (MidoriCompletion* self, const gchar* text, const gchar* action, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_) {
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	MIDORI_COMPLETION_GET_CLASS (self)->complete (self, text, action, cancellable, _callback_, _user_data_);
#line 829 "midori-completion.c"
}


GList* midori_completion_complete_finish (MidoriCompletion* self, GAsyncResult* _res_) {
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	return MIDORI_COMPLETION_GET_CLASS (self)->complete_finish (self, _res_);
#line 836 "midori-completion.c"
}


MidoriCompletion* midori_completion_construct (GType object_type) {
	MidoriCompletion * self = NULL;
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	self = (MidoriCompletion*) g_object_new (object_type, NULL);
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	return self;
#line 846 "midori-completion.c"
}


const gchar* midori_completion_get_description (MidoriCompletion* self) {
	const gchar* result;
	const gchar* _tmp0_ = NULL;
#line 31 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 31 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp0_ = self->priv->_description;
#line 31 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	result = _tmp0_;
#line 31 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	return result;
#line 861 "midori-completion.c"
}


void midori_completion_set_description (MidoriCompletion* self, const gchar* value) {
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 31 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_return_if_fail (self != NULL);
#line 31 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp0_ = value;
#line 31 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp1_ = g_strdup (_tmp0_);
#line 31 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_g_free0 (self->priv->_description);
#line 31 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	self->priv->_description = _tmp1_;
#line 31 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_object_notify ((GObject *) self, "description");
#line 880 "midori-completion.c"
}


gint midori_completion_get_max_items (MidoriCompletion* self) {
	gint result;
	gint _tmp0_ = 0;
#line 32 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 32 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp0_ = self->priv->_max_items;
#line 32 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	result = _tmp0_;
#line 32 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	return result;
#line 895 "midori-completion.c"
}


void midori_completion_set_max_items (MidoriCompletion* self, gint value) {
	gint _tmp0_ = 0;
#line 32 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_return_if_fail (self != NULL);
#line 32 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp0_ = value;
#line 32 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	self->priv->_max_items = _tmp0_;
#line 32 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_object_notify ((GObject *) self, "max-items");
#line 909 "midori-completion.c"
}


gint midori_completion_get_position (MidoriCompletion* self) {
	gint result;
	gint _tmp0_ = 0;
#line 33 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_return_val_if_fail (self != NULL, 0);
#line 33 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp0_ = self->priv->_position;
#line 33 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	result = _tmp0_;
#line 33 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	return result;
#line 924 "midori-completion.c"
}


void midori_completion_set_position (MidoriCompletion* self, gint value) {
	gint _tmp0_ = 0;
#line 33 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_return_if_fail (self != NULL);
#line 33 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp0_ = value;
#line 33 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	self->priv->_position = _tmp0_;
#line 33 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_object_notify ((GObject *) self, "position");
#line 938 "midori-completion.c"
}


static void midori_completion_class_init (MidoriCompletionClass * klass) {
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	midori_completion_parent_class = g_type_class_peek_parent (klass);
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_type_class_add_private (klass, sizeof (MidoriCompletionPrivate));
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	((MidoriCompletionClass *) klass)->prepare = midori_completion_real_prepare;
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	((MidoriCompletionClass *) klass)->can_complete = midori_completion_real_can_complete;
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	((MidoriCompletionClass *) klass)->can_action = midori_completion_real_can_action;
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_midori_completion_get_property;
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_midori_completion_set_property;
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	G_OBJECT_CLASS (klass)->finalize = midori_completion_finalize;
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), MIDORI_COMPLETION_DESCRIPTION, g_param_spec_string ("description", "description", "description", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), MIDORI_COMPLETION_MAX_ITEMS, g_param_spec_int ("max-items", "max-items", "max-items", G_MININT, G_MAXINT, 25, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), MIDORI_COMPLETION_POSITION, g_param_spec_int ("position", "position", "position", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE));
#line 965 "midori-completion.c"
}


static void midori_completion_instance_init (MidoriCompletion * self) {
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	self->priv = MIDORI_COMPLETION_GET_PRIVATE (self);
#line 32 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	self->priv->_max_items = 25;
#line 974 "midori-completion.c"
}


static void midori_completion_finalize (GObject* obj) {
	MidoriCompletion * self;
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, MIDORI_TYPE_COMPLETION, MidoriCompletion);
#line 31 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_g_free0 (self->priv->_description);
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	G_OBJECT_CLASS (midori_completion_parent_class)->finalize (obj);
#line 986 "midori-completion.c"
}


GType midori_completion_get_type (void) {
	static volatile gsize midori_completion_type_id__volatile = 0;
	if (g_once_init_enter (&midori_completion_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (MidoriCompletionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) midori_completion_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MidoriCompletion), 0, (GInstanceInitFunc) midori_completion_instance_init, NULL };
		GType midori_completion_type_id;
		midori_completion_type_id = g_type_register_static (G_TYPE_OBJECT, "MidoriCompletion", &g_define_type_info, G_TYPE_FLAG_ABSTRACT);
		g_once_init_leave (&midori_completion_type_id__volatile, midori_completion_type_id);
	}
	return midori_completion_type_id__volatile;
}


static void _vala_midori_completion_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	MidoriCompletion * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, MIDORI_TYPE_COMPLETION, MidoriCompletion);
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	switch (property_id) {
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		case MIDORI_COMPLETION_DESCRIPTION:
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		g_value_set_string (value, midori_completion_get_description (self));
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		break;
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		case MIDORI_COMPLETION_MAX_ITEMS:
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		g_value_set_int (value, midori_completion_get_max_items (self));
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		break;
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		case MIDORI_COMPLETION_POSITION:
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		g_value_set_int (value, midori_completion_get_position (self));
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		break;
#line 1025 "midori-completion.c"
		default:
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		break;
#line 1031 "midori-completion.c"
	}
}


static void _vala_midori_completion_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	MidoriCompletion * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, MIDORI_TYPE_COMPLETION, MidoriCompletion);
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	switch (property_id) {
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		case MIDORI_COMPLETION_DESCRIPTION:
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		midori_completion_set_description (self, g_value_get_string (value));
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		break;
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		case MIDORI_COMPLETION_MAX_ITEMS:
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		midori_completion_set_max_items (self, g_value_get_int (value));
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		break;
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		case MIDORI_COMPLETION_POSITION:
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		midori_completion_set_position (self, g_value_get_int (value));
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		break;
#line 1059 "midori-completion.c"
		default:
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 30 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		break;
#line 1065 "midori-completion.c"
	}
}


GType midori_autocompleter_columns_get_type (void) {
	static volatile gsize midori_autocompleter_columns_type_id__volatile = 0;
	if (g_once_init_enter (&midori_autocompleter_columns_type_id__volatile)) {
		static const GEnumValue values[] = {{MIDORI_AUTOCOMPLETER_COLUMNS_ICON, "MIDORI_AUTOCOMPLETER_COLUMNS_ICON", "icon"}, {MIDORI_AUTOCOMPLETER_COLUMNS_URI, "MIDORI_AUTOCOMPLETER_COLUMNS_URI", "uri"}, {MIDORI_AUTOCOMPLETER_COLUMNS_MARKUP, "MIDORI_AUTOCOMPLETER_COLUMNS_MARKUP", "markup"}, {MIDORI_AUTOCOMPLETER_COLUMNS_BACKGROUND, "MIDORI_AUTOCOMPLETER_COLUMNS_BACKGROUND", "background"}, {MIDORI_AUTOCOMPLETER_COLUMNS_YALIGN, "MIDORI_AUTOCOMPLETER_COLUMNS_YALIGN", "yalign"}, {MIDORI_AUTOCOMPLETER_COLUMNS_SIZE, "MIDORI_AUTOCOMPLETER_COLUMNS_SIZE", "size"}, {MIDORI_AUTOCOMPLETER_COLUMNS_PRIORITY, "MIDORI_AUTOCOMPLETER_COLUMNS_PRIORITY", "priority"}, {MIDORI_AUTOCOMPLETER_COLUMNS_N, "MIDORI_AUTOCOMPLETER_COLUMNS_N", "n"}, {0, NULL, NULL}};
		GType midori_autocompleter_columns_type_id;
		midori_autocompleter_columns_type_id = g_enum_register_static ("MidoriAutocompleterColumns", values);
		g_once_init_leave (&midori_autocompleter_columns_type_id__volatile, midori_autocompleter_columns_type_id);
	}
	return midori_autocompleter_columns_type_id__volatile;
}


static void _g_object_unref0_ (gpointer var) {
#line 43 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	(var == NULL) ? NULL : (var = (g_object_unref (var), NULL));
#line 1085 "midori-completion.c"
}


static void _g_list_free__g_object_unref0_ (GList* self) {
#line 43 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_list_foreach (self, (GFunc) _g_object_unref0_, NULL);
#line 43 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_list_free (self);
#line 1094 "midori-completion.c"
}


MidoriAutocompleter* midori_autocompleter_construct (GType object_type, GObject* app) {
	MidoriAutocompleter * self = NULL;
	GObject* _tmp0_ = NULL;
	GObject* _tmp1_ = NULL;
	GtkListStore* _tmp2_ = NULL;
	GtkListStore* _tmp3_ = NULL;
#line 61 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_return_val_if_fail (app != NULL, NULL);
#line 61 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	self = (MidoriAutocompleter*) g_object_new (object_type, NULL);
#line 62 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp0_ = app;
#line 62 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 62 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_g_object_unref0 (self->priv->app);
#line 62 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	self->priv->app = _tmp1_;
#line 63 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	__g_list_free__g_object_unref0_0 (self->priv->completions);
#line 63 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	self->priv->completions = NULL;
#line 64 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	self->priv->next_position = 0;
#line 65 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp2_ = gtk_list_store_new ((gint) MIDORI_AUTOCOMPLETER_COLUMNS_N, G_TYPE_ICON, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_FLOAT, G_TYPE_UINT, G_TYPE_INT);
#line 65 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp3_ = _tmp2_;
#line 65 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	midori_autocompleter_set_model (self, _tmp3_);
#line 65 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_g_object_unref0 (_tmp3_);
#line 61 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	return self;
#line 1132 "midori-completion.c"
}


MidoriAutocompleter* midori_autocompleter_new (GObject* app) {
#line 61 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	return midori_autocompleter_construct (MIDORI_TYPE_AUTOCOMPLETER, app);
#line 1139 "midori-completion.c"
}


void midori_autocompleter_add (MidoriAutocompleter* self, MidoriCompletion* completion) {
	MidoriCompletion* _tmp0_ = NULL;
	GObject* _tmp1_ = NULL;
	MidoriCompletion* _tmp2_ = NULL;
	gint _tmp3_ = 0;
	gint _tmp4_ = 0;
	MidoriCompletion* _tmp5_ = NULL;
	gint _tmp6_ = 0;
	gint _tmp7_ = 0;
	MidoriCompletion* _tmp8_ = NULL;
	MidoriCompletion* _tmp9_ = NULL;
#line 70 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_return_if_fail (self != NULL);
#line 70 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_return_if_fail (completion != NULL);
#line 71 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp0_ = completion;
#line 71 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp1_ = self->priv->app;
#line 71 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	midori_completion_prepare (_tmp0_, _tmp1_);
#line 72 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp2_ = completion;
#line 72 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp3_ = self->priv->next_position;
#line 72 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	midori_completion_set_position (_tmp2_, _tmp3_);
#line 73 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp4_ = self->priv->next_position;
#line 73 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp5_ = completion;
#line 73 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp6_ = midori_completion_get_max_items (_tmp5_);
#line 73 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp7_ = _tmp6_;
#line 73 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	self->priv->next_position = _tmp4_ + _tmp7_;
#line 74 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp8_ = completion;
#line 74 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp9_ = _g_object_ref0 (_tmp8_);
#line 74 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	self->priv->completions = g_list_append (self->priv->completions, _tmp9_);
#line 1186 "midori-completion.c"
}


gboolean midori_autocompleter_can_complete (MidoriAutocompleter* self, const gchar* text) {
	gboolean result = FALSE;
	GList* _tmp0_ = NULL;
#line 77 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 77 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_return_val_if_fail (text != NULL, FALSE);
#line 78 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp0_ = self->priv->completions;
#line 1199 "midori-completion.c"
	{
		GList* completion_collection = NULL;
		GList* completion_it = NULL;
#line 78 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		completion_collection = _tmp0_;
#line 78 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		for (completion_it = completion_collection; completion_it != NULL; completion_it = completion_it->next) {
#line 1207 "midori-completion.c"
			MidoriCompletion* _tmp1_ = NULL;
			MidoriCompletion* completion = NULL;
#line 78 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
			_tmp1_ = _g_object_ref0 ((MidoriCompletion*) completion_it->data);
#line 78 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
			completion = _tmp1_;
#line 1214 "midori-completion.c"
			{
				MidoriCompletion* _tmp2_ = NULL;
				const gchar* _tmp3_ = NULL;
				gboolean _tmp4_ = FALSE;
#line 79 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_tmp2_ = completion;
#line 79 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_tmp3_ = text;
#line 79 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_tmp4_ = midori_completion_can_complete (_tmp2_, _tmp3_);
#line 79 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				if (_tmp4_) {
#line 80 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					result = TRUE;
#line 80 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					_g_object_unref0 (completion);
#line 80 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					return result;
#line 1233 "midori-completion.c"
				}
#line 78 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_g_object_unref0 (completion);
#line 1237 "midori-completion.c"
			}
		}
	}
#line 81 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	result = FALSE;
#line 81 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	return result;
#line 1245 "midori-completion.c"
}


static GIcon* midori_autocompleter_scale_if_needed (MidoriAutocompleter* self, GIcon* icon) {
	GIcon* result = NULL;
	GIcon* _tmp0_ = NULL;
	GIcon* _tmp18_ = NULL;
	GIcon* _tmp19_ = NULL;
#line 84 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 85 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp0_ = icon;
#line 85 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	if (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, GDK_TYPE_PIXBUF)) {
#line 1260 "midori-completion.c"
		GdkPixbuf* pixbuf = NULL;
		GIcon* _tmp1_ = NULL;
		GdkPixbuf* _tmp2_ = NULL;
		gint icon_width = 0;
		gint icon_height = 0;
		gint _tmp3_ = 0;
		gint _tmp4_ = 0;
		gboolean _tmp5_ = FALSE;
		GdkPixbuf* _tmp6_ = NULL;
		gint _tmp7_ = 0;
		gint _tmp8_ = 0;
		gint _tmp9_ = 0;
#line 86 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_tmp1_ = icon;
#line 86 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_tmp2_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp1_, GDK_TYPE_PIXBUF) ? ((GdkPixbuf*) _tmp1_) : NULL);
#line 86 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		pixbuf = _tmp2_;
#line 87 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		icon_width = 16;
#line 87 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		icon_height = 16;
#line 88 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		gtk_icon_size_lookup (GTK_ICON_SIZE_MENU, &_tmp3_, &_tmp4_);
#line 88 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		icon_width = _tmp3_;
#line 88 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		icon_height = _tmp4_;
#line 89 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_tmp6_ = pixbuf;
#line 89 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_tmp7_ = gdk_pixbuf_get_width (_tmp6_);
#line 89 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_tmp8_ = _tmp7_;
#line 89 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_tmp9_ = icon_width;
#line 89 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		if (_tmp8_ > _tmp9_) {
#line 89 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
			_tmp5_ = TRUE;
#line 1301 "midori-completion.c"
		} else {
			GdkPixbuf* _tmp10_ = NULL;
			gint _tmp11_ = 0;
			gint _tmp12_ = 0;
			gint _tmp13_ = 0;
#line 89 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
			_tmp10_ = pixbuf;
#line 89 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
			_tmp11_ = gdk_pixbuf_get_height (_tmp10_);
#line 89 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
			_tmp12_ = _tmp11_;
#line 89 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
			_tmp13_ = icon_height;
#line 89 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
			_tmp5_ = _tmp12_ > _tmp13_;
#line 1317 "midori-completion.c"
		}
#line 89 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		if (_tmp5_) {
#line 1321 "midori-completion.c"
			GdkPixbuf* _tmp14_ = NULL;
			gint _tmp15_ = 0;
			gint _tmp16_ = 0;
			GdkPixbuf* _tmp17_ = NULL;
#line 90 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
			_tmp14_ = pixbuf;
#line 90 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
			_tmp15_ = icon_width;
#line 90 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
			_tmp16_ = icon_height;
#line 90 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
			_tmp17_ = gdk_pixbuf_scale_simple (_tmp14_, _tmp15_, _tmp16_, GDK_INTERP_BILINEAR);
#line 90 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
			result = (GIcon*) _tmp17_;
#line 90 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
			_g_object_unref0 (pixbuf);
#line 90 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
			return result;
#line 1340 "midori-completion.c"
		}
#line 85 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_g_object_unref0 (pixbuf);
#line 1344 "midori-completion.c"
	}
#line 92 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp18_ = icon;
#line 92 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp19_ = _g_object_ref0 (_tmp18_);
#line 92 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	result = _tmp19_;
#line 92 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	return result;
#line 1354 "midori-completion.c"
}


static Block1Data* block1_data_ref (Block1Data* _data1_) {
#line 95 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_atomic_int_inc (&_data1_->_ref_count_);
#line 95 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	return _data1_;
#line 1363 "midori-completion.c"
}


static void block1_data_unref (void * _userdata_) {
	Block1Data* _data1_;
	_data1_ = (Block1Data*) _userdata_;
#line 95 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	if (g_atomic_int_dec_and_test (&_data1_->_ref_count_)) {
#line 1372 "midori-completion.c"
		MidoriAutocompleter* self;
#line 95 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		self = _data1_->self;
#line 95 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_g_object_unref0 (_data1_->completion);
#line 95 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_g_object_unref0 (self);
#line 95 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		g_slice_free (Block1Data, _data1_);
#line 1382 "midori-completion.c"
	}
}


static gboolean __lambda7_ (Block1Data* _data1_, GtkTreeModel* model, GtkTreePath* path, GtkTreeIter* iter) {
	MidoriAutocompleter* self;
	gboolean result = FALSE;
	GValue priority = {0};
	GtkTreeModel* _tmp0_ = NULL;
	GtkTreeIter _tmp1_ = {0};
	GValue _tmp2_ = {0};
	GValue _tmp3_ = {0};
	MidoriCompletion* _tmp4_ = NULL;
	gint _tmp5_ = 0;
	gint _tmp6_ = 0;
#line 103 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	self = _data1_->self;
#line 103 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_return_val_if_fail (model != NULL, FALSE);
#line 103 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_return_val_if_fail (path != NULL, FALSE);
#line 103 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_return_val_if_fail (iter != NULL, FALSE);
#line 106 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp0_ = model;
#line 106 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp1_ = *iter;
#line 106 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	gtk_tree_model_get_value (_tmp0_, &_tmp1_, (gint) MIDORI_AUTOCOMPLETER_COLUMNS_PRIORITY, &_tmp2_);
#line 106 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	G_IS_VALUE (&priority) ? (g_value_unset (&priority), NULL) : NULL;
#line 106 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	priority = _tmp2_;
#line 107 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp3_ = priority;
#line 107 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp4_ = _data1_->completion;
#line 107 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp5_ = midori_completion_get_position (_tmp4_);
#line 107 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp6_ = _tmp5_;
#line 107 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	if (g_value_get_int (&_tmp3_) < _tmp6_) {
#line 1426 "midori-completion.c"
		gint _tmp7_ = 0;
#line 108 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_tmp7_ = _data1_->start;
#line 108 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_data1_->start = _tmp7_ + 1;
#line 109 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		result = FALSE;
#line 109 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		G_IS_VALUE (&priority) ? (g_value_unset (&priority), NULL) : NULL;
#line 109 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		return result;
#line 1438 "midori-completion.c"
	}
#line 111 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	result = TRUE;
#line 111 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	G_IS_VALUE (&priority) ? (g_value_unset (&priority), NULL) : NULL;
#line 111 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	return result;
#line 1446 "midori-completion.c"
}


static gboolean ___lambda7__gtk_tree_model_foreach_func (GtkTreeModel* model, GtkTreePath* path, GtkTreeIter* iter, gpointer self) {
	gboolean result;
	result = __lambda7_ (self, model, path, iter);
#line 103 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	return result;
#line 1455 "midori-completion.c"
}


static void midori_autocompleter_fill_model (MidoriAutocompleter* self, MidoriCompletion* completion, GList* suggestions) {
	Block1Data* _data1_;
	MidoriCompletion* _tmp0_ = NULL;
	MidoriCompletion* _tmp1_ = NULL;
	gboolean _tmp2_ = FALSE;
	GtkTreeModelForeachFunc find_index = NULL;
	void* find_index_target = NULL;
	GDestroyNotify find_index_target_destroy_notify = NULL;
	GtkListStore* _tmp4_ = NULL;
	GtkTreeModelForeachFunc _tmp5_ = NULL;
	void* _tmp5__target = NULL;
	gint count = 0;
	MidoriCompletion* _tmp6_ = NULL;
	const gchar* _tmp7_ = NULL;
	const gchar* _tmp8_ = NULL;
	GList* _tmp22_ = NULL;
	guint _tmp64_ = 0U;
	gint _tmp65_ = 0;
	guint _tmp66_ = 0U;
#line 95 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_return_if_fail (self != NULL);
#line 95 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_return_if_fail (completion != NULL);
#line 95 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data1_ = g_slice_new0 (Block1Data);
#line 95 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data1_->_ref_count_ = 1;
#line 95 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data1_->self = g_object_ref (self);
#line 95 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp0_ = completion;
#line 95 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 95 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_g_object_unref0 (_data1_->completion);
#line 95 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data1_->completion = _tmp1_;
#line 96 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp2_ = self->priv->need_to_clear;
#line 96 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	if (_tmp2_) {
#line 1500 "midori-completion.c"
		GtkListStore* _tmp3_ = NULL;
#line 97 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_tmp3_ = self->priv->_model;
#line 97 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		gtk_list_store_clear (_tmp3_);
#line 98 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		self->priv->need_to_clear = FALSE;
#line 99 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		self->priv->current_count = (guint) 0;
#line 1510 "midori-completion.c"
	}
#line 101 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data1_->start = 0;
#line 103 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	find_index = ___lambda7__gtk_tree_model_foreach_func;
#line 103 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	find_index_target = block1_data_ref (_data1_);
#line 103 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	find_index_target_destroy_notify = block1_data_unref;
#line 113 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp4_ = self->priv->_model;
#line 113 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp5_ = find_index;
#line 113 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp5__target = find_index_target;
#line 113 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	gtk_tree_model_foreach ((GtkTreeModel*) _tmp4_, _tmp5_, _tmp5__target);
#line 114 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	count = 0;
#line 115 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp6_ = _data1_->completion;
#line 115 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp7_ = midori_completion_get_description (_tmp6_);
#line 115 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp8_ = _tmp7_;
#line 115 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	if (_tmp8_ != NULL) {
#line 1538 "midori-completion.c"
		GtkListStore* _tmp9_ = NULL;
		gint _tmp10_ = 0;
		MidoriCompletion* _tmp11_ = NULL;
		const gchar* _tmp12_ = NULL;
		const gchar* _tmp13_ = NULL;
		gchar* _tmp14_ = NULL;
		gchar* _tmp15_ = NULL;
		gchar* _tmp16_ = NULL;
		gchar* _tmp17_ = NULL;
		MidoriCompletion* _tmp18_ = NULL;
		gint _tmp19_ = 0;
		gint _tmp20_ = 0;
		gint _tmp21_ = 0;
#line 116 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_tmp9_ = self->priv->_model;
#line 116 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_tmp10_ = _data1_->start;
#line 116 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_tmp11_ = _data1_->completion;
#line 116 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_tmp12_ = midori_completion_get_description (_tmp11_);
#line 116 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_tmp13_ = _tmp12_;
#line 116 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_tmp14_ = g_markup_escape_text (_tmp13_, (gssize) (-1));
#line 116 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_tmp15_ = _tmp14_;
#line 116 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_tmp16_ = g_strdup_printf ("<b>%s</b>\n", _tmp15_);
#line 116 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_tmp17_ = _tmp16_;
#line 116 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_tmp18_ = _data1_->completion;
#line 116 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_tmp19_ = midori_completion_get_position (_tmp18_);
#line 116 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_tmp20_ = _tmp19_;
#line 116 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		gtk_list_store_insert_with_values (_tmp9_, NULL, _tmp10_, MIDORI_AUTOCOMPLETER_COLUMNS_URI, "about:completion-description", MIDORI_AUTOCOMPLETER_COLUMNS_MARKUP, _tmp17_, MIDORI_AUTOCOMPLETER_COLUMNS_ICON, NULL, MIDORI_AUTOCOMPLETER_COLUMNS_SIZE, GTK_ICON_SIZE_MENU, MIDORI_AUTOCOMPLETER_COLUMNS_BACKGROUND, NULL, MIDORI_AUTOCOMPLETER_COLUMNS_YALIGN, 0.25, MIDORI_AUTOCOMPLETER_COLUMNS_PRIORITY, _tmp20_, -1);
#line 116 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_g_free0 (_tmp17_);
#line 116 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_g_free0 (_tmp15_);
#line 124 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_tmp21_ = count;
#line 124 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		count = _tmp21_ + 1;
#line 1586 "midori-completion.c"
	}
#line 127 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp22_ = suggestions;
#line 1590 "midori-completion.c"
	{
		GList* suggestion_collection = NULL;
		GList* suggestion_it = NULL;
#line 127 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		suggestion_collection = _tmp22_;
#line 127 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		for (suggestion_it = suggestion_collection; suggestion_it != NULL; suggestion_it = suggestion_it->next) {
#line 1598 "midori-completion.c"
			MidoriSuggestion* _tmp23_ = NULL;
			MidoriSuggestion* suggestion = NULL;
#line 127 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
			_tmp23_ = _g_object_ref0 ((MidoriSuggestion*) suggestion_it->data);
#line 127 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
			suggestion = _tmp23_;
#line 1605 "midori-completion.c"
			{
				MidoriSuggestion* _tmp24_ = NULL;
				const gchar* _tmp25_ = NULL;
				const gchar* _tmp26_ = NULL;
				MidoriSuggestion* _tmp27_ = NULL;
				const gchar* _tmp28_ = NULL;
				const gchar* _tmp29_ = NULL;
				gchar* _tmp30_ = NULL;
				MidoriSuggestion* _tmp31_ = NULL;
				gboolean _tmp32_ = FALSE;
				gboolean _tmp33_ = FALSE;
				GtkListStore* _tmp42_ = NULL;
				gint _tmp43_ = 0;
				gint _tmp44_ = 0;
				MidoriSuggestion* _tmp45_ = NULL;
				const gchar* _tmp46_ = NULL;
				const gchar* _tmp47_ = NULL;
				MidoriSuggestion* _tmp48_ = NULL;
				GIcon* _tmp49_ = NULL;
				GIcon* _tmp50_ = NULL;
				GIcon* _tmp51_ = NULL;
				GIcon* _tmp52_ = NULL;
				MidoriSuggestion* _tmp53_ = NULL;
				const gchar* _tmp54_ = NULL;
				const gchar* _tmp55_ = NULL;
				MidoriCompletion* _tmp56_ = NULL;
				gint _tmp57_ = 0;
				gint _tmp58_ = 0;
				gint _tmp59_ = 0;
				gint _tmp60_ = 0;
				MidoriCompletion* _tmp61_ = NULL;
				gint _tmp62_ = 0;
				gint _tmp63_ = 0;
#line 128 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_tmp24_ = suggestion;
#line 128 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_tmp25_ = midori_suggestion_get_uri (_tmp24_);
#line 128 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_tmp26_ = _tmp25_;
#line 128 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				if (_tmp26_ == NULL) {
#line 129 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					g_warning ("midori-completion.vala:129: suggestion.uri != null");
#line 130 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					_g_object_unref0 (suggestion);
#line 130 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					continue;
#line 1653 "midori-completion.c"
				}
#line 132 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_tmp27_ = suggestion;
#line 132 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_tmp28_ = midori_suggestion_get_markup (_tmp27_);
#line 132 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_tmp29_ = _tmp28_;
#line 132 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				if (_tmp29_ == NULL) {
#line 133 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					g_warning ("midori-completion.vala:133: suggestion.markup != null");
#line 134 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					_g_object_unref0 (suggestion);
#line 134 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					continue;
#line 1669 "midori-completion.c"
				}
#line 138 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_tmp31_ = suggestion;
#line 138 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_tmp32_ = midori_suggestion_get_use_markup (_tmp31_);
#line 138 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_tmp33_ = _tmp32_;
#line 138 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				if (_tmp33_) {
#line 1679 "midori-completion.c"
					MidoriSuggestion* _tmp34_ = NULL;
					const gchar* _tmp35_ = NULL;
					const gchar* _tmp36_ = NULL;
					gchar* _tmp37_ = NULL;
#line 139 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					_tmp34_ = suggestion;
#line 139 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					_tmp35_ = midori_suggestion_get_markup (_tmp34_);
#line 139 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					_tmp36_ = _tmp35_;
#line 139 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					_tmp37_ = g_strdup (_tmp36_);
#line 139 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					_g_free0 (_tmp30_);
#line 139 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					_tmp30_ = _tmp37_;
#line 1696 "midori-completion.c"
				} else {
					MidoriSuggestion* _tmp38_ = NULL;
					const gchar* _tmp39_ = NULL;
					const gchar* _tmp40_ = NULL;
					gchar* _tmp41_ = NULL;
#line 139 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					_tmp38_ = suggestion;
#line 139 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					_tmp39_ = midori_suggestion_get_markup (_tmp38_);
#line 139 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					_tmp40_ = _tmp39_;
#line 139 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					_tmp41_ = g_markup_escape_text (_tmp40_, (gssize) (-1));
#line 139 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					_g_free0 (_tmp30_);
#line 139 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					_tmp30_ = _tmp41_;
#line 1714 "midori-completion.c"
				}
#line 136 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_tmp42_ = self->priv->_model;
#line 136 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_tmp43_ = _data1_->start;
#line 136 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_tmp44_ = count;
#line 136 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_tmp45_ = suggestion;
#line 136 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_tmp46_ = midori_suggestion_get_uri (_tmp45_);
#line 136 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_tmp47_ = _tmp46_;
#line 136 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_tmp48_ = suggestion;
#line 136 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_tmp49_ = midori_suggestion_get_icon (_tmp48_);
#line 136 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_tmp50_ = _tmp49_;
#line 136 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_tmp51_ = midori_autocompleter_scale_if_needed (self, _tmp50_);
#line 136 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_tmp52_ = _tmp51_;
#line 136 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_tmp53_ = suggestion;
#line 136 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_tmp54_ = midori_suggestion_get_background (_tmp53_);
#line 136 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_tmp55_ = _tmp54_;
#line 136 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_tmp56_ = _data1_->completion;
#line 136 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_tmp57_ = midori_completion_get_position (_tmp56_);
#line 136 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_tmp58_ = _tmp57_;
#line 136 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				gtk_list_store_insert_with_values (_tmp42_, NULL, _tmp43_ + _tmp44_, MIDORI_AUTOCOMPLETER_COLUMNS_URI, _tmp47_, MIDORI_AUTOCOMPLETER_COLUMNS_MARKUP, _tmp30_, MIDORI_AUTOCOMPLETER_COLUMNS_ICON, _tmp52_, MIDORI_AUTOCOMPLETER_COLUMNS_SIZE, GTK_ICON_SIZE_MENU, MIDORI_AUTOCOMPLETER_COLUMNS_BACKGROUND, _tmp55_, MIDORI_AUTOCOMPLETER_COLUMNS_YALIGN, 0.25, MIDORI_AUTOCOMPLETER_COLUMNS_PRIORITY, _tmp58_, -1);
#line 136 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_g_object_unref0 (_tmp52_);
#line 146 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_tmp59_ = count;
#line 146 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				count = _tmp59_ + 1;
#line 147 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_tmp60_ = count;
#line 147 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_tmp61_ = _data1_->completion;
#line 147 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_tmp62_ = midori_completion_get_max_items (_tmp61_);
#line 147 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_tmp63_ = _tmp62_;
#line 147 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				if (_tmp60_ > _tmp63_) {
#line 148 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					_g_free0 (_tmp30_);
#line 148 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					_g_object_unref0 (suggestion);
#line 148 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					break;
#line 1774 "midori-completion.c"
				}
#line 127 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_g_free0 (_tmp30_);
#line 127 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_g_object_unref0 (suggestion);
#line 1780 "midori-completion.c"
			}
		}
	}
#line 151 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp64_ = self->priv->current_count;
#line 151 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp65_ = count;
#line 151 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	self->priv->current_count = _tmp64_ + _tmp65_;
#line 152 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp66_ = self->priv->current_count;
#line 152 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_signal_emit_by_name (self, "populated", _tmp66_);
#line 95 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	(find_index_target_destroy_notify == NULL) ? NULL : (find_index_target_destroy_notify (find_index_target), NULL);
#line 95 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	find_index = NULL;
#line 95 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	find_index_target = NULL;
#line 95 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	find_index_target_destroy_notify = NULL;
#line 95 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	block1_data_unref (_data1_);
#line 95 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data1_ = NULL;
#line 1806 "midori-completion.c"
}


static void midori_autocompleter_complete_wrapped_data_free (gpointer _data) {
	MidoriAutocompleterCompleteWrappedData* _data_;
	_data_ = _data;
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_g_object_unref0 (_data_->completion);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_g_free0 (_data_->text);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_g_free0 (_data_->action);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_g_object_unref0 (_data_->cancellable);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_g_object_unref0 (_data_->self);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_slice_free (MidoriAutocompleterCompleteWrappedData, _data_);
#line 1825 "midori-completion.c"
}


static void midori_autocompleter_complete_wrapped (MidoriAutocompleter* self, MidoriCompletion* completion, const gchar* text, const gchar* action, GCancellable* cancellable, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	MidoriAutocompleterCompleteWrappedData* _data_;
	MidoriAutocompleter* _tmp0_ = NULL;
	MidoriCompletion* _tmp1_ = NULL;
	MidoriCompletion* _tmp2_ = NULL;
	const gchar* _tmp3_ = NULL;
	gchar* _tmp4_ = NULL;
	const gchar* _tmp5_ = NULL;
	gchar* _tmp6_ = NULL;
	GCancellable* _tmp7_ = NULL;
	GCancellable* _tmp8_ = NULL;
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_ = g_slice_new0 (MidoriAutocompleterCompleteWrappedData);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, midori_autocompleter_complete_wrapped);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, midori_autocompleter_complete_wrapped_data_free);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->self = _tmp0_;
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp1_ = completion;
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp2_ = _g_object_ref0 (_tmp1_);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_g_object_unref0 (_data_->completion);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->completion = _tmp2_;
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp3_ = text;
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp4_ = g_strdup (_tmp3_);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_g_free0 (_data_->text);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->text = _tmp4_;
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp5_ = action;
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp6_ = g_strdup (_tmp5_);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_g_free0 (_data_->action);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->action = _tmp6_;
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp7_ = cancellable;
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp8_ = _g_object_ref0 (_tmp7_);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_g_object_unref0 (_data_->cancellable);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->cancellable = _tmp8_;
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	midori_autocompleter_complete_wrapped_co (_data_);
#line 1884 "midori-completion.c"
}


static void midori_autocompleter_complete_wrapped_finish (MidoriAutocompleter* self, GAsyncResult* _res_) {
	MidoriAutocompleterCompleteWrappedData* _data_;
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 1892 "midori-completion.c"
}


static void midori_autocompleter_complete_wrapped_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	MidoriAutocompleterCompleteWrappedData* _data_;
#line 158 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_ = _user_data_;
#line 158 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->_source_object_ = source_object;
#line 158 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->_res_ = _res_;
#line 158 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	midori_autocompleter_complete_wrapped_co (_data_);
#line 1906 "midori-completion.c"
}


static gboolean midori_autocompleter_complete_wrapped_co (MidoriAutocompleterCompleteWrappedData* _data_) {
#line 157 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	switch (_data_->_state_) {
#line 157 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		case 0:
#line 1915 "midori-completion.c"
		goto _state_0;
#line 157 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		case 1:
#line 1919 "midori-completion.c"
		goto _state_1;
		default:
#line 157 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		g_assert_not_reached ();
#line 1924 "midori-completion.c"
	}
	_state_0:
#line 158 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->_tmp0_ = NULL;
#line 158 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->_tmp0_ = _data_->completion;
#line 158 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->_tmp1_ = NULL;
#line 158 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->_tmp1_ = _data_->text;
#line 158 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->_tmp2_ = NULL;
#line 158 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->_tmp2_ = _data_->action;
#line 158 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->_tmp3_ = NULL;
#line 158 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->_tmp3_ = _data_->cancellable;
#line 158 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->_state_ = 1;
#line 158 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	midori_completion_complete (_data_->_tmp0_, _data_->_tmp1_, _data_->_tmp2_, _data_->_tmp3_, midori_autocompleter_complete_wrapped_ready, _data_);
#line 158 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	return FALSE;
#line 1949 "midori-completion.c"
	_state_1:
#line 158 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->_tmp4_ = NULL;
#line 158 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->_tmp4_ = midori_completion_complete_finish (_data_->_tmp0_, _data_->_res_);
#line 158 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->suggestions = _data_->_tmp4_;
#line 159 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->_tmp6_ = NULL;
#line 159 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->_tmp6_ = _data_->cancellable;
#line 159 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->_tmp7_ = FALSE;
#line 159 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->_tmp7_ = g_cancellable_is_cancelled (_data_->_tmp6_);
#line 159 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	if (!_data_->_tmp7_) {
#line 159 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_data_->_tmp8_ = NULL;
#line 159 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_data_->_tmp8_ = _data_->suggestions;
#line 159 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_data_->_tmp5_ = _data_->_tmp8_ != NULL;
#line 1973 "midori-completion.c"
	} else {
#line 159 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_data_->_tmp5_ = FALSE;
#line 1977 "midori-completion.c"
	}
#line 159 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	if (_data_->_tmp5_) {
#line 160 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_data_->_tmp9_ = NULL;
#line 160 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_data_->_tmp9_ = _data_->completion;
#line 160 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_data_->_tmp10_ = NULL;
#line 160 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_data_->_tmp10_ = _data_->suggestions;
#line 160 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		midori_autocompleter_fill_model (_data_->self, _data_->_tmp9_, _data_->_tmp10_);
#line 1991 "midori-completion.c"
	}
#line 157 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	__g_list_free__g_object_unref0_0 (_data_->suggestions);
#line 157 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	if (_data_->_state_ == 0) {
#line 157 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 1999 "midori-completion.c"
	} else {
#line 157 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 2003 "midori-completion.c"
	}
#line 157 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_object_unref (_data_->_async_result);
#line 157 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	return FALSE;
#line 2009 "midori-completion.c"
}


static void midori_autocompleter_complete_data_free (gpointer _data) {
	MidoriAutocompleterCompleteData* _data_;
	_data_ = _data;
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_g_free0 (_data_->text);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_g_object_unref0 (_data_->self);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_slice_free (MidoriAutocompleterCompleteData, _data_);
#line 2022 "midori-completion.c"
}


void midori_autocompleter_complete (MidoriAutocompleter* self, const gchar* text, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	MidoriAutocompleterCompleteData* _data_;
	MidoriAutocompleter* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
	gchar* _tmp2_ = NULL;
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_ = g_slice_new0 (MidoriAutocompleterCompleteData);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, midori_autocompleter_complete);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, midori_autocompleter_complete_data_free);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->self = _tmp0_;
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp1_ = text;
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp2_ = g_strdup (_tmp1_);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_g_free0 (_data_->text);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->text = _tmp2_;
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	midori_autocompleter_complete_co (_data_);
#line 2051 "midori-completion.c"
}


void midori_autocompleter_complete_finish (MidoriAutocompleter* self, GAsyncResult* _res_) {
	MidoriAutocompleterCompleteData* _data_;
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 2059 "midori-completion.c"
}


static void midori_autocompleter_complete_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_) {
	MidoriAutocompleterCompleteData* _data_;
#line 171 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_ = _user_data_;
#line 171 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->_source_object_ = source_object;
#line 171 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->_res_ = _res_;
#line 171 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	midori_autocompleter_complete_co (_data_);
#line 2073 "midori-completion.c"
}


static gboolean midori_autocompleter_complete_co (MidoriAutocompleterCompleteData* _data_) {
#line 163 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	switch (_data_->_state_) {
#line 163 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		case 0:
#line 2082 "midori-completion.c"
		goto _state_0;
#line 163 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		case 1:
#line 2086 "midori-completion.c"
		goto _state_1;
		default:
#line 163 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		g_assert_not_reached ();
#line 2091 "midori-completion.c"
	}
	_state_0:
#line 164 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->_tmp0_ = NULL;
#line 164 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->_tmp0_ = _data_->self->priv->cancellable;
#line 164 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	if (_data_->_tmp0_ != NULL) {
#line 165 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_data_->_tmp1_ = NULL;
#line 165 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_data_->_tmp1_ = _data_->self->priv->cancellable;
#line 165 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		g_cancellable_cancel (_data_->_tmp1_);
#line 2106 "midori-completion.c"
	}
#line 166 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->_tmp2_ = NULL;
#line 166 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->_tmp2_ = g_cancellable_new ();
#line 166 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_g_object_unref0 (_data_->self->priv->cancellable);
#line 166 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->self->priv->cancellable = _data_->_tmp2_;
#line 167 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->self->priv->need_to_clear = TRUE;
#line 169 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->_tmp3_ = NULL;
#line 169 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->_tmp3_ = _data_->self->priv->completions;
#line 2122 "midori-completion.c"
	{
#line 169 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_data_->completion_collection = _data_->_tmp3_;
#line 169 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		for (_data_->completion_it = _data_->completion_collection; _data_->completion_it != NULL; _data_->completion_it = _data_->completion_it->next) {
#line 169 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
			_data_->_tmp4_ = NULL;
#line 169 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
			_data_->_tmp4_ = _g_object_ref0 ((MidoriCompletion*) _data_->completion_it->data);
#line 169 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
			_data_->completion = _data_->_tmp4_;
#line 2134 "midori-completion.c"
			{
#line 170 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_data_->_tmp5_ = NULL;
#line 170 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_data_->_tmp5_ = _data_->completion;
#line 170 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_data_->_tmp6_ = NULL;
#line 170 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_data_->_tmp6_ = _data_->text;
#line 170 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_data_->_tmp7_ = FALSE;
#line 170 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_data_->_tmp7_ = midori_completion_can_complete (_data_->_tmp5_, _data_->_tmp6_);
#line 170 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				if (_data_->_tmp7_) {
#line 171 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					_data_->_tmp8_ = NULL;
#line 171 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					_data_->_tmp8_ = _data_->completion;
#line 171 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					_data_->_tmp9_ = NULL;
#line 171 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					_data_->_tmp9_ = _data_->text;
#line 171 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					_data_->_tmp10_ = NULL;
#line 171 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					_data_->_tmp10_ = _data_->self->priv->cancellable;
#line 171 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					_data_->_state_ = 1;
#line 171 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					midori_autocompleter_complete_wrapped (_data_->self, _data_->_tmp8_, _data_->_tmp9_, NULL, _data_->_tmp10_, midori_autocompleter_complete_ready, _data_);
#line 171 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					return FALSE;
#line 2168 "midori-completion.c"
					_state_1:
#line 171 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					midori_autocompleter_complete_wrapped_finish (_data_->self, _data_->_res_);
#line 2172 "midori-completion.c"
				}
#line 169 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_g_object_unref0 (_data_->completion);
#line 2176 "midori-completion.c"
			}
		}
	}
#line 163 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	if (_data_->_state_ == 0) {
#line 163 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 2184 "midori-completion.c"
	} else {
#line 163 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 2188 "midori-completion.c"
	}
#line 163 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_object_unref (_data_->_async_result);
#line 163 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	return FALSE;
#line 2194 "midori-completion.c"
}


gboolean midori_autocompleter_can_action (MidoriAutocompleter* self, const gchar* action) {
	gboolean result = FALSE;
	const gchar* _tmp0_ = NULL;
	GList* _tmp1_ = NULL;
#line 175 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_return_val_if_fail (self != NULL, FALSE);
#line 175 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_return_val_if_fail (action != NULL, FALSE);
#line 176 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp0_ = action;
#line 176 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	if (g_strcmp0 (_tmp0_, "about:completion-description") == 0) {
#line 177 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		result = TRUE;
#line 177 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		return result;
#line 2214 "midori-completion.c"
	}
#line 178 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp1_ = self->priv->completions;
#line 2218 "midori-completion.c"
	{
		GList* completion_collection = NULL;
		GList* completion_it = NULL;
#line 178 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		completion_collection = _tmp1_;
#line 178 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		for (completion_it = completion_collection; completion_it != NULL; completion_it = completion_it->next) {
#line 2226 "midori-completion.c"
			MidoriCompletion* _tmp2_ = NULL;
			MidoriCompletion* completion = NULL;
#line 178 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
			_tmp2_ = _g_object_ref0 ((MidoriCompletion*) completion_it->data);
#line 178 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
			completion = _tmp2_;
#line 2233 "midori-completion.c"
			{
				MidoriCompletion* _tmp3_ = NULL;
				const gchar* _tmp4_ = NULL;
				gboolean _tmp5_ = FALSE;
#line 179 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_tmp3_ = completion;
#line 179 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_tmp4_ = action;
#line 179 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_tmp5_ = midori_completion_can_action (_tmp3_, _tmp4_);
#line 179 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				if (_tmp5_) {
#line 180 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					result = TRUE;
#line 180 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					_g_object_unref0 (completion);
#line 180 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					return result;
#line 2252 "midori-completion.c"
				}
#line 178 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_g_object_unref0 (completion);
#line 2256 "midori-completion.c"
			}
		}
	}
#line 181 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	result = FALSE;
#line 181 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	return result;
#line 2264 "midori-completion.c"
}


static void midori_autocompleter_action_data_free (gpointer _data) {
	MidoriAutocompleterActionData* _data_;
	_data_ = _data;
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_g_free0 (_data_->action);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_g_free0 (_data_->text);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_g_object_unref0 (_data_->self);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_slice_free (MidoriAutocompleterActionData, _data_);
#line 2279 "midori-completion.c"
}


void midori_autocompleter_action (MidoriAutocompleter* self, const gchar* action, const gchar* text, GAsyncReadyCallback _callback_, gpointer _user_data_) {
	MidoriAutocompleterActionData* _data_;
	MidoriAutocompleter* _tmp0_ = NULL;
	const gchar* _tmp1_ = NULL;
	gchar* _tmp2_ = NULL;
	const gchar* _tmp3_ = NULL;
	gchar* _tmp4_ = NULL;
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_ = g_slice_new0 (MidoriAutocompleterActionData);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, midori_autocompleter_action);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, midori_autocompleter_action_data_free);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp0_ = _g_object_ref0 (self);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->self = _tmp0_;
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp1_ = action;
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp2_ = g_strdup (_tmp1_);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_g_free0 (_data_->action);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->action = _tmp2_;
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp3_ = text;
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp4_ = g_strdup (_tmp3_);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_g_free0 (_data_->text);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->text = _tmp4_;
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	midori_autocompleter_action_co (_data_);
#line 2318 "midori-completion.c"
}


void midori_autocompleter_action_finish (MidoriAutocompleter* self, GAsyncResult* _res_) {
	MidoriAutocompleterActionData* _data_;
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
#line 2326 "midori-completion.c"
}


static gboolean midori_autocompleter_action_co (MidoriAutocompleterActionData* _data_) {
#line 184 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	switch (_data_->_state_) {
#line 184 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		case 0:
#line 2335 "midori-completion.c"
		goto _state_0;
		default:
#line 184 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		g_assert_not_reached ();
#line 2340 "midori-completion.c"
	}
	_state_0:
#line 185 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->_tmp0_ = NULL;
#line 185 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->_tmp0_ = _data_->action;
#line 185 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	if (g_strcmp0 (_data_->_tmp0_, "about:completion-description") == 0) {
#line 186 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		if (_data_->_state_ == 0) {
#line 186 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
			g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 2353 "midori-completion.c"
		} else {
#line 186 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
			g_simple_async_result_complete (_data_->_async_result);
#line 2357 "midori-completion.c"
		}
#line 186 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		g_object_unref (_data_->_async_result);
#line 186 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		return FALSE;
#line 2363 "midori-completion.c"
	}
#line 188 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->_tmp1_ = NULL;
#line 188 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->_tmp1_ = _data_->self->priv->cancellable;
#line 188 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	if (_data_->_tmp1_ != NULL) {
#line 189 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_data_->_tmp2_ = NULL;
#line 189 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_data_->_tmp2_ = _data_->self->priv->cancellable;
#line 189 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		g_cancellable_cancel (_data_->_tmp2_);
#line 2377 "midori-completion.c"
	}
#line 190 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->_tmp3_ = NULL;
#line 190 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->_tmp3_ = g_cancellable_new ();
#line 190 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_g_object_unref0 (_data_->self->priv->cancellable);
#line 190 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->self->priv->cancellable = _data_->_tmp3_;
#line 191 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->self->priv->need_to_clear = TRUE;
#line 193 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->_tmp4_ = NULL;
#line 193 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_data_->_tmp4_ = _data_->self->priv->completions;
#line 2393 "midori-completion.c"
	{
#line 193 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		_data_->completion_collection = _data_->_tmp4_;
#line 193 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		for (_data_->completion_it = _data_->completion_collection; _data_->completion_it != NULL; _data_->completion_it = _data_->completion_it->next) {
#line 193 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
			_data_->_tmp5_ = NULL;
#line 193 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
			_data_->_tmp5_ = _g_object_ref0 ((MidoriCompletion*) _data_->completion_it->data);
#line 193 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
			_data_->completion = _data_->_tmp5_;
#line 2405 "midori-completion.c"
			{
#line 194 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_data_->_tmp6_ = NULL;
#line 194 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_data_->_tmp6_ = _data_->completion;
#line 194 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_data_->_tmp7_ = NULL;
#line 194 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_data_->_tmp7_ = _data_->action;
#line 194 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_data_->_tmp8_ = FALSE;
#line 194 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_data_->_tmp8_ = midori_completion_can_action (_data_->_tmp6_, _data_->_tmp7_);
#line 194 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				if (_data_->_tmp8_) {
#line 195 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					_data_->_tmp9_ = NULL;
#line 195 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					_data_->_tmp9_ = _data_->completion;
#line 195 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					_data_->_tmp10_ = NULL;
#line 195 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					_data_->_tmp10_ = _data_->text;
#line 195 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					_data_->_tmp11_ = NULL;
#line 195 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					_data_->_tmp11_ = _data_->action;
#line 195 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					_data_->_tmp12_ = NULL;
#line 195 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					_data_->_tmp12_ = _data_->self->priv->cancellable;
#line 195 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
					midori_autocompleter_complete_wrapped (_data_->self, _data_->_tmp9_, _data_->_tmp10_, _data_->_tmp11_, _data_->_tmp12_, NULL, NULL);
#line 2439 "midori-completion.c"
				}
#line 193 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
				_g_object_unref0 (_data_->completion);
#line 2443 "midori-completion.c"
			}
		}
	}
#line 184 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	if (_data_->_state_ == 0) {
#line 184 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		g_simple_async_result_complete_in_idle (_data_->_async_result);
#line 2451 "midori-completion.c"
	} else {
#line 184 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		g_simple_async_result_complete (_data_->_async_result);
#line 2455 "midori-completion.c"
	}
#line 184 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_object_unref (_data_->_async_result);
#line 184 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	return FALSE;
#line 2461 "midori-completion.c"
}


GtkListStore* midori_autocompleter_get_model (MidoriAutocompleter* self) {
	GtkListStore* result;
	GtkListStore* _tmp0_ = NULL;
#line 45 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 45 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp0_ = self->priv->_model;
#line 45 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	result = _tmp0_;
#line 45 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	return result;
#line 2476 "midori-completion.c"
}


static void midori_autocompleter_set_model (MidoriAutocompleter* self, GtkListStore* value) {
	GtkListStore* _tmp0_ = NULL;
	GtkListStore* _tmp1_ = NULL;
#line 45 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_return_if_fail (self != NULL);
#line 45 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp0_ = value;
#line 45 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_tmp1_ = _g_object_ref0 (_tmp0_);
#line 45 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_g_object_unref0 (self->priv->_model);
#line 45 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	self->priv->_model = _tmp1_;
#line 45 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_object_notify ((GObject *) self, "model");
#line 2495 "midori-completion.c"
}


static void midori_autocompleter_class_init (MidoriAutocompleterClass * klass) {
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	midori_autocompleter_parent_class = g_type_class_peek_parent (klass);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_type_class_add_private (klass, sizeof (MidoriAutocompleterPrivate));
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	G_OBJECT_CLASS (klass)->get_property = _vala_midori_autocompleter_get_property;
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	G_OBJECT_CLASS (klass)->set_property = _vala_midori_autocompleter_set_property;
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	G_OBJECT_CLASS (klass)->finalize = midori_autocompleter_finalize;
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_object_class_install_property (G_OBJECT_CLASS (klass), MIDORI_AUTOCOMPLETER_MODEL, g_param_spec_object ("model", "model", "model", GTK_TYPE_LIST_STORE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	g_signal_new ("populated", MIDORI_TYPE_AUTOCOMPLETER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__UINT, G_TYPE_NONE, 1, G_TYPE_UINT);
#line 2514 "midori-completion.c"
}


static void midori_autocompleter_instance_init (MidoriAutocompleter * self) {
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	self->priv = MIDORI_AUTOCOMPLETER_GET_PRIVATE (self);
#line 46 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	self->priv->need_to_clear = FALSE;
#line 47 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	self->priv->current_count = (guint) 0;
#line 48 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	self->priv->cancellable = NULL;
#line 2527 "midori-completion.c"
}


static void midori_autocompleter_finalize (GObject* obj) {
	MidoriAutocompleter * self;
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	self = G_TYPE_CHECK_INSTANCE_CAST (obj, MIDORI_TYPE_AUTOCOMPLETER, MidoriAutocompleter);
#line 42 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_g_object_unref0 (self->priv->app);
#line 43 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	__g_list_free__g_object_unref0_0 (self->priv->completions);
#line 45 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_g_object_unref0 (self->priv->_model);
#line 48 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	_g_object_unref0 (self->priv->cancellable);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	G_OBJECT_CLASS (midori_autocompleter_parent_class)->finalize (obj);
#line 2545 "midori-completion.c"
}


GType midori_autocompleter_get_type (void) {
	static volatile gsize midori_autocompleter_type_id__volatile = 0;
	if (g_once_init_enter (&midori_autocompleter_type_id__volatile)) {
		static const GTypeInfo g_define_type_info = { sizeof (MidoriAutocompleterClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) midori_autocompleter_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (MidoriAutocompleter), 0, (GInstanceInitFunc) midori_autocompleter_instance_init, NULL };
		GType midori_autocompleter_type_id;
		midori_autocompleter_type_id = g_type_register_static (G_TYPE_OBJECT, "MidoriAutocompleter", &g_define_type_info, 0);
		g_once_init_leave (&midori_autocompleter_type_id__volatile, midori_autocompleter_type_id);
	}
	return midori_autocompleter_type_id__volatile;
}


static void _vala_midori_autocompleter_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	MidoriAutocompleter * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, MIDORI_TYPE_AUTOCOMPLETER, MidoriAutocompleter);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	switch (property_id) {
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		case MIDORI_AUTOCOMPLETER_MODEL:
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		g_value_set_object (value, midori_autocompleter_get_model (self));
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		break;
#line 2572 "midori-completion.c"
		default:
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		break;
#line 2578 "midori-completion.c"
	}
}


static void _vala_midori_autocompleter_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
	MidoriAutocompleter * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, MIDORI_TYPE_AUTOCOMPLETER, MidoriAutocompleter);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
	switch (property_id) {
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		case MIDORI_AUTOCOMPLETER_MODEL:
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		midori_autocompleter_set_model (self, g_value_get_object (value));
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		break;
#line 2594 "midori-completion.c"
		default:
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 41 "/usr/src/ports/midori/midori-0.5.10-1.i686/src/midori/midori-completion.vala"
		break;
#line 2600 "midori-completion.c"
	}
}



