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

/* Copyright 2016 Software Freedom Conservancy Inc.
 *
 * This software is licensed under the GNU LGPL (version 2.1 or later).
 * See the COPYING file in this distribution.
 */

#include <glib.h>
#include <glib-object.h>
#include <stdlib.h>
#include <string.h>
#include <gio/gio.h>
#include <glib/gi18n-lib.h>
#include <gtk/gtk.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <gee.h>
#include <gexiv2/gexiv2.h>
#include <unistd.h>


#define TYPE_SHOTWELL_COMMAND (shotwell_command_get_type ())
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))

#define DB_TYPE_VERIFY_RESULT (db_verify_result_get_type ())
#define _g_free0(var) (var = (g_free (var), NULL))

#define TYPE_PROGRESS_DIALOG (progress_dialog_get_type ())
#define PROGRESS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PROGRESS_DIALOG, ProgressDialog))
#define PROGRESS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PROGRESS_DIALOG, ProgressDialogClass))
#define IS_PROGRESS_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PROGRESS_DIALOG))
#define IS_PROGRESS_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PROGRESS_DIALOG))
#define PROGRESS_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PROGRESS_DIALOG, ProgressDialogClass))

typedef struct _ProgressDialog ProgressDialog;
typedef struct _ProgressDialogClass ProgressDialogClass;

#define TYPE_AGGREGATE_PROGRESS_MONITOR (aggregate_progress_monitor_get_type ())
#define AGGREGATE_PROGRESS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_AGGREGATE_PROGRESS_MONITOR, AggregateProgressMonitor))
#define AGGREGATE_PROGRESS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_AGGREGATE_PROGRESS_MONITOR, AggregateProgressMonitorClass))
#define IS_AGGREGATE_PROGRESS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_AGGREGATE_PROGRESS_MONITOR))
#define IS_AGGREGATE_PROGRESS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_AGGREGATE_PROGRESS_MONITOR))
#define AGGREGATE_PROGRESS_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_AGGREGATE_PROGRESS_MONITOR, AggregateProgressMonitorClass))

typedef struct _AggregateProgressMonitor AggregateProgressMonitor;
typedef struct _AggregateProgressMonitorClass AggregateProgressMonitorClass;

#define TYPE_DATABASE_TABLE (database_table_get_type ())
#define DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_TABLE, DatabaseTable))
#define DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_TABLE, DatabaseTableClass))
#define IS_DATABASE_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_TABLE))
#define IS_DATABASE_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_TABLE))
#define DATABASE_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_TABLE, DatabaseTableClass))

typedef struct _DatabaseTable DatabaseTable;
typedef struct _DatabaseTableClass DatabaseTableClass;

#define TYPE_PHOTO_TABLE (photo_table_get_type ())
#define PHOTO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PHOTO_TABLE, PhotoTable))
#define PHOTO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PHOTO_TABLE, PhotoTableClass))
#define IS_PHOTO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PHOTO_TABLE))
#define IS_PHOTO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PHOTO_TABLE))
#define PHOTO_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PHOTO_TABLE, PhotoTableClass))

typedef struct _PhotoTable PhotoTable;
typedef struct _PhotoTableClass PhotoTableClass;

#define TYPE_EVENT_TABLE (event_table_get_type ())
#define EVENT_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_EVENT_TABLE, EventTable))
#define EVENT_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_EVENT_TABLE, EventTableClass))
#define IS_EVENT_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_EVENT_TABLE))
#define IS_EVENT_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_EVENT_TABLE))
#define EVENT_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_EVENT_TABLE, EventTableClass))

typedef struct _EventTable EventTable;
typedef struct _EventTableClass EventTableClass;

#define TYPE_TAG_TABLE (tag_table_get_type ())
#define TAG_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_TAG_TABLE, TagTable))
#define TAG_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_TAG_TABLE, TagTableClass))
#define IS_TAG_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_TAG_TABLE))
#define IS_TAG_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_TAG_TABLE))
#define TAG_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_TAG_TABLE, TagTableClass))

typedef struct _TagTable TagTable;
typedef struct _TagTableClass TagTableClass;

#define TYPE_VIDEO_TABLE (video_table_get_type ())
#define VIDEO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_TABLE, VideoTable))
#define VIDEO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_TABLE, VideoTableClass))
#define IS_VIDEO_TABLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_TABLE))
#define IS_VIDEO_TABLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_TABLE))
#define VIDEO_TABLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_TABLE, VideoTableClass))

typedef struct _VideoTable VideoTable;
typedef struct _VideoTableClass VideoTableClass;

#define TYPE_UPGRADES (upgrades_get_type ())
#define UPGRADES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_UPGRADES, Upgrades))
#define UPGRADES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_UPGRADES, UpgradesClass))
#define IS_UPGRADES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_UPGRADES))
#define IS_UPGRADES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_UPGRADES))
#define UPGRADES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_UPGRADES, UpgradesClass))

typedef struct _Upgrades Upgrades;
typedef struct _UpgradesClass UpgradesClass;
#define _upgrades_unref0(var) ((var == NULL) ? NULL : (var = (upgrades_unref (var), NULL)))
#define _database_table_unref0(var) ((var == NULL) ? NULL : (var = (database_table_unref (var), NULL)))
#define _aggregate_progress_monitor_unref0(var) ((var == NULL) ? NULL : (var = (aggregate_progress_monitor_unref (var), NULL)))

#define TYPE_MEDIA_COLLECTION_REGISTRY (media_collection_registry_get_type ())
#define MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistry))
#define MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass))
#define IS_MEDIA_COLLECTION_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_COLLECTION_REGISTRY))
#define IS_MEDIA_COLLECTION_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_COLLECTION_REGISTRY))
#define MEDIA_COLLECTION_REGISTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_COLLECTION_REGISTRY, MediaCollectionRegistryClass))

typedef struct _MediaCollectionRegistry MediaCollectionRegistry;
typedef struct _MediaCollectionRegistryClass MediaCollectionRegistryClass;

#define TYPE_DATA_COLLECTION (data_collection_get_type ())
#define DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_COLLECTION, DataCollection))
#define DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_COLLECTION, DataCollectionClass))
#define IS_DATA_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_COLLECTION))
#define IS_DATA_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_COLLECTION))
#define DATA_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_COLLECTION, DataCollectionClass))

typedef struct _DataCollection DataCollection;
typedef struct _DataCollectionClass DataCollectionClass;

#define TYPE_SOURCE_COLLECTION (source_collection_get_type ())
#define SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_SOURCE_COLLECTION, SourceCollection))
#define SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_SOURCE_COLLECTION, SourceCollectionClass))
#define IS_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_SOURCE_COLLECTION))
#define IS_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_SOURCE_COLLECTION))
#define SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_SOURCE_COLLECTION, SourceCollectionClass))

typedef struct _SourceCollection SourceCollection;
typedef struct _SourceCollectionClass SourceCollectionClass;

#define TYPE_DATABASE_SOURCE_COLLECTION (database_source_collection_get_type ())
#define DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollection))
#define DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))
#define IS_DATABASE_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATABASE_SOURCE_COLLECTION))
#define IS_DATABASE_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATABASE_SOURCE_COLLECTION))
#define DATABASE_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATABASE_SOURCE_COLLECTION, DatabaseSourceCollectionClass))

typedef struct _DatabaseSourceCollection DatabaseSourceCollection;
typedef struct _DatabaseSourceCollectionClass DatabaseSourceCollectionClass;

#define TYPE_MEDIA_SOURCE_COLLECTION (media_source_collection_get_type ())
#define MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection))
#define MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass))
#define IS_MEDIA_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE_COLLECTION))
#define IS_MEDIA_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE_COLLECTION))
#define MEDIA_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollectionClass))

typedef struct _MediaSourceCollection MediaSourceCollection;
typedef struct _MediaSourceCollectionClass MediaSourceCollectionClass;

#define TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION (library_photo_source_collection_get_type ())
#define LIBRARY_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollection))
#define LIBRARY_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionClass))
#define IS_LIBRARY_PHOTO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION))
#define IS_LIBRARY_PHOTO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION))
#define LIBRARY_PHOTO_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_PHOTO_SOURCE_COLLECTION, LibraryPhotoSourceCollectionClass))

typedef struct _LibraryPhotoSourceCollection LibraryPhotoSourceCollection;
typedef struct _LibraryPhotoSourceCollectionClass LibraryPhotoSourceCollectionClass;

#define TYPE_VIDEO_SOURCE_COLLECTION (video_source_collection_get_type ())
#define VIDEO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollection))
#define VIDEO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollectionClass))
#define IS_VIDEO_SOURCE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_VIDEO_SOURCE_COLLECTION))
#define IS_VIDEO_SOURCE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_VIDEO_SOURCE_COLLECTION))
#define VIDEO_SOURCE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_VIDEO_SOURCE_COLLECTION, VideoSourceCollectionClass))

typedef struct _VideoSourceCollection VideoSourceCollection;
typedef struct _VideoSourceCollectionClass VideoSourceCollectionClass;

#define TYPE_APPLICATION (application_get_type ())
#define APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_APPLICATION, Application))
#define APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_APPLICATION, ApplicationClass))
#define IS_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_APPLICATION))
#define IS_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_APPLICATION))
#define APPLICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_APPLICATION, ApplicationClass))

typedef struct _Application Application;
typedef struct _ApplicationClass ApplicationClass;
#define _application_unref0(var) ((var == NULL) ? NULL : (var = (application_unref (var), NULL)))

#define TYPE_PAGE_WINDOW (page_window_get_type ())
#define PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_PAGE_WINDOW, PageWindow))
#define PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_PAGE_WINDOW, PageWindowClass))
#define IS_PAGE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_PAGE_WINDOW))
#define IS_PAGE_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_PAGE_WINDOW))
#define PAGE_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_PAGE_WINDOW, PageWindowClass))

typedef struct _PageWindow PageWindow;
typedef struct _PageWindowClass PageWindowClass;

#define TYPE_APP_WINDOW (app_window_get_type ())
#define APP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_APP_WINDOW, AppWindow))
#define APP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_APP_WINDOW, AppWindowClass))
#define IS_APP_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_APP_WINDOW))
#define IS_APP_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_APP_WINDOW))
#define APP_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_APP_WINDOW, AppWindowClass))

typedef struct _AppWindow AppWindow;
typedef struct _AppWindowClass AppWindowClass;

#define TYPE_LIBRARY_WINDOW (library_window_get_type ())
#define LIBRARY_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIBRARY_WINDOW, LibraryWindow))
#define LIBRARY_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIBRARY_WINDOW, LibraryWindowClass))
#define IS_LIBRARY_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIBRARY_WINDOW))
#define IS_LIBRARY_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIBRARY_WINDOW))
#define LIBRARY_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIBRARY_WINDOW, LibraryWindowClass))

typedef struct _LibraryWindow LibraryWindow;
typedef struct _LibraryWindowClass LibraryWindowClass;

#define TYPE_WELCOME_SERVICE_ENTRY (welcome_service_entry_get_type ())
#define WELCOME_SERVICE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_WELCOME_SERVICE_ENTRY, WelcomeServiceEntry))
#define IS_WELCOME_SERVICE_ENTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_WELCOME_SERVICE_ENTRY))
#define WELCOME_SERVICE_ENTRY_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), TYPE_WELCOME_SERVICE_ENTRY, WelcomeServiceEntryIface))

typedef struct _WelcomeServiceEntry WelcomeServiceEntry;
typedef struct _WelcomeServiceEntryIface WelcomeServiceEntryIface;

#define TYPE_CONFIGURATION_FACADE (configuration_facade_get_type ())
#define CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacade))
#define CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass))
#define IS_CONFIGURATION_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CONFIGURATION_FACADE))
#define IS_CONFIGURATION_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CONFIGURATION_FACADE))
#define CONFIGURATION_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CONFIGURATION_FACADE, ConfigurationFacadeClass))

typedef struct _ConfigurationFacade ConfigurationFacade;
typedef struct _ConfigurationFacadeClass ConfigurationFacadeClass;

#define CONFIG_TYPE_FACADE (config_facade_get_type ())
#define CONFIG_FACADE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CONFIG_TYPE_FACADE, ConfigFacade))
#define CONFIG_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), CONFIG_TYPE_FACADE, ConfigFacadeClass))
#define CONFIG_IS_FACADE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CONFIG_TYPE_FACADE))
#define CONFIG_IS_FACADE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CONFIG_TYPE_FACADE))
#define CONFIG_FACADE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CONFIG_TYPE_FACADE, ConfigFacadeClass))

typedef struct _ConfigFacade ConfigFacade;
typedef struct _ConfigFacadeClass ConfigFacadeClass;

#define TYPE_WELCOME_DIALOG (welcome_dialog_get_type ())
#define WELCOME_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_WELCOME_DIALOG, WelcomeDialog))
#define WELCOME_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_WELCOME_DIALOG, WelcomeDialogClass))
#define IS_WELCOME_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_WELCOME_DIALOG))
#define IS_WELCOME_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_WELCOME_DIALOG))
#define WELCOME_DIALOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_WELCOME_DIALOG, WelcomeDialogClass))

typedef struct _WelcomeDialog WelcomeDialog;
typedef struct _WelcomeDialogClass WelcomeDialogClass;

#define TYPE_IMPORT_MANIFEST (import_manifest_get_type ())
#define IMPORT_MANIFEST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_IMPORT_MANIFEST, ImportManifest))
#define IMPORT_MANIFEST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_IMPORT_MANIFEST, ImportManifestClass))
#define IS_IMPORT_MANIFEST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_IMPORT_MANIFEST))
#define IS_IMPORT_MANIFEST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_IMPORT_MANIFEST))
#define IMPORT_MANIFEST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_IMPORT_MANIFEST, ImportManifestClass))

typedef struct _ImportManifest ImportManifest;
typedef struct _ImportManifestClass ImportManifestClass;
#define _media_collection_registry_unref0(var) ((var == NULL) ? NULL : (var = (media_collection_registry_unref (var), NULL)))

#define TYPE_BATCH_IMPORT_JOB (batch_import_job_get_type ())
#define BATCH_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT_JOB, BatchImportJob))
#define BATCH_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT_JOB, BatchImportJobClass))
#define IS_BATCH_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT_JOB))
#define IS_BATCH_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT_JOB))
#define BATCH_IMPORT_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT_JOB, BatchImportJobClass))

typedef struct _BatchImportJob BatchImportJob;
typedef struct _BatchImportJobClass BatchImportJobClass;

#define TYPE_FILE_IMPORT_JOB (file_import_job_get_type ())
#define FILE_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_FILE_IMPORT_JOB, FileImportJob))
#define FILE_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_FILE_IMPORT_JOB, FileImportJobClass))
#define IS_FILE_IMPORT_JOB(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_FILE_IMPORT_JOB))
#define IS_FILE_IMPORT_JOB_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_FILE_IMPORT_JOB))
#define FILE_IMPORT_JOB_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_FILE_IMPORT_JOB, FileImportJobClass))

typedef struct _FileImportJob FileImportJob;
typedef struct _FileImportJobClass FileImportJobClass;
#define _batch_import_job_unref0(var) ((var == NULL) ? NULL : (var = (batch_import_job_unref (var), NULL)))

#define TYPE_BATCH_IMPORT (batch_import_get_type ())
#define BATCH_IMPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT, BatchImport))
#define BATCH_IMPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT, BatchImportClass))
#define IS_BATCH_IMPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT))
#define IS_BATCH_IMPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT))
#define BATCH_IMPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT, BatchImportClass))

typedef struct _BatchImport BatchImport;
typedef struct _BatchImportClass BatchImportClass;

#define TYPE_BATCH_IMPORT_ROLL (batch_import_roll_get_type ())
#define BATCH_IMPORT_ROLL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT_ROLL, BatchImportRoll))
#define BATCH_IMPORT_ROLL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT_ROLL, BatchImportRollClass))
#define IS_BATCH_IMPORT_ROLL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT_ROLL))
#define IS_BATCH_IMPORT_ROLL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT_ROLL))
#define BATCH_IMPORT_ROLL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT_ROLL, BatchImportRollClass))

typedef struct _BatchImportRoll BatchImportRoll;
typedef struct _BatchImportRollClass BatchImportRollClass;
typedef struct _ImportManifestPrivate ImportManifestPrivate;

#define TYPE_DATA_OBJECT (data_object_get_type ())
#define DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_OBJECT, DataObject))
#define DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_OBJECT, DataObjectClass))
#define IS_DATA_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_OBJECT))
#define IS_DATA_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_OBJECT))
#define DATA_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_OBJECT, DataObjectClass))

typedef struct _DataObject DataObject;
typedef struct _DataObjectClass DataObjectClass;

#define TYPE_DATA_SOURCE (data_source_get_type ())
#define DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DATA_SOURCE, DataSource))
#define DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DATA_SOURCE, DataSourceClass))
#define IS_DATA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DATA_SOURCE))
#define IS_DATA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DATA_SOURCE))
#define DATA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DATA_SOURCE, DataSourceClass))

typedef struct _DataSource DataSource;
typedef struct _DataSourceClass DataSourceClass;

#define TYPE_THUMBNAIL_SOURCE (thumbnail_source_get_type ())
#define THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSource))
#define THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass))
#define IS_THUMBNAIL_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_THUMBNAIL_SOURCE))
#define IS_THUMBNAIL_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_THUMBNAIL_SOURCE))
#define THUMBNAIL_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_THUMBNAIL_SOURCE, ThumbnailSourceClass))

typedef struct _ThumbnailSource ThumbnailSource;
typedef struct _ThumbnailSourceClass ThumbnailSourceClass;

#define TYPE_MEDIA_SOURCE (media_source_get_type ())
#define MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_MEDIA_SOURCE, MediaSource))
#define MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_MEDIA_SOURCE, MediaSourceClass))
#define IS_MEDIA_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_MEDIA_SOURCE))
#define IS_MEDIA_SOURCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_MEDIA_SOURCE))
#define MEDIA_SOURCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_MEDIA_SOURCE, MediaSourceClass))

typedef struct _MediaSource MediaSource;
typedef struct _MediaSourceClass MediaSourceClass;

#define TYPE_BATCH_IMPORT_RESULT (batch_import_result_get_type ())
#define BATCH_IMPORT_RESULT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_BATCH_IMPORT_RESULT, BatchImportResult))
#define BATCH_IMPORT_RESULT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_BATCH_IMPORT_RESULT, BatchImportResultClass))
#define IS_BATCH_IMPORT_RESULT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_BATCH_IMPORT_RESULT))
#define IS_BATCH_IMPORT_RESULT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_BATCH_IMPORT_RESULT))
#define BATCH_IMPORT_RESULT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_BATCH_IMPORT_RESULT, BatchImportResultClass))

typedef struct _BatchImportResult BatchImportResult;
typedef struct _BatchImportResultClass BatchImportResultClass;

#define IMPORT_UI_TYPE_QUESTION_PARAMS (import_ui_question_params_get_type ())
#define IMPORT_UI_QUESTION_PARAMS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), IMPORT_UI_TYPE_QUESTION_PARAMS, ImportUIQuestionParams))
#define IMPORT_UI_QUESTION_PARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), IMPORT_UI_TYPE_QUESTION_PARAMS, ImportUIQuestionParamsClass))
#define IMPORT_UI_IS_QUESTION_PARAMS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), IMPORT_UI_TYPE_QUESTION_PARAMS))
#define IMPORT_UI_IS_QUESTION_PARAMS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), IMPORT_UI_TYPE_QUESTION_PARAMS))
#define IMPORT_UI_QUESTION_PARAMS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), IMPORT_UI_TYPE_QUESTION_PARAMS, ImportUIQuestionParamsClass))

