SQLite format 3@ VlCC.C TS[RWQVJSIFU>H<G;F9E7D%V&&'''& en_US nn3!dshuoqtest@gmail.comcom.google \MisAPB3nNAAAABIIwZzM3u_c9QIQga6CpO_c9QK4dK1eMdPvEaTeDv-88WNEOhRBSURfMzU0YTNmYjZiNDhlOTU2YQ== EJib3Obv3PUC !3! shuoqtest@gmail.comcom.google   / )Iknown_accountsshuoqtest@gmail.comcom.google )aggregation_v25b 9knownDirectoryPackagescom.google.android.contacts,com.google.android.gm,com.google.android.gms %search_index2locale[en_US]#icu_version70.1.0.07directoryScanComplete1%7'database_time_created1643661860733 `s`)known_accounts )aggregation_v2 9knownDirectoryPackages %search_index locale#icu_version7directoryScanComplete7 database_time_created ' 3! shuoqtest@gmail.comcom.google %raw_contacts data contacts groups  accounts#directories mimetypes - 71123i39cda2fd8e012ed0~g+  51123ifde6d9688256e1b~蓯     ~g  ~蓯   x% -'-39cda2fd8e012ed0 Hhh SssSss, Hhh(0Hhh SssHSss, HhhS#3hiRTR/8JBg=1643662435702204~% + !!'-fde6d9688256e1bTest TestTest, Test(0Test TestTTest, TestT#/pDnzAl+m+0=1643250326948566  - 39cda2fd8e012ed0+ fde6d9688256e1b        nI!^= *[vnd.com.google.cursor.item/contact_misc#Mvnd.android.cursor.item/relation"Kvnd.android.cursor.item/website( Wvnd.android.cursor.item/contact_event Evnd.android.cursor.item/note+ ]vnd.android.cursor.item/group_membership Gvnd.android.cursor.item/photo# Mvnd.android.cursor.item/identity,_vnd.android.cursor.item/postal-address_v2Evnd.android.cursor.item/name&Svnd.android.cursor.item/sip_address#Mvnd.android.cursor.item/phone_v2'Uvnd.android.cursor.item/organization#Mvnd.android.cursor.item/nicknameAvnd.android.cursor.item/im#Mvnd.android.cursor.item/email_v2  _>oJ " +[vnd.com.google.cursor.item/contact_misc$Mvnd.android.cursor.item/relation#Kvnd.android.cursor.item/website)Wvnd.android.cursor.item/contact_event Evnd.android.cursor.item/note ,]vnd.android.cursor.item/group_membership !Gvnd.android.cursor.item/photo $Mvnd.android.cursor.item/identity -_vnd.android.cursor.item/postal-address_v2 Evnd.android.cursor.item/name'Svnd.android.cursor.item/sip_address$Mvnd.android.cursor.item/phone_v2(Uvnd.android.cursor.item/organization$Mvnd.android.cursor.item/nicknameAvnd.android.cursor.item/im#M vnd.android.cursor.item/email_v2 = h%` Y : !G #xpTQBHiJVn+rjlrBGeAnNQQvxiE= 110com.android.phone/com.android.services.telephony.TelephonyConnectionService !G #fJq2PwHt4JHm+PaQNEnG4kmxuag= Hhh SssHhhSss1012com.android.phone/com.android.services.telephony.TelephonyConnectionServiceB G  q1fOCMbLGnJi7HTrQFyndtNtHBo= 111 NP G )hZ//jn1ZBgF5KK5lRAYtb2yqygE= (987) 654-3210211p ! # 10com.android.phone/com.android.services.telephony.TelephonyConnectionService[  G)%WVH9PsTeKRFnaNNzfivd/ZiobAc= (631) 605-64612+1631605646110A  Gif14ufMFgSELfCdPRrrLkQd3KMc= G10#   10A  GxpTQBHiJVn+rjlrBGeAnNQQvxiE= 110S  GJ/dmwBaqvw/x8YG8kOtscxIajM0= Test TestTestTest1010A  G q1fOCMbLGnJi7HTrQFyndtNtHBo= 110             ~~~  Hhh Sss )(987) 654-3210  1)(631) 605-6461G Test Test 1  Rt0 !GxpTQBHiJVn+rjlrBGeAnNQQvxiE= !GfJq2PwHt4JHm+PaQNEnG4kmxuag= !GhZ//jn1ZBgF5KK5lRAYtb2yqygE= "!Gq1fOCMbLGnJi7HTrQFyndtNtHBo= !GWVH9PsTeKRFnaNNzfivd/ZiobAc= !Gif14ufMFgSELfCdPRrrLkQd3KMc= !GxpTQBHiJVn+rjlrBGeAnNQQvxiE= !GJ/dmwBaqvw/x8YG8kOtscxIajM0=  G q1fOCMbLGnJi7HTrQFyndtNtHBo= ! 98765432100123456 %+163160564611646506 !63160564611646506 !9876543210 % +16316056461!  6316056461 0123456  1646506   1646506   0123456 1646506  1646506 ]s]% 4E4E4E383838' 4E4E4E.383838% 3838384E4E4E' 383838.4E4E4E / 50324E50.50324E50 -50324E5050324E50 /50324E50.50324E50 bwb% 4E4E4E383838'  4E4E4E.383838% 3838384E4E4E' 383838.4E4E4E/ 50324E50.50324E50-50324E5050324E50/ 50324E50.50324E50    PL KKMO423236124^N132403A5C2A2C32503866 v!(    fCoworkersCoworkersS +1  %-d9ad4888fec91c3Starred in AndroidE4MXtO5x1L4=1554247910172002"    eFamilyFamily$    dFriendsFriends* #  6My ContactsContacts  f e d+ d9ad4888fec91c3 6       ++N C_!33 com.google.android.contactscom.google.android.contacts.othercontactscom.google.android.contacts:string/other_contacts_directory_search_labelcom.googleshuoqtest@gmail.comshuoqtest@gmail.com I5 com.android.providers.contactscom.android.contacts com.android.providers.contacts:string/local_invisible_directory{ I5{com.android.providers.contactscom.android.contactscom.android.providers.contacts:string/default_directory   Sss, Hhh ! Test, Test WnW%4E4E4E383838 ' 4E4E4E.383838 %3838384E4E4E '383838.4E4E4E / 50324E50.50324E50- 50324E5050324E50/  50324E50.50324E50  Hhh Sss  Test Test       + Z$zB s 5  y b M 3 $ v ` Q ? -  y [ C % +%agg_presence1*)presencepresenceIndex21 1)'presencepresenceIndex1 1B(3Ysearch_index_segdirsqlite_autoindex_search_index_segdir_19 5 1'7search_index_segments450&/search_index_stat1%5search_index_content9000$5search_index_docsize9000.#!Gpropertiessqlite_autoindex_properties_14 1"5_sync_state_metadata12!#I_sync_statesqlite_autoindex__sync_state_12 1 1 -android_metadata1#v1_settings0#directories3 packages0)agg_exceptions10.+7data_usage_statdata_usage_stat_index20 2 1mimetypesmime_type18 1/default_directory1500#photo_files50-visible_contacts20003pre_authorized_uris1 accounts31stream_item_photos50%stream_items500)status_updates100/+7nickname_lookupnickname_lookup_index500 2 15O!groupsgroups_source_id_account_id_index50 2 2 1 1#3datadata_raw_contact_id60000 10-?%datadata_mimetype_data1_index60000 5000 2< %Uphone_lookupphone_lookup_data_id_min_match_index3500 2 26 %E!phone_lookupphone_lookup_min_match_index3500 3 2 2, %1!phone_lookupphone_lookup_index3500 3 2 18 #I#name_lookupsqlite_autoindex_name_lookup_135000 3 2 1- #/'name_lookupname_lookup_index35000 2 2 2 16#Mname_lookupname_lookup_raw_contact_id_index35000 4@%[raw_contactsraw_contacts_source_id_account_id_index10000 1 12%Craw_contactsraw_contact_sort_key1_index10000 22%Craw_contactsraw_contact_sort_key2_index10000 24%Graw_contactsraw_contacts_contact_id_index10000 2@gcontactscontacts_contact_last_updated_timestamp_index9000 104Qcontactscontacts_name_raw_contact_id_index9000 1,=contactscontacts_has_phone_index9000 500   '!383838 4E4E4E98765432102 5;G36 50324E50 50324E506316056461 +16316056461  aAv0 5323838384e4e4e 9876543210@ v0 5323838384e4e4e 9876543210[*0 791 63160564613650324e50 6316056461g     E HD?PH T *  U# mtabledatadataCREATE TABLE data (_id INTEGER PRIMARY KEY AUTOINCREMENT,package_id INTEGER REFERENCES package(_id),mimetype_id INTEGER REFERENCES mimetype(_id) NOT NULL,raw_contact_id INTEGER REFERENCES raw_contacts(_id) NOT NULL,hash_id TEXT,is_read_only INTEGER NOT NULL DEFAULT 0,is_primary INTEGER NOT NULL DEFAULT 0,is_super_primary INTEGER NOT NULL DEFAULT 0,data_version INTEGER NOT NULL DEFAULT 0,data1 TEXT,data2 TEXT,data3 TEXT,data4 TEXT,data5 TEXT,data6 TEXT,data7 TEXT,data8 TEXT,data9 TEXT,data10 TEXT,data11 TEXT,data12 TEXT,data13 TEXT,data14 TEXT,data15 TEXT,data_sync1 TEXT, data_sync2 TEXT, data_sync3 TEXT, data_sync4 TEXT, carrier_presence INTEGER NOT NULL DEFAULT 0, preferred_phone_account_component_name TEXT, preferred_phone_account_id TEXT )Swindexmime_typemimetypesCREATE UNIQUE INDEX mime_type ON mimetypes (mimetype)t7tablemimetypesmimetypesCREATE TABLE mimetypes (_id INTEGER PRIMARY KEY AUTOINCREMENT,mimetype TEXT NOT NULL)p3tablepackagespackagesCREATE TABLE packages (_id INTEGER PRIMARY KEY AUTOINCREMENT,package TEXT NOT NULL)/##%tablephoto_filesphoto_filesCREATE TABLE photo_files (_id INTEGER PRIMARY KEY AUTOINCREMENT, height INTEGER NOT NULL, width INTEGER NOT NULL, filesize INTEGER NOT NULL)11)tablestream_item_photosstream_item_photosCREATE TABLE stream_item_photos (_id INTEGER PRIMARY KEY AUTOINCREMENT, stream_item_id INTEGER NOT NULL, sort_index INTEGER, photo_file_id INTEGER NOT NULL, stream_item_photo_sync1 TEXT, stream_item_photo_sync2 TEXT, stream_item_photo_sync3 TEXT, stream_item_photo_sync4 TEXT, FOREIGN KEY(stream_item_id) REFERENCES stream_items(_id))%%Ctablestream_itemsstream_itemsCREATE TABLE stream_items (_id INTEGER PRIMARY KEY AUTOINCREMENT, raw_contact_id INTEGER NOT NULL, res_package TEXT, icon TEXT, label TEXT, text TEXT, timestamp INTEGER NOT NULL, comments TEXT, stream_item_sync1 TEXT, stream_item_sync2 TEXT, stream_item_sync3 TEXT, stream_item_sync4 TEXT, FOREIGN KEY(raw_contact_id) REFERENCES raw_contacts(_id))#[%Sindexraw_contacts_backup_id_account_id_indexraw_contactsCREATE UNIQUE INDEX raw_contacts_backup_id_account_id_index ON raw_contacts (backup_id, account_id) _$++wtablenickname_lookupnickname_lookup&CREATE TABLE nickname_lookup (name TEXT,cluster TEXT)#M#'indexname_lookup_raw_contact_id_indexname_lookup%CREATE INDEX name_lookup_raw_contact_id_index ON name_lookup (raw_contact_id)5"I#indexsqlite_autoindex_name_lookup_1name_lookup$!##mtablename_lookupname_lookup#CREATE TABLE name_lookup (data_id INTEGER REFERENCES data(_id) NOT NULL,raw_contact_id INTEGER REFERENCES raw_contacts(_id) NOT NULL,normalized_name TEXT NOT NULL,name_type INTEGER NOT NULL,PRIMARY KEY (data_id, normalized_name, name_type)) U%9indexphone_lookup_data_id_min_match_indexphone_lookup"CREATE INDEX phone_lookup_data_id_min_match_index ON phone_lookup (data_id, min_match)E%Eindexphone_lookup_min_match_indexphone_lookup!CREATE INDEX phone_lookup_min_match_index ON phone_lookup (min_match,raw_contact_id,data_id)1%Aindexphone_lookup_indexphone_lookup CREATE INDEX phone_lookup_index ON phone_lookup (normalized_number,raw_contact_id,data_id)c%% tablephone_lookupphone_lookupCREATE TABLE phone_lookup (data_id INTEGER REFERENCES data(_id) NOT NULL,raw_contact_id INTEGER REFERENCES raw_contacts(_id) NOT NULL,normalized_number TEXT NOT NULL,min_match TEXT NOT NULL)S1oindexdata_hash_id_indexdataCREATE INDEX data_hash_id_index ON data (hash_id)l?indexdata_mimetype_data1_indexdataCREATE INDEX data_mimetype_data1_index ON data (mimetype_id,data1)}%7+%indexnickname_lookup_indexnickname_lookup'CREATE UNIQUE INDEX nickname_lookup_index ON nickname_lookup (name, cluster)\3indexdata_raw_contact_iddataCREATE INDEX data_raw_contact_id ON data (raw_contact_id) (4 R R R R R R R R ` Xq.##)tabledirectoriesdirectories0CREATE TABLE directories(_id INTEGER PRIMARY KEY AUTOINCREMENT,packageName TEXT NOT NULL,authority TEXT NOT NULL,typeResourceId INTEGER,typeResourceName TEXT,accountType TEXT,accountName TEXT,displayName TEXT, exportSupport INTEGER NOT NULL DEFAULT 0,shortcutSupport INTEGER NOT NULL DEFAULT 0,photoSupport INTEGER NOT NULL DEFAULT 0)f-))tablestatus_updatesstatus_updates/CREATE TABLE status_updates (status_update_data_id INTEGER PRIMARY KEY REFERENCES data(_id),status TEXT,status_ts INTEGER,status_res_package TEXT, status_label INTEGER, status_icon INTEGER)f,//}tabledefault_directorydefault_directory.CREATE TABLE default_directory (_id INTEGER PRIMARY KEY)c+--{tablevisible_contactsvisible_contacts-CREATE TABLE visible_contacts (_id INTEGER PRIMARY KEY)*E)Windexaggregation_exception_index2agg_exceptions,CREATE UNIQUE INDEX aggregation_exception_index2 ON agg_exceptions (raw_contact_id2, raw_contact_id1))E)Windexaggregation_exception_index1agg_exceptions+CREATE UNIQUE INDEX aggregation_exception_index1 ON agg_exceptions (raw_contact_id1, raw_contact_id2)n())tableagg_exceptionsagg_exceptions*CREATE TABLE agg_exceptions (_id INTEGER PRIMARY KEY AUTOINCREMENT,type INTEGER NOT NULL, raw_contact_id1 INTEGER REFERENCES raw_contacts(_id), raw_contact_id2 INTEGER REFERENCES raw_contacts(_id))'O+indexgroups_source_id_account_id_indexgroups)CREATE INDEX groups_source_id_account_id_index ON groups (sourceid, account_id)N&wtablegroupsgroups(CREATE TABLE groups (_id INTEGER PRIMARY KEY AUTOINCREMENT,package_id INTEGER REFERENCES package(_id),account_id INTEGER REFERENCES accounts(_id),sourceid TEXT,version INTEGER NOT NULL DEFAULT 1,dirty INTEGER NOT NULL DEFAULT 0,title TEXT,title_res INTEGER,notes TEXT,system_id TEXT,deleted INTEGER NOT NULL DEFAULT 0,group_visible INTEGER NOT NULL DEFAULT 0,should_sync INTEGER NOT NULL DEFAULT 1,auto_add INTEGER NOT NULL DEFAULT 0,favorites INTEGER NOT NULL DEFAULT 0,group_is_read_only INTEGER NOT NULL DEFAULT 0,sync1 TEXT, sync2 TEXT, sync3 TEXT, sync4 TEXT ) ab77+1indexdata_usage_stat_indexdata_usage_stat8CREATE UNIQUE INDEX data_usage_stat_index ON data_usage_stat (data_id, usage_type)6++Ctabledata_usage_statdata_usage_stat7CREATE TABLE data_usage_stat(stat_id INTEGER PRIMARY KEY AUTOINCREMENT, data_id INTEGER NOT NULL, usage_type INTEGER NOT NULL DEFAULT 0, x_times_used INTEGER NOT NULL DEFAULT 0, x_last_time_used INTEGER NOT NULL DEFAULT 0, times_used INTEGER NOT NULL DEFAULT 0, last_time_used INTEGER NOT NULL DEFAULT 0, FOREIGN KEY(data_id) REFERENCES data(_id)) F(9#viewview_dataview_dataCREATE VIEW view_data AS SELECT data._id AS _id,hash_id, raw_contact_id, raw_contacts.contact_id AS contact_id, raw_contacts.account_id,accounts.account_name AS account_name,accounts.account_type AS account_type,accounts.data_set AS data_set,(CASE WHEN accounts.data_set IS NULL THEN accounts.account_type ELSE accounts.account_type||'/'||accounts.data_set END) AS account_type_and_data_set,raw_contacts.sourceid AS sourceid,raw_contacts.backup_id AS backup_id,raw_contacts.version AS version,raw_contacts.dirty AS dirty,raw_contacts.sync1 AS sync1,raw_contacts.sync2 AS sync2,raw_contacts.sync3 AS sync3,raw_contacts.sync4 AS sync4, is_primary, is_super_primary, data_version, data.package_id,package AS res_package,data.mimetype_id,mimetype AS mimetype, is_read_only, data1, data2, data3, data4, data5, data6, data7, data8, data9, data10, data11, data12, data13, data14, data15, carrier_presence, preferred_phone_account_component_name, preferred_phone_account_id, data_sync1, data_sync2, data_sync3, data_sync4, contacts.custom_ringtone AS custom_ringtone,contacts.send_to_voicemail AS send_to_voicemail,0 AS x_last_time_contacted,0 AS x_times_contacted,0 AS last_time_contacted,0 AS times_contacted,contacts.starred AS starred,contacts.pinned AS pinned, name_raw_contact.display_name_source AS display_name_source, name_raw_contact.display_name AS display_name, name_raw_contact.display_name_alt AS display_name_alt, name_raw_contact.phonetic_name AS phonetic_name, name_raw_contact.phonetic_name_style AS phonetic_name_style, name_raw_contact.sort_key AS sort_key, name_raw_contact.phonebook_label AS phonebook_label, name_raw_contact.phonebook_bucket AS phonebook_bucket, name_raw_contact.sort_key_alt AS sort_key_alt, name_raw_contact.phonebook_label_alt AS phonebook_label_alt, name_raw_contact.phonebook_bucket_alt AS phonebook_bucket_alt, has_phone_number, name_raw_contact_id, lookup, photo_id, photo_file_id, CAST(EXISTS (SELECT _id FROM visible_contacts WHERE contacts._id=visible_contacts._id) AS INTEGER) AS in_visible_group, CAST(EXISTS (SELECT _id FROM default_directory WHERE contacts._id=default_directory._id) AS INTEGER) AS in_default_directory, status_update_id, contacts.contact_last_updated_timestamp, (CASE WHEN photo_file_id IS NULL THEN (CASE WHEN photo_id IS NULL OR photo_id=0 THEN NULL ELSE 'content://com.android.contacts/contacts/'||raw_contacts.contact_id|| '/photo' END) ELSE 'content://com.android.contacts/display_photo/'||photo_file_id END) AS photo_uri, (CASE WHEN photo_id IS NULL OR photo_id=0 THEN NULL ELSE 'content://com.android.contacts/contacts/'||raw_contacts.contact_id|| '/photo' END) AS photo_thumb_uri, 0 AS raw_contact_is_user_profile, groups.sourceid AS group_sourceid FROM data JOIN mimetypes ON (data.mimetype_id=mimetypes._id) JOIN raw_contacts ON (data.raw_contact_id=raw_contacts._id) JOIN accounts ON (raw_contacts.account_id=accounts._id) JOIN contacts ON (raw_contacts.contact_id=contacts._id) JOIN raw_contacts AS name_raw_contact ON(name_raw_contact_id=name_raw_contact._id) LEFT OUTER JOIN packages ON (data.package_id=packages._id) LEFT OUTER JOIN groups ON (mimetypes.mimetype='vnd.android.cursor.item/group_membership' AND groups._id=data.data1)7833tablepre_authorized_urispre_authorized_uris9CREATE TABLE pre_authorized_uris (_id INTEGER PRIMARY KEY AUTOINCREMENT, uri STRING NOT NULL, expiration INTEGER NOT NULL DEFAULT 0) A mA9);''viewview_contactsview_contactsCREATE VIEW view_contacts AS SELECT contacts._id AS _id,contacts.custom_ringtone AS custom_ringtone, name_raw_contact.display_name_source AS display_name_source, name_raw_contact.display_name AS display_name, name_raw_contact.display_name_alt AS display_name_alt, name_raw_contact.phonetic_name AS phonetic_name, name_raw_contact.phonetic_name_style AS phonetic_name_style, name_raw_contact.sort_key AS sort_key, name_raw_contact.phonebook_label AS phonebook_label, name_raw_contact.phonebook_bucket AS phonebook_bucket, name_raw_contact.sort_key_alt AS sort_key_alt, name_raw_contact.phonebook_label_alt AS phonebook_label_alt, name_raw_contact.phonebook_bucket_alt AS phonebook_bucket_alt, has_phone_number, name_raw_contact_id, lookup, photo_id, photo_file_id, CAST(EXISTS (SELECT _id FROM visible_contacts WHERE contacts._id=visible_contacts._id) AS INTEGER) AS in_visible_group, CAST(EXISTS (SELECT _id FROM default_directory WHERE contacts._id=default_directory._id) AS INTEGER) AS in_default_directory, status_update_id, contacts.contact_last_updated_timestamp, 0 AS x_last_time_contacted, 0 AS last_time_contacted, contacts.send_to_voicemail AS send_to_voicemail, contacts.starred AS starred, contacts.pinned AS pinned, 0 AS x_times_contacted, 0 AS times_contacted, (CASE WHEN photo_file_id IS NULL THEN (CASE WHEN photo_id IS NULL OR photo_id=0 THEN NULL ELSE 'content://com.android.contacts/contacts/'||contacts._id|| '/photo' END) ELSE 'content://com.android.contacts/display_photo/'||photo_file_id END) AS photo_uri, (CASE WHEN photo_id IS NULL OR photo_id=0 THEN NULL ELSE 'content://com.android.contacts/contacts/'||contacts._id|| '/photo' END) AS photo_thumb_uri, 0 AS is_user_profile FROM contacts JOIN raw_contacts AS name_raw_contact ON(name_raw_contact_id=name_raw_contact._id)://Sviewview_raw_contactsview_raw_contactsCREATE VIEW view_raw_contacts AS SELECT raw_contacts._id AS _id,contact_id, aggregation_mode, raw_contact_is_read_only, deleted, raw_contacts.metadata_dirty, display_name_source, display_name, display_name_alt, phonetic_name, phonetic_name_style, sort_key, phonebook_label, phonebook_bucket, sort_key_alt, phonebook_label_alt, phonebook_bucket_alt, 0 AS raw_contact_is_user_profile, custom_ringtone,send_to_voicemail,0 AS x_last_time_contacted,0 AS last_time_contacted,0 AS x_times_contacted,0 AS times_contacted,starred,pinned, raw_contacts.account_id,accounts.account_name AS account_name,accounts.account_type AS account_type,accounts.data_set AS data_set,(CASE WHEN accounts.data_set IS NULL THEN accounts.account_type ELSE accounts.account_type||'/'||accounts.data_set END) AS account_type_and_data_set,raw_contacts.sourceid AS sourceid,raw_contacts.backup_id AS backup_id,raw_contacts.version AS version,raw_contacts.dirty AS dirty,raw_contacts.sync1 AS sync1,raw_contacts.sync2 AS sync2,raw_contacts.sync3 AS sync3,raw_contacts.sync4 AS sync4 FROM raw_contacts JOIN accounts ON (raw_contacts.account_id=accounts._id)  Z<//gviewview_raw_entitiesview_raw_entitiesCREATE VIEW view_raw_entities AS SELECT contact_id, raw_contacts.deleted AS deleted,raw_contacts.metadata_dirty, is_primary, is_super_primary, data_version, data.package_id,package AS res_package,data.mimetype_id,mimetype AS mimetype, is_read_only, data1, data2, data3, data4, data5, data6, data7, data8, data9, data10, data11, data12, data13, data14, data15, carrier_presence, preferred_phone_account_component_name, preferred_phone_account_id, data_sync1, data_sync2, data_sync3, data_sync4, raw_contacts.account_id,accounts.account_name AS account_name,accounts.account_type AS account_type,accounts.data_set AS data_set,(CASE WHEN accounts.data_set IS NULL THEN accounts.account_type ELSE accounts.account_type||'/'||accounts.data_set END) AS account_type_and_data_set,raw_contacts.sourceid AS sourceid,raw_contacts.backup_id AS backup_id,raw_contacts.version AS version,raw_contacts.dirty AS dirty,raw_contacts.sync1 AS sync1,raw_contacts.sync2 AS sync2,raw_contacts.sync3 AS sync3,raw_contacts.sync4 AS sync4, data_sync1, data_sync2, data_sync3, data_sync4, raw_contacts._id AS _id, data._id AS data_id,raw_contacts.starred AS starred,0 AS raw_contact_is_user_profile,groups.sourceid AS group_sourceid FROM raw_contacts JOIN accounts ON (raw_contacts.account_id=accounts._id) LEFT OUTER JOIN data ON (data.raw_contact_id=raw_contacts._id) LEFT OUTER JOIN packages ON (data.package_id=packages._id) LEFT OUTER JOIN mimetypes ON (data.mimetype_id=mimetypes._id) LEFT OUTER JOIN groups ON (mimetypes.mimetype='vnd.android.cursor.item/group_membership' AND groups._id=data.data1) ( ; ?D"%(TzF%Etriggerdata_updateddataCREATE TRIGGER data_updated AFTER UPDATE ON data BEGIN UPDATE data SET data_version=OLD.data_version+1 WHERE _id=OLD._id; UPDATE raw_contacts SET version=version+1 WHERE _id=OLD.raw_contact_id; ENDzEC%triggerraw_contacts_marked_deletedraw_contactsCREATE TRIGGER raw_contacts_marked_deleted AFTER UPDATE ON raw_contacts BEGIN UPDATE raw_contacts SET version=OLD.version+1 WHERE _id=OLD._id AND NEW.deleted!= OLD.deleted; ENDvD5%triggerraw_contacts_deletedraw_contactsCREATE TRIGGER raw_contacts_deleted BEFORE DELETE ON raw_contacts BEGIN DELETE FROM data WHERE raw_contact_id=OLD._id; DELETE FROM agg_exceptions WHERE raw_contact_id1=OLD._id OR raw_contact_id2=OLD._id; DELETE FROM visible_contacts WHERE _id=OLD.contact_id AND (SELECT COUNT(*) FROM raw_contacts WHERE contact_id=OLD.contact_id )=1; DELETE FROM default_directory WHERE _id=OLD.contact_id AND (SELECT COUNT(*) FROM raw_contacts WHERE contact_id=OLD.contact_id )=1; DELETE FROM contacts WHERE _id=OLD.contact_id AND (SELECT COUNT(*) FROM raw_contacts WHERE contact_id=OLD.contact_id )=1; END&CGstriggeraccounts_insert_local_accountaccountsCREATE TRIGGER accounts_insert_local_account AFTER INSERT ON accounts WHEN NEW.account_name IS NULL AND NEW.account_type IS NULL AND NEW.data_set IS NULL BEGIN UPDATE accounts SET ungrouped_visible = 1, should_sync = 0 WHERE _id = NEW._id; ENDxB5'triggerview_settings_updateview_settingsCREATE TRIGGER view_settings_update INSTEAD OF UPDATE ON view_settings BEGIN UPDATE accounts SET ungrouped_visible = NEW.ungrouped_visible, should_sync = NEW.should_sync WHERE _id = OLD.account_id; ENDyA''5viewview_settingsview_settingsCREATE VIEW view_settings AS SELECT accounts._id AS account_id,accounts.account_name AS account_name,accounts.account_type AS account_type,accounts.data_set AS data_set,ungrouped_visible,should_sync FROM accounts2@##/viewview_groupsview_groupsCREATE VIEW view_groups AS SELECT groups._id AS _id,groups.account_id AS account_id,accounts.account_name AS account_name,accounts.account_type AS account_type,accounts.data_set AS data_set,(CASE WHEN accounts.data_set IS NULL THEN accounts.account_type ELSE accounts.account_type||'/'||accounts.data_set END) AS account_type_and_data_set,sourceid,version,dirty,title,title_res,notes,system_id,deleted,group_visible,groups.should_sync AS should_sync,auto_add,favorites,group_is_read_only,sync1,sync2,sync3,sync4,package AS res_package FROM groups JOIN accounts ON (groups.account_id=accounts._id) LEFT OUTER JOIN packages ON (groups.package_id=packages._id) ?//Mviewview_stream_itemsview_stream_itemsCREATE VIEW view_stream_items AS SELECT stream_items._id, contacts._id AS contact_id, contacts.lookup AS contact_lookup, accounts.account_name, accounts.account_type, accounts.data_set, stream_items.raw_contact_id as raw_contact_id, raw_contacts.sourceid as raw_contact_source_id, stream_items.res_package, stream_items.icon, stream_items.label, stream_items.text, stream_items.timestamp, stream_items.comments, stream_items.stream_item_sync1, stream_items.stream_item_sync2, stream_items.stream_item_sync3, stream_items.stream_item_sync4 FROM stream_items JOIN raw_contacts ON (stream_items.raw_contact_id=raw_contacts._id) JOIN accounts ON (raw_contacts.account_id=accounts._id) JOIN contacts ON (raw_contacts.contact_id=contacts._id)  7 Q[U7J ` ` ` `OG9Q%%5tableagg_presenceagg_presence:CREATE TABLE agg_presence (presence_contact_id INTEGER PRIMARY KEY REFERENCES contacts(_id),mode INTEGER,chat_capability INTEGER NOT NULL DEFAULT 0)`P)indexpresenceIndex2presence5CREATE INDEX presenceIndex2 ON presence (presence_contact_id)bO' indexpresenceIndexpresence6CREATE INDEX presenceIndex ON presence (presence_raw_contact_id)Mtablepresencepresence=CREATE TABLE presence (presence_data_id INTEGER PRIMARY KEY REFERENCES data(_id),protocol INTEGER NOT NULL,custom_protocol TEXT,im_handle TEXT,im_account TEXT,presence_contact_id INTEGER REFERENCES contacts(_id),presence_raw_contact_id INTEGER REFERENCES raw_contacts(_id),mode INTEGER,chat_capability INTEGER NOT NULL DEFAULT 0,UNIQUE(protocol, custom_protocol, im_handle, im_account))/NCindexsqlite_autoindex_presence_1presence1>I=1triggergroups_auto_add_updated1groupsCREATE TRIGGER groups_auto_add_updated1 AFTER UPDATE OF auto_add ON groups BEGIN DELETE FROM default_directory; INSERT OR IGNORE INTO default_directory SELECT contact_id FROM raw_contacts WHERE NOT EXISTS (SELECT _id FROM groups WHERE raw_contacts.account_id = groups.account_id AND auto_add != 0); INSERT OR IGNORE INTO default_directory SELECT contact_id FROM raw_contacts JOIN data ON (raw_contacts._id=raw_contact_id) WHERE mimetype_id=(SELECT _id FROM mimetypes WHERE mimetype='vnd.android.cursor.item/group_membership') AND EXISTS (SELECT _id FROM groups WHERE raw_contacts.account_id = groups.account_id AND auto_add != 0); END+H+triggergroups_updated1groupsCREATE TRIGGER groups_updated1 AFTER UPDATE ON groups BEGIN UPDATE groups SET version=OLD.version+1 WHERE _id=OLD._id; END^G% triggerdata_deleteddataCREATE TRIGGER data_deleted BEFORE DELETE ON data BEGIN UPDATE raw_contacts SET version=version+1 WHERE _id=OLD.raw_contact_id; DELETE FROM phone_lookup WHERE data_id=OLD._id; DELETE FROM status_updates WHERE status_update_data_id=OLD._id; DELETE FROM name_lookup WHERE data_id=OLD._id; ENDgS/ triggerpresence_insertedpresenceCREATE TRIGGER presence_inserted AFTER INSERT ON presence BEGIN INSERT OR REPLACE INTO agg_presence(presence_contact_id, mode, chat_capability) SELECT presence_contact_id,mode,chat_capability FROM presence WHERE (ifnull(mode,0) * 10 + ifnull(chat_capability, 0)) = (SELECT MAX (ifnull(mode,0) * 10 + ifnull(chat_capability, 0)) FROM presence WHERE presence_contact_id=NEW.presence_contact_id) AND presence_contact_id=NEW.presence_contact_id; END3R-'triggerpresence_deletedpresenceCREATE TRIGGER presence_deleted BEFORE DELETE ON presence BEGIN DELETE FROM agg_presence WHERE presence_contact_id = (SELECT presence_contact_id FROM presence WHERE presence_raw_contact_id=OLD.presence_raw_contact_id AND NOT EXISTS(SELECT presence_raw_contact_id FROM presence WHERE presence_contact_id=OLD.presence_contact_id AND presence_raw_contact_id!=OLD.presence_raw_contact_id)); END xhVF4* rfM>- u \ K > +   { l Y H 7 $  v g X E 8 )   m X I 6 !  y h W J ; *  ufQB)n]J=, vbTB&l`N:,p`D2r`F4 vbR>,K)344C2A442E3A4E74J)344C2A442E3A3273I)344C2A442E324E73 H344C2A4472G)344C2A442E324E72 F34404671E-3440464C32442E3271D!342A44445A70C%342A44443A3270 B3632443269A%32523632443269 @3242425A68 ?32424E68 >324268 =3242422A68 <3242425A67 ;32424E67 :3242679!32423A405A67 8403A5C66 7403A5C2A66 6403A4E2A665132403A5C2A2C325038664!32403A5C2A653132403A5C2A2C325038652!2C32505032641!2C3250505A640132403A5C2A2C32503864/!2C32504E5A63.132403A5C2A2C32503863-%2C324E4E3A3262 ,2C324E4E62+132403A5C2A2C32503862 *2C32503861)132403A5C2A2C32503861(!2C3250502A60'532403A4E2A2C3250502A60 &3240403259%!3240403A3259$)3240322A44464C59 #3240402A58")3240322A44464C58!%503230303A3257 !503230305A57 50323057%3230562A4C3057!443230305A56%443230303A3256 44323056%3230562A4C3056!3230303A3255 323055%3230562A4C3055 3046523654)30465236402A4E54!304650505A53 30465053)30464C4650385A53!304650505A52 30465052-30464C465038322A52!304644442A51 5304644442A503240402A51 !304644445A50 30464450 %3046442A403050 !304640405A49)304640464C324E49!303244445A48 30324448%303244443A4E48%30322C2C3A3247 30322C47)30322C464C2A3847 302A543246!302A543A3046!302A44445A45 ~302A4445}%302A443A324045|!2E5A44503844{)2E5A4450383A2A44z!2E3A44305A43y)2E5A4450383A2A43x!2E403A445042w)2E403A4450464442v!2E384C3A4E41u92E384C3A4E50464838324C41t-2E384C3A4E4E3A3240s)2E384C3A4E4E5A40r12E384C3A4E503A443240 q2C522E3E39p)2E382A4C40324E39 o2E382A5C38n)2E382A4C40324E38m!2E38522E3E37l)2E382A4C40324E37k)2E382A4C403A3236j)2E382A4C40324E36i)2E2A4C46405A4435h-2E2A4C46403A443235g%2E2A4C4C3A3235f!3E2A50385A34e!3E2A503A3234 d3E2A503234 c3E2A5034b!2E2A50385A34a!2E2A503A3234 `2E2A503834 _2E2A503234 ^2E2A5034]12E2A5038324C3A443234 \2E2A4033[%2E2A40543A4433 Z2C4C2A3032Y%2C4C2A30405A32X%2C324C503A3231 W2C324C5031V)2C324C504C2A4231U%2C324C443A3230 T2C324C4430S)2C324C442A4C3030R%2C2A4C443A3229Q)2C324C442A4C3029P!2C32443C3A28O-2C32443C2A423A4428N!2C3244445A27 M2C324427L-2C32443C2A423A4427K%2C2A4C2C3A3226 J2C2A4C2C26I)2C2A4C2C2A4C2A26 H2A4C505A25 G2A4C5025F%2A4C5038524C25 E5046443224 D5046443A24 C5046445A24B)2A44503846445A24A)2A44443250503223@!2A44443A3223 ?2A44443223 >304C325622=%2A44304C325622 <2A44305A21;%2A44304C325621:!2A44303A32209%2A44304C322A208!422A44305A197!422A44303A196%2A422A44302A19 52A40405A184!2A40403A32183)2A40403A4E464418 22A40405A171!2A40403A32170%2A403A4E464417 /2A40405A16.!2A40403A3216-!2A403A2E3216,!2A40343A3215+)2A40344C32304615*%2A40344C323015 )2A403415(!4E2A4E382A14'12A4032582A44304C2A14&!4E2A44305A13%%4E2A44304C2A13$12A4032582A44304C2A13#!4032583A3212 "40325812!12A4032582A44304C2A12 2A40405A11!2A40403A3211 2A401112A4032582A44304C2A11!4E2A4E382A10 2A4032581012A4032582A4430324C10 4032589 2A403258912A4032582A4430324C9 2A40322E82A40812A4032582A4430324C8 2A40325872A40712A4032582A4430324C7%2C324C503A326 2C324C506%2A402C324C506 2A405 %2A402C324C505 !2A3644324E4 %2A362A50382A4 !2A36363A323%2A362A50382A3)2A2C4C2A382A422 2A2C322!362A5A40321 362A3A401)2A2C3A362A3A401!2A2C2C3A320)2A2C3A362A3A400 t^N:(pbP@. r Z H 6 & l ^ L > $  t _ N 9 *   l ] L 9 (   p ] N = * taJ;*teV=*s\M:#}hW>/jYD-  u^I8!oTE* !443A3E3E5A143 %443A2E3E3A32143 !443A2E3E5A143 %443A2E464032143443A2E3E142-443A2E3846402A4E142442A50321411442A50382A443A3240141 442A501401442A50382A443A3240140442A5032139%442A50382A44139 442A50138%442A50382A44138 ~442A44137}!442A442E5A137 |4246136{%42464C4C3A4E136z!423A3E325A135y423A3E32135x)423A2E382A3240135w423A2E3E134v%423A2E3E325A134u)423A2E382A3240134 t423236133s!4232362A44133 r422A58132q!422A583A42132p5422A583A423A403A2A44132 o422A58131n)422A5856324040131 m4246130l)422A524C3A2E32130 k4246129j)422A524C323244129i%422A50503A32128h422A5050128g)422A5050383256128f!422A4C505A127e%422A4C503A32127d%422A4C503A44127c-364C32502E383244126b!364C32502A126a-422A4C362A4C3250126`!483236365A125_-422A4C362A4C3250125 ^423236124]-422A4C362A4C3250124\422A364E123[%422A36363A32123Z-422A4C362A4C3250123Y422A4C36122X!422A4C3632122W-422A4C362A4C3250122V!422A30305A121U%422A30303A32121T-422A3032403A4432121 S403246120R)40324648464030120Q!403244445A119 P403244119O)403246442A4C30119 N403246118M)403246442A4C30118L!402A4C4C5A117K-402A564C32442E32117J%402A524C3A32116I!402A524C3A116H%402A524C3244116G%402A524C3A32115F!402A524C3A115E!402A524C2A115D-3E3A422C324C405A114 C3E3A42114 B3E3254113A!3E32543A44113 @3E3244112?)3E324444325038112>!3E2A50385A111=!3E2A503A32111<3E2A5032111 ;3E2A50111:!2E2A50385A11192E2A50381118!2E2A503A3211172E2A5032111 62E2A501115)3E2A504C3A442A1114!3E2A50385A1103!3E2A503A3211023E2A5032110 13E2A501100!2E2A50385A110/2E2A5038110.!2E2A503A32110-2E2A5032110 ,2E2A50110+-3E2A503840323244110*!3E2A50385A109)!3E2A503A32109(3E2A5032109 '3E2A50109&!2E2A50385A109%2E2A5038109$!2E2A503A32109#2E2A5032109 "2E2A50109!13E2A5038324C3A4432109 !3E2A50385A108!3E2A503A321083E2A5032108 3E2A50108!2E2A50385A1082E2A5038108!2E2A503A321082E2A5032108 2E2A50108)3E2A3A50405A441083C464E38107%3C464E38522A1073C46325A106 3C4632106%3C464E324838106 3C4644105-3C46442A50382A44105!3C2A2E3E5A1043C2A2E3E104 3C4644103 %3C463844445A103 3C463844103 %3C324E4E3A32102 )3C324E4E3A2E2A102!3C324C4C5A101%3C324C464232101!3C3244445A100 3C3244100-3C3244443A34324C100 3C32343499)3C3234344C325A99 3C3234349813C323434324C4E464498 3C2A5A97~!3C2A4E464497 }3C2A4496|%3C2A443A2E3296 {3C2A4495z!3C2A44325095y!3C2A423A3294x!3C2A42324E94w!3C3A42425A93 v3C3A4293u!3C2A42324E93t%3C2A2E3E3A3292s53C2A2E4A5232403A443292 r3C2A3E3291q!3C2A2E462C91p!2C3240402A90o-3A4E2A2C3240402A90 n3A5C5C5A89m-3A4E2A2C3240402A89 l3A4E2A88k-3A4E2A2C3240402A88 j3A4C5487i%3A4C543A443687h%2C324C503A3286 g2C324C5086f)38324C2C324C5086e!382A4C4C5A85d!3832444C5A85 c382A443E84b!3832444C5A84 a382A4083`!3832444C5A83_!382A4C4C5A82^%382A4C46403082 ]382A4081\%382A4C46403081[!364C32363680 Z364C323680Y)364C3236464C5A80X!36324C4C5A79W%36324C2A4C3079V!36324C4C5A78U%36324C2A403078 T362A2C3277S)362A2C4C3A324077R%344C3230305A76 Q344C323076P1344C3230324C3A2E3E76O)344C2A443E3A3275N!344C2A443E75M)344C2A442E3A4E75 L344C2A4474 v v d N < (   Nz ^2 L$8zP`"< tN`&6z>(dN xfxN:( u c Q ?Zn*B>zN&f 0v  j|2TD z^  & N b 6  r H ^  0  d t-50383C324E2%503230303A32178-5038324630464C2A178%50324C324E2A177)5038324C324E2A177!502A42425A176%502A422A4C2A176!4E525C3A32175!4E524E3A32175)4E525C2A4444321754E5232174)4E525C2A444432174!4E525C3A32173!4E524E3A32173!4E524E2A441734E5232172!4E524E2A441724E5052171%4E50522A4C50171!4E50325432170%4E5032543244170!4E50325432169)4E503248383244169)4E503248383A32168!4E5032483816814E503248382A443A32168%4E4648383A32167%4E4648383A2A167!4E2A42425A1664E2A42166%4E2A425232401664E2A42165-4E2A422A4450382A165 4C5A1644C5A2A44164!4C524E505A163)4C524E4E3240401634C524E4E162)4C524E4E3240401624C464E32161!4C464E3A32161-4C464E32422A4C5A161%4C4644443A321604C4644160%4C46442A403016014C463044325A4C4630159%4C462C2C3A321584C462C158%4C462C324C50158%4C462C324C50157)4C3A2E382A4C301564C3A2E38155)4C3A2E382A4C301554C3A2E3E154)4C3A2E382A4C30154)4C322C322E2E2A15348383A40152%48383A403A481524C2A5A151)4C2A5A4246443015148325032150!483250324C150!483244445A149-4832443240464832149482A50148)482A504C3A2E3E148%504C3A2E3A2A147!504C3A4E38147-482A504C3A2E3A2A147!482A504E5A146-482A504C3A2E3A2A146!482A50505A145482A50145-482A504C3A2E3A2A145482A42144%482A4232402A144!443A3E3E5A143%443A2E3E3A32143!443A2E3E5A143%443A2E464032143443A2E3E142-443A2E3846402A4E142442A50321411442A50382A443A3240141442A501401442A50382A443A3240140442A5032139%442A50382A44139442A50138%442A50382A44138442A44137~5046445A24C5046443A24D5046443224E!503230305A57%503230303A325750323057!4E2A4E382A14(!4E2A4E382A10!4E2A44305A13&%4E2A44304C2A13%!483236365A125`!443230305A56%443230303A325644323056!442A442E5A137}%42464C4C3A4E136{ 4246136| 4246130m 4246129k!423A3E325A135z423A3E32135y%423A2E3E325A134v423A2E3E134w)423A2E382A3240135x)423A2E382A3240134u!4232362A44133s423236133t5C2A2E2015C2A2E3E2015C2A2E38201)5C2A2E382A4C5A201!544644442A200%5A544644442A200)563A40403A2A42199!563A40405A198563A4040198)563A40403A2A42198)563A40403A2A42197 %563244303240196 !563244305A196 563244195!563244305A195562A4050194%562A4050324C194!562A40405A193%562A4050324C193543A543A192%543A543A2A44192%543A44443A32191543A44191)543A442E324450191!543A442E32190)543A442E32445019050464C3A189-543A2E50464C3A2A189%543A2E3E3A32188!543A2E3E3A188!543A2E3E5A188-543A2E50464C3A2A188543A2E187%543A2E50464C187!443A3E3E2A186!443A3E3E3A186443A2E2A186-54324C46443A2E2A1864C46443A185%4C4644443A32185-54324C46443A2E2A185542A40184)542A40324C3A32184!503A42425A183503A42183)503A424650385A183!504642425A18250384642182504642182%503846422A4E18250383246181-5038324630464C32181!503230305A180503230180-5038324630464C321805038322A179-5038324630464C2A179 $~m\PE:/ gM3 } k Y G 1 !    o Y G 1 #   x ` N < ,  j Y D 3 8$ y c O ? /   saQ7#s]G1}kYG1 w`Q<)}jM:! nYD/eJ 324!2C3A40405A197 2C3A4040197 132403A5C2A2C32503865132403A5C2A2C32503864132403A5C2A2C32503863132403A5C2A2C32503862132403A5C2A2C32503861!32403A5C2A65532403A4E2A2C3250502A60)3240322A44464C59)3240322A44464C58%3230562A4C3057%3230562A4C3056%3230562A4C3055!3230303A3255 323055304C325622>)30465236402A4E543046523654!304650505A53!304650505A523046505330465052)30464C4650385A53-30464C465038322A52!304644445A505304644442A503240402A51!304644442A51%3046442A40305030464450)304640464C324E49!2C462C2C5A1572C462C157303A2E3E156!2C322E3E5A153!2C322E2E2A153!304640405A49!303244445A48%303244443A4E4830324448)30322C464C2A3847%30322C2C3A324730322C47!302A543A3046302A543246!302A44445A45%302A443A324045} 302A4445~)2E5A4450383A2A44{)2E5A4450383A2A43y!2E5A44503844|)2E403A4450464442w!2E403A445042x!2E3A44305A43z!2E38522E3E37m92E384C3A4E50464838324C41u12E384C3A4E503A443240r)2E384C3A4E4E5A40s-2E384C3A4E4E3A3240t!2E384C3A4E41v2E382A5C38o)2E382A4C403A3236k)2E382A4C40324E39p)2E382A4C40324E38n)2E382A4C40324E37l)2E382A4C40324E36j!2E2A503A3234a!2E2A503A321118!2E2A503A32110.!2E2A503A32109$!2E2A503A32108!2E2A50385A34b!2E2A50385A111:!2E2A50385A1100!2E2A50385A109&!2E2A50385A10812E2A5038324C3A443234]2E2A503834`2E2A503811192E2A5038110/2E2A5038109%2E2A50381082E2A503234_2E2A503211172E2A5032110-2E2A5032109#2E2A5032108 2E2A5034^2E2A5011162E2A50110,2E2A50109"2E2A50108%2E2A4C4C3A3235g)2E2A4C46405A4435i-2E2A4C46403A443235h%2E2A40543A4433[ 2E2A4033\2C522E3E39q%2C4C2A30405A32Y2C4C2A3032Z!2C3250505A64!2C3250503264!2C3250502A60!2C32504E5A632C32503861%2C324E4E3A32622C324E4E62)2C324C504C2A4231V%2C324C503A3286%2C324C503A326%2C324C503A3231X2C324C50862C324C5062C324C5031W%2C324C443A3230U)2C324C442A4C3030S)2C324C442A4C3029Q2C324C4430T!2C3244445A27N!2C32443C3A28P-2C32443C2A423A4428O-2C32443C2A423A4427L 2C324427M!2C3240402A90%2C2A4C443A3229R%2C2A4C2C3A3226K)2C2A4C2C2A4C2A26I2C2A4C2C26J2A4C505A25H%2A4C5038524C25F 2A4C5025G)2A44503846445A24B!2A44443A3223@)2A44443250503223A2A44443223?2A44305A21<%2A44304C325622=%2A44304C325621;%2A44304C322A209!2A44303A3220:%2A422A44302A1962A40405A1852A40405A1722A40405A16/2A40405A11 )2A40403A4E4644183!2A40403A32184!2A40403A32171!2A40403A3216.!2A40403A3211%2A403A4E4644170!2A403A2E3216-)2A40344C32304615+%2A40344C323015*!2A40343A3215, 2A403415)12A4032582A44304C2A14'12A4032582A44304C2A13$12A4032582A44304C2A12!12A4032582A44304C2A1112A4032582A4430324C912A4032582A4430324C812A4032582A4430324C712A4032582A4430324C102A40325892A40325872A403258102A40322E8%2A402C324C506%2A402C324C505 2A408 2A407 2A405 2A4011!2A3644324E4 !2A36363A323 %2A362A50382A4 %2A362A50382A3)2A2C4C2A382A422)2A2C3A362A3A401) 2A2C3A362A3A400 2A2C322!2A2C2C3A320 I$mXE6iR?(ydQ>- | i V C 0   w e P < ) | i Z I 8   p a N > ,   t d T D 4 &  p\H6"p`F2 {kS;#IkYG5 v`J6# s[1 403A2A42199)422A5856324040131n5422A583A423A403A2A44132p!422A583A42132q422A58132r422A58131o)422A524C3A2E32130l)422A524C323244129j%422A50503A32128i)422A5050383256128g422A5050128h!422A44305A198!422A44303A197422A364E123\%422A36363A32123[-422A3032403A4432121T!422A30305A121V%422A30303A32121U403A5C2A66403A5C66403A4E2A66!4032583A3212# 4032589 40325812")40324648464030120R)403246442A4C30119O)403246442A4C30118M403246120S403246118N!403244445A119Q403244119P-402A564C32442E32117K%402A524C3A32116J%402A524C3A32115G!402A524C3A116I!402A524C3A115F-3440464C32442E327134404671!342A44445A70%342A44443A3270%3252363244326932424E6832424E673242425A683242425A673242422A68!32423A405A67 324268 324267!3240403A325932404032593240402A58!422A4C505A127f%422A4C503A44127d%422A4C503A32127e!422A4C3632122X-422A4C362A4C3250126a-422A4C362A4C3250125_-422A4C362A4C3250124]-422A4C362A4C3250123Z-422A4C362A4C3250122W422A4C36122Y!402A524C2A115E!402A4C4C5A117L-3E3A422C324C405A114D3E3A42114C!3E32543A44113A3E3254113B)3E324444325038112?3E3244112@)3E2A504C3A442A1115!3E2A503A3234e!3E2A503A32111=!3E2A503A321103!3E2A503A32109)!3E2A503A32108!3E2A50385A34f!3E2A50385A111>!3E2A50385A1104!3E2A50385A109*!3E2A50385A108 -3E2A503840323244110+13E2A5038324C3A4432109!3E2A503234d3E2A5032111<3E2A503211023E2A5032109(3E2A5032108 3E2A5034c3E2A50111;3E2A5011013E2A50109'3E2A50108)3E2A3A50405A44108%3C464E38522A1073C464E38107%3C464E324838106-3C46442A50382A441053C46441053C4644103 %3C463844445A103 3C463844103 3C46325A1063C4632106!3C3A42425A933C3A4293%3C324E4E3A32102 )3C324E4E3A2E2A102 !3C324C4C5A101%3C324C464232101!3C3244445A100-3C3244443A34324C1003C3244100)3C3234344C325A9913C323434324C4E4644983C323434993C323434983C2A5A97!3C2A4E464497%3C2A443A2E3296!3C2A443250953C2A44963C2A4495!3C2A423A3294!3C2A42324E94!3C2A42324E933C2A3E329153C2A2E4A5232403A443292!3C2A2E462C91!3C2A2E3E5A104%3C2A2E3E3A32923C2A2E3E1043A5C5C5A89-3A4E2A2C3240402A90-3A4E2A2C3240402A89-3A4E2A2C3240402A883A4E2A88%3A4C543A4436873A4C5487)38324C2C324C5086!3832444C5A85!3832444C5A84!3832444C5A83!382A4C4C5A85!382A4C4C5A82%382A4C46403082%382A4C46403081382A443E84382A4083382A4081-364C32502E383244126c!364C32502A126b)364C3236464C5A80!364C32363680364C323680!36324C4C5A79!36324C4C5A78%36324C2A4C3079%36324C2A4030783632443269!362A5A40321362A3A401)362A2C4C3A324077362A2C32771344C3230324C3A2E3E76%344C3230305A76344C323076)344C2A443E3A3275!344C2A443E75)344C2A442E3A4E75)344C2A442E3A4E74)344C2A442E3A3273)344C2A442E324E73)344C2A442E324E72344C2A4474344C2A4472%402A524C3244116H 0u\I4r[H5 q b M 2   } j Y L 3 $  ~ g T ? ,   p ] J 5 " v c J 9 $  ydS:)raJ7 ufS>'xaP?0 5C2A2E2015C2A2E3E2015C2A2E38201)5C2A2E382A4C5A201!544644442A200%5A544644442A200403A2A42199)563A40403A2A42199!563A40405A198563A4040198)563A40403A2A42198 !2C3A40405A197 2C3A4040197 )563A40403A2A42197 %563244303240196 !563244305A196 563244195!563244305A195562A4050194%562A4050324C194!562A40405A193%562A4050324C193543A543A192%543A543A2A44192%543A44443A32191 543A44191~)543A442E324450191}!543A442E32190|)543A442E324450190{50464C3A189z-543A2E50464C3A2A189y%543A2E3E3A32188x!543A2E3E3A188w!543A2E3E5A188v-543A2E50464C3A2A188 u543A2E187t%543A2E50464C187s!443A3E3E2A186r!443A3E3E3A186q443A2E2A186p-54324C46443A2E2A186o4C46443A185n%4C4644443A32185m-54324C46443A2E2A185 l542A40184k)542A40324C3A32184j!503A42425A183 i503A42183h)503A424650385A183g!504642425A182f50384642182 e504642182d%503846422A4E182c50383246181b-5038324630464C32181a!503230305A180 `503230180_-5038324630464C32180^5038322A179]-5038324630464C2A179\%503230303A32178[-5038324630464C2A178Z%50324C324E2A177Y)5038324C324E2A177X!502A42425A176W%502A422A4C2A176V!4E525C3A32175U!4E524E3A32175T)4E525C2A444432175 S4E5232174R)4E525C2A444432174Q!4E525C3A32173P!4E524E3A32173O!4E524E2A44173 N4E5232172M!4E524E2A44172 L4E5052171K%4E50522A4C50171J!4E50325432170I%4E5032543244170H!4E50325432169G)4E503248383244169F)4E503248383A32168E!4E50324838168D14E503248382A443A32168C%4E4648383A32167B%4E4648383A2A167A!4E2A42425A166 @4E2A42166?%4E2A42523240166 >4E2A42165=-4E2A422A4450382A165 <4C5A164;4C5A2A44164:!4C524E505A1639)4C524E4E32404016384C524E4E1627)4C524E4E32404016264C464E321615!4C464E3A321614-4C464E32422A4C5A1613%4C4644443A32160 24C46441601%4C46442A4030160014C463044325A4C4630159/%4C462C2C3A32158 .4C462C158-%4C462C324C50158,!2C462C2C5A157 +2C462C157*%4C462C324C50157)303A2E3E156()4C3A2E382A4C30156'4C3A2E38155&)4C3A2E382A4C30155%4C3A2E3E154$)4C3A2E382A4C30154#!2C322E3E5A153"!2C322E2E2A153!)4C322C322E2E2A153 48383A40152%48383A403A48152 4C2A5A151)4C2A5A4246443015148325032150!483250324C150!483244445A149-4832443240464832149 482A50148)482A504C3A2E3E148%504C3A2E3A2A147!504C3A4E38147-482A504C3A2E3A2A147!482A504E5A146-482A504C3A2E3A2A146!482A50505A145 482A50145-482A504C3A2E3A2A145 482A42144 %482A4232402A144 "V77gviewview_v1_organizationsview_v1_organizationsCREATE VIEW view_v1_organizations AS SELECT data._id AS _id, raw_contact_id AS person, is_primary AS isprimary, accounts.account_name, accounts.account_type, data1 AS company, data2 AS type, data3 AS label, data4 AS title FROM data JOIN mimetypes ON (data.mimetype_id = mimetypes._id) JOIN raw_contacts ON (data.raw_contact_id = raw_contacts._id) JOIN accounts ON (raw_contacts.account_id=accounts._id) WHERE mimetypes.mimetype='vnd.android.cursor.item/organization' AND raw_contacts.deleted=0WU))mviewview_v1_peopleview_v1_peopleCREATE VIEW view_v1_people AS SELECT raw_contacts._id AS _id, name.data1 AS name, raw_contacts.display_name AS display_name, trim(trim(ifnull(name.data7,' ')||' '||ifnull(name.data8,' '))||' '||ifnull(name.data9,' ')) AS phonetic_name , note.data1 AS notes, accounts.account_name, accounts.account_type, cast(0 as int) AS times_contacted, cast(0 as int) AS last_time_contacted, raw_contacts.custom_ringtone AS custom_ringtone, raw_contacts.send_to_voicemail AS send_to_voicemail, raw_contacts.starred AS starred, organization._id AS primary_organization, email._id AS primary_email, phone._id AS primary_phone, phone.data1 AS number, phone.data2 AS type, phone.data3 AS label, _PHONE_NUMBER_STRIPPED_REVERSED(phone.data1) AS number_key FROM raw_contacts JOIN accounts ON (raw_contacts.account_id=accounts._id) LEFT OUTER JOIN data name ON (raw_contacts._id = name.raw_contact_id AND (SELECT mimetype FROM mimetypes WHERE mimetypes._id = name.mimetype_id)='vnd.android.cursor.item/name') LEFT OUTER JOIN data organization ON (raw_contacts._id = organization.raw_contact_id AND (SELECT mimetype FROM mimetypes WHERE mimetypes._id = organization.mimetype_id)='vnd.android.cursor.item/organization' AND organization.is_primary) LEFT OUTER JOIN data email ON (raw_contacts._id = email.raw_contact_id AND (SELECT mimetype FROM mimetypes WHERE mimetypes._id = email.mimetype_id)='vnd.android.cursor.item/email_v2' AND email.is_primary) LEFT OUTER JOIN data note ON (raw_contacts._id = note.raw_contact_id AND (SELECT mimetype FROM mimetypes WHERE mimetypes._id = note.mimetype_id)='vnd.android.cursor.item/note') LEFT OUTER JOIN data phone ON (raw_contacts._id = phone.raw_contact_id AND (SELECT mimetype FROM mimetypes WHERE mimetypes._id = phone.mimetype_id)='vnd.android.cursor.item/phone_v2' AND phone.is_primary) WHERE raw_contacts.deleted=0eT- triggerpresence_updatedpresenceCREATE TRIGGER presence_updated AFTER UPDATE ON presence BEGIN INSERT OR REPLACE INTO agg_presence(presence_contact_id, mode, chat_capability) SELECT presence_contact_id,mode,chat_capability FROM presence WHERE (ifnull(mode,0) * 10 + ifnull(chat_capability, 0)) = (SELECT MAX (ifnull(mode,0) * 10 + ifnull(chat_capability, 0)) FROM presence WHERE presence_contact_id=NEW.presence_contact_id) AND presence_contact_id=NEW.presence_contact_id; END  W;;-viewview_v1_contact_methodsview_v1_contact_methodsCREATE VIEW view_v1_contact_methods AS SELECT data._id AS _id, data.raw_contact_id AS person, CAST ((CASE WHEN mimetype='vnd.android.cursor.item/email_v2' THEN 1 ELSE (CASE WHEN mimetype='vnd.android.cursor.item/im' THEN 3 ELSE (CASE WHEN mimetype='vnd.android.cursor.item/postal-address_v2' THEN 2 ELSE NULL END) END) END) AS INTEGER) AS kind, data.is_primary AS isprimary, data.data2 AS type, (CASE WHEN mimetype='vnd.android.cursor.item/im' THEN (CASE WHEN data.data5=-1 THEN 'custom:'||data.data6 ELSE 'pre:'||data.data5 END) ELSE data.data1 END) AS data, data.data3 AS label, data.data14 AS aux_data, name.data1 AS name, raw_contacts.display_name AS display_name, trim(trim(ifnull(name.data7,' ')||' '||ifnull(name.data8,' '))||' '||ifnull(name.data9,' ')) AS phonetic_name , note.data1 AS notes, accounts.account_name, accounts.account_type, cast(0 as int) AS times_contacted, cast(0 as int) AS last_time_contacted, raw_contacts.custom_ringtone AS custom_ringtone, raw_contacts.send_to_voicemail AS send_to_voicemail, raw_contacts.starred AS starred, organization._id AS primary_organization, email._id AS primary_email, phone._id AS primary_phone, phone.data1 AS number, phone.data2 AS type, phone.data3 AS label, _PHONE_NUMBER_STRIPPED_REVERSED(phone.data1) AS number_key FROM data JOIN mimetypes ON (mimetypes._id = data.mimetype_id) JOIN raw_contacts ON (raw_contacts._id = data.raw_contact_id) JOIN accounts ON (raw_contacts.account_id=accounts._id) LEFT OUTER JOIN data name ON (raw_contacts._id = name.raw_contact_id AND (SELECT mimetype FROM mimetypes WHERE mimetypes._id = name.mimetype_id)='vnd.android.cursor.item/name') LEFT OUTER JOIN data organization ON (raw_contacts._id = organization.raw_contact_id AND (SELECT mimetype FROM mimetypes WHERE mimetypes._id = organization.mimetype_id)='vnd.android.cursor.item/organization' AND organization.is_primary) LEFT OUTER JOIN data email ON (raw_contacts._id = email.raw_contact_id AND (SELECT mimetype FROM mimetypes WHERE mimetypes._id = email.mimetype_id)='vnd.android.cursor.item/email_v2' AND email.is_primary) LEFT OUTER JOIN data note ON (raw_contacts._id = note.raw_contact_id AND (SELECT mimetype FROM mimetypes WHERE mimetypes._id = note.mimetype_id)='vnd.android.cursor.item/note') LEFT OUTER JOIN data phone ON (raw_contacts._id = phone.raw_contact_id AND (SELECT mimetype FROM mimetypes WHERE mimetypes._id = phone.mimetype_id)='vnd.android.cursor.item/phone_v2' AND phone.is_primary) WHERE kind IS NOT NULL AND raw_contacts.deleted=0 &"a[==Yviewview_v1_group_membershipview_v1_group_membershipCREATE VIEW view_v1_group_membership AS SELECT data._id AS _id, data.raw_contact_id AS person, accounts.account_name, accounts.account_type, data1 AS group_id, title AS name, notes AS notes, system_id AS system_id, groups.sourceid AS group_sync_id, accounts.account_name AS group_sync_account, accounts.account_type AS group_sync_account_type FROM data JOIN mimetypes ON (data.mimetype_id = mimetypes._id) JOIN raw_contacts ON (data.raw_contact_id = raw_contacts._id) JOIN accounts ON (raw_contacts.account_id=accounts._id)LEFT OUTER JOIN packages ON (data.package_id = packages._id) LEFT OUTER JOIN groups ON (mimetypes.mimetype='vnd.android.cursor.item/group_membership' AND groups._id = data.data1) WHERE mimetypes.mimetype='vnd.android.cursor.item/group_membership' AND raw_contacts.deleted=0Z))Aviewview_v1_groupsview_v1_groupsCREATE VIEW view_v1_groups AS SELECT groups._id AS _id, accounts.account_name, accounts.account_type, title AS name, notes AS notes , system_id AS system_id FROM groups JOIN accounts ON (groups.account_id=accounts._id)iY11viewview_v1_extensionsview_v1_extensionsCREATE VIEW view_v1_extensions AS SELECT data._id AS _id, data.raw_contact_id AS person, accounts.account_name, accounts.account_type, data1 AS name, data2 AS value FROM data JOIN mimetypes ON (data.mimetype_id = mimetypes._id) JOIN raw_contacts ON (data.raw_contact_id = raw_contacts._id) JOIN accounts ON (raw_contacts.account_id=accounts._id) WHERE mimetypes.mimetype='vnd.android.cursor.item/contact_extensions' AND raw_contacts.deleted=0kX))viewview_v1_phonesview_v1_phonesCREATE VIEW view_v1_phones AS SELECT DISTINCT data._id AS _id, data.raw_contact_id AS person, data.is_primary AS isprimary, data.data1 AS number, data.data2 AS type, data.data3 AS label, _PHONE_NUMBER_STRIPPED_REVERSED(data.data1) AS number_key, name.data1 AS name, raw_contacts.display_name AS display_name, trim(trim(ifnull(name.data7,' ')||' '||ifnull(name.data8,' '))||' '||ifnull(name.data9,' ')) AS phonetic_name , note.data1 AS notes, accounts.account_name, accounts.account_type, cast(0 as int) AS times_contacted, cast(0 as int) AS last_time_contacted, raw_contacts.custom_ringtone AS custom_ringtone, raw_contacts.send_to_voicemail AS send_to_voicemail, raw_contacts.starred AS starred, organization._id AS primary_organization, email._id AS primary_email, phone._id AS primary_phone, phone.data1 AS number, phone.data2 AS type, phone.data3 AS label, _PHONE_NUMBER_STRIPPED_REVERSED(phone.data1) AS number_key FROM data JOIN phone_lookup ON (data._id = phone_lookup.data_id) JOIN mimetypes ON (mimetypes._id = data.mimetype_id) JOIN raw_contacts ON (raw_contacts._id = data.raw_contact_id) JOIN accounts ON (raw_contacts.account_id=accounts._id) LEFT OUTER JOIN data name ON (raw_contacts._id = name.raw_contact_id AND (SELECT mimetype FROM mimetypes WHERE mimetypes._id = name.mimetype_id)='vnd.android.cursor.item/name') LEFT OUTER JOIN data organization ON (raw_contacts._id = organization.raw_contact_id AND (SELECT mimetype FROM mimetypes WHERE mimetypes._id = organization.mimetype_id)='vnd.android.cursor.item/organization' AND organization.is_primary) LEFT OUTER JOIN data email ON (raw_contacts._id = email.raw_contact_id AND (SELECT mimetype FROM mimetypes WHERE mimetypes._id = email.mimetype_id)='vnd.android.cursor.item/email_v2' AND email.is_primary) LEFT OUTER JOIN data note ON (raw_contacts._id = note.raw_contact_id AND (SELECT mimetype FROM mimetypes WHERE mimetypes._id = note.mimetype_id)='vnd.android.cursor.item/note') LEFT OUTER JOIN data phone ON (raw_contacts._id = phone.raw_contact_id AND (SELECT mimetype FROM mimetypes WHERE mimetypes._id = phone.mimetype_id)='vnd.android.cursor.item/phone_v2' AND phone.is_primary) WHERE mimetypes.mimetype='vnd.android.cursor.item/phone_v2' AND raw_contacts.deleted=0 \jcQ! f7 Xsh//tablesearch_index_statsearch_index_statCCREATE TABLE 'search_index_stat'(id INTEGER PRIMARY KEY, value BLOB)~g55tablesearch_index_docsizesearch_index_docsizeBCREATE TABLE 'search_index_docsize'(docid INTEGER PRIMARY KEY, size BLOB){aC%indexraw_contact_sort_key2_indexraw_contacts2CREATE INDEX raw_contact_sort_key2_index ON raw_contacts (sort_key_alt)w`C%indexraw_contact_sort_key1_indexraw_contacts4CREATE INDEX raw_contact_sort_key1_index ON raw_contacts (sort_key) _/#Qindexname_lookup_indexname_lookup3CREATE INDEX name_lookup_index ON name_lookup (normalized_name,name_type, raw_contact_id, data_id)K^%%[tablesqlite_stat1sqlite_stat1;CREATE TABLE sqlite_stat1(tbl,idx,stat)"]## tablev1_settingsv1_settingsCREATE TABLE 'search_index_content'(docid INTEGER PRIMARY KEY, 'c0contact_id', 'c1content', 'c2name', 'c3tokens'),b%%tablesearch_indexsearch_indexCREATE VIRTUAL TABLE search_index USING FTS4 (contact_id INTEGER REFERENCES contacts(_id) NOT NULL,content TEXT, name TEXT, tokens TEXT) V>++gviewview_data_usageview_data_usageCREATE VIEW view_data_usage AS SELECT stat_id, data_id, usage_type, 0 AS x_times_used, 0 AS x_last_time_used,0 AS times_used,0 AS last_time_used FROM data_usage_stat WHERE 0a=''viewview_entitiesview_entitiesCREATE VIEW view_entities AS SELECT raw_contacts.contact_id AS _id, raw_contacts.contact_id AS contact_id, raw_contacts.deleted AS deleted,raw_contacts.metadata_dirty, is_primary, is_super_primary, data_version, data.package_id,package AS res_package,data.mimetype_id,mimetype AS mimetype, is_read_only, data1, data2, data3, data4, data5, data6, data7, data8, data9, data10, data11, data12, data13, data14, data15, carrier_presence, preferred_phone_account_component_name, preferred_phone_account_id, data_sync1, data_sync2, data_sync3, data_sync4, raw_contacts.account_id,accounts.account_name AS account_name,accounts.account_type AS account_type,accounts.data_set AS data_set,(CASE WHEN accounts.data_set IS NULL THEN accounts.account_type ELSE accounts.account_type||'/'||accounts.data_set END) AS account_type_and_data_set,raw_contacts.sourceid AS sourceid,raw_contacts.backup_id AS backup_id,raw_contacts.version AS version,raw_contacts.dirty AS dirty,raw_contacts.sync1 AS sync1,raw_contacts.sync2 AS sync2,raw_contacts.sync3 AS sync3,raw_contacts.sync4 AS sync4, contacts.custom_ringtone AS custom_ringtone, name_raw_contact.display_name_source AS display_name_source, name_raw_contact.display_name AS display_name, name_raw_contact.display_name_alt AS display_name_alt, name_raw_contact.phonetic_name AS phonetic_name, name_raw_contact.phonetic_name_style AS phonetic_name_style, name_raw_contact.sort_key AS sort_key, name_raw_contact.phonebook_label AS phonebook_label, name_raw_contact.phonebook_bucket AS phonebook_bucket, name_raw_contact.sort_key_alt AS sort_key_alt, name_raw_contact.phonebook_label_alt AS phonebook_label_alt, name_raw_contact.phonebook_bucket_alt AS phonebook_bucket_alt, has_phone_number, name_raw_contact_id, lookup, photo_id, photo_file_id, CAST(EXISTS (SELECT _id FROM visible_contacts WHERE contacts._id=visible_contacts._id) AS INTEGER) AS in_visible_group, CAST(EXISTS (SELECT _id FROM default_directory WHERE contacts._id=default_directory._id) AS INTEGER) AS in_default_directory, status_update_id, contacts.contact_last_updated_timestamp, 0 AS x_last_time_contacted, 0 AS last_time_contacted, contacts.send_to_voicemail AS send_to_voicemail, contacts.starred AS starred, contacts.pinned AS pinned, 0 AS x_times_contacted, 0 AS times_contacted, (CASE WHEN photo_file_id IS NULL THEN (CASE WHEN photo_id IS NULL OR photo_id=0 THEN NULL ELSE 'content://com.android.contacts/contacts/'||raw_contacts.contact_id|| '/photo' END) ELSE 'content://com.android.contacts/display_photo/'||photo_file_id END) AS photo_uri, (CASE WHEN photo_id IS NULL OR photo_id=0 THEN NULL ELSE 'content://com.android.contacts/contacts/'||raw_contacts.contact_id|| '/photo' END) AS photo_thumb_uri, 0 AS is_user_profile, data_sync1, data_sync2, data_sync3, data_sync4, raw_contacts._id AS raw_contact_id, data._id AS data_id,groups.sourceid AS group_sourceid FROM raw_contacts JOIN accounts ON (raw_contacts.account_id=accounts._id) JOIN contacts ON (raw_contacts.contact_id=contacts._id) JOIN raw_contacts AS name_raw_contact ON(name_raw_contact_id=name_raw_contact._id) LEFT OUTER JOIN data ON (data.raw_contact_id=raw_contacts._id) LEFT OUTER JOIN packages ON (data.package_id=packages._id) LEFT OUTER JOIN mimetypes ON (data.mimetype_id=mimetypes._id) LEFT OUTER JOIN groups ON (mimetypes.mimetype='vnd.android.cursor.item/group_membership' AND groups._id=data.data1) hD  d  ~ 2v][%Cindexraw_contacts_source_id_account_id_in[%Cindexraw_contacts_source_id_account_id_indexraw_contactsCREATE INDEX raw_contacts_source_id_account_id_index ON raw_contacts (sourceid, account_id)}G%indexraw_contacts_contact_id_indexraw_contactsCREATE INDEX raw_contacts_contact_id_index ON raw_contacts (contact_id)%%qtableraw_contactsraw_contactsCREATE TABLE raw_contacts (_id INTEGER PRIMARY KEY AUTOINCREMENT,account_id INTEGER REFERENCES accounts(_id),sourceid TEXT,backup_id TEXT,raw_contact_is_read_only INTEGER NOT NULL DEFAULT 0,version INTEGER NOT NULL DEFAULT 1,dirty INTEGER NOT NULL DEFAULT 0,deleted INTEGER NOT NULL DEFAULT 0,metadata_dirty INTEGER NOT NULL DEFAULT 0,contact_id INTEGER REFERENCES contacts(_id),aggregation_mode INTEGER NOT NULL DEFAULT 0,aggregation_needed INTEGER NOT NULL DEFAULT 1,custom_ringtone TEXT,send_to_voicemail INTEGER NOT NULL DEFAULT 0,x_times_contacted INTEGER NOT NULL DEFAULT 0,x_last_time_contacted INTEGER,times_contacted INTEGER NOT NULL DEFAULT 0,last_time_contacted INTEGER,starred INTEGER NOT NULL DEFAULT 0,pinned INTEGER NOT NULL DEFAULT 0,display_name TEXT,display_name_alt TEXT,display_name_source INTEGER NOT NULL DEFAULT 0,phonetic_name TEXT,phonetic_name_style TEXT,sort_key TEXT COLLATE PHONEBOOK,phonebook_label TEXT,phonebook_bucket INTEGER,sort_key_alt TEXT COLLATE PHONEBOOK,phonebook_label_alt TEXT,phonebook_bucket_alt INTEGER,name_verified INTEGER NOT NULL DEFAULT 0,sync1 TEXT, sync2 TEXT, sync3 TEXT, sync4 TEXT )9m-eindexdeleted_contacts_contact_deleted_timestamp_indexdeleted_contactsCREATE INDEX deleted_contacts_contact_deleted_timestamp_index ON deleted_contacts(contact_deleted_timestamp) --stabledeleted_contactsdeleted_contactsCREATE TABLE deleted_contacts (contact_id INTEGER PRIMARY KEY,contact_deleted_timestamp INTEGER NOT NULL default 0)( gYindexcontacts_contact_last_updated_timestamp_indexcontactsCREATE INDEX contacts_contact_last_updated_timestamp_index ON contacts(contact_last_updated_timestamp) Q/indexcontacts_name_raw_contact_id_indexcontacts CREATE INDEX contacts_name_raw_contact_id_index ON contacts (name_raw_contact_id)q =indexcontacts_has_phone_indexcontacts CREATE INDEX contacts_has_phone_index ON contacts (has_phone_number) utablecontactscontacts CREATE TABLE contacts (_id INTEGER PRIMARY KEY AUTOINCREMENT,name_raw_contact_id INTEGER REFERENCES raw_contacts(_id),photo_id INTEGER REFERENCES data(_id),photo_file_id INTEGER REFERENCES photo_files(_id),custom_ringtone TEXT,send_to_voicemail INTEGER NOT NULL DEFAULT 0,x_times_contacted INTEGER NOT NULL DEFAULT 0,x_last_time_contacted INTEGER,times_contacted INTEGER NOT NULL DEFAULT 0,last_time_contacted INTEGER,starred INTEGER NOT NULL DEFAULT 0,pinned INTEGER NOT NULL DEFAULT 0,has_phone_number INTEGER NOT NULL DEFAULT 0,lookup TEXT,status_update_id INTEGER REFERENCES data(_id),contact_last_updated_timestamp INTEGER)P++Ytablesqlite_sequencesqlite_sequence CREATE TABLE sqlite_sequence(name,seq)8Ctableaccountsaccounts CREATE TABLE accounts (_id INTEGER PRIMARY KEY AUTOINCREMENT,account_name TEXT, account_type TEXT, data_set TEXT, sim_slot_index INTEGER, sim_ef_type INTEGER, ungrouped_visible INTEGER NOT NULL DEFAULT 0,should_sync INTEGER NOT NULL DEFAULT 1,x_is_default INTEGER NOT NULL DEFAULT 0)n!!'tablepropertiespropertiesCREATE TABLE properties (property_key TEXT PRIMARY KEY, property_value TEXT )3G!indexsqlite_autoindex_properties_1propertiesg55stable_sync_state_metadata_sync_state_metadataCREATE TABLE _sync_state_metadata (version INTEGER)8##7table_sync_state_sync_stateCREATE TABLE _sync_state (_id INTEGER PRIMARY KEY,account_name TEXT NOT NULL,account_type TEXT NOT NULL,data TEXT,UNIQUE(account_name, account_type))5I#indexsqlite_autoindex__sync_state_1_sync_stateW--ctableandroid_metadataandroid_metadataCREATE TABLE android_metadata (locale TEXT)