typedef struct _ImportUIQuestionParams ImportUIQuestionParams;
typedef struct _ImportUIQuestionParamsClass ImportUIQuestionParamsClass;

#define TYPE_DIRECT_WINDOW (direct_window_get_type ())
#define DIRECT_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_DIRECT_WINDOW, DirectWindow))
#define DIRECT_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_DIRECT_WINDOW, DirectWindowClass))
#define IS_DIRECT_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_DIRECT_WINDOW))
#define IS_DIRECT_WINDOW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_DIRECT_WINDOW))
#define DIRECT_WINDOW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_DIRECT_WINDOW, DirectWindowClass))

typedef struct _DirectWindow DirectWindow;
typedef struct _DirectWindowClass DirectWindowClass;
#define _g_date_time_unref0(var) ((var == NULL) ? NULL : (var = (g_date_time_unref (var), NULL)))
#define _g_timer_destroy0(var) ((var == NULL) ? NULL : (var = (g_timer_destroy (var), NULL)))

typedef enum  {
	SHOTWELL_COMMAND_MOUNTED_CAMERA = 1
} ShotwellCommand;

typedef enum  {
	DB_VERIFY_RESULT_OK,
	DB_VERIFY_RESULT_FUTURE_VERSION,
	DB_VERIFY_RESULT_UPGRADE_ERROR,
	DB_VERIFY_RESULT_NO_UPGRADE_AVAILABLE
} DbVerifyResult;

typedef gboolean (*ProgressMonitor) (guint64 current, guint64 total, gboolean do_event_loop, void* user_data);
struct _WelcomeServiceEntryIface {
	GTypeInterface parent_iface;
	gchar* (*get_service_name) (WelcomeServiceEntry* self);
	void (*execute) (WelcomeServiceEntry* self);
};

typedef void (*BatchImportImportReporter) (ImportManifest* manifest, BatchImportRoll* import_roll, void* user_data);
struct _ImportManifest {
	GTypeInstance parent_instance;
	volatile int ref_count;
	ImportManifestPrivate * priv;
	GeeList* imported;
	GeeList* success;
	GeeList* camera_failed;
	GeeList* failed;
	GeeList* write_failed;
	GeeList* skipped_photos;
	GeeList* skipped_files;
	GeeList* aborted;
	GeeList* already_imported;
	GeeList* corrupt_files;
	GeeList* all;
};

struct _ImportManifestClass {
	GTypeClass parent_class;
	void (*finalize) (ImportManifest *self);
};


extern GTimer* startup_timer;
GTimer* startup_timer = NULL;
extern gboolean was_already_running;
gboolean was_already_running = FALSE;
extern gboolean commandline_options_no_startup_progress;
extern LibraryPhotoSourceCollection* library_photo_global;
extern VideoSourceCollection* video_global;
extern gboolean do_system_pictures_import;
extern gboolean do_external_import;
gboolean do_system_pictures_import = FALSE;
gboolean do_external_import = FALSE;
gboolean commandline_options_no_startup_progress = FALSE;
extern gchar* commandline_options_data_dir;
gchar* commandline_options_data_dir = NULL;
extern gboolean commandline_options_show_version;
gboolean commandline_options_show_version = FALSE;
extern gboolean commandline_options_no_runtime_monitoring;
gboolean commandline_options_no_runtime_monitoring = FALSE;
extern GOptionEntry* commandline_options_entries;
extern gint commandline_options_entries_length1;
GOptionEntry* commandline_options_entries = NULL;
gint commandline_options_entries_length1 = 0;
static gint _commandline_options_entries_size_ = 0;

GType shotwell_command_get_type (void) G_GNUC_CONST;
void library_exec (gchar** mounts, int mounts_length1);
gboolean application_get_is_remote (void);
void application_present_primary_instance (void);
void application_send_to_primary_instance (gchar** argv, int argv_length1);
void db_preconfigure (GFile* db_file);
GFile* app_dirs_get_data_subdir (const gchar* name, const gchar* subname);
void library_app_init (GError** error);
void app_window_panic (const gchar* msg);
GType db_verify_result_get_type (void) G_GNUC_CONST;
DbVerifyResult db_verify_database (gchar** app_version, gint* schema_version);
#define RESOURCES_APP_VERSION _VERSION
#define DATABASE_TABLE_SCHEMA_VERSION 20
#define RESOURCES_HOME_URL "https://wiki.gnome.org/Apps/Shotwell"
GFile* app_dirs_get_data_dir (void);
const gchar* db_verify_result_to_string (DbVerifyResult self);
#define RESOURCES_APP_TITLE "Shotwell"
void database_table_terminate (void);
void upgrades_init (void);
GType progress_dialog_get_type (void) G_GNUC_CONST;
gpointer aggregate_progress_monitor_ref (gpointer instance);
void aggregate_progress_monitor_unref (gpointer instance);
GParamSpec* param_spec_aggregate_progress_monitor (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_aggregate_progress_monitor (GValue* value, gpointer v_object);
void value_take_aggregate_progress_monitor (GValue* value, gpointer v_object);
gpointer value_get_aggregate_progress_monitor (const GValue* value);
GType aggregate_progress_monitor_get_type (void) G_GNUC_CONST;
gpointer database_table_ref (gpointer instance);
void database_table_unref (gpointer instance);
GParamSpec* param_spec_database_table (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_database_table (GValue* value, gpointer v_object);
void value_take_database_table (GValue* value, gpointer v_object);
gpointer value_get_database_table (const GValue* value);
GType database_table_get_type (void) G_GNUC_CONST;
GType photo_table_get_type (void) G_GNUC_CONST;
PhotoTable* photo_table_get_instance (void);
gint database_table_get_row_count (DatabaseTable* self);
GType event_table_get_type (void) G_GNUC_CONST;
EventTable* event_table_get_instance (void);
GType tag_table_get_type (void) G_GNUC_CONST;
TagTable* tag_table_get_instance (void);
GType video_table_get_type (void) G_GNUC_CONST;
VideoTable* video_table_get_instance (void);
gpointer upgrades_ref (gpointer instance);
void upgrades_unref (gpointer instance);
GParamSpec* param_spec_upgrades (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_upgrades (GValue* value, gpointer v_object);
void value_take_upgrades (GValue* value, gpointer v_object);
gpointer value_get_upgrades (const GValue* value);
GType upgrades_get_type (void) G_GNUC_CONST;
Upgrades* upgrades_get_instance (void);
guint64 upgrades_get_step_count (Upgrades* self);
ProgressDialog* progress_dialog_new (GtkWindow* owner, const gchar* text, GCancellable* cancellable);
ProgressDialog* progress_dialog_construct (GType object_type, GtkWindow* owner, const gchar* text, GCancellable* cancellable);
void progress_dialog_update_display_every (ProgressDialog* self, gint update_every);
void progress_dialog_set_minimum_on_screen_time_msec (ProgressDialog* self, gint minimum_on_screen_time_msec);
GFile* app_dirs_get_resources_dir (void);
gboolean progress_dialog_monitor (ProgressDialog* self, guint64 count, guint64 total, gboolean do_event_loop);
static gboolean _progress_dialog_monitor_progress_monitor (guint64 current, guint64 total, gboolean do_event_loop, gpointer self);
AggregateProgressMonitor* aggregate_progress_monitor_new (guint64 grand_total, ProgressMonitor wrapped_monitor, void* wrapped_monitor_target);
AggregateProgressMonitor* aggregate_progress_monitor_construct (GType object_type, guint64 grand_total, ProgressMonitor wrapped_monitor, void* wrapped_monitor_target);
gboolean aggregate_progress_monitor_monitor (AggregateProgressMonitor* self, guint64 count, guint64 total);
static gboolean _aggregate_progress_monitor_monitor_progress_monitor (guint64 current, guint64 total, gboolean do_event_loop, gpointer self);
void thumbnail_cache_init (void);
void tombstone_init (void);
void aggregate_progress_monitor_next_step (AggregateProgressMonitor* self, const gchar* name);
void library_photo_init (ProgressMonitor monitor, void* monitor_target);
void video_init (ProgressMonitor monitor, void* monitor_target);
void upgrades_execute (Upgrades* self, ProgressMonitor monitor, void* monitor_target);
void library_monitor_pool_init (void);
void media_collection_registry_init (void);
gpointer media_collection_registry_ref (gpointer instance);
void media_collection_registry_unref (gpointer instance);
GParamSpec* param_spec_media_collection_registry (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_media_collection_registry (GValue* value, gpointer v_object);
void value_take_media_collection_registry (GValue* value, gpointer v_object);
gpointer value_get_media_collection_registry (const GValue* value);
GType media_collection_registry_get_type (void) G_GNUC_CONST;
MediaCollectionRegistry* media_collection_registry_get_instance (void);
gpointer data_collection_ref (gpointer instance);
void data_collection_unref (gpointer instance);
GParamSpec* param_spec_data_collection (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_data_collection (GValue* value, gpointer v_object);
void value_take_data_collection (GValue* value, gpointer v_object);
gpointer value_get_data_collection (const GValue* value);
GType data_collection_get_type (void) G_GNUC_CONST;
GType source_collection_get_type (void) G_GNUC_CONST;
GType database_source_collection_get_type (void) G_GNUC_CONST;
GType media_source_collection_get_type (void) G_GNUC_CONST;
void media_collection_registry_register_collection (MediaCollectionRegistry* self, MediaSourceCollection* collection);
GType library_photo_source_collection_get_type (void) G_GNUC_CONST;
GType video_source_collection_get_type (void) G_GNUC_CONST;
void event_init (ProgressMonitor monitor, void* monitor_target);
void tag_init (ProgressMonitor monitor, void* monitor_target);
void metadata_writer_init (void);
void desktop_integration_init (void);
gpointer application_ref (gpointer instance);
void application_unref (gpointer instance);
GParamSpec* param_spec_application (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_application (GValue* value, gpointer v_object);
void value_take_application (GValue* value, gpointer v_object);
gpointer value_get_application (const GValue* value);
GType application_get_type (void) G_GNUC_CONST;
Application* application_get_instance (void);
GType page_window_get_type (void) G_GNUC_CONST;
GType app_window_get_type (void) G_GNUC_CONST;
GType library_window_get_type (void) G_GNUC_CONST;
LibraryWindow* library_window_new (ProgressMonitor progress_monitor, void* progress_monitor_target);
LibraryWindow* library_window_construct (GType object_type, ProgressMonitor progress_monitor, void* progress_monitor_target);
void library_window_mounted_camera_shell_notification (LibraryWindow* self, const gchar* uri, gboolean at_startup);
GType welcome_service_entry_get_type (void) G_GNUC_CONST;
GType configuration_facade_get_type (void) G_GNUC_CONST;
GType config_facade_get_type (void) G_GNUC_CONST;
ConfigFacade* config_facade_get_instance (void);
gboolean configuration_facade_get_show_welcome_dialog (ConfigurationFacade* self);
gint data_collection_get_count (DataCollection* self);
GType welcome_dialog_get_type (void) G_GNUC_CONST;
WelcomeDialog* welcome_dialog_new (GtkWindow* owner);
WelcomeDialog* welcome_dialog_construct (GType object_type, GtkWindow* owner);
void configuration_facade_set_show_welcome_dialog (ConfigurationFacade* self, gboolean show);
gboolean welcome_dialog_execute (WelcomeDialog* self, WelcomeServiceEntry*** selected_import_entries, int* selected_import_entries_length1, gboolean* do_system_pictures_import);
void welcome_service_entry_execute (WelcomeServiceEntry* self);
gpointer import_manifest_ref (gpointer instance);
void import_manifest_unref (gpointer instance);
GParamSpec* param_spec_import_manifest (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_import_manifest (GValue* value, gpointer v_object);
void value_take_import_manifest (GValue* value, gpointer v_object);
gpointer value_get_import_manifest (const GValue* value);
GType import_manifest_get_type (void) G_GNUC_CONST;
void run_system_pictures_import (ImportManifest* external_exclusion_manifest);
void application_start (Application* self, gchar** argv, int argv_length1);
void desktop_integration_terminate (void);
void metadata_writer_terminate (void);
void tag_terminate (void);
void event_terminate (void);
void library_photo_terminate (void);
void media_collection_registry_terminate (void);
void library_monitor_pool_terminate (void);
void tombstone_terminate (void);
void thumbnail_cache_terminate (void);
void video_terminate (void);
void library_app_terminate (void);
gpointer batch_import_job_ref (gpointer instance);
void batch_import_job_unref (gpointer instance);
GParamSpec* param_spec_batch_import_job (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_batch_import_job (GValue* value, gpointer v_object);
void value_take_batch_import_job (GValue* value, gpointer v_object);
gpointer value_get_batch_import_job (const GValue* value);
GType batch_import_job_get_type (void) G_GNUC_CONST;
GType file_import_job_get_type (void) G_GNUC_CONST;
GFile* app_dirs_get_import_dir (void);
FileImportJob* file_import_job_new (GFile* file_or_dir, gboolean copy_to_library);
FileImportJob* file_import_job_construct (GType object_type, GFile* file_or_dir, gboolean copy_to_library);
AppWindow* app_window_get_instance (void);
GType batch_import_get_type (void) G_GNUC_CONST;
gpointer batch_import_roll_ref (gpointer instance);
void batch_import_roll_unref (gpointer instance);
GParamSpec* param_spec_batch_import_roll (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_batch_import_roll (GValue* value, gpointer v_object);
void value_take_batch_import_roll (GValue* value, gpointer v_object);
gpointer value_get_batch_import_roll (const GValue* value);
GType batch_import_roll_get_type (void) G_GNUC_CONST;
void report_system_pictures_import (ImportManifest* manifest, BatchImportRoll* import_roll);
static void _report_system_pictures_import_batch_import_import_reporter (ImportManifest* manifest, BatchImportRoll* import_roll, gpointer self);
BatchImport* batch_import_new (GeeIterable* jobs, const gchar* name, BatchImportImportReporter reporter, void* reporter_target, GeeArrayList* prefailed, GeeArrayList* pre_already_imported, GCancellable* cancellable, BatchImportRoll* import_roll, ImportManifest* skip_manifest);
BatchImport* batch_import_construct (GType object_type, GeeIterable* jobs, const gchar* name, BatchImportImportReporter reporter, void* reporter_target, GeeArrayList* prefailed, GeeArrayList* pre_already_imported, GCancellable* cancellable, BatchImportRoll* import_roll, ImportManifest* skip_manifest);
void library_window_enqueue_batch_import (LibraryWindow* self, BatchImport* batch_import, gboolean allow_user_cancel);
void library_window_switch_to_import_queue_page (LibraryWindow* self);
GType data_object_get_type (void) G_GNUC_CONST;
GType data_source_get_type (void) G_GNUC_CONST;
GType thumbnail_source_get_type (void) G_GNUC_CONST;
GType media_source_get_type (void) G_GNUC_CONST;
gpointer batch_import_result_ref (gpointer instance);
void batch_import_result_unref (gpointer instance);
GParamSpec* param_spec_batch_import_result (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void value_set_batch_import_result (GValue* value, gpointer v_object);
void value_take_batch_import_result (GValue* value, gpointer v_object);
gpointer value_get_batch_import_result (const GValue* value);
GType batch_import_result_get_type (void) G_GNUC_CONST;
gpointer import_ui_question_params_ref (gpointer instance);
void import_ui_question_params_unref (gpointer instance);
GParamSpec* import_ui_param_spec_question_params (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void import_ui_value_set_question_params (GValue* value, gpointer v_object);
void import_ui_value_take_question_params (GValue* value, gpointer v_object);
gpointer import_ui_value_get_question_params (const GValue* value);
GType import_ui_question_params_get_type (void) G_GNUC_CONST;
gboolean import_ui_report_manifest (ImportManifest* manifest, gboolean show_dest_id, ImportUIQuestionParams* question);
void editing_exec (const gchar* filename);
void direct_preconfigure (GFile* initial_file);
void direct_app_init (GError** error);
GType direct_window_get_type (void) G_GNUC_CONST;
DirectWindow* direct_window_new (GFile* file);
DirectWindow* direct_window_construct (GType object_type, GFile* file);
void direct_app_terminate (void);
GOptionEntry* commandline_options_get_options (int* result_length1);
static GOptionEntry* _vala_array_dup26 (GOptionEntry* self, int length);
static void _vala_array_add152 (GOptionEntry** array, int* length, int* size, const GOptionEntry* value);
static void _vala_array_add153 (GOptionEntry** array, int* length, int* size, const GOptionEntry* value);
static void _vala_array_add154 (GOptionEntry** array, int* length, int* size, const GOptionEntry* value);
static void _vala_array_add155 (GOptionEntry** array, int* length, int* size, const GOptionEntry* value);
static void _vala_array_add156 (GOptionEntry** array, int* length, int* size, const GOptionEntry* value);
static GOptionEntry* _vala_array_dup27 (GOptionEntry* self, int length);
void _vala_main (gchar** args, int args_length1);
void app_dirs_init (const gchar* arg0);
GFile* app_dirs_get_install_dir (void);
GFile* app_dirs_get_exec_dir (void);
#define RESOURCES_APP_GETTEXT_PACKAGE GETTEXT_PACKAGE
void app_dirs_terminate (void);
#define RESOURCES_GIT_VERSION _GIT_VERSION
gboolean library_window_is_mount_uri_supported (const gchar* uri);
static void _vala_array_add157 (gchar*** array, int* length, int* size, gchar* value);
gboolean is_string_empty (const gchar* s);
#define DEBUG_LIBRARY_PREFIX "L"
#define DEBUG_VIEWER_PREFIX "V"
void debug_init (const gchar* app_version_prefix);
#define RESOURCES_APP_LIBRARY_ROLE _ ("Photo Manager")
#define RESOURCES_APP_DIRECT_ROLE _ ("Photo Viewer")
void application_init (gboolean is_direct);
void app_dirs_set_data_dir (const gchar* user_data_dir);
void app_dirs_try_migrate_data (void);
void app_dirs_verify_data_dir (void);
void app_dirs_verify_cache_dir (void);
void international_support_init (const gchar* package_name, gchar** args, int args_length1, const gchar* locale);
#define INTERNATIONAL_SUPPORT_SYSTEM_LOCALE ""
void resources_init (void);
void resources_terminate (void);
void application_terminate (void);
void debug_terminate (void);
static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);


GType shotwell_command_get_type (void) {
	static volatile gsize shotwell_command_type_id__volatile = 0;
	if (g_once_init_enter (&shotwell_command_type_id__volatile)) {
		static const GEnumValue values[] = {{SHOTWELL_COMMAND_MOUNTED_CAMERA, "SHOTWELL_COMMAND_MOUNTED_CAMERA", "mounted-camera"}, {0, NULL, NULL}};
		GType shotwell_command_type_id;
		shotwell_command_type_id = g_enum_register_static ("ShotwellCommand", values);
		g_once_init_leave (&shotwell_command_type_id__volatile, shotwell_command_type_id);
	}
	return shotwell_command_type_id__volatile;
}


static gboolean _progress_dialog_monitor_progress_monitor (guint64 current, guint64 total, gboolean do_event_loop, gpointer self) {
	gboolean result;
	result = progress_dialog_monitor ((ProgressDialog*) self, current, total, do_event_loop);
#line 114 "/home/jens/Source/shotwell/src/main.vala"
	return result;
#line 703 "main.c"
}


static gboolean _aggregate_progress_monitor_monitor_progress_monitor (guint64 current, guint64 total, gboolean do_event_loop, gpointer self) {
	gboolean result;
	result = aggregate_progress_monitor_monitor ((AggregateProgressMonitor*) self, current, total);
#line 115 "/home/jens/Source/shotwell/src/main.vala"
	return result;
#line 712 "main.c"
}


static gpointer _g_object_ref0 (gpointer self) {
#line 185 "/home/jens/Source/shotwell/src/main.vala"
	return self ? g_object_ref (self) : NULL;
#line 719 "main.c"
}


void library_exec (gchar** mounts, int mounts_length1) {
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	GFile* _tmp3_ = NULL;
	GFile* _tmp4_ = NULL;
	GFile* _tmp5_ = NULL;
	GFile* _tmp6_ = NULL;
	gchar* errormsg = NULL;
	gchar* app_version = NULL;
	gint schema_version = 0;
	DbVerifyResult _result_ = 0;
	gchar* _tmp9_ = NULL;
	gint _tmp10_ = 0;
	DbVerifyResult _tmp11_ = 0;
	DbVerifyResult _tmp12_ = 0;
	const gchar* _tmp33_ = NULL;
	ProgressDialog* progress_dialog = NULL;
	AggregateProgressMonitor* aggregate_monitor = NULL;
	ProgressMonitor monitor = NULL;
	void* monitor_target = NULL;
	GDestroyNotify monitor_target_destroy_notify = NULL;
	gboolean _tmp39_ = FALSE;
	AggregateProgressMonitor* _tmp79_ = NULL;
	ProgressMonitor _tmp81_ = NULL;
	void* _tmp81__target = NULL;
	AggregateProgressMonitor* _tmp82_ = NULL;
	ProgressMonitor _tmp84_ = NULL;
	void* _tmp84__target = NULL;
	AggregateProgressMonitor* _tmp85_ = NULL;
	Upgrades* _tmp87_ = NULL;
	Upgrades* _tmp88_ = NULL;
	MediaCollectionRegistry* registry = NULL;
	MediaCollectionRegistry* _tmp89_ = NULL;
	MediaCollectionRegistry* _tmp90_ = NULL;
	LibraryPhotoSourceCollection* _tmp91_ = NULL;
	MediaCollectionRegistry* _tmp92_ = NULL;
	VideoSourceCollection* _tmp93_ = NULL;
	AggregateProgressMonitor* _tmp94_ = NULL;
	ProgressMonitor _tmp96_ = NULL;
	void* _tmp96__target = NULL;
	AggregateProgressMonitor* _tmp97_ = NULL;
	ProgressMonitor _tmp99_ = NULL;
	void* _tmp99__target = NULL;
	Application* _tmp100_ = NULL;
	Application* _tmp101_ = NULL;
	AggregateProgressMonitor* _tmp102_ = NULL;
	LibraryWindow* library_window = NULL;
	ProgressMonitor _tmp104_ = NULL;
	void* _tmp104__target = NULL;
	LibraryWindow* _tmp105_ = NULL;
	AggregateProgressMonitor* _tmp106_ = NULL;
	ProgressDialog* _tmp108_ = NULL;
	gchar** _tmp110_ = NULL;
	gint _tmp110__length1 = 0;
	LibraryWindow* _tmp114_ = NULL;
	WelcomeServiceEntry** selected_import_entries = NULL;
	WelcomeServiceEntry** _tmp115_ = NULL;
	gint selected_import_entries_length1 = 0;
	gint _selected_import_entries_size_ = 0;
	gboolean _tmp116_ = FALSE;
	ConfigFacade* _tmp117_ = NULL;
	ConfigFacade* _tmp118_ = NULL;
	gboolean _tmp119_ = FALSE;
	gboolean _tmp120_ = FALSE;
	WelcomeServiceEntry** _tmp134_ = NULL;
	gint _tmp134__length1 = 0;
	gboolean _tmp138_ = FALSE;
	GTimer* _tmp139_ = NULL;
	gdouble _tmp140_ = 0.0;
	Application* _tmp141_ = NULL;
	Application* _tmp142_ = NULL;
	GError * _inner_error_ = NULL;
#line 16 "/home/jens/Source/shotwell/src/main.vala"
	_tmp0_ = application_get_is_remote ();
#line 16 "/home/jens/Source/shotwell/src/main.vala"
	was_already_running = _tmp0_;
#line 18 "/home/jens/Source/shotwell/src/main.vala"
	_tmp1_ = was_already_running;
#line 18 "/home/jens/Source/shotwell/src/main.vala"
	if (_tmp1_) {
#line 803 "main.c"
		gchar** _tmp2_ = NULL;
		gint _tmp2__length1 = 0;
#line 25 "/home/jens/Source/shotwell/src/main.vala"
		application_present_primary_instance ();
#line 26 "/home/jens/Source/shotwell/src/main.vala"
		_tmp2_ = mounts;
#line 26 "/home/jens/Source/shotwell/src/main.vala"
		_tmp2__length1 = mounts_length1;
#line 26 "/home/jens/Source/shotwell/src/main.vala"
		application_send_to_primary_instance (_tmp2_, _tmp2__length1);
#line 27 "/home/jens/Source/shotwell/src/main.vala"
		return;
#line 816 "main.c"
	}
#line 31 "/home/jens/Source/shotwell/src/main.vala"
	_tmp3_ = app_dirs_get_data_subdir ("data", NULL);
#line 31 "/home/jens/Source/shotwell/src/main.vala"
	_tmp4_ = _tmp3_;
#line 31 "/home/jens/Source/shotwell/src/main.vala"
	_tmp5_ = g_file_get_child (_tmp4_, "photo.db");
#line 31 "/home/jens/Source/shotwell/src/main.vala"
	_tmp6_ = _tmp5_;
#line 31 "/home/jens/Source/shotwell/src/main.vala"
	db_preconfigure (_tmp6_);
#line 31 "/home/jens/Source/shotwell/src/main.vala"
	_g_object_unref0 (_tmp6_);
#line 31 "/home/jens/Source/shotwell/src/main.vala"
	_g_object_unref0 (_tmp4_);
#line 832 "main.c"
	{
#line 35 "/home/jens/Source/shotwell/src/main.vala"
		library_app_init (&_inner_error_);
#line 35 "/home/jens/Source/shotwell/src/main.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 838 "main.c"
			goto __catch219_g_error;
		}
	}
	goto __finally219;
	__catch219_g_error:
	{
		GError* err = NULL;
		GError* _tmp7_ = NULL;
		const gchar* _tmp8_ = NULL;
#line 34 "/home/jens/Source/shotwell/src/main.vala"
		err = _inner_error_;
#line 34 "/home/jens/Source/shotwell/src/main.vala"
		_inner_error_ = NULL;
#line 37 "/home/jens/Source/shotwell/src/main.vala"
		_tmp7_ = err;
#line 37 "/home/jens/Source/shotwell/src/main.vala"
		_tmp8_ = _tmp7_->message;
#line 37 "/home/jens/Source/shotwell/src/main.vala"
		app_window_panic (_tmp8_);
#line 39 "/home/jens/Source/shotwell/src/main.vala"
		_g_error_free0 (err);
#line 39 "/home/jens/Source/shotwell/src/main.vala"
		return;
#line 862 "main.c"
	}
	__finally219:
#line 34 "/home/jens/Source/shotwell/src/main.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 34 "/home/jens/Source/shotwell/src/main.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 34 "/home/jens/Source/shotwell/src/main.vala"
		g_clear_error (&_inner_error_);
#line 34 "/home/jens/Source/shotwell/src/main.vala"
		return;
#line 873 "main.c"
	}
#line 43 "/home/jens/Source/shotwell/src/main.vala"
	g_message ("main.vala:43: Verifying database…");
#line 44 "/home/jens/Source/shotwell/src/main.vala"
	errormsg = NULL;
#line 47 "/home/jens/Source/shotwell/src/main.vala"
	_tmp11_ = db_verify_database (&_tmp9_, &_tmp10_);
#line 47 "/home/jens/Source/shotwell/src/main.vala"
	_g_free0 (app_version);
#line 47 "/home/jens/Source/shotwell/src/main.vala"
	app_version = _tmp9_;
#line 47 "/home/jens/Source/shotwell/src/main.vala"
	schema_version = _tmp10_;
#line 47 "/home/jens/Source/shotwell/src/main.vala"
	_result_ = _tmp11_;
#line 48 "/home/jens/Source/shotwell/src/main.vala"
	_tmp12_ = _result_;
#line 48 "/home/jens/Source/shotwell/src/main.vala"
	switch (_tmp12_) {
#line 48 "/home/jens/Source/shotwell/src/main.vala"
		case DB_VERIFY_RESULT_OK:
#line 895 "main.c"
		{
#line 51 "/home/jens/Source/shotwell/src/main.vala"
			break;
#line 899 "main.c"
		}
#line 48 "/home/jens/Source/shotwell/src/main.vala"
		case DB_VERIFY_RESULT_FUTURE_VERSION:
#line 903 "main.c"
		{
			const gchar* _tmp13_ = NULL;
			const gchar* _tmp14_ = NULL;
			gint _tmp15_ = 0;
			gchar* _tmp16_ = NULL;
#line 54 "/home/jens/Source/shotwell/src/main.vala"
			_tmp13_ = _ ("Your photo library is not compatible with this version of Shotwell. It" \
" appears it was created by Shotwell %s (schema %d). This version is %s" \
" (schema %d). Please use the latest version of Shotwell.");
#line 54 "/home/jens/Source/shotwell/src/main.vala"
			_tmp14_ = app_version;
#line 54 "/home/jens/Source/shotwell/src/main.vala"
			_tmp15_ = schema_version;
#line 54 "/home/jens/Source/shotwell/src/main.vala"
			_tmp16_ = g_strdup_printf (_tmp13_, _tmp14_, _tmp15_, RESOURCES_APP_VERSION, DATABASE_TABLE_SCHEMA_VERSION);
#line 54 "/home/jens/Source/shotwell/src/main.vala"
			_g_free0 (errormsg);
#line 54 "/home/jens/Source/shotwell/src/main.vala"
			errormsg = _tmp16_;
#line 56 "/home/jens/Source/shotwell/src/main.vala"
			break;
#line 923 "main.c"
		}
#line 48 "/home/jens/Source/shotwell/src/main.vala"
		case DB_VERIFY_RESULT_UPGRADE_ERROR:
#line 927 "main.c"
		{
			const gchar* _tmp17_ = NULL;
			const gchar* _tmp18_ = NULL;
			gint _tmp19_ = 0;
			gchar* _tmp20_ = NULL;
#line 59 "/home/jens/Source/shotwell/src/main.vala"
			_tmp17_ = _ ("Shotwell was unable to upgrade your photo library from version %s (sch" \
"ema %d) to %s (schema %d). For more information please check the Shotw" \
"ell Wiki at %s");
#line 59 "/home/jens/Source/shotwell/src/main.vala"
			_tmp18_ = app_version;
#line 59 "/home/jens/Source/shotwell/src/main.vala"
			_tmp19_ = schema_version;
#line 59 "/home/jens/Source/shotwell/src/main.vala"
			_tmp20_ = g_strdup_printf (_tmp17_, _tmp18_, _tmp19_, RESOURCES_APP_VERSION, DATABASE_TABLE_SCHEMA_VERSION, RESOURCES_HOME_URL);
#line 59 "/home/jens/Source/shotwell/src/main.vala"
			_g_free0 (errormsg);
#line 59 "/home/jens/Source/shotwell/src/main.vala"
			errormsg = _tmp20_;
#line 62 "/home/jens/Source/shotwell/src/main.vala"
			break;
#line 947 "main.c"
		}
#line 48 "/home/jens/Source/shotwell/src/main.vala"
		case DB_VERIFY_RESULT_NO_UPGRADE_AVAILABLE:
#line 951 "main.c"
		{
			const gchar* _tmp21_ = NULL;
			const gchar* _tmp22_ = NULL;
			gint _tmp23_ = 0;
			GFile* _tmp24_ = NULL;
			GFile* _tmp25_ = NULL;
			gchar* _tmp26_ = NULL;
			gchar* _tmp27_ = NULL;
			gchar* _tmp28_ = NULL;
#line 65 "/home/jens/Source/shotwell/src/main.vala"
			_tmp21_ = _ ("Your photo library is not compatible with this version of Shotwell. It" \
" appears it was created by Shotwell %s (schema %d). This version is %s" \
" (schema %d). Please clear your library by deleting %s and re-import y" \
"our photos.");
#line 65 "/home/jens/Source/shotwell/src/main.vala"
			_tmp22_ = app_version;
#line 65 "/home/jens/Source/shotwell/src/main.vala"
			_tmp23_ = schema_version;
#line 65 "/home/jens/Source/shotwell/src/main.vala"
			_tmp24_ = app_dirs_get_data_dir ();
#line 65 "/home/jens/Source/shotwell/src/main.vala"
			_tmp25_ = _tmp24_;
#line 65 "/home/jens/Source/shotwell/src/main.vala"
			_tmp26_ = g_file_get_path (_tmp25_);
#line 65 "/home/jens/Source/shotwell/src/main.vala"
			_tmp27_ = _tmp26_;
#line 65 "/home/jens/Source/shotwell/src/main.vala"
			_tmp28_ = g_strdup_printf (_tmp21_, _tmp22_, _tmp23_, RESOURCES_APP_VERSION, DATABASE_TABLE_SCHEMA_VERSION, _tmp27_);
#line 65 "/home/jens/Source/shotwell/src/main.vala"
			_g_free0 (errormsg);
#line 65 "/home/jens/Source/shotwell/src/main.vala"
			errormsg = _tmp28_;
#line 65 "/home/jens/Source/shotwell/src/main.vala"
			_g_free0 (_tmp27_);
#line 65 "/home/jens/Source/shotwell/src/main.vala"
			_g_object_unref0 (_tmp25_);
#line 68 "/home/jens/Source/shotwell/src/main.vala"
			break;
#line 987 "main.c"
		}
		default:
		{
			const gchar* _tmp29_ = NULL;
			DbVerifyResult _tmp30_ = 0;
			GEnumValue* _tmp31_;
			gchar* _tmp32_ = NULL;
#line 71 "/home/jens/Source/shotwell/src/main.vala"
			_tmp29_ = _ ("Unknown error attempting to verify Shotwell’s database: %s");
#line 71 "/home/jens/Source/shotwell/src/main.vala"
			_tmp30_ = _result_;
#line 72 "/home/jens/Source/shotwell/src/main.vala"
			_tmp31_ = g_enum_get_value (g_type_class_ref (DB_TYPE_VERIFY_RESULT), _tmp30_);
#line 71 "/home/jens/Source/shotwell/src/main.vala"
			_tmp32_ = g_strdup_printf (_tmp29_, (_tmp31_ != NULL) ? _tmp31_->value_name : NULL);
#line 71 "/home/jens/Source/shotwell/src/main.vala"
			_g_free0 (errormsg);
#line 71 "/home/jens/Source/shotwell/src/main.vala"
			errormsg = _tmp32_;
#line 73 "/home/jens/Source/shotwell/src/main.vala"
			break;
#line 1009 "main.c"
		}
	}
#line 76 "/home/jens/Source/shotwell/src/main.vala"
	_tmp33_ = errormsg;
#line 76 "/home/jens/Source/shotwell/src/main.vala"
	if (_tmp33_ != NULL) {
#line 1016 "main.c"
		GtkMessageDialog* dialog = NULL;
		const gchar* _tmp34_ = NULL;
		GtkMessageDialog* _tmp35_ = NULL;
		GtkMessageDialog* _tmp36_ = NULL;
		GtkMessageDialog* _tmp37_ = NULL;
		GtkMessageDialog* _tmp38_ = NULL;
#line 77 "/home/jens/Source/shotwell/src/main.vala"
		_tmp34_ = errormsg;
#line 77 "/home/jens/Source/shotwell/src/main.vala"
		_tmp35_ = (GtkMessageDialog*) gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "%s", _tmp34_);
#line 77 "/home/jens/Source/shotwell/src/main.vala"
		g_object_ref_sink (_tmp35_);
#line 77 "/home/jens/Source/shotwell/src/main.vala"
		dialog = _tmp35_;
#line 79 "/home/jens/Source/shotwell/src/main.vala"
		_tmp36_ = dialog;
#line 79 "/home/jens/Source/shotwell/src/main.vala"
		gtk_window_set_title (G_TYPE_CHECK_INSTANCE_CAST (_tmp36_, gtk_window_get_type (), GtkWindow), RESOURCES_APP_TITLE);
#line 80 "/home/jens/Source/shotwell/src/main.vala"
		_tmp37_ = dialog;
#line 80 "/home/jens/Source/shotwell/src/main.vala"
		gtk_dialog_run (G_TYPE_CHECK_INSTANCE_CAST (_tmp37_, gtk_dialog_get_type (), GtkDialog));
#line 81 "/home/jens/Source/shotwell/src/main.vala"
		_tmp38_ = dialog;
#line 81 "/home/jens/Source/shotwell/src/main.vala"
		gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (_tmp38_, gtk_widget_get_type (), GtkWidget));
#line 83 "/home/jens/Source/shotwell/src/main.vala"
		database_table_terminate ();
#line 85 "/home/jens/Source/shotwell/src/main.vala"
		_g_object_unref0 (dialog);
#line 85 "/home/jens/Source/shotwell/src/main.vala"
		_g_free0 (app_version);
#line 85 "/home/jens/Source/shotwell/src/main.vala"
		_g_free0 (errormsg);
#line 85 "/home/jens/Source/shotwell/src/main.vala"
		return;
#line 1053 "main.c"
	}
#line 88 "/home/jens/Source/shotwell/src/main.vala"
	upgrades_init ();
#line 90 "/home/jens/Source/shotwell/src/main.vala"
	progress_dialog = NULL;
#line 91 "/home/jens/Source/shotwell/src/main.vala"
	aggregate_monitor = NULL;
#line 92 "/home/jens/Source/shotwell/src/main.vala"
	monitor = NULL;
#line 92 "/home/jens/Source/shotwell/src/main.vala"
	monitor_target = NULL;
#line 92 "/home/jens/Source/shotwell/src/main.vala"
	monitor_target_destroy_notify = NULL;
#line 94 "/home/jens/Source/shotwell/src/main.vala"
	_tmp39_ = commandline_options_no_startup_progress;
#line 94 "/home/jens/Source/shotwell/src/main.vala"
	if (!_tmp39_) {
#line 1071 "main.c"
		guint64 grand_total = 0ULL;
		PhotoTable* _tmp40_ = NULL;
		PhotoTable* _tmp41_ = NULL;
		gint _tmp42_ = 0;
		EventTable* _tmp43_ = NULL;
		EventTable* _tmp44_ = NULL;
		gint _tmp45_ = 0;
		TagTable* _tmp46_ = NULL;
		TagTable* _tmp47_ = NULL;
		gint _tmp48_ = 0;
		VideoTable* _tmp49_ = NULL;
		VideoTable* _tmp50_ = NULL;
		gint _tmp51_ = 0;
		Upgrades* _tmp52_ = NULL;
		Upgrades* _tmp53_ = NULL;
		guint64 _tmp54_ = 0ULL;
		guint64 _tmp55_ = 0ULL;
		guint64 _tmp56_ = 0ULL;
#line 98 "/home/jens/Source/shotwell/src/main.vala"
		_tmp40_ = photo_table_get_instance ();
#line 98 "/home/jens/Source/shotwell/src/main.vala"
		_tmp41_ = _tmp40_;
#line 98 "/home/jens/Source/shotwell/src/main.vala"
		_tmp42_ = database_table_get_row_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp41_, TYPE_DATABASE_TABLE, DatabaseTable));
#line 98 "/home/jens/Source/shotwell/src/main.vala"
		_tmp43_ = event_table_get_instance ();
#line 98 "/home/jens/Source/shotwell/src/main.vala"
		_tmp44_ = _tmp43_;
#line 98 "/home/jens/Source/shotwell/src/main.vala"
		_tmp45_ = database_table_get_row_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp44_, TYPE_DATABASE_TABLE, DatabaseTable));
#line 98 "/home/jens/Source/shotwell/src/main.vala"
		_tmp46_ = tag_table_get_instance ();
#line 98 "/home/jens/Source/shotwell/src/main.vala"
		_tmp47_ = _tmp46_;
#line 98 "/home/jens/Source/shotwell/src/main.vala"
		_tmp48_ = database_table_get_row_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp47_, TYPE_DATABASE_TABLE, DatabaseTable));
#line 98 "/home/jens/Source/shotwell/src/main.vala"
		_tmp49_ = video_table_get_instance ();
#line 98 "/home/jens/Source/shotwell/src/main.vala"
		_tmp50_ = _tmp49_;
#line 98 "/home/jens/Source/shotwell/src/main.vala"
		_tmp51_ = database_table_get_row_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp50_, TYPE_DATABASE_TABLE, DatabaseTable));
#line 98 "/home/jens/Source/shotwell/src/main.vala"
		_tmp52_ = upgrades_get_instance ();
#line 98 "/home/jens/Source/shotwell/src/main.vala"
		_tmp53_ = _tmp52_;
#line 98 "/home/jens/Source/shotwell/src/main.vala"
		_tmp54_ = upgrades_get_step_count (_tmp53_);
#line 98 "/home/jens/Source/shotwell/src/main.vala"
		_tmp55_ = (((_tmp42_ + _tmp45_) + _tmp48_) + _tmp51_) + _tmp54_;
#line 98 "/home/jens/Source/shotwell/src/main.vala"
		_upgrades_unref0 (_tmp53_);
#line 98 "/home/jens/Source/shotwell/src/main.vala"
		_database_table_unref0 (_tmp50_);
#line 98 "/home/jens/Source/shotwell/src/main.vala"
		_database_table_unref0 (_tmp47_);
#line 98 "/home/jens/Source/shotwell/src/main.vala"
		_database_table_unref0 (_tmp44_);
#line 98 "/home/jens/Source/shotwell/src/main.vala"
		_database_table_unref0 (_tmp41_);
#line 98 "/home/jens/Source/shotwell/src/main.vala"
		grand_total = _tmp55_;
#line 103 "/home/jens/Source/shotwell/src/main.vala"
		_tmp56_ = grand_total;
#line 103 "/home/jens/Source/shotwell/src/main.vala"
		if (_tmp56_ > ((guint64) 5000)) {
#line 1138 "main.c"
			const gchar* _tmp57_ = NULL;
			ProgressDialog* _tmp58_ = NULL;
			ProgressDialog* _tmp59_ = NULL;
			ProgressDialog* _tmp60_ = NULL;
			guint64 _tmp75_ = 0ULL;
			ProgressDialog* _tmp76_ = NULL;
			AggregateProgressMonitor* _tmp77_ = NULL;
			AggregateProgressMonitor* _tmp78_ = NULL;
#line 104 "/home/jens/Source/shotwell/src/main.vala"
			_tmp57_ = _ ("Loading Shotwell");
#line 104 "/home/jens/Source/shotwell/src/main.vala"
			_tmp58_ = progress_dialog_new (NULL, _tmp57_, NULL);
#line 104 "/home/jens/Source/shotwell/src/main.vala"
			g_object_ref_sink (_tmp58_);
#line 104 "/home/jens/Source/shotwell/src/main.vala"
			_g_object_unref0 (progress_dialog);
#line 104 "/home/jens/Source/shotwell/src/main.vala"
			progress_dialog = _tmp58_;
#line 105 "/home/jens/Source/shotwell/src/main.vala"
			_tmp59_ = progress_dialog;
#line 105 "/home/jens/Source/shotwell/src/main.vala"
			progress_dialog_update_display_every (_tmp59_, 100);
#line 106 "/home/jens/Source/shotwell/src/main.vala"
			_tmp60_ = progress_dialog;
#line 106 "/home/jens/Source/shotwell/src/main.vala"
			progress_dialog_set_minimum_on_screen_time_msec (_tmp60_, 250);
#line 1165 "main.c"
			{
				gchar* icon_path = NULL;
				GFile* _tmp61_ = NULL;
				GFile* _tmp62_ = NULL;
				GFile* _tmp63_ = NULL;
				GFile* _tmp64_ = NULL;
				GFile* _tmp65_ = NULL;
				GFile* _tmp66_ = NULL;
				gchar* _tmp67_ = NULL;
				gchar* _tmp68_ = NULL;
				GdkPixbuf* _tmp69_ = NULL;
				const gchar* _tmp70_ = NULL;
				GdkPixbuf* _tmp71_ = NULL;
				ProgressDialog* _tmp72_ = NULL;
#line 108 "/home/jens/Source/shotwell/src/main.vala"
				_tmp61_ = app_dirs_get_resources_dir ();
#line 108 "/home/jens/Source/shotwell/src/main.vala"
				_tmp62_ = _tmp61_;
#line 108 "/home/jens/Source/shotwell/src/main.vala"
				_tmp63_ = g_file_get_child (_tmp62_, "icons");
#line 108 "/home/jens/Source/shotwell/src/main.vala"
				_tmp64_ = _tmp63_;
#line 108 "/home/jens/Source/shotwell/src/main.vala"
				_tmp65_ = g_file_get_child (_tmp64_, "shotwell.svg");
#line 108 "/home/jens/Source/shotwell/src/main.vala"
				_tmp66_ = _tmp65_;
#line 108 "/home/jens/Source/shotwell/src/main.vala"
				_tmp67_ = g_file_get_path (_tmp66_);
#line 108 "/home/jens/Source/shotwell/src/main.vala"
				_tmp68_ = _tmp67_;
#line 108 "/home/jens/Source/shotwell/src/main.vala"
				_g_object_unref0 (_tmp66_);
#line 108 "/home/jens/Source/shotwell/src/main.vala"
				_g_object_unref0 (_tmp64_);
#line 108 "/home/jens/Source/shotwell/src/main.vala"
				_g_object_unref0 (_tmp62_);
#line 108 "/home/jens/Source/shotwell/src/main.vala"
				icon_path = _tmp68_;
#line 109 "/home/jens/Source/shotwell/src/main.vala"
				_tmp70_ = icon_path;
#line 109 "/home/jens/Source/shotwell/src/main.vala"
				_tmp71_ = gdk_pixbuf_new_from_file (_tmp70_, &_inner_error_);
#line 109 "/home/jens/Source/shotwell/src/main.vala"
				_tmp69_ = _tmp71_;
#line 109 "/home/jens/Source/shotwell/src/main.vala"
				if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 109 "/home/jens/Source/shotwell/src/main.vala"
					_g_free0 (icon_path);
#line 1214 "main.c"
					goto __catch220_g_error;
				}
#line 109 "/home/jens/Source/shotwell/src/main.vala"
				_tmp72_ = progress_dialog;
#line 109 "/home/jens/Source/shotwell/src/main.vala"
				gtk_window_set_icon (G_TYPE_CHECK_INSTANCE_CAST (_tmp72_, gtk_window_get_type (), GtkWindow), _tmp69_);
#line 107 "/home/jens/Source/shotwell/src/main.vala"
				_g_object_unref0 (_tmp69_);
#line 107 "/home/jens/Source/shotwell/src/main.vala"
				_g_free0 (icon_path);
#line 1225 "main.c"
			}
			goto __finally220;
			__catch220_g_error:
			{
				GError* err = NULL;
				GError* _tmp73_ = NULL;
				const gchar* _tmp74_ = NULL;
#line 107 "/home/jens/Source/shotwell/src/main.vala"
				err = _inner_error_;
#line 107 "/home/jens/Source/shotwell/src/main.vala"
				_inner_error_ = NULL;
#line 111 "/home/jens/Source/shotwell/src/main.vala"
				_tmp73_ = err;
#line 111 "/home/jens/Source/shotwell/src/main.vala"
				_tmp74_ = _tmp73_->message;
#line 111 "/home/jens/Source/shotwell/src/main.vala"
				g_debug ("main.vala:111: Warning - could not load application icon for loading w" \
"indow: %s", _tmp74_);
#line 107 "/home/jens/Source/shotwell/src/main.vala"
				_g_error_free0 (err);
#line 1245 "main.c"
			}
			__finally220:
#line 107 "/home/jens/Source/shotwell/src/main.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 107 "/home/jens/Source/shotwell/src/main.vala"
				(monitor_target_destroy_notify == NULL) ? NULL : (monitor_target_destroy_notify (monitor_target), NULL);
#line 107 "/home/jens/Source/shotwell/src/main.vala"
				monitor = NULL;
#line 107 "/home/jens/Source/shotwell/src/main.vala"
				monitor_target = NULL;
#line 107 "/home/jens/Source/shotwell/src/main.vala"
				monitor_target_destroy_notify = NULL;
#line 107 "/home/jens/Source/shotwell/src/main.vala"
				_aggregate_progress_monitor_unref0 (aggregate_monitor);
#line 107 "/home/jens/Source/shotwell/src/main.vala"
				_g_object_unref0 (progress_dialog);
#line 107 "/home/jens/Source/shotwell/src/main.vala"
				_g_free0 (app_version);
#line 107 "/home/jens/Source/shotwell/src/main.vala"
				_g_free0 (errormsg);
#line 107 "/home/jens/Source/shotwell/src/main.vala"
				g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 107 "/home/jens/Source/shotwell/src/main.vala"
				g_clear_error (&_inner_error_);
#line 107 "/home/jens/Source/shotwell/src/main.vala"
				return;
#line 1272 "main.c"
			}
#line 114 "/home/jens/Source/shotwell/src/main.vala"
			_tmp75_ = grand_total;
#line 114 "/home/jens/Source/shotwell/src/main.vala"
			_tmp76_ = progress_dialog;
#line 114 "/home/jens/Source/shotwell/src/main.vala"
			_tmp77_ = aggregate_progress_monitor_new (_tmp75_, _progress_dialog_monitor_progress_monitor, _tmp76_);
#line 114 "/home/jens/Source/shotwell/src/main.vala"
			_aggregate_progress_monitor_unref0 (aggregate_monitor);
#line 114 "/home/jens/Source/shotwell/src/main.vala"
			aggregate_monitor = _tmp77_;
#line 115 "/home/jens/Source/shotwell/src/main.vala"
			_tmp78_ = aggregate_monitor;
#line 115 "/home/jens/Source/shotwell/src/main.vala"
			(monitor_target_destroy_notify == NULL) ? NULL : (monitor_target_destroy_notify (monitor_target), NULL);
#line 115 "/home/jens/Source/shotwell/src/main.vala"
			monitor = NULL;
#line 115 "/home/jens/Source/shotwell/src/main.vala"
			monitor_target = NULL;
#line 115 "/home/jens/Source/shotwell/src/main.vala"
			monitor_target_destroy_notify = NULL;
#line 115 "/home/jens/Source/shotwell/src/main.vala"
			monitor = _aggregate_progress_monitor_monitor_progress_monitor;
#line 115 "/home/jens/Source/shotwell/src/main.vala"
			monitor_target = aggregate_progress_monitor_ref (_tmp78_);
#line 115 "/home/jens/Source/shotwell/src/main.vala"
			monitor_target_destroy_notify = aggregate_progress_monitor_unref;
#line 1300 "main.c"
		}
	}
#line 119 "/home/jens/Source/shotwell/src/main.vala"
	thumbnail_cache_init ();
#line 120 "/home/jens/Source/shotwell/src/main.vala"
	tombstone_init ();
#line 122 "/home/jens/Source/shotwell/src/main.vala"
	_tmp79_ = aggregate_monitor;
#line 122 "/home/jens/Source/shotwell/src/main.vala"
	if (_tmp79_ != NULL) {
#line 1311 "main.c"
		AggregateProgressMonitor* _tmp80_ = NULL;
#line 123 "/home/jens/Source/shotwell/src/main.vala"
		_tmp80_ = aggregate_monitor;
#line 123 "/home/jens/Source/shotwell/src/main.vala"
		aggregate_progress_monitor_next_step (_tmp80_, "LibraryPhoto.init");
#line 1317 "main.c"
	}
#line 124 "/home/jens/Source/shotwell/src/main.vala"
	_tmp81_ = monitor;
#line 124 "/home/jens/Source/shotwell/src/main.vala"
	_tmp81__target = monitor_target;
#line 124 "/home/jens/Source/shotwell/src/main.vala"
	library_photo_init (_tmp81_, _tmp81__target);
#line 125 "/home/jens/Source/shotwell/src/main.vala"
	_tmp82_ = aggregate_monitor;
#line 125 "/home/jens/Source/shotwell/src/main.vala"
	if (_tmp82_ != NULL) {
#line 1329 "main.c"
		AggregateProgressMonitor* _tmp83_ = NULL;
#line 126 "/home/jens/Source/shotwell/src/main.vala"
		_tmp83_ = aggregate_monitor;
#line 126 "/home/jens/Source/shotwell/src/main.vala"
		aggregate_progress_monitor_next_step (_tmp83_, "Video.init");
#line 1335 "main.c"
	}
#line 127 "/home/jens/Source/shotwell/src/main.vala"
	_tmp84_ = monitor;
#line 127 "/home/jens/Source/shotwell/src/main.vala"
	_tmp84__target = monitor_target;
#line 127 "/home/jens/Source/shotwell/src/main.vala"
	video_init (_tmp84_, _tmp84__target);
#line 128 "/home/jens/Source/shotwell/src/main.vala"
	_tmp85_ = aggregate_monitor;
#line 128 "/home/jens/Source/shotwell/src/main.vala"
	if (_tmp85_ != NULL) {
#line 1347 "main.c"
		AggregateProgressMonitor* _tmp86_ = NULL;
#line 129 "/home/jens/Source/shotwell/src/main.vala"
		_tmp86_ = aggregate_monitor;
#line 129 "/home/jens/Source/shotwell/src/main.vala"
		aggregate_progress_monitor_next_step (_tmp86_, "Upgrades.execute");
#line 1353 "main.c"
	}
#line 130 "/home/jens/Source/shotwell/src/main.vala"
	_tmp87_ = upgrades_get_instance ();
#line 130 "/home/jens/Source/shotwell/src/main.vala"
	_tmp88_ = _tmp87_;
#line 130 "/home/jens/Source/shotwell/src/main.vala"
	upgrades_execute (_tmp88_, NULL, NULL);
#line 130 "/home/jens/Source/shotwell/src/main.vala"
	_upgrades_unref0 (_tmp88_);
#line 132 "/home/jens/Source/shotwell/src/main.vala"
	library_monitor_pool_init ();
#line 133 "/home/jens/Source/shotwell/src/main.vala"
	media_collection_registry_init ();
#line 134 "/home/jens/Source/shotwell/src/main.vala"
	_tmp89_ = media_collection_registry_get_instance ();
#line 134 "/home/jens/Source/shotwell/src/main.vala"
	registry = _tmp89_;
#line 135 "/home/jens/Source/shotwell/src/main.vala"
	_tmp90_ = registry;
#line 135 "/home/jens/Source/shotwell/src/main.vala"
	_tmp91_ = library_photo_global;
#line 135 "/home/jens/Source/shotwell/src/main.vala"
	media_collection_registry_register_collection (_tmp90_, G_TYPE_CHECK_INSTANCE_CAST (_tmp91_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection));
#line 136 "/home/jens/Source/shotwell/src/main.vala"
	_tmp92_ = registry;
#line 136 "/home/jens/Source/shotwell/src/main.vala"
	_tmp93_ = video_global;
#line 136 "/home/jens/Source/shotwell/src/main.vala"
	media_collection_registry_register_collection (_tmp92_, G_TYPE_CHECK_INSTANCE_CAST (_tmp93_, TYPE_MEDIA_SOURCE_COLLECTION, MediaSourceCollection));
#line 138 "/home/jens/Source/shotwell/src/main.vala"
	_tmp94_ = aggregate_monitor;
#line 138 "/home/jens/Source/shotwell/src/main.vala"
	if (_tmp94_ != NULL) {
#line 1387 "main.c"
		AggregateProgressMonitor* _tmp95_ = NULL;
#line 139 "/home/jens/Source/shotwell/src/main.vala"
		_tmp95_ = aggregate_monitor;
#line 139 "/home/jens/Source/shotwell/src/main.vala"
		aggregate_progress_monitor_next_step (_tmp95_, "Event.init");
#line 1393 "main.c"
	}
#line 140 "/home/jens/Source/shotwell/src/main.vala"
	_tmp96_ = monitor;
#line 140 "/home/jens/Source/shotwell/src/main.vala"
	_tmp96__target = monitor_target;
#line 140 "/home/jens/Source/shotwell/src/main.vala"
	event_init (_tmp96_, _tmp96__target);
#line 141 "/home/jens/Source/shotwell/src/main.vala"
	_tmp97_ = aggregate_monitor;
#line 141 "/home/jens/Source/shotwell/src/main.vala"
	if (_tmp97_ != NULL) {
#line 1405 "main.c"
		AggregateProgressMonitor* _tmp98_ = NULL;
#line 142 "/home/jens/Source/shotwell/src/main.vala"
		_tmp98_ = aggregate_monitor;
#line 142 "/home/jens/Source/shotwell/src/main.vala"
		aggregate_progress_monitor_next_step (_tmp98_, "Tag.init");
#line 1411 "main.c"
	}
#line 143 "/home/jens/Source/shotwell/src/main.vala"
	_tmp99_ = monitor;
#line 143 "/home/jens/Source/shotwell/src/main.vala"
	_tmp99__target = monitor_target;
#line 143 "/home/jens/Source/shotwell/src/main.vala"
	tag_init (_tmp99_, _tmp99__target);
#line 145 "/home/jens/Source/shotwell/src/main.vala"
	metadata_writer_init ();
#line 146 "/home/jens/Source/shotwell/src/main.vala"
	desktop_integration_init ();
#line 148 "/home/jens/Source/shotwell/src/main.vala"
	_tmp100_ = application_get_instance ();
#line 148 "/home/jens/Source/shotwell/src/main.vala"
	_tmp101_ = _tmp100_;
#line 148 "/home/jens/Source/shotwell/src/main.vala"
	g_signal_emit_by_name (_tmp101_, "init-done");
#line 148 "/home/jens/Source/shotwell/src/main.vala"
	_application_unref0 (_tmp101_);
#line 151 "/home/jens/Source/shotwell/src/main.vala"
	_tmp102_ = aggregate_monitor;
#line 151 "/home/jens/Source/shotwell/src/main.vala"
	if (_tmp102_ != NULL) {
#line 1435 "main.c"
		AggregateProgressMonitor* _tmp103_ = NULL;
#line 152 "/home/jens/Source/shotwell/src/main.vala"
		_tmp103_ = aggregate_monitor;
#line 152 "/home/jens/Source/shotwell/src/main.vala"
		aggregate_progress_monitor_next_step (_tmp103_, "LibraryWindow");
#line 1441 "main.c"
	}
#line 153 "/home/jens/Source/shotwell/src/main.vala"
	_tmp104_ = monitor;
#line 153 "/home/jens/Source/shotwell/src/main.vala"
	_tmp104__target = monitor_target;
#line 153 "/home/jens/Source/shotwell/src/main.vala"
	_tmp105_ = library_window_new (_tmp104_, _tmp104__target);
#line 153 "/home/jens/Source/shotwell/src/main.vala"
	g_object_ref_sink (_tmp105_);
#line 153 "/home/jens/Source/shotwell/src/main.vala"
	library_window = _tmp105_;
#line 155 "/home/jens/Source/shotwell/src/main.vala"
	_tmp106_ = aggregate_monitor;
#line 155 "/home/jens/Source/shotwell/src/main.vala"
	if (_tmp106_ != NULL) {
#line 1457 "main.c"
		AggregateProgressMonitor* _tmp107_ = NULL;
#line 156 "/home/jens/Source/shotwell/src/main.vala"
		_tmp107_ = aggregate_monitor;
#line 156 "/home/jens/Source/shotwell/src/main.vala"
		aggregate_progress_monitor_next_step (_tmp107_, "done");
#line 1463 "main.c"
	}
#line 161 "/home/jens/Source/shotwell/src/main.vala"
	(monitor_target_destroy_notify == NULL) ? NULL : (monitor_target_destroy_notify (monitor_target), NULL);
#line 161 "/home/jens/Source/shotwell/src/main.vala"
	monitor = NULL;
#line 161 "/home/jens/Source/shotwell/src/main.vala"
	monitor_target = NULL;
#line 161 "/home/jens/Source/shotwell/src/main.vala"
	monitor_target_destroy_notify = NULL;
#line 161 "/home/jens/Source/shotwell/src/main.vala"
	monitor = NULL;
#line 161 "/home/jens/Source/shotwell/src/main.vala"
	monitor_target = NULL;
#line 161 "/home/jens/Source/shotwell/src/main.vala"
	monitor_target_destroy_notify = NULL;
#line 162 "/home/jens/Source/shotwell/src/main.vala"
	_aggregate_progress_monitor_unref0 (aggregate_monitor);
#line 162 "/home/jens/Source/shotwell/src/main.vala"
	aggregate_monitor = NULL;
#line 163 "/home/jens/Source/shotwell/src/main.vala"
	_tmp108_ = progress_dialog;
#line 163 "/home/jens/Source/shotwell/src/main.vala"
	if (_tmp108_ != NULL) {
#line 1487 "main.c"
		ProgressDialog* _tmp109_ = NULL;
#line 164 "/home/jens/Source/shotwell/src/main.vala"
		_tmp109_ = progress_dialog;
#line 164 "/home/jens/Source/shotwell/src/main.vala"
		gtk_widget_destroy (G_TYPE_CHECK_INSTANCE_CAST (_tmp109_, gtk_widget_get_type (), GtkWidget));
#line 1493 "main.c"
	}
#line 165 "/home/jens/Source/shotwell/src/main.vala"
	_g_object_unref0 (progress_dialog);
#line 165 "/home/jens/Source/shotwell/src/main.vala"
	progress_dialog = NULL;
#line 168 "/home/jens/Source/shotwell/src/main.vala"
	_tmp110_ = mounts;
#line 168 "/home/jens/Source/shotwell/src/main.vala"
	_tmp110__length1 = mounts_length1;
#line 1503 "main.c"
	{
		gchar** mount_collection = NULL;
		gint mount_collection_length1 = 0;
		gint _mount_collection_size_ = 0;
		gint mount_it = 0;
#line 168 "/home/jens/Source/shotwell/src/main.vala"
		mount_collection = _tmp110_;
#line 168 "/home/jens/Source/shotwell/src/main.vala"
		mount_collection_length1 = _tmp110__length1;
#line 168 "/home/jens/Source/shotwell/src/main.vala"
		for (mount_it = 0; mount_it < _tmp110__length1; mount_it = mount_it + 1) {
#line 1515 "main.c"
			gchar* _tmp111_ = NULL;
			gchar* mount = NULL;
#line 168 "/home/jens/Source/shotwell/src/main.vala"
			_tmp111_ = g_strdup (mount_collection[mount_it]);
#line 168 "/home/jens/Source/shotwell/src/main.vala"
			mount = _tmp111_;
#line 1522 "main.c"
			{
				LibraryWindow* _tmp112_ = NULL;
				const gchar* _tmp113_ = NULL;
#line 169 "/home/jens/Source/shotwell/src/main.vala"
				_tmp112_ = library_window;
#line 169 "/home/jens/Source/shotwell/src/main.vala"
				_tmp113_ = mount;
#line 169 "/home/jens/Source/shotwell/src/main.vala"
				library_window_mounted_camera_shell_notification (_tmp112_, _tmp113_, TRUE);
#line 168 "/home/jens/Source/shotwell/src/main.vala"
				_g_free0 (mount);
#line 1534 "main.c"
			}
		}
	}
#line 171 "/home/jens/Source/shotwell/src/main.vala"
	_tmp114_ = library_window;
#line 171 "/home/jens/Source/shotwell/src/main.vala"
	gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp114_, gtk_widget_get_type (), GtkWidget));
#line 173 "/home/jens/Source/shotwell/src/main.vala"
	_tmp115_ = g_new0 (WelcomeServiceEntry*, 0 + 1);
#line 173 "/home/jens/Source/shotwell/src/main.vala"
	selected_import_entries = _tmp115_;
#line 173 "/home/jens/Source/shotwell/src/main.vala"
	selected_import_entries_length1 = 0;
#line 173 "/home/jens/Source/shotwell/src/main.vala"
	_selected_import_entries_size_ = selected_import_entries_length1;
#line 174 "/home/jens/Source/shotwell/src/main.vala"
	_tmp117_ = config_facade_get_instance ();
#line 174 "/home/jens/Source/shotwell/src/main.vala"
	_tmp118_ = _tmp117_;
#line 174 "/home/jens/Source/shotwell/src/main.vala"
	_tmp119_ = configuration_facade_get_show_welcome_dialog (G_TYPE_CHECK_INSTANCE_CAST (_tmp118_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade));
#line 174 "/home/jens/Source/shotwell/src/main.vala"
	_tmp120_ = _tmp119_;
#line 174 "/home/jens/Source/shotwell/src/main.vala"
	_g_object_unref0 (_tmp118_);
#line 174 "/home/jens/Source/shotwell/src/main.vala"
	if (_tmp120_) {
#line 1562 "main.c"
		LibraryPhotoSourceCollection* _tmp121_ = NULL;
		gint _tmp122_ = 0;
#line 175 "/home/jens/Source/shotwell/src/main.vala"
		_tmp121_ = library_photo_global;
#line 175 "/home/jens/Source/shotwell/src/main.vala"
		_tmp122_ = data_collection_get_count (G_TYPE_CHECK_INSTANCE_CAST (_tmp121_, TYPE_DATA_COLLECTION, DataCollection));
#line 175 "/home/jens/Source/shotwell/src/main.vala"
		_tmp116_ = _tmp122_ == 0;
#line 1571 "main.c"
	} else {
#line 174 "/home/jens/Source/shotwell/src/main.vala"
		_tmp116_ = FALSE;
#line 1575 "main.c"
	}
#line 174 "/home/jens/Source/shotwell/src/main.vala"
	if (_tmp116_) {
#line 1579 "main.c"
		WelcomeDialog* welcome = NULL;
		LibraryWindow* _tmp123_ = NULL;
		WelcomeDialog* _tmp124_ = NULL;
		ConfigFacade* _tmp125_ = NULL;
		ConfigFacade* _tmp126_ = NULL;
		WelcomeDialog* _tmp127_ = NULL;
		WelcomeServiceEntry** _tmp128_ = NULL;
		gint _tmp129_ = 0;
		gboolean _tmp130_ = FALSE;
		gboolean _tmp131_ = FALSE;
#line 176 "/home/jens/Source/shotwell/src/main.vala"
		_tmp123_ = library_window;
#line 176 "/home/jens/Source/shotwell/src/main.vala"
		_tmp124_ = welcome_dialog_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp123_, gtk_window_get_type (), GtkWindow));
#line 176 "/home/jens/Source/shotwell/src/main.vala"
		g_object_ref_sink (_tmp124_);
#line 176 "/home/jens/Source/shotwell/src/main.vala"
		welcome = _tmp124_;
#line 177 "/home/jens/Source/shotwell/src/main.vala"
		_tmp125_ = config_facade_get_instance ();
#line 177 "/home/jens/Source/shotwell/src/main.vala"
		_tmp126_ = _tmp125_;
#line 177 "/home/jens/Source/shotwell/src/main.vala"
		_tmp127_ = welcome;
#line 177 "/home/jens/Source/shotwell/src/main.vala"
		_tmp131_ = welcome_dialog_execute (_tmp127_, &_tmp128_, &_tmp129_, &_tmp130_);
#line 177 "/home/jens/Source/shotwell/src/main.vala"
		selected_import_entries = (_vala_array_free (selected_import_entries, selected_import_entries_length1, (GDestroyNotify) g_object_unref), NULL);
#line 177 "/home/jens/Source/shotwell/src/main.vala"
		selected_import_entries = _tmp128_;
#line 177 "/home/jens/Source/shotwell/src/main.vala"
		selected_import_entries_length1 = _tmp129_;
#line 177 "/home/jens/Source/shotwell/src/main.vala"
		_selected_import_entries_size_ = selected_import_entries_length1;
#line 177 "/home/jens/Source/shotwell/src/main.vala"
		do_system_pictures_import = _tmp130_;
#line 177 "/home/jens/Source/shotwell/src/main.vala"
		configuration_facade_set_show_welcome_dialog (G_TYPE_CHECK_INSTANCE_CAST (_tmp126_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), _tmp131_);
#line 177 "/home/jens/Source/shotwell/src/main.vala"
		_g_object_unref0 (_tmp126_);
#line 174 "/home/jens/Source/shotwell/src/main.vala"
		_g_object_unref0 (welcome);
#line 1622 "main.c"
	} else {
		ConfigFacade* _tmp132_ = NULL;
		ConfigFacade* _tmp133_ = NULL;
#line 180 "/home/jens/Source/shotwell/src/main.vala"
		_tmp132_ = config_facade_get_instance ();
#line 180 "/home/jens/Source/shotwell/src/main.vala"
		_tmp133_ = _tmp132_;
#line 180 "/home/jens/Source/shotwell/src/main.vala"
		configuration_facade_set_show_welcome_dialog (G_TYPE_CHECK_INSTANCE_CAST (_tmp133_, TYPE_CONFIGURATION_FACADE, ConfigurationFacade), FALSE);
#line 180 "/home/jens/Source/shotwell/src/main.vala"
		_g_object_unref0 (_tmp133_);
#line 1634 "main.c"
	}
#line 183 "/home/jens/Source/shotwell/src/main.vala"
	_tmp134_ = selected_import_entries;
#line 183 "/home/jens/Source/shotwell/src/main.vala"
	_tmp134__length1 = selected_import_entries_length1;
#line 183 "/home/jens/Source/shotwell/src/main.vala"
	if (_tmp134__length1 > 0) {
#line 1642 "main.c"
		WelcomeServiceEntry** _tmp135_ = NULL;
		gint _tmp135__length1 = 0;
#line 184 "/home/jens/Source/shotwell/src/main.vala"
		do_external_import = TRUE;
#line 185 "/home/jens/Source/shotwell/src/main.vala"
		_tmp135_ = selected_import_entries;
#line 185 "/home/jens/Source/shotwell/src/main.vala"
		_tmp135__length1 = selected_import_entries_length1;
#line 1651 "main.c"
		{
			WelcomeServiceEntry** entry_collection = NULL;
			gint entry_collection_length1 = 0;
			gint _entry_collection_size_ = 0;
			gint entry_it = 0;
#line 185 "/home/jens/Source/shotwell/src/main.vala"
			entry_collection = _tmp135_;
#line 185 "/home/jens/Source/shotwell/src/main.vala"
			entry_collection_length1 = _tmp135__length1;
#line 185 "/home/jens/Source/shotwell/src/main.vala"
			for (entry_it = 0; entry_it < _tmp135__length1; entry_it = entry_it + 1) {
#line 1663 "main.c"
				WelcomeServiceEntry* _tmp136_ = NULL;
				WelcomeServiceEntry* entry = NULL;
#line 185 "/home/jens/Source/shotwell/src/main.vala"
				_tmp136_ = _g_object_ref0 (entry_collection[entry_it]);
#line 185 "/home/jens/Source/shotwell/src/main.vala"
				entry = _tmp136_;
#line 1670 "main.c"
				{
					WelcomeServiceEntry* _tmp137_ = NULL;
#line 186 "/home/jens/Source/shotwell/src/main.vala"
					_tmp137_ = entry;
#line 186 "/home/jens/Source/shotwell/src/main.vala"
					welcome_service_entry_execute (_tmp137_);
#line 185 "/home/jens/Source/shotwell/src/main.vala"
					_g_object_unref0 (entry);
#line 1679 "main.c"
				}
			}
		}
	}
#line 188 "/home/jens/Source/shotwell/src/main.vala"
	_tmp138_ = do_system_pictures_import;
#line 188 "/home/jens/Source/shotwell/src/main.vala"
	if (_tmp138_) {
#line 192 "/home/jens/Source/shotwell/src/main.vala"
		run_system_pictures_import (NULL);
#line 1690 "main.c"
	}
#line 195 "/home/jens/Source/shotwell/src/main.vala"
	_tmp139_ = startup_timer;
#line 195 "/home/jens/Source/shotwell/src/main.vala"
	_tmp140_ = g_timer_elapsed (_tmp139_, NULL);
#line 195 "/home/jens/Source/shotwell/src/main.vala"
	g_debug ("main.vala:195: %lf seconds to Gtk.main()", _tmp140_);
#line 197 "/home/jens/Source/shotwell/src/main.vala"
	_tmp141_ = application_get_instance ();
#line 197 "/home/jens/Source/shotwell/src/main.vala"
	_tmp142_ = _tmp141_;
#line 197 "/home/jens/Source/shotwell/src/main.vala"
	application_start (_tmp142_, NULL, 0);
#line 197 "/home/jens/Source/shotwell/src/main.vala"
	_application_unref0 (_tmp142_);
#line 199 "/home/jens/Source/shotwell/src/main.vala"
	desktop_integration_terminate ();
#line 200 "/home/jens/Source/shotwell/src/main.vala"
	metadata_writer_terminate ();
#line 201 "/home/jens/Source/shotwell/src/main.vala"
	tag_terminate ();
#line 202 "/home/jens/Source/shotwell/src/main.vala"
	event_terminate ();
#line 203 "/home/jens/Source/shotwell/src/main.vala"
	library_photo_terminate ();
#line 204 "/home/jens/Source/shotwell/src/main.vala"
	media_collection_registry_terminate ();
#line 205 "/home/jens/Source/shotwell/src/main.vala"
	library_monitor_pool_terminate ();
#line 206 "/home/jens/Source/shotwell/src/main.vala"
	tombstone_terminate ();
#line 207 "/home/jens/Source/shotwell/src/main.vala"
	thumbnail_cache_terminate ();
#line 208 "/home/jens/Source/shotwell/src/main.vala"
	video_terminate ();
#line 209 "/home/jens/Source/shotwell/src/main.vala"
	library_app_terminate ();
#line 15 "/home/jens/Source/shotwell/src/main.vala"
	selected_import_entries = (_vala_array_free (selected_import_entries, selected_import_entries_length1, (GDestroyNotify) g_object_unref), NULL);
#line 15 "/home/jens/Source/shotwell/src/main.vala"
	_g_object_unref0 (library_window);
#line 15 "/home/jens/Source/shotwell/src/main.vala"
	_media_collection_registry_unref0 (registry);
#line 15 "/home/jens/Source/shotwell/src/main.vala"
	(monitor_target_destroy_notify == NULL) ? NULL : (monitor_target_destroy_notify (monitor_target), NULL);
#line 15 "/home/jens/Source/shotwell/src/main.vala"
	monitor = NULL;
#line 15 "/home/jens/Source/shotwell/src/main.vala"
	monitor_target = NULL;
#line 15 "/home/jens/Source/shotwell/src/main.vala"
	monitor_target_destroy_notify = NULL;
#line 15 "/home/jens/Source/shotwell/src/main.vala"
	_aggregate_progress_monitor_unref0 (aggregate_monitor);
#line 15 "/home/jens/Source/shotwell/src/main.vala"
	_g_object_unref0 (progress_dialog);
#line 15 "/home/jens/Source/shotwell/src/main.vala"
	_g_free0 (app_version);
#line 15 "/home/jens/Source/shotwell/src/main.vala"
	_g_free0 (errormsg);
#line 1750 "main.c"
}


static void _report_system_pictures_import_batch_import_import_reporter (ImportManifest* manifest, BatchImportRoll* import_roll, gpointer self) {
#line 224 "/home/jens/Source/shotwell/src/main.vala"
	report_system_pictures_import (manifest, import_roll);
#line 1757 "main.c"
}


void run_system_pictures_import (ImportManifest* external_exclusion_manifest) {
	gboolean _tmp0_ = FALSE;
	GeeArrayList* jobs = NULL;
	GeeArrayList* _tmp1_ = NULL;
	GeeArrayList* _tmp2_ = NULL;
	GFile* _tmp3_ = NULL;
	GFile* _tmp4_ = NULL;
	FileImportJob* _tmp5_ = NULL;
	FileImportJob* _tmp6_ = NULL;
	LibraryWindow* library_window = NULL;
	AppWindow* _tmp7_ = NULL;
	BatchImport* batch_import = NULL;
	GeeArrayList* _tmp8_ = NULL;
	ImportManifest* _tmp9_ = NULL;
	BatchImport* _tmp10_ = NULL;
	LibraryWindow* _tmp11_ = NULL;
	BatchImport* _tmp12_ = NULL;
	LibraryWindow* _tmp13_ = NULL;
#line 215 "/home/jens/Source/shotwell/src/main.vala"
	g_return_if_fail ((external_exclusion_manifest == NULL) || IS_IMPORT_MANIFEST (external_exclusion_manifest));
#line 216 "/home/jens/Source/shotwell/src/main.vala"
	_tmp0_ = do_system_pictures_import;
#line 216 "/home/jens/Source/shotwell/src/main.vala"
	if (!_tmp0_) {
#line 217 "/home/jens/Source/shotwell/src/main.vala"
		return;
#line 1787 "main.c"
	}
#line 219 "/home/jens/Source/shotwell/src/main.vala"
	_tmp1_ = gee_array_list_new (TYPE_FILE_IMPORT_JOB, (GBoxedCopyFunc) batch_import_job_ref, batch_import_job_unref, NULL, NULL, NULL);
#line 219 "/home/jens/Source/shotwell/src/main.vala"
	jobs = _tmp1_;
#line 220 "/home/jens/Source/shotwell/src/main.vala"
	_tmp2_ = jobs;
#line 220 "/home/jens/Source/shotwell/src/main.vala"
	_tmp3_ = app_dirs_get_import_dir ();
#line 220 "/home/jens/Source/shotwell/src/main.vala"
	_tmp4_ = _tmp3_;
#line 220 "/home/jens/Source/shotwell/src/main.vala"
	_tmp5_ = file_import_job_new (_tmp4_, FALSE);
#line 220 "/home/jens/Source/shotwell/src/main.vala"
	_tmp6_ = _tmp5_;
#line 220 "/home/jens/Source/shotwell/src/main.vala"
	gee_abstract_collection_add (G_TYPE_CHECK_INSTANCE_CAST (_tmp2_, GEE_TYPE_ABSTRACT_COLLECTION, GeeAbstractCollection), _tmp6_);
#line 220 "/home/jens/Source/shotwell/src/main.vala"
	_batch_import_job_unref0 (_tmp6_);
#line 220 "/home/jens/Source/shotwell/src/main.vala"
	_g_object_unref0 (_tmp4_);
#line 222 "/home/jens/Source/shotwell/src/main.vala"
	_tmp7_ = app_window_get_instance ();
#line 222 "/home/jens/Source/shotwell/src/main.vala"
	library_window = G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, TYPE_LIBRARY_WINDOW, LibraryWindow);
#line 224 "/home/jens/Source/shotwell/src/main.vala"
	_tmp8_ = jobs;
#line 224 "/home/jens/Source/shotwell/src/main.vala"
	_tmp9_ = external_exclusion_manifest;
#line 224 "/home/jens/Source/shotwell/src/main.vala"
	_tmp10_ = batch_import_new (G_TYPE_CHECK_INSTANCE_CAST (_tmp8_, GEE_TYPE_ITERABLE, GeeIterable), "startup_import", _report_system_pictures_import_batch_import_import_reporter, NULL, NULL, NULL, NULL, NULL, _tmp9_);
#line 224 "/home/jens/Source/shotwell/src/main.vala"
	batch_import = _tmp10_;
#line 226 "/home/jens/Source/shotwell/src/main.vala"
	_tmp11_ = library_window;
#line 226 "/home/jens/Source/shotwell/src/main.vala"
	_tmp12_ = batch_import;
#line 226 "/home/jens/Source/shotwell/src/main.vala"
	library_window_enqueue_batch_import (_tmp11_, _tmp12_, TRUE);
#line 228 "/home/jens/Source/shotwell/src/main.vala"
	_tmp13_ = library_window;
#line 228 "/home/jens/Source/shotwell/src/main.vala"
	library_window_switch_to_import_queue_page (_tmp13_);
#line 215 "/home/jens/Source/shotwell/src/main.vala"
	_g_object_unref0 (batch_import);
#line 215 "/home/jens/Source/shotwell/src/main.vala"
	_g_object_unref0 (library_window);
#line 215 "/home/jens/Source/shotwell/src/main.vala"
	_g_object_unref0 (jobs);
#line 1837 "main.c"
}


void report_system_pictures_import (ImportManifest* manifest, BatchImportRoll* import_roll) {
	gboolean _tmp0_ = FALSE;
	gboolean _tmp1_ = FALSE;
	ImportManifest* _tmp6_ = NULL;
#line 231 "/home/jens/Source/shotwell/src/main.vala"
	g_return_if_fail (IS_IMPORT_MANIFEST (manifest));
#line 231 "/home/jens/Source/shotwell/src/main.vala"
	g_return_if_fail (IS_BATCH_IMPORT_ROLL (import_roll));
#line 238 "/home/jens/Source/shotwell/src/main.vala"
	_tmp1_ = do_external_import;
#line 238 "/home/jens/Source/shotwell/src/main.vala"
	if (_tmp1_) {
#line 1853 "main.c"
		ImportManifest* _tmp2_ = NULL;
		GeeList* _tmp3_ = NULL;
		gint _tmp4_ = 0;
		gint _tmp5_ = 0;
#line 238 "/home/jens/Source/shotwell/src/main.vala"
		_tmp2_ = manifest;
#line 238 "/home/jens/Source/shotwell/src/main.vala"
		_tmp3_ = _tmp2_->all;
#line 238 "/home/jens/Source/shotwell/src/main.vala"
		_tmp4_ = gee_collection_get_size (G_TYPE_CHECK_INSTANCE_CAST (_tmp3_, GEE_TYPE_COLLECTION, GeeCollection));
#line 238 "/home/jens/Source/shotwell/src/main.vala"
		_tmp5_ = _tmp4_;
#line 238 "/home/jens/Source/shotwell/src/main.vala"
		_tmp0_ = _tmp5_ == 0;
#line 1868 "main.c"
	} else {
#line 238 "/home/jens/Source/shotwell/src/main.vala"
		_tmp0_ = FALSE;
#line 1872 "main.c"
	}
#line 238 "/home/jens/Source/shotwell/src/main.vala"
	if (_tmp0_) {
#line 239 "/home/jens/Source/shotwell/src/main.vala"
		return;
#line 1878 "main.c"
	}
#line 241 "/home/jens/Source/shotwell/src/main.vala"
	_tmp6_ = manifest;
#line 241 "/home/jens/Source/shotwell/src/main.vala"
	import_ui_report_manifest (_tmp6_, TRUE, NULL);
#line 1884 "main.c"
}


void editing_exec (const gchar* filename) {
	GFile* initial_file = NULL;
	const gchar* _tmp0_ = NULL;
	GFile* _tmp1_ = NULL;
	GFile* _tmp2_ = NULL;
	DirectWindow* direct_window = NULL;
	GFile* _tmp5_ = NULL;
	DirectWindow* _tmp6_ = NULL;
	DirectWindow* _tmp7_ = NULL;
	GTimer* _tmp8_ = NULL;
	gdouble _tmp9_ = 0.0;
	Application* _tmp10_ = NULL;
	Application* _tmp11_ = NULL;
	GError * _inner_error_ = NULL;
#line 244 "/home/jens/Source/shotwell/src/main.vala"
	g_return_if_fail (filename != NULL);
#line 245 "/home/jens/Source/shotwell/src/main.vala"
	_tmp0_ = filename;
#line 245 "/home/jens/Source/shotwell/src/main.vala"
	_tmp1_ = g_file_new_for_commandline_arg (_tmp0_);
#line 245 "/home/jens/Source/shotwell/src/main.vala"
	initial_file = _tmp1_;
#line 248 "/home/jens/Source/shotwell/src/main.vala"
	_tmp2_ = initial_file;
#line 248 "/home/jens/Source/shotwell/src/main.vala"
	direct_preconfigure (_tmp2_);
#line 249 "/home/jens/Source/shotwell/src/main.vala"
	db_preconfigure (NULL);
#line 1916 "main.c"
	{
#line 253 "/home/jens/Source/shotwell/src/main.vala"
		direct_app_init (&_inner_error_);
#line 253 "/home/jens/Source/shotwell/src/main.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 1922 "main.c"
			goto __catch221_g_error;
		}
	}
	goto __finally221;
	__catch221_g_error:
	{
		GError* err = NULL;
		GError* _tmp3_ = NULL;
		const gchar* _tmp4_ = NULL;
#line 252 "/home/jens/Source/shotwell/src/main.vala"
		err = _inner_error_;
#line 252 "/home/jens/Source/shotwell/src/main.vala"
		_inner_error_ = NULL;
#line 255 "/home/jens/Source/shotwell/src/main.vala"
		_tmp3_ = err;
#line 255 "/home/jens/Source/shotwell/src/main.vala"
		_tmp4_ = _tmp3_->message;
#line 255 "/home/jens/Source/shotwell/src/main.vala"
		app_window_panic (_tmp4_);
#line 257 "/home/jens/Source/shotwell/src/main.vala"
		_g_error_free0 (err);
#line 257 "/home/jens/Source/shotwell/src/main.vala"
		_g_object_unref0 (initial_file);
#line 257 "/home/jens/Source/shotwell/src/main.vala"
		return;
#line 1948 "main.c"
	}
	__finally221:
#line 252 "/home/jens/Source/shotwell/src/main.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 252 "/home/jens/Source/shotwell/src/main.vala"
		_g_object_unref0 (initial_file);
#line 252 "/home/jens/Source/shotwell/src/main.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 252 "/home/jens/Source/shotwell/src/main.vala"
		g_clear_error (&_inner_error_);
#line 252 "/home/jens/Source/shotwell/src/main.vala"
		return;
#line 1961 "main.c"
	}
#line 261 "/home/jens/Source/shotwell/src/main.vala"
	desktop_integration_init ();
#line 267 "/home/jens/Source/shotwell/src/main.vala"
	_tmp5_ = initial_file;
#line 267 "/home/jens/Source/shotwell/src/main.vala"
	_tmp6_ = direct_window_new (_tmp5_);
#line 267 "/home/jens/Source/shotwell/src/main.vala"
	g_object_ref_sink (_tmp6_);
#line 267 "/home/jens/Source/shotwell/src/main.vala"
	direct_window = _tmp6_;
#line 268 "/home/jens/Source/shotwell/src/main.vala"
	_tmp7_ = direct_window;
#line 268 "/home/jens/Source/shotwell/src/main.vala"
	gtk_widget_show_all (G_TYPE_CHECK_INSTANCE_CAST (_tmp7_, gtk_widget_get_type (), GtkWidget));
#line 270 "/home/jens/Source/shotwell/src/main.vala"
	_tmp8_ = startup_timer;
#line 270 "/home/jens/Source/shotwell/src/main.vala"
	_tmp9_ = g_timer_elapsed (_tmp8_, NULL);
#line 270 "/home/jens/Source/shotwell/src/main.vala"
	g_debug ("main.vala:270: %lf seconds to Gtk.main()", _tmp9_);
#line 272 "/home/jens/Source/shotwell/src/main.vala"
	_tmp10_ = application_get_instance ();
#line 272 "/home/jens/Source/shotwell/src/main.vala"
	_tmp11_ = _tmp10_;
#line 272 "/home/jens/Source/shotwell/src/main.vala"
	application_start (_tmp11_, NULL, 0);
#line 272 "/home/jens/Source/shotwell/src/main.vala"
	_application_unref0 (_tmp11_);
#line 274 "/home/jens/Source/shotwell/src/main.vala"
	desktop_integration_terminate ();
#line 277 "/home/jens/Source/shotwell/src/main.vala"
	direct_app_terminate ();
#line 244 "/home/jens/Source/shotwell/src/main.vala"
	_g_object_unref0 (direct_window);
#line 244 "/home/jens/Source/shotwell/src/main.vala"
	_g_object_unref0 (initial_file);
#line 1999 "main.c"
}


static GOptionEntry* _vala_array_dup26 (GOptionEntry* self, int length) {
#line 291 "/home/jens/Source/shotwell/src/main.vala"
	return g_memdup (self, length * sizeof (GOptionEntry));
#line 2006 "main.c"
}


static void _vala_array_add152 (GOptionEntry** array, int* length, int* size, const GOptionEntry* value) {
#line 295 "/home/jens/Source/shotwell/src/main.vala"
	if ((*length) == (*size)) {
#line 295 "/home/jens/Source/shotwell/src/main.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 295 "/home/jens/Source/shotwell/src/main.vala"
		*array = g_renew (GOptionEntry, *array, *size);
#line 2017 "main.c"
	}
#line 295 "/home/jens/Source/shotwell/src/main.vala"
	(*array)[(*length)++] = *value;
#line 2021 "main.c"
}


static void _vala_array_add153 (GOptionEntry** array, int* length, int* size, const GOptionEntry* value) {
#line 299 "/home/jens/Source/shotwell/src/main.vala"
	if ((*length) == (*size)) {
#line 299 "/home/jens/Source/shotwell/src/main.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 299 "/home/jens/Source/shotwell/src/main.vala"
		*array = g_renew (GOptionEntry, *array, *size);
#line 2032 "main.c"
	}
#line 299 "/home/jens/Source/shotwell/src/main.vala"
	(*array)[(*length)++] = *value;
#line 2036 "main.c"
}


static void _vala_array_add154 (GOptionEntry** array, int* length, int* size, const GOptionEntry* value) {
#line 303 "/home/jens/Source/shotwell/src/main.vala"
	if ((*length) == (*size)) {
#line 303 "/home/jens/Source/shotwell/src/main.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 303 "/home/jens/Source/shotwell/src/main.vala"
		*array = g_renew (GOptionEntry, *array, *size);
#line 2047 "main.c"
	}
#line 303 "/home/jens/Source/shotwell/src/main.vala"
	(*array)[(*length)++] = *value;
#line 2051 "main.c"
}


static void _vala_array_add155 (GOptionEntry** array, int* length, int* size, const GOptionEntry* value) {
#line 307 "/home/jens/Source/shotwell/src/main.vala"
	if ((*length) == (*size)) {
#line 307 "/home/jens/Source/shotwell/src/main.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 307 "/home/jens/Source/shotwell/src/main.vala"
		*array = g_renew (GOptionEntry, *array, *size);
#line 2062 "main.c"
	}
#line 307 "/home/jens/Source/shotwell/src/main.vala"
	(*array)[(*length)++] = *value;
#line 2066 "main.c"
}


static void _vala_array_add156 (GOptionEntry** array, int* length, int* size, const GOptionEntry* value) {
#line 310 "/home/jens/Source/shotwell/src/main.vala"
	if ((*length) == (*size)) {
#line 310 "/home/jens/Source/shotwell/src/main.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 310 "/home/jens/Source/shotwell/src/main.vala"
		*array = g_renew (GOptionEntry, *array, *size);
#line 2077 "main.c"
	}
#line 310 "/home/jens/Source/shotwell/src/main.vala"
	(*array)[(*length)++] = *value;
#line 2081 "main.c"
}


static GOptionEntry* _vala_array_dup27 (GOptionEntry* self, int length) {
#line 312 "/home/jens/Source/shotwell/src/main.vala"
	return g_memdup (self, length * sizeof (GOptionEntry));
#line 2088 "main.c"
}


GOptionEntry* commandline_options_get_options (int* result_length1) {
	GOptionEntry* result = NULL;
	GOptionEntry* _tmp0_ = NULL;
	gint _tmp0__length1 = 0;
	GOptionEntry datadir = {0};
	const gchar* _tmp4_ = NULL;
	const gchar* _tmp5_ = NULL;
	GOptionEntry _tmp6_ = {0};
	GOptionEntry* _tmp7_ = NULL;
	gint _tmp7__length1 = 0;
	GOptionEntry _tmp8_ = {0};
	GOptionEntry no_monitoring = {0};
	const gchar* _tmp9_ = NULL;
	GOptionEntry _tmp10_ = {0};
	GOptionEntry* _tmp11_ = NULL;
	gint _tmp11__length1 = 0;
	GOptionEntry _tmp12_ = {0};
	GOptionEntry no_startup = {0};
	const gchar* _tmp13_ = NULL;
	GOptionEntry _tmp14_ = {0};
	GOptionEntry* _tmp15_ = NULL;
	gint _tmp15__length1 = 0;
	GOptionEntry _tmp16_ = {0};
	GOptionEntry version = {0};
	const gchar* _tmp17_ = NULL;
	GOptionEntry _tmp18_ = {0};
	GOptionEntry* _tmp19_ = NULL;
	gint _tmp19__length1 = 0;
	GOptionEntry _tmp20_ = {0};
	GOptionEntry terminator = {0};
	GOptionEntry _tmp21_ = {0};
	GOptionEntry* _tmp22_ = NULL;
	gint _tmp22__length1 = 0;
	GOptionEntry _tmp23_ = {0};
	GOptionEntry* _tmp24_ = NULL;
	gint _tmp24__length1 = 0;
	GOptionEntry* _tmp25_ = NULL;
	gint _tmp25__length1 = 0;
	GOptionEntry* _tmp26_ = NULL;
	gint _tmp26__length1 = 0;
#line 290 "/home/jens/Source/shotwell/src/main.vala"
	_tmp0_ = commandline_options_entries;
#line 290 "/home/jens/Source/shotwell/src/main.vala"
	_tmp0__length1 = commandline_options_entries_length1;
#line 290 "/home/jens/Source/shotwell/src/main.vala"
	if (_tmp0_ != NULL) {
#line 2138 "main.c"
		GOptionEntry* _tmp1_ = NULL;
		gint _tmp1__length1 = 0;
		GOptionEntry* _tmp2_ = NULL;
		gint _tmp2__length1 = 0;
		GOptionEntry* _tmp3_ = NULL;
		gint _tmp3__length1 = 0;
#line 291 "/home/jens/Source/shotwell/src/main.vala"
		_tmp1_ = commandline_options_entries;
#line 291 "/home/jens/Source/shotwell/src/main.vala"
		_tmp1__length1 = commandline_options_entries_length1;
#line 291 "/home/jens/Source/shotwell/src/main.vala"
		_tmp2_ = (_tmp1_ != NULL) ? _vala_array_dup26 (_tmp1_, _tmp1__length1) : ((gpointer) _tmp1_);
#line 291 "/home/jens/Source/shotwell/src/main.vala"
		_tmp2__length1 = _tmp1__length1;
#line 291 "/home/jens/Source/shotwell/src/main.vala"
		_tmp3_ = _tmp2_;
#line 291 "/home/jens/Source/shotwell/src/main.vala"
		_tmp3__length1 = _tmp2__length1;
#line 291 "/home/jens/Source/shotwell/src/main.vala"
		if (result_length1) {
#line 291 "/home/jens/Source/shotwell/src/main.vala"
			*result_length1 = _tmp3__length1;
#line 2161 "main.c"
		}
#line 291 "/home/jens/Source/shotwell/src/main.vala"
		result = _tmp3_;
#line 291 "/home/jens/Source/shotwell/src/main.vala"
		return result;
#line 2167 "main.c"
	}
#line 293 "/home/jens/Source/shotwell/src/main.vala"
	_tmp4_ = _ ("Path to Shotwell’s private data");
#line 293 "/home/jens/Source/shotwell/src/main.vala"
	_tmp5_ = _ ("DIRECTORY");
#line 293 "/home/jens/Source/shotwell/src/main.vala"
	_tmp6_.long_name = "datadir";
#line 293 "/home/jens/Source/shotwell/src/main.vala"
	_tmp6_.short_name = 'd';
#line 293 "/home/jens/Source/shotwell/src/main.vala"
	_tmp6_.flags = 0;
#line 293 "/home/jens/Source/shotwell/src/main.vala"
	_tmp6_.arg = G_OPTION_ARG_FILENAME;
#line 293 "/home/jens/Source/shotwell/src/main.vala"
	_tmp6_.arg_data = &commandline_options_data_dir;
#line 293 "/home/jens/Source/shotwell/src/main.vala"
	_tmp6_.description = _tmp4_;
#line 293 "/home/jens/Source/shotwell/src/main.vala"
	_tmp6_.arg_description = _tmp5_;
#line 293 "/home/jens/Source/shotwell/src/main.vala"
	datadir = _tmp6_;
#line 295 "/home/jens/Source/shotwell/src/main.vala"
	_tmp7_ = commandline_options_entries;
#line 295 "/home/jens/Source/shotwell/src/main.vala"
	_tmp7__length1 = commandline_options_entries_length1;
#line 295 "/home/jens/Source/shotwell/src/main.vala"
	_tmp8_ = datadir;
#line 295 "/home/jens/Source/shotwell/src/main.vala"
	_vala_array_add152 (&commandline_options_entries, &commandline_options_entries_length1, &_commandline_options_entries_size_, &_tmp8_);
#line 297 "/home/jens/Source/shotwell/src/main.vala"
	_tmp9_ = _ ("Do not monitor library directory at runtime for changes");
#line 297 "/home/jens/Source/shotwell/src/main.vala"
	_tmp10_.long_name = "no-runtime-monitoring";
#line 297 "/home/jens/Source/shotwell/src/main.vala"
	_tmp10_.short_name = (gchar) 0;
#line 297 "/home/jens/Source/shotwell/src/main.vala"
	_tmp10_.flags = 0;
#line 297 "/home/jens/Source/shotwell/src/main.vala"
	_tmp10_.arg = G_OPTION_ARG_NONE;
#line 297 "/home/jens/Source/shotwell/src/main.vala"
	_tmp10_.arg_data = &commandline_options_no_runtime_monitoring;
#line 297 "/home/jens/Source/shotwell/src/main.vala"
	_tmp10_.description = _tmp9_;
#line 297 "/home/jens/Source/shotwell/src/main.vala"
	_tmp10_.arg_description = NULL;
#line 297 "/home/jens/Source/shotwell/src/main.vala"
	no_monitoring = _tmp10_;
#line 299 "/home/jens/Source/shotwell/src/main.vala"
	_tmp11_ = commandline_options_entries;
#line 299 "/home/jens/Source/shotwell/src/main.vala"
	_tmp11__length1 = commandline_options_entries_length1;
#line 299 "/home/jens/Source/shotwell/src/main.vala"
	_tmp12_ = no_monitoring;
#line 299 "/home/jens/Source/shotwell/src/main.vala"
	_vala_array_add153 (&commandline_options_entries, &commandline_options_entries_length1, &_commandline_options_entries_size_, &_tmp12_);
#line 301 "/home/jens/Source/shotwell/src/main.vala"
	_tmp13_ = _ ("Don’t display startup progress meter");
#line 301 "/home/jens/Source/shotwell/src/main.vala"
	_tmp14_.long_name = "no-startup-progress";
#line 301 "/home/jens/Source/shotwell/src/main.vala"
	_tmp14_.short_name = (gchar) 0;
#line 301 "/home/jens/Source/shotwell/src/main.vala"
	_tmp14_.flags = 0;
#line 301 "/home/jens/Source/shotwell/src/main.vala"
	_tmp14_.arg = G_OPTION_ARG_NONE;
#line 301 "/home/jens/Source/shotwell/src/main.vala"
	_tmp14_.arg_data = &commandline_options_no_startup_progress;
#line 301 "/home/jens/Source/shotwell/src/main.vala"
	_tmp14_.description = _tmp13_;
#line 301 "/home/jens/Source/shotwell/src/main.vala"
	_tmp14_.arg_description = NULL;
#line 301 "/home/jens/Source/shotwell/src/main.vala"
	no_startup = _tmp14_;
#line 303 "/home/jens/Source/shotwell/src/main.vala"
	_tmp15_ = commandline_options_entries;
#line 303 "/home/jens/Source/shotwell/src/main.vala"
	_tmp15__length1 = commandline_options_entries_length1;
#line 303 "/home/jens/Source/shotwell/src/main.vala"
	_tmp16_ = no_startup;
#line 303 "/home/jens/Source/shotwell/src/main.vala"
	_vala_array_add154 (&commandline_options_entries, &commandline_options_entries_length1, &_commandline_options_entries_size_, &_tmp16_);
#line 305 "/home/jens/Source/shotwell/src/main.vala"
	_tmp17_ = _ ("Show the application’s version");
#line 305 "/home/jens/Source/shotwell/src/main.vala"
	_tmp18_.long_name = "version";
#line 305 "/home/jens/Source/shotwell/src/main.vala"
	_tmp18_.short_name = 'V';
#line 305 "/home/jens/Source/shotwell/src/main.vala"
	_tmp18_.flags = 0;
#line 305 "/home/jens/Source/shotwell/src/main.vala"
	_tmp18_.arg = G_OPTION_ARG_NONE;
#line 305 "/home/jens/Source/shotwell/src/main.vala"
	_tmp18_.arg_data = &commandline_options_show_version;
#line 305 "/home/jens/Source/shotwell/src/main.vala"
	_tmp18_.description = _tmp17_;
#line 305 "/home/jens/Source/shotwell/src/main.vala"
	_tmp18_.arg_description = NULL;
#line 305 "/home/jens/Source/shotwell/src/main.vala"
	version = _tmp18_;
#line 307 "/home/jens/Source/shotwell/src/main.vala"
	_tmp19_ = commandline_options_entries;
#line 307 "/home/jens/Source/shotwell/src/main.vala"
	_tmp19__length1 = commandline_options_entries_length1;
#line 307 "/home/jens/Source/shotwell/src/main.vala"
	_tmp20_ = version;
#line 307 "/home/jens/Source/shotwell/src/main.vala"
	_vala_array_add155 (&commandline_options_entries, &commandline_options_entries_length1, &_commandline_options_entries_size_, &_tmp20_);
#line 309 "/home/jens/Source/shotwell/src/main.vala"
	_tmp21_.long_name = NULL;
#line 309 "/home/jens/Source/shotwell/src/main.vala"
	_tmp21_.short_name = (gchar) 0;
#line 309 "/home/jens/Source/shotwell/src/main.vala"
	_tmp21_.flags = 0;
#line 309 "/home/jens/Source/shotwell/src/main.vala"
	_tmp21_.arg = 0;
#line 309 "/home/jens/Source/shotwell/src/main.vala"
	_tmp21_.arg_data = NULL;
#line 309 "/home/jens/Source/shotwell/src/main.vala"
	_tmp21_.description = NULL;
#line 309 "/home/jens/Source/shotwell/src/main.vala"
	_tmp21_.arg_description = NULL;
#line 309 "/home/jens/Source/shotwell/src/main.vala"
	terminator = _tmp21_;
#line 310 "/home/jens/Source/shotwell/src/main.vala"
	_tmp22_ = commandline_options_entries;
#line 310 "/home/jens/Source/shotwell/src/main.vala"
	_tmp22__length1 = commandline_options_entries_length1;
#line 310 "/home/jens/Source/shotwell/src/main.vala"
	_tmp23_ = terminator;
#line 310 "/home/jens/Source/shotwell/src/main.vala"
	_vala_array_add156 (&commandline_options_entries, &commandline_options_entries_length1, &_commandline_options_entries_size_, &_tmp23_);
#line 312 "/home/jens/Source/shotwell/src/main.vala"
	_tmp24_ = commandline_options_entries;
#line 312 "/home/jens/Source/shotwell/src/main.vala"
	_tmp24__length1 = commandline_options_entries_length1;
#line 312 "/home/jens/Source/shotwell/src/main.vala"
	_tmp25_ = (_tmp24_ != NULL) ? _vala_array_dup27 (_tmp24_, _tmp24__length1) : ((gpointer) _tmp24_);
#line 312 "/home/jens/Source/shotwell/src/main.vala"
	_tmp25__length1 = _tmp24__length1;
#line 312 "/home/jens/Source/shotwell/src/main.vala"
	_tmp26_ = _tmp25_;
#line 312 "/home/jens/Source/shotwell/src/main.vala"
	_tmp26__length1 = _tmp25__length1;
#line 312 "/home/jens/Source/shotwell/src/main.vala"
	if (result_length1) {
#line 312 "/home/jens/Source/shotwell/src/main.vala"
		*result_length1 = _tmp26__length1;
#line 2315 "main.c"
	}
#line 312 "/home/jens/Source/shotwell/src/main.vala"
	result = _tmp26_;
#line 312 "/home/jens/Source/shotwell/src/main.vala"
	return result;
#line 2321 "main.c"
}


static void _vala_array_add157 (gchar*** array, int* length, int* size, gchar* value) {
#line 372 "/home/jens/Source/shotwell/src/main.vala"
	if ((*length) == (*size)) {
#line 372 "/home/jens/Source/shotwell/src/main.vala"
		*size = (*size) ? (2 * (*size)) : 4;
#line 372 "/home/jens/Source/shotwell/src/main.vala"
		*array = g_renew (gchar*, *array, (*size) + 1);
#line 2332 "main.c"
	}
#line 372 "/home/jens/Source/shotwell/src/main.vala"
	(*array)[(*length)++] = value;
#line 372 "/home/jens/Source/shotwell/src/main.vala"
	(*array)[*length] = NULL;
#line 2338 "main.c"
}


static gboolean string_contains (const gchar* self, const gchar* needle) {
	gboolean result = FALSE;
	const gchar* _tmp0_ = NULL;
	gchar* _tmp1_ = NULL;
#line 1376 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	g_return_val_if_fail (self != NULL, FALSE);
#line 1376 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	g_return_val_if_fail (needle != NULL, FALSE);
#line 1377 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	_tmp0_ = needle;
#line 1377 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	_tmp1_ = strstr ((gchar*) self, (gchar*) _tmp0_);
#line 1377 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	result = _tmp1_ != NULL;
#line 1377 "/usr/share/vala-0.34/vapi/glib-2.0.vapi"
	return result;
#line 2358 "main.c"
}


void _vala_main (gchar** args, int args_length1) {
	gchar** _tmp0_ = NULL;
	gint _tmp0__length1 = 0;
	const gchar* _tmp1_ = NULL;
	GFile* _tmp2_ = NULL;
	GFile* _tmp3_ = NULL;
	gboolean _tmp4_ = FALSE;
	gboolean _tmp22_ = FALSE;
	gchar** mounts = NULL;
	gchar** _tmp23_ = NULL;
	gint mounts_length1 = 0;
	gint _mounts_size_ = 0;
	gchar* filename = NULL;
	const gchar* _tmp44_ = NULL;
	const gchar* _tmp45_ = NULL;
	gboolean _tmp46_ = FALSE;
	GDateTime* _tmp53_ = NULL;
	GDateTime* _tmp54_ = NULL;
	const gchar* _tmp55_ = NULL;
	const gchar* _tmp56_ = NULL;
	gboolean _tmp57_ = FALSE;
	const gchar* _tmp58_ = NULL;
	gchar** _tmp60_ = NULL;
	gint _tmp60__length1 = 0;
	GTimer* _tmp61_ = NULL;
	GTimer* _tmp62_ = NULL;
	const gchar* _tmp63_ = NULL;
	gboolean _tmp64_ = FALSE;
	gboolean _tmp67_ = FALSE;
	const gchar* _tmp68_ = NULL;
	gboolean _tmp69_ = FALSE;
	GError * _inner_error_ = NULL;
#line 320 "/home/jens/Source/shotwell/src/main.vala"
	_tmp0_ = args;
#line 320 "/home/jens/Source/shotwell/src/main.vala"
	_tmp0__length1 = args_length1;
#line 320 "/home/jens/Source/shotwell/src/main.vala"
	_tmp1_ = _tmp0_[0];
#line 320 "/home/jens/Source/shotwell/src/main.vala"
	app_dirs_init (_tmp1_);
#line 325 "/home/jens/Source/shotwell/src/main.vala"
	gexiv2_initialize ();
#line 331 "/home/jens/Source/shotwell/src/main.vala"
	_tmp2_ = app_dirs_get_install_dir ();
#line 331 "/home/jens/Source/shotwell/src/main.vala"
	_tmp3_ = _tmp2_;
#line 331 "/home/jens/Source/shotwell/src/main.vala"
	_tmp4_ = _tmp3_ == NULL;
#line 331 "/home/jens/Source/shotwell/src/main.vala"
	_g_object_unref0 (_tmp3_);
#line 331 "/home/jens/Source/shotwell/src/main.vala"
	if (_tmp4_) {
#line 2414 "main.c"
		GFile* _tmp5_ = NULL;
		GFile* _tmp6_ = NULL;
		gchar* _tmp7_ = NULL;
		gchar* _tmp8_ = NULL;
		gchar* _tmp9_ = NULL;
		gchar* _tmp10_ = NULL;
#line 332 "/home/jens/Source/shotwell/src/main.vala"
		_tmp5_ = app_dirs_get_exec_dir ();
#line 332 "/home/jens/Source/shotwell/src/main.vala"
		_tmp6_ = _tmp5_;
#line 332 "/home/jens/Source/shotwell/src/main.vala"
		_tmp7_ = g_file_get_path (_tmp6_);
#line 332 "/home/jens/Source/shotwell/src/main.vala"
		_tmp8_ = _tmp7_;
#line 332 "/home/jens/Source/shotwell/src/main.vala"
		_tmp9_ = g_strconcat (_tmp8_, "/misc", NULL);
#line 332 "/home/jens/Source/shotwell/src/main.vala"
		_tmp10_ = _tmp9_;
#line 332 "/home/jens/Source/shotwell/src/main.vala"
		g_setenv ("GSETTINGS_SCHEMA_DIR", _tmp10_, TRUE);
#line 332 "/home/jens/Source/shotwell/src/main.vala"
		_g_free0 (_tmp10_);
#line 332 "/home/jens/Source/shotwell/src/main.vala"
		_g_free0 (_tmp8_);
#line 332 "/home/jens/Source/shotwell/src/main.vala"
		_g_object_unref0 (_tmp6_);
#line 2441 "main.c"
	}
	{
		const gchar* _tmp11_ = NULL;
		gint _tmp12_ = 0;
		GOptionEntry* _tmp13_ = NULL;
		GOptionEntry* _tmp14_ = NULL;
		gint _tmp14__length1 = 0;
#line 338 "/home/jens/Source/shotwell/src/main.vala"
		_tmp11_ = _ ("[FILE]");
#line 338 "/home/jens/Source/shotwell/src/main.vala"
		_tmp13_ = commandline_options_get_options (&_tmp12_);
#line 338 "/home/jens/Source/shotwell/src/main.vala"
		_tmp14_ = _tmp13_;
#line 338 "/home/jens/Source/shotwell/src/main.vala"
		_tmp14__length1 = _tmp12_;
#line 338 "/home/jens/Source/shotwell/src/main.vala"
		gtk_init_with_args (&args_length1, &args, _tmp11_, _tmp14_, RESOURCES_APP_GETTEXT_PACKAGE, &_inner_error_);
#line 338 "/home/jens/Source/shotwell/src/main.vala"
		_tmp14_ = (g_free (_tmp14_), NULL);
#line 338 "/home/jens/Source/shotwell/src/main.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 2463 "main.c"
			goto __catch222_g_error;
		}
	}
	goto __finally222;
	__catch222_g_error:
	{
		GError* e = NULL;
		GError* _tmp15_ = NULL;
		const gchar* _tmp16_ = NULL;
		gchar* _tmp17_ = NULL;
		gchar* _tmp18_ = NULL;
		const gchar* _tmp19_ = NULL;
		gchar** _tmp20_ = NULL;
		gint _tmp20__length1 = 0;
		const gchar* _tmp21_ = NULL;
#line 337 "/home/jens/Source/shotwell/src/main.vala"
		e = _inner_error_;
#line 337 "/home/jens/Source/shotwell/src/main.vala"
		_inner_error_ = NULL;
#line 341 "/home/jens/Source/shotwell/src/main.vala"
		_tmp15_ = e;
#line 341 "/home/jens/Source/shotwell/src/main.vala"
		_tmp16_ = _tmp15_->message;
#line 341 "/home/jens/Source/shotwell/src/main.vala"
		_tmp17_ = g_strconcat (_tmp16_, "\n", NULL);
#line 341 "/home/jens/Source/shotwell/src/main.vala"
		_tmp18_ = _tmp17_;
#line 341 "/home/jens/Source/shotwell/src/main.vala"
		g_print ("%s", _tmp18_);
#line 341 "/home/jens/Source/shotwell/src/main.vala"
		_g_free0 (_tmp18_);
#line 342 "/home/jens/Source/shotwell/src/main.vala"
		_tmp19_ = _ ("Run “%s --help” to see a full list of available command line options.\n");
#line 342 "/home/jens/Source/shotwell/src/main.vala"
		_tmp20_ = args;
#line 342 "/home/jens/Source/shotwell/src/main.vala"
		_tmp20__length1 = args_length1;
#line 342 "/home/jens/Source/shotwell/src/main.vala"
		_tmp21_ = _tmp20_[0];
#line 342 "/home/jens/Source/shotwell/src/main.vala"
		g_print (_tmp19_, _tmp21_);
#line 343 "/home/jens/Source/shotwell/src/main.vala"
		app_dirs_terminate ();
#line 344 "/home/jens/Source/shotwell/src/main.vala"
		_g_error_free0 (e);
#line 344 "/home/jens/Source/shotwell/src/main.vala"
		return;
#line 2511 "main.c"
	}
	__finally222:
#line 337 "/home/jens/Source/shotwell/src/main.vala"
	if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 337 "/home/jens/Source/shotwell/src/main.vala"
		g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 337 "/home/jens/Source/shotwell/src/main.vala"
		g_clear_error (&_inner_error_);
#line 337 "/home/jens/Source/shotwell/src/main.vala"
		return;
#line 2522 "main.c"
	}
#line 347 "/home/jens/Source/shotwell/src/main.vala"
	_tmp22_ = commandline_options_show_version;
#line 347 "/home/jens/Source/shotwell/src/main.vala"
	if (_tmp22_) {
#line 348 "/home/jens/Source/shotwell/src/main.vala"
		if (RESOURCES_GIT_VERSION != NULL) {
#line 349 "/home/jens/Source/shotwell/src/main.vala"
			g_print ("%s %s (%s)\n", RESOURCES_APP_TITLE, RESOURCES_APP_VERSION, RESOURCES_GIT_VERSION);
#line 2532 "main.c"
		} else {
#line 351 "/home/jens/Source/shotwell/src/main.vala"
			g_print ("%s %s\n", RESOURCES_APP_TITLE, RESOURCES_APP_VERSION);
#line 2536 "main.c"
		}
#line 353 "/home/jens/Source/shotwell/src/main.vala"
		app_dirs_terminate ();
#line 355 "/home/jens/Source/shotwell/src/main.vala"
		return;
#line 2542 "main.c"
	}
#line 365 "/home/jens/Source/shotwell/src/main.vala"
	_tmp23_ = g_new0 (gchar*, 0 + 1);
#line 365 "/home/jens/Source/shotwell/src/main.vala"
	mounts = _tmp23_;
#line 365 "/home/jens/Source/shotwell/src/main.vala"
	mounts_length1 = 0;
#line 365 "/home/jens/Source/shotwell/src/main.vala"
	_mounts_size_ = mounts_length1;
#line 366 "/home/jens/Source/shotwell/src/main.vala"
	filename = NULL;
#line 2554 "main.c"
	{
		gint ctr = 0;
#line 368 "/home/jens/Source/shotwell/src/main.vala"
		ctr = 1;
#line 2559 "main.c"
		{
			gboolean _tmp24_ = FALSE;
#line 368 "/home/jens/Source/shotwell/src/main.vala"
			_tmp24_ = TRUE;
#line 368 "/home/jens/Source/shotwell/src/main.vala"
			while (TRUE) {
#line 2566 "main.c"
				gint _tmp26_ = 0;
				gchar** _tmp27_ = NULL;
				gint _tmp27__length1 = 0;
				gchar* arg = NULL;
				gchar** _tmp28_ = NULL;
				gint _tmp28__length1 = 0;
				gint _tmp29_ = 0;
				const gchar* _tmp30_ = NULL;
				gchar* _tmp31_ = NULL;
				const gchar* _tmp32_ = NULL;
				gboolean _tmp33_ = FALSE;
#line 368 "/home/jens/Source/shotwell/src/main.vala"
				if (!_tmp24_) {
#line 2580 "main.c"
					gint _tmp25_ = 0;
#line 368 "/home/jens/Source/shotwell/src/main.vala"
					_tmp25_ = ctr;
#line 368 "/home/jens/Source/shotwell/src/main.vala"
					ctr = _tmp25_ + 1;
#line 2586 "main.c"
				}
#line 368 "/home/jens/Source/shotwell/src/main.vala"
				_tmp24_ = FALSE;
#line 368 "/home/jens/Source/shotwell/src/main.vala"
				_tmp26_ = ctr;
#line 368 "/home/jens/Source/shotwell/src/main.vala"
				_tmp27_ = args;
#line 368 "/home/jens/Source/shotwell/src/main.vala"
				_tmp27__length1 = args_length1;
#line 368 "/home/jens/Source/shotwell/src/main.vala"
				if (!(_tmp26_ < _tmp27__length1)) {
#line 368 "/home/jens/Source/shotwell/src/main.vala"
					break;
#line 2600 "main.c"
				}
#line 369 "/home/jens/Source/shotwell/src/main.vala"
				_tmp28_ = args;
#line 369 "/home/jens/Source/shotwell/src/main.vala"
				_tmp28__length1 = args_length1;
#line 369 "/home/jens/Source/shotwell/src/main.vala"
				_tmp29_ = ctr;
#line 369 "/home/jens/Source/shotwell/src/main.vala"
				_tmp30_ = _tmp28_[_tmp29_];
#line 369 "/home/jens/Source/shotwell/src/main.vala"
				_tmp31_ = g_strdup (_tmp30_);
#line 369 "/home/jens/Source/shotwell/src/main.vala"
				arg = _tmp31_;
#line 371 "/home/jens/Source/shotwell/src/main.vala"
				_tmp32_ = arg;
#line 371 "/home/jens/Source/shotwell/src/main.vala"
				_tmp33_ = library_window_is_mount_uri_supported (_tmp32_);
#line 371 "/home/jens/Source/shotwell/src/main.vala"
				if (_tmp33_) {
#line 2620 "main.c"
					gchar** _tmp34_ = NULL;
					gint _tmp34__length1 = 0;
					const gchar* _tmp35_ = NULL;
					gchar* _tmp36_ = NULL;
#line 372 "/home/jens/Source/shotwell/src/main.vala"
					_tmp34_ = mounts;
#line 372 "/home/jens/Source/shotwell/src/main.vala"
					_tmp34__length1 = mounts_length1;
#line 372 "/home/jens/Source/shotwell/src/main.vala"
					_tmp35_ = arg;
#line 372 "/home/jens/Source/shotwell/src/main.vala"
					_tmp36_ = g_strdup (_tmp35_);
#line 372 "/home/jens/Source/shotwell/src/main.vala"
					_vala_array_add157 (&mounts, &mounts_length1, &_mounts_size_, _tmp36_);
#line 2635 "main.c"
				} else {
					gboolean _tmp37_ = FALSE;
					const gchar* _tmp38_ = NULL;
					gboolean _tmp39_ = FALSE;
#line 373 "/home/jens/Source/shotwell/src/main.vala"
					_tmp38_ = filename;
#line 373 "/home/jens/Source/shotwell/src/main.vala"
					_tmp39_ = is_string_empty (_tmp38_);
#line 373 "/home/jens/Source/shotwell/src/main.vala"
					if (_tmp39_) {
#line 2646 "main.c"
						const gchar* _tmp40_ = NULL;
						gboolean _tmp41_ = FALSE;
#line 373 "/home/jens/Source/shotwell/src/main.vala"
						_tmp40_ = arg;
#line 373 "/home/jens/Source/shotwell/src/main.vala"
						_tmp41_ = string_contains (_tmp40_, "://");
#line 373 "/home/jens/Source/shotwell/src/main.vala"
						_tmp37_ = !_tmp41_;
#line 2655 "main.c"
					} else {
#line 373 "/home/jens/Source/shotwell/src/main.vala"
						_tmp37_ = FALSE;
#line 2659 "main.c"
					}
#line 373 "/home/jens/Source/shotwell/src/main.vala"
					if (_tmp37_) {
#line 2663 "main.c"
						const gchar* _tmp42_ = NULL;
						gchar* _tmp43_ = NULL;
#line 374 "/home/jens/Source/shotwell/src/main.vala"
						_tmp42_ = arg;
#line 374 "/home/jens/Source/shotwell/src/main.vala"
						_tmp43_ = g_strdup (_tmp42_);
#line 374 "/home/jens/Source/shotwell/src/main.vala"
						_g_free0 (filename);
#line 374 "/home/jens/Source/shotwell/src/main.vala"
						filename = _tmp43_;
#line 2674 "main.c"
					}
				}
#line 368 "/home/jens/Source/shotwell/src/main.vala"
				_g_free0 (arg);
#line 2679 "main.c"
			}
		}
	}
#line 378 "/home/jens/Source/shotwell/src/main.vala"
	_tmp45_ = filename;
#line 378 "/home/jens/Source/shotwell/src/main.vala"
	_tmp46_ = is_string_empty (_tmp45_);
#line 378 "/home/jens/Source/shotwell/src/main.vala"
	if (_tmp46_) {
#line 378 "/home/jens/Source/shotwell/src/main.vala"
		_tmp44_ = DEBUG_LIBRARY_PREFIX;
#line 2691 "main.c"
	} else {
#line 378 "/home/jens/Source/shotwell/src/main.vala"
		_tmp44_ = DEBUG_VIEWER_PREFIX;
#line 2695 "main.c"
	}
#line 378 "/home/jens/Source/shotwell/src/main.vala"
	debug_init (_tmp44_);
#line 380 "/home/jens/Source/shotwell/src/main.vala"
	if (RESOURCES_GIT_VERSION != NULL) {
#line 2701 "main.c"
		const gchar* _tmp47_ = NULL;
		const gchar* _tmp48_ = NULL;
		gboolean _tmp49_ = FALSE;
#line 382 "/home/jens/Source/shotwell/src/main.vala"
		_tmp48_ = filename;
#line 382 "/home/jens/Source/shotwell/src/main.vala"
		_tmp49_ = is_string_empty (_tmp48_);
#line 382 "/home/jens/Source/shotwell/src/main.vala"
		if (_tmp49_) {
#line 382 "/home/jens/Source/shotwell/src/main.vala"
			_tmp47_ = RESOURCES_APP_LIBRARY_ROLE;
#line 2713 "main.c"
		} else {
#line 382 "/home/jens/Source/shotwell/src/main.vala"
			_tmp47_ = RESOURCES_APP_DIRECT_ROLE;
#line 2717 "main.c"
		}
#line 381 "/home/jens/Source/shotwell/src/main.vala"
		g_message ("main.vala:381: Shotwell %s %s (%s)", _tmp47_, RESOURCES_APP_VERSION, RESOURCES_GIT_VERSION);
#line 2721 "main.c"
	} else {
		const gchar* _tmp50_ = NULL;
		const gchar* _tmp51_ = NULL;
		gboolean _tmp52_ = FALSE;
#line 386 "/home/jens/Source/shotwell/src/main.vala"
		_tmp51_ = filename;
#line 386 "/home/jens/Source/shotwell/src/main.vala"
		_tmp52_ = is_string_empty (_tmp51_);
#line 386 "/home/jens/Source/shotwell/src/main.vala"
		if (_tmp52_) {
#line 386 "/home/jens/Source/shotwell/src/main.vala"
			_tmp50_ = RESOURCES_APP_LIBRARY_ROLE;
#line 2734 "main.c"
		} else {
#line 386 "/home/jens/Source/shotwell/src/main.vala"
			_tmp50_ = RESOURCES_APP_DIRECT_ROLE;
#line 2738 "main.c"
		}
#line 385 "/home/jens/Source/shotwell/src/main.vala"
		g_message ("main.vala:385: Shotwell %s %s", _tmp50_, RESOURCES_APP_VERSION);
#line 2742 "main.c"
	}
#line 389 "/home/jens/Source/shotwell/src/main.vala"
	_tmp53_ = g_date_time_new_now_local ();
#line 389 "/home/jens/Source/shotwell/src/main.vala"
	_tmp54_ = _tmp53_;
#line 389 "/home/jens/Source/shotwell/src/main.vala"
	_tmp55_ = g_date_time_get_timezone_abbreviation (_tmp54_);
#line 389 "/home/jens/Source/shotwell/src/main.vala"
	g_debug ("main.vala:389: Shotwell is running in timezone %s", _tmp55_);
#line 389 "/home/jens/Source/shotwell/src/main.vala"
	_g_date_time_unref0 (_tmp54_);
#line 394 "/home/jens/Source/shotwell/src/main.vala"
	_tmp56_ = filename;
#line 394 "/home/jens/Source/shotwell/src/main.vala"
	_tmp57_ = is_string_empty (_tmp56_);
#line 394 "/home/jens/Source/shotwell/src/main.vala"
	application_init (!_tmp57_);
#line 397 "/home/jens/Source/shotwell/src/main.vala"
	_tmp58_ = commandline_options_data_dir;
#line 397 "/home/jens/Source/shotwell/src/main.vala"
	if (_tmp58_ != NULL) {
#line 2764 "main.c"
		const gchar* _tmp59_ = NULL;
#line 398 "/home/jens/Source/shotwell/src/main.vala"
		_tmp59_ = commandline_options_data_dir;
#line 398 "/home/jens/Source/shotwell/src/main.vala"
		app_dirs_set_data_dir (_tmp59_);
#line 2770 "main.c"
	} else {
#line 400 "/home/jens/Source/shotwell/src/main.vala"
		app_dirs_try_migrate_data ();
#line 2774 "main.c"
	}
#line 403 "/home/jens/Source/shotwell/src/main.vala"
	app_dirs_verify_data_dir ();
#line 404 "/home/jens/Source/shotwell/src/main.vala"
	app_dirs_verify_cache_dir ();
#line 407 "/home/jens/Source/shotwell/src/main.vala"
	_tmp60_ = args;
#line 407 "/home/jens/Source/shotwell/src/main.vala"
	_tmp60__length1 = args_length1;
#line 407 "/home/jens/Source/shotwell/src/main.vala"
	international_support_init (RESOURCES_APP_GETTEXT_PACKAGE, _tmp60_, _tmp60__length1, INTERNATIONAL_SUPPORT_SYSTEM_LOCALE);
#line 409 "/home/jens/Source/shotwell/src/main.vala"
	_tmp61_ = g_timer_new ();
#line 409 "/home/jens/Source/shotwell/src/main.vala"
	_g_timer_destroy0 (startup_timer);
#line 409 "/home/jens/Source/shotwell/src/main.vala"
	startup_timer = _tmp61_;
#line 410 "/home/jens/Source/shotwell/src/main.vala"
	_tmp62_ = startup_timer;
#line 410 "/home/jens/Source/shotwell/src/main.vala"
	g_timer_start (_tmp62_);
#line 413 "/home/jens/Source/shotwell/src/main.vala"
	g_set_application_name (RESOURCES_APP_TITLE);
#line 417 "/home/jens/Source/shotwell/src/main.vala"
	resources_init ();
#line 422 "/home/jens/Source/shotwell/src/main.vala"
	_tmp63_ = filename;
#line 422 "/home/jens/Source/shotwell/src/main.vala"
	_tmp64_ = is_string_empty (_tmp63_);
#line 422 "/home/jens/Source/shotwell/src/main.vala"
	if (_tmp64_) {
#line 2806 "main.c"
		gchar** _tmp65_ = NULL;
		gint _tmp65__length1 = 0;
#line 423 "/home/jens/Source/shotwell/src/main.vala"
		_tmp65_ = mounts;
#line 423 "/home/jens/Source/shotwell/src/main.vala"
		_tmp65__length1 = mounts_length1;
#line 423 "/home/jens/Source/shotwell/src/main.vala"
		library_exec (_tmp65_, _tmp65__length1);
#line 2815 "main.c"
	} else {
		const gchar* _tmp66_ = NULL;
#line 425 "/home/jens/Source/shotwell/src/main.vala"
		_tmp66_ = filename;
#line 425 "/home/jens/Source/shotwell/src/main.vala"
		editing_exec (_tmp66_);
#line 2822 "main.c"
	}
#line 428 "/home/jens/Source/shotwell/src/main.vala"
	resources_terminate ();
#line 429 "/home/jens/Source/shotwell/src/main.vala"
	application_terminate ();
#line 430 "/home/jens/Source/shotwell/src/main.vala"
	debug_terminate ();
#line 431 "/home/jens/Source/shotwell/src/main.vala"
	app_dirs_terminate ();
#line 436 "/home/jens/Source/shotwell/src/main.vala"
	_tmp68_ = filename;
#line 436 "/home/jens/Source/shotwell/src/main.vala"
	_tmp69_ = is_string_empty (_tmp68_);
#line 436 "/home/jens/Source/shotwell/src/main.vala"
	if (_tmp69_) {
#line 2838 "main.c"
		gboolean _tmp70_ = FALSE;
#line 436 "/home/jens/Source/shotwell/src/main.vala"
		_tmp70_ = was_already_running;
#line 436 "/home/jens/Source/shotwell/src/main.vala"
		_tmp67_ = !_tmp70_;
#line 2844 "main.c"
	} else {
#line 436 "/home/jens/Source/shotwell/src/main.vala"
		_tmp67_ = FALSE;
#line 2848 "main.c"
	}
#line 436 "/home/jens/Source/shotwell/src/main.vala"
	if (_tmp67_) {
#line 2852 "main.c"
		gchar* orig_path = NULL;
		GFile* _tmp71_ = NULL;
		GFile* _tmp72_ = NULL;
		GFile* _tmp73_ = NULL;
		GFile* _tmp74_ = NULL;
		gchar* _tmp75_ = NULL;
		gchar* _tmp76_ = NULL;
		gchar* backup_path = NULL;
		const gchar* _tmp77_ = NULL;
		gchar* _tmp78_ = NULL;
#line 437 "/home/jens/Source/shotwell/src/main.vala"
		_tmp71_ = app_dirs_get_data_subdir ("data", NULL);
#line 437 "/home/jens/Source/shotwell/src/main.vala"
		_tmp72_ = _tmp71_;
#line 437 "/home/jens/Source/shotwell/src/main.vala"
		_tmp73_ = g_file_get_child (_tmp72_, "photo.db");
#line 437 "/home/jens/Source/shotwell/src/main.vala"
		_tmp74_ = _tmp73_;
#line 437 "/home/jens/Source/shotwell/src/main.vala"
		_tmp75_ = g_file_get_path (_tmp74_);
#line 437 "/home/jens/Source/shotwell/src/main.vala"
		_tmp76_ = _tmp75_;
#line 437 "/home/jens/Source/shotwell/src/main.vala"
		_g_object_unref0 (_tmp74_);
#line 437 "/home/jens/Source/shotwell/src/main.vala"
		_g_object_unref0 (_tmp72_);
#line 437 "/home/jens/Source/shotwell/src/main.vala"
		orig_path = _tmp76_;
#line 438 "/home/jens/Source/shotwell/src/main.vala"
		_tmp77_ = orig_path;
#line 438 "/home/jens/Source/shotwell/src/main.vala"
		_tmp78_ = g_strconcat (_tmp77_, ".bak", NULL);
#line 438 "/home/jens/Source/shotwell/src/main.vala"
		backup_path = _tmp78_;
#line 2887 "main.c"
		{
			GFile* src = NULL;
			const gchar* _tmp79_ = NULL;
			GFile* _tmp80_ = NULL;
			GFile* dest = NULL;
			const gchar* _tmp81_ = NULL;
			GFile* _tmp82_ = NULL;
			GFile* _tmp83_ = NULL;
			GFile* _tmp84_ = NULL;
#line 440 "/home/jens/Source/shotwell/src/main.vala"
			_tmp79_ = orig_path;
#line 440 "/home/jens/Source/shotwell/src/main.vala"
			_tmp80_ = g_file_new_for_commandline_arg (_tmp79_);
#line 440 "/home/jens/Source/shotwell/src/main.vala"
			src = _tmp80_;
#line 441 "/home/jens/Source/shotwell/src/main.vala"
			_tmp81_ = backup_path;
#line 441 "/home/jens/Source/shotwell/src/main.vala"
			_tmp82_ = g_file_new_for_commandline_arg (_tmp81_);
#line 441 "/home/jens/Source/shotwell/src/main.vala"
			dest = _tmp82_;
#line 442 "/home/jens/Source/shotwell/src/main.vala"
			_tmp83_ = src;
#line 442 "/home/jens/Source/shotwell/src/main.vala"
			_tmp84_ = dest;
#line 442 "/home/jens/Source/shotwell/src/main.vala"
			g_file_copy (_tmp83_, _tmp84_, G_FILE_COPY_OVERWRITE | G_FILE_COPY_ALL_METADATA, NULL, NULL, NULL, &_inner_error_);
#line 442 "/home/jens/Source/shotwell/src/main.vala"
			if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 442 "/home/jens/Source/shotwell/src/main.vala"
				_g_object_unref0 (dest);
#line 442 "/home/jens/Source/shotwell/src/main.vala"
				_g_object_unref0 (src);
#line 2921 "main.c"
				goto __catch223_g_error;
			}
#line 439 "/home/jens/Source/shotwell/src/main.vala"
			_g_object_unref0 (dest);
#line 439 "/home/jens/Source/shotwell/src/main.vala"
			_g_object_unref0 (src);
#line 2928 "main.c"
		}
		goto __finally223;
		__catch223_g_error:
		{
			GError* _error_ = NULL;
			GError* _tmp85_ = NULL;
			const gchar* _tmp86_ = NULL;
#line 439 "/home/jens/Source/shotwell/src/main.vala"
			_error_ = _inner_error_;
#line 439 "/home/jens/Source/shotwell/src/main.vala"
			_inner_error_ = NULL;
#line 446 "/home/jens/Source/shotwell/src/main.vala"
			_tmp85_ = _error_;
#line 446 "/home/jens/Source/shotwell/src/main.vala"
			_tmp86_ = _tmp85_->message;
#line 446 "/home/jens/Source/shotwell/src/main.vala"
			g_warning ("main.vala:446: Failed to create backup file of database: %s", _tmp86_);
#line 439 "/home/jens/Source/shotwell/src/main.vala"
			_g_error_free0 (_error_);
#line 2948 "main.c"
		}
		__finally223:
#line 439 "/home/jens/Source/shotwell/src/main.vala"
		if (G_UNLIKELY (_inner_error_ != NULL)) {
#line 439 "/home/jens/Source/shotwell/src/main.vala"
			_g_free0 (backup_path);
#line 439 "/home/jens/Source/shotwell/src/main.vala"
			_g_free0 (orig_path);
#line 439 "/home/jens/Source/shotwell/src/main.vala"
			_g_free0 (filename);
#line 439 "/home/jens/Source/shotwell/src/main.vala"
			mounts = (_vala_array_free (mounts, mounts_length1, (GDestroyNotify) g_free), NULL);
#line 439 "/home/jens/Source/shotwell/src/main.vala"
			g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
#line 439 "/home/jens/Source/shotwell/src/main.vala"
			g_clear_error (&_inner_error_);
#line 439 "/home/jens/Source/shotwell/src/main.vala"
			return;
#line 2967 "main.c"
		}
#line 449 "/home/jens/Source/shotwell/src/main.vala"
		sync ();
#line 436 "/home/jens/Source/shotwell/src/main.vala"
		_g_free0 (backup_path);
#line 436 "/home/jens/Source/shotwell/src/main.vala"
		_g_free0 (orig_path);
#line 2975 "main.c"
	}
#line 317 "/home/jens/Source/shotwell/src/main.vala"
	_g_free0 (filename);
#line 317 "/home/jens/Source/shotwell/src/main.vala"
	mounts = (_vala_array_free (mounts, mounts_length1, (GDestroyNotify) g_free), NULL);
#line 2981 "main.c"
}


int main (int argc, char ** argv) {
#if !GLIB_CHECK_VERSION (2,32,0)
	g_thread_init (NULL);
#endif
#if !GLIB_CHECK_VERSION (2,35,0)
	g_type_init ();
#endif
#line 317 "/home/jens/Source/shotwell/src/main.vala"
	_vala_main (argv, argc);
#line 317 "/home/jens/Source/shotwell/src/main.vala"
	return 0;
#line 2996 "main.c"
}


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


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



