From b4c83de0b32d35a814dd3fe93dba401f5ac34ec3 Mon Sep 17 00:00:00 2001 From: Svetoslav Ganov Date: Mon, 23 Sep 2013 15:48:23 -0700 Subject: [PATCH 1/4] Add print job settings screen. Added a list of active print jobs to the main print settings screen. Selecting a print job from there leads to a print job settings screen with more information about the print job and actions to change the prit job state such as cancel and restart. bug:10935736 Change-Id: Idd6826a998309941c3d8478dafe4b039c8ca4f45 Conflicts: res/values/donottranslate.xml --- res/drawable-hdpi/ic_grayedout_printer.png | Bin 0 -> 3418 bytes res/drawable-mdpi/ic_grayedout_printer.png | Bin 0 -> 3418 bytes res/drawable-xhdpi/ic_grayedout_printer.png | Bin 0 -> 3418 bytes res/layout/empty_print_state.xml | 48 +++ .../empty_printers_list_service_enabled.xml | 55 +++ res/layout/print_job_summary.xml | 43 +++ res/values/donottranslate.xml | 3 +- res/values/strings.xml | 25 +- res/xml/print_job_settings.xml | 30 ++ res/xml/print_settings.xml | 13 + .../print/PrintJobSettingsFragment.java | 213 ++++++++++++ .../print/PrintServiceSettingsFragment.java | 116 +++++-- .../settings/print/PrintSettingsFragment.java | 323 ++++++++++++++++-- 13 files changed, 795 insertions(+), 74 deletions(-) create mode 100644 res/drawable-hdpi/ic_grayedout_printer.png create mode 100644 res/drawable-mdpi/ic_grayedout_printer.png create mode 100644 res/drawable-xhdpi/ic_grayedout_printer.png create mode 100644 res/layout/empty_print_state.xml create mode 100644 res/layout/empty_printers_list_service_enabled.xml create mode 100644 res/layout/print_job_summary.xml create mode 100644 res/xml/print_job_settings.xml create mode 100644 src/com/android/settings/print/PrintJobSettingsFragment.java diff --git a/res/drawable-hdpi/ic_grayedout_printer.png b/res/drawable-hdpi/ic_grayedout_printer.png new file mode 100644 index 0000000000000000000000000000000000000000..5e54970d6b3f5d578eae30a282f2bcd391aef518 GIT binary patch literal 3418 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 E0#XJSga7~l literal 0 HcmV?d00001 diff --git a/res/drawable-mdpi/ic_grayedout_printer.png b/res/drawable-mdpi/ic_grayedout_printer.png new file mode 100644 index 0000000000000000000000000000000000000000..5e54970d6b3f5d578eae30a282f2bcd391aef518 GIT binary patch literal 3418 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 E0#XJSga7~l literal 0 HcmV?d00001 diff --git a/res/drawable-xhdpi/ic_grayedout_printer.png b/res/drawable-xhdpi/ic_grayedout_printer.png new file mode 100644 index 0000000000000000000000000000000000000000..5e54970d6b3f5d578eae30a282f2bcd391aef518 GIT binary patch literal 3418 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 E0#XJSga7~l literal 0 HcmV?d00001 diff --git a/res/layout/empty_print_state.xml b/res/layout/empty_print_state.xml new file mode 100644 index 00000000000..135b3dd24d8 --- /dev/null +++ b/res/layout/empty_print_state.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + diff --git a/res/layout/empty_printers_list_service_enabled.xml b/res/layout/empty_printers_list_service_enabled.xml new file mode 100644 index 00000000000..78c8b43ec5f --- /dev/null +++ b/res/layout/empty_printers_list_service_enabled.xml @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + diff --git a/res/layout/print_job_summary.xml b/res/layout/print_job_summary.xml new file mode 100644 index 00000000000..d755de217fd --- /dev/null +++ b/res/layout/print_job_summary.xml @@ -0,0 +1,43 @@ + + + + + + + + + + + + diff --git a/res/values/donottranslate.xml b/res/values/donottranslate.xml index 12697ceece7..f290f38eba6 100644 --- a/res/values/donottranslate.xml +++ b/res/values/donottranslate.xml @@ -35,5 +35,6 @@ market://search?q=print service - + + market://search?q=nfc payment diff --git a/res/values/strings.xml b/res/values/strings.xml index 370a811c229..5d86ccf4623 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -3453,11 +3453,32 @@ Searching for printers + + Service disabled + Print jobs - - Active print jobs + + Print job + + + Restart + + + Cancel + + + %1$s\n%2$s + + + Printing %1$s + + + Printer error %1$s + + + Printer blocked %1$s diff --git a/res/xml/print_job_settings.xml b/res/xml/print_job_settings.xml new file mode 100644 index 00000000000..a78cec1c250 --- /dev/null +++ b/res/xml/print_job_settings.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + diff --git a/res/xml/print_settings.xml b/res/xml/print_settings.xml index dc3196871b1..8a295637343 100644 --- a/res/xml/print_settings.xml +++ b/res/xml/print_settings.xml @@ -17,4 +17,17 @@ + + + + + + + diff --git a/src/com/android/settings/print/PrintJobSettingsFragment.java b/src/com/android/settings/print/PrintJobSettingsFragment.java new file mode 100644 index 00000000000..99499c85edc --- /dev/null +++ b/src/com/android/settings/print/PrintJobSettingsFragment.java @@ -0,0 +1,213 @@ +/* + * Copyright (C) 2013 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.settings.print; + +import android.app.ActivityManager; +import android.content.Context; +import android.graphics.drawable.Drawable; +import android.os.Bundle; +import android.preference.Preference; +import android.print.PrintJob; +import android.print.PrintJobId; +import android.print.PrintJobInfo; +import android.print.PrintManager; +import android.print.PrintManager.PrintJobStateChangeListener; +import android.text.TextUtils; +import android.text.format.DateUtils; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; +import android.view.View; + +import com.android.settings.R; +import com.android.settings.SettingsPreferenceFragment; + +import java.text.DateFormat; + +/** + * Fragment for management of a print job. + */ +public class PrintJobSettingsFragment extends SettingsPreferenceFragment { + private static final int MENU_ITEM_ID_CANCEL = 1; + private static final int MENU_ITEM_ID_RESTART = 2; + + private static final String PRINT_JOB_PREFERENCE = "print_job_preference"; + private static final String PRINT_JOB_MESSAGE_PREFERENCE = "print_job_message_preference"; + + private Drawable mListDivider; + + private final PrintJobStateChangeListener mPrintJobStateChangeListener = + new PrintJobStateChangeListener() { + @Override + public void onPrintJobsStateChanged(PrintJobId printJobId) { + updateUi(); + } + }; + + private PrintManager mPrintManager; + + private Preference mPrintJobPreference; + private Preference mMessagePreference; + + private PrintJobId mPrintJobId; + private PrintJob mPrintJob; + + @Override + public void onCreate(Bundle icicle) { + super.onCreate(icicle); + + addPreferencesFromResource(R.xml.print_job_settings); + mPrintJobPreference = findPreference(PRINT_JOB_PREFERENCE); + mMessagePreference = findPreference(PRINT_JOB_MESSAGE_PREFERENCE); + + mPrintManager = ((PrintManager) getActivity().getSystemService( + Context.PRINT_SERVICE)).getGlobalPrintManagerForUser( + ActivityManager.getCurrentUser()); + + getActivity().getActionBar().setTitle(R.string.print_print_job); + + processArguments(); + + setHasOptionsMenu(true); + } + + @Override + public void onViewCreated(View view, Bundle savedInstanceState) { + super.onViewCreated(view, savedInstanceState); + getListView().setEnabled(false); + } + + @Override + public void onResume() { + super.onResume(); + mPrintManager.addPrintJobStateChangeListener( + mPrintJobStateChangeListener); + updateUi(); + } + + @Override + public void onPause() { + super.onPause(); + mPrintManager.removePrintJobStateChangeListener( + mPrintJobStateChangeListener); + } + + @Override + public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { + super.onCreateOptionsMenu(menu, inflater); + + MenuItem cancel = menu.add(0, MENU_ITEM_ID_CANCEL, Menu.NONE, + getString(R.string.print_cancel)); + cancel.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); + + if (mPrintJob.isFailed()) { + MenuItem restart = menu.add(0, MENU_ITEM_ID_RESTART, Menu.NONE, + getString(R.string.print_restart)); + restart.setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM); + } + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case MENU_ITEM_ID_CANCEL: { + mPrintJob.cancel(); + finish(); + return true; + } + + case MENU_ITEM_ID_RESTART: { + mPrintJob.restart(); + finish(); + return true; + } + } + + return super.onOptionsItemSelected(item); + } + + private void processArguments() { + mPrintJobId = (PrintJobId) getArguments().getParcelable( + PrintSettingsFragment.EXTRA_PRINT_JOB_ID); + if (mPrintJobId == null) { + finish(); + } + } + + private void updateUi() { + mPrintJob = mPrintManager.getPrintJob(mPrintJobId); + + if (mPrintJob == null) { + finish(); + } + + if (mPrintJob.isCancelled() || mPrintJob.isCompleted()) { + finish(); + } + + PrintJobInfo info = mPrintJob.getInfo(); + + switch (info.getState()) { + case PrintJobInfo.STATE_QUEUED: + case PrintJobInfo.STATE_STARTED: { + mPrintJobPreference.setTitle(getString( + R.string.print_printing_state_title_template, info.getLabel())); + } break; + + case PrintJobInfo.STATE_FAILED: { + mPrintJobPreference.setTitle(getString( + R.string.print_failed_state_title_template, info.getLabel())); + } break; + + case PrintJobInfo.STATE_BLOCKED: { + mPrintJobPreference.setTitle(getString( + R.string.print_blocked_state_title_template, info.getLabel())); + } break; + } + + mPrintJobPreference.setSummary(getString(R.string.print_job_summary, + info.getPrinterName(), DateUtils.formatSameDayTime( + info.getCreationTime(), info.getCreationTime(), DateFormat.SHORT, + DateFormat.SHORT))); + + switch (info.getState()) { + case PrintJobInfo.STATE_QUEUED: + case PrintJobInfo.STATE_STARTED: { + mPrintJobPreference.setIcon(com.android.internal.R.drawable.ic_print); + } break; + + case PrintJobInfo.STATE_FAILED: + case PrintJobInfo.STATE_BLOCKED: { + mPrintJobPreference.setIcon(com.android.internal.R.drawable.ic_print_error); + } break; + } + + String stateReason = info.getStateReason(); + if (!TextUtils.isEmpty(stateReason)) { + if (getPreferenceScreen().findPreference(PRINT_JOB_MESSAGE_PREFERENCE) == null) { + getPreferenceScreen().addPreference(mMessagePreference); + } + mMessagePreference.setSummary(stateReason); + getListView().setDivider(null); + } else { + getPreferenceScreen().removePreference(mMessagePreference); + getListView().setDivider(mListDivider); + } + + getActivity().invalidateOptionsMenu(); + } +} diff --git a/src/com/android/settings/print/PrintServiceSettingsFragment.java b/src/com/android/settings/print/PrintServiceSettingsFragment.java index 87db29bb5b9..d2d8525abd3 100644 --- a/src/com/android/settings/print/PrintServiceSettingsFragment.java +++ b/src/com/android/settings/print/PrintServiceSettingsFragment.java @@ -27,15 +27,12 @@ import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.content.Loader; -import android.content.pm.ActivityInfo; import android.content.pm.PackageInfo; -import android.content.pm.PackageManager; -import android.content.pm.ResolveInfo; import android.content.pm.PackageManager.NameNotFoundException; +import android.content.pm.ResolveInfo; import android.database.ContentObserver; import android.database.DataSetObserver; import android.net.Uri; -import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.preference.PreferenceActivity; @@ -54,8 +51,10 @@ import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; +import android.widget.CompoundButton; import android.widget.Filter; import android.widget.Filterable; +import android.widget.ListView; import android.widget.SearchView; import android.widget.TextView; @@ -69,6 +68,7 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import android.widget.CompoundButton.OnCheckedChangeListener; /** * Fragment with print service settings. */ @@ -83,7 +83,7 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment new SettingsContentObserver(new Handler()) { @Override public void onChange(boolean selfChange, Uri uri) { - updateForServiceEnabledState(); + updateUiForServiceState(); } }; @@ -108,15 +108,15 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment } }; - protected ToggleSwitch mToggleSwitch; + private ToggleSwitch mToggleSwitch; - protected String mPreferenceKey; + private String mPreferenceKey; - protected CharSequence mSettingsTitle; - protected Intent mSettingsIntent; + private CharSequence mSettingsTitle; + private Intent mSettingsIntent; - protected CharSequence mAddPrintersTitle; - protected Intent mAddPrintersIntent; + private CharSequence mAddPrintersTitle; + private Intent mAddPrintersIntent; private CharSequence mEnableWarningTitle; private CharSequence mEnableWarningMessage; @@ -135,9 +135,10 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment @Override public void onResume() { - mSettingsContentObserver.register(getContentResolver()); super.onResume(); - updateForServiceEnabledState(); + mSettingsContentObserver.register(getContentResolver()); + updateEmptyView(); + updateUiForServiceState(); } @Override @@ -149,12 +150,8 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment @Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); - installActionBarToggleSwitch(); - processArguments(getArguments()); - mPrintersAdapter = new PrintersAdapter(); - mPrintersAdapter.registerDataSetObserver(mDataObserver); - getListView().setAdapter(mPrintersAdapter); - updateForServiceEnabledState(); + initComponents(); + updateUiForArguments(); } @Override @@ -221,7 +218,40 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment } } - private void updateForServiceEnabledState() { + private void updateEmptyView() { + ListView listView = getListView(); + ViewGroup contentRoot = (ViewGroup) listView.getParent(); + View emptyView = listView.getEmptyView(); + if (!mToggleSwitch.isChecked()) { + if (emptyView != null + && emptyView.getId() != R.id.empty_printers_list_service_disabled) { + contentRoot.removeView(emptyView); + emptyView = null; + } + if (emptyView == null) { + emptyView = getActivity().getLayoutInflater().inflate( + R.layout.empty_print_state, contentRoot, false); + TextView textView = (TextView) emptyView.findViewById(R.id.message); + textView.setText(R.string.print_service_disabled); + contentRoot.addView(emptyView); + listView.setEmptyView(emptyView); + } + } else if (mPrintersAdapter.getUnfilteredCount() <= 0) { + if (emptyView != null + && emptyView.getId() != R.id.empty_printers_list_service_enabled) { + contentRoot.removeView(emptyView); + emptyView = null; + } + if (emptyView == null) { + emptyView = getActivity().getLayoutInflater().inflate( + R.layout.empty_printers_list_service_enabled, contentRoot, false); + contentRoot.addView(emptyView); + listView.setEmptyView(emptyView); + } + } + } + + private void updateUiForServiceState() { List services = SettingsUtils.readEnabledPrintServices(getActivity()); mServiceEnabled = services.contains(mComponentName); if (mServiceEnabled) { @@ -234,7 +264,10 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment getActivity().invalidateOptionsMenu(); } - private void installActionBarToggleSwitch() { + private void initComponents() { + mPrintersAdapter = new PrintersAdapter(); + mPrintersAdapter.registerDataSetObserver(mDataObserver); + mToggleSwitch = createAndAddActionBarToggleSwitch(getActivity()); mToggleSwitch.setOnBeforeCheckedChangeListener(new OnBeforeCheckedChangeListener() { @Override @@ -253,9 +286,20 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment return false; } }); + mToggleSwitch.setOnCheckedChangeListener(new OnCheckedChangeListener() { + @Override + public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { + updateEmptyView(); + } + }); + + getListView().setEnabled(false); + getListView().setAdapter(mPrintersAdapter); } - private void processArguments(Bundle arguments) { + private void updateUiForArguments() { + Bundle arguments = getArguments(); + // Key. mPreferenceKey = arguments.getString(PrintSettingsFragment.EXTRA_PREFERENCE_KEY); @@ -381,22 +425,21 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment private static abstract class SettingsContentObserver extends ContentObserver { - public SettingsContentObserver(Handler handler) { - super(handler); - } + public SettingsContentObserver(Handler handler) { + super(handler); + } - public void register(ContentResolver contentResolver) { - contentResolver.registerContentObserver(Settings.Secure.getUriFor( - Settings.Secure.ENABLED_PRINT_SERVICES), false, this); - } + public void register(ContentResolver contentResolver) { + contentResolver.registerContentObserver(Settings.Secure.getUriFor( + Settings.Secure.ENABLED_PRINT_SERVICES), false, this); + } - public void unregister(ContentResolver contentResolver) { - contentResolver.unregisterContentObserver(this); - } - - @Override - public abstract void onChange(boolean selfChange, Uri uri); + public void unregister(ContentResolver contentResolver) { + contentResolver.unregisterContentObserver(this); + } + @Override + public abstract void onChange(boolean selfChange, Uri uri); } private final class PrintersAdapter extends BaseAdapter @@ -415,6 +458,7 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment public void disable() { getLoaderManager().destroyLoader(LOADER_ID_PRINTERS_LOADER); + mPrinters.clear(); } public int getUnfilteredCount() { @@ -560,7 +604,7 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment private static final String LOG_TAG = "PrintersLoader"; - private static final boolean DEBUG = true && Build.IS_DEBUGGABLE; + private static final boolean DEBUG = false; private final Map mPrinters = new LinkedHashMap(); diff --git a/src/com/android/settings/print/PrintSettingsFragment.java b/src/com/android/settings/print/PrintSettingsFragment.java index 49f0e658b53..84865c339a3 100644 --- a/src/com/android/settings/print/PrintSettingsFragment.java +++ b/src/com/android/settings/print/PrintSettingsFragment.java @@ -16,10 +16,14 @@ package com.android.settings.print; +import android.app.ActivityManager; +import android.app.LoaderManager.LoaderCallbacks; +import android.content.AsyncTaskLoader; import android.content.ComponentName; import android.content.ContentResolver; import android.content.Context; import android.content.Intent; +import android.content.Loader; import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.database.ContentObserver; @@ -28,14 +32,23 @@ import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.preference.Preference; +import android.preference.PreferenceCategory; import android.preference.PreferenceScreen; +import android.print.PrintJob; +import android.print.PrintJobId; +import android.print.PrintJobInfo; +import android.print.PrintManager; +import android.print.PrintManager.PrintJobStateChangeListener; import android.printservice.PrintServiceInfo; import android.provider.Settings; import android.text.TextUtils; +import android.text.format.DateUtils; +import android.util.Log; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; +import android.view.ViewGroup; import android.widget.Switch; import android.widget.TextView; @@ -44,6 +57,8 @@ import com.android.settings.DialogCreatable; import com.android.settings.R; import com.android.settings.SettingsPreferenceFragment; +import java.text.DateFormat; +import java.util.ArrayList; import java.util.List; /** @@ -53,17 +68,24 @@ public class PrintSettingsFragment extends SettingsPreferenceFragment implements static final char ENABLED_PRINT_SERVICES_SEPARATOR = ':'; + private static final int LOADER_ID_PRINT_JOBS_LOADER = 1; + + private static final String PRINT_JOBS_CATEGORY = "print_jobs_category"; + private static final String PRINT_SERVICES_CATEGORY = "print_services_category"; + // Extras passed to sub-fragments. - static final String EXTRA_PREFERENCE_KEY = "preference_key"; - static final String EXTRA_CHECKED = "checked"; - static final String EXTRA_TITLE = "title"; - static final String EXTRA_ENABLE_WARNING_TITLE = "enable_warning_title"; - static final String EXTRA_ENABLE_WARNING_MESSAGE = "enable_warning_message"; - static final String EXTRA_SETTINGS_TITLE = "settings_title"; - static final String EXTRA_SETTINGS_COMPONENT_NAME = "settings_component_name"; - static final String EXTRA_ADD_PRINTERS_TITLE = "add_printers_title"; - static final String EXTRA_ADD_PRINTERS_COMPONENT_NAME = "add_printers_component_name"; - static final String EXTRA_SERVICE_COMPONENT_NAME = "service_component_name"; + static final String EXTRA_PREFERENCE_KEY = "EXTRA_PREFERENCE_KEY"; + static final String EXTRA_CHECKED = "EXTRA_CHECKED"; + static final String EXTRA_TITLE = "EXTRA_TITLE"; + static final String EXTRA_ENABLE_WARNING_TITLE = "EXTRA_ENABLE_WARNING_TITLE"; + static final String EXTRA_ENABLE_WARNING_MESSAGE = "EXTRA_ENABLE_WARNING_MESSAGE"; + static final String EXTRA_SETTINGS_TITLE = "EXTRA_SETTINGS_TITLE"; + static final String EXTRA_SETTINGS_COMPONENT_NAME = "EXTRA_SETTINGS_COMPONENT_NAME"; + static final String EXTRA_ADD_PRINTERS_TITLE = "EXTRA_ADD_PRINTERS_TITLE"; + static final String EXTRA_ADD_PRINTERS_COMPONENT_NAME = "EXTRA_ADD_PRINTERS_COMPONENT_NAME"; + static final String EXTRA_SERVICE_COMPONENT_NAME = "EXTRA_SERVICE_COMPONENT_NAME"; + + static final String EXTRA_PRINT_JOB_ID = "EXTRA_PRINT_JOB_ID"; private static final String EXTRA_PRINT_SERVICE_COMPONENT_NAME = "EXTRA_PRINT_SERVICE_COMPONENT_NAME"; @@ -85,13 +107,27 @@ public class PrintSettingsFragment extends SettingsPreferenceFragment implements } }; - private Preference mNoServicesMessagePreference; + private PreferenceCategory mActivePrintJobsCategory; + private PreferenceCategory mPrintServicesCategory; + + private PrintJobsController mPrintJobsController; + + private String mPrintJobPreferenceToActivate; @Override public void onCreate(Bundle icicle) { super.onCreate(icicle); addPreferencesFromResource(R.xml.print_settings); - getActivity().getActionBar().setTitle(R.string.print_settings_title); + + mActivePrintJobsCategory = (PreferenceCategory) findPreference( + PRINT_JOBS_CATEGORY); + mPrintServicesCategory= (PreferenceCategory) findPreference( + PRINT_SERVICES_CATEGORY); + getPreferenceScreen().removePreference(mActivePrintJobsCategory); + + mPrintJobsController = new PrintJobsController(); + getActivity().getLoaderManager().initLoader(LOADER_ID_PRINT_JOBS_LOADER, + null, mPrintJobsController); } @Override @@ -100,8 +136,8 @@ public class PrintSettingsFragment extends SettingsPreferenceFragment implements mSettingsPackageMonitor.register(getActivity(), getActivity().getMainLooper(), false); mSettingsContentObserver.register(getContentResolver()); updateServicesPreferences(); - startPrintServiceSettingsIfNeeded(); setHasOptionsMenu(true); + startSubSettingsIfNeeded(); } @Override @@ -120,10 +156,26 @@ public class PrintSettingsFragment extends SettingsPreferenceFragment implements Uri.parse(getString(R.string.download_print_service_query)))); } + @Override + public void onViewCreated(View view, Bundle savedInstanceState) { + super.onViewCreated(view, savedInstanceState); + ViewGroup contentRoot = (ViewGroup) getListView().getParent(); + View emptyView = getActivity().getLayoutInflater().inflate( + R.layout.empty_print_state, contentRoot, false); + TextView textView = (TextView) emptyView.findViewById(R.id.message); + textView.setText(R.string.print_no_services_installed); + contentRoot.addView(emptyView); + getListView().setEmptyView(emptyView); + } + private void updateServicesPreferences() { - // Since services category is auto generated we have to do a pass - // to generate it since services can come and go. - getPreferenceScreen().removeAll(); + if (getPreferenceScreen().findPreference(PRINT_SERVICES_CATEGORY) == null) { + getPreferenceScreen().addPreference(mPrintServicesCategory); + } else { + // Since services category is auto generated we have to do a pass + // to generate it since services can come and go. + mPrintServicesCategory.removeAll(); + } List enabledServices = SettingsUtils .readEnabledPrintServices(getActivity()); @@ -194,30 +246,15 @@ public class PrintSettingsFragment extends SettingsPreferenceFragment implements extras.putString(EXTRA_SERVICE_COMPONENT_NAME, componentName.flattenToString()); - getPreferenceScreen().addPreference(preference); + mPrintServicesCategory.addPreference(preference); } - if (getPreferenceScreen().getPreferenceCount() == 0) { - if (mNoServicesMessagePreference == null) { - mNoServicesMessagePreference = new Preference(getActivity()) { - @Override - protected void onBindView(View view) { - super.onBindView(view); - TextView summaryView = (TextView) view.findViewById(R.id.summary); - String title = getString(R.string.print_no_services_installed); - summaryView.setText(title); - } - }; - mNoServicesMessagePreference.setPersistent(false); - mNoServicesMessagePreference.setLayoutResource( - R.layout.text_description_preference); - mNoServicesMessagePreference.setSelectable(false); - } - getPreferenceScreen().addPreference(mNoServicesMessagePreference); + if (mPrintServicesCategory.getPreferenceCount() == 0) { + getPreferenceScreen().removePreference(mPrintServicesCategory); } } - private void startPrintServiceSettingsIfNeeded() { + private void startSubSettingsIfNeeded() { if (getArguments() == null) { return; } @@ -228,6 +265,19 @@ public class PrintSettingsFragment extends SettingsPreferenceFragment implements if (prereference != null) { prereference.performClick(getPreferenceScreen()); } + } else { + String printJobId = getArguments().getString(EXTRA_PRINT_JOB_ID); + if (printJobId != null) { + getArguments().remove(EXTRA_PRINT_JOB_ID); + Preference preference = findPreference(printJobId); + if (preference != null) { + preference.performClick(getPreferenceScreen()); + } else { + // The preference not being present may mean the the print job + // loader has not completed so make a note and wait for the load. + mPrintJobPreferenceToActivate = printJobId; + } + } } } @@ -301,4 +351,207 @@ public class PrintSettingsFragment extends SettingsPreferenceFragment implements @Override public abstract void onChange(boolean selfChange, Uri uri); } + + private final class PrintJobsController implements LoaderCallbacks> { + + @Override + public Loader> onCreateLoader(int id, Bundle args) { + if (id == LOADER_ID_PRINT_JOBS_LOADER) { + return new PrintJobsLoader(getActivity()); + } + return null; + } + + @Override + public void onLoadFinished(Loader> loader, + List printJobs) { + if (printJobs == null || printJobs.isEmpty()) { + getPreferenceScreen().removePreference(mActivePrintJobsCategory); + } else { + if (getPreferenceScreen().findPreference(PRINT_JOBS_CATEGORY) == null) { + getPreferenceScreen().addPreference(mActivePrintJobsCategory); + } + + mActivePrintJobsCategory.removeAll(); + + final int printJobCount = printJobs.size(); + for (int i = 0; i < printJobCount; i++) { + PrintJobInfo printJob = printJobs.get(i); + + PreferenceScreen preference = getPreferenceManager() + .createPreferenceScreen(getActivity()); + + preference.setPersistent(false); + preference.setFragment(PrintJobSettingsFragment.class.getName()); + preference.setKey(printJob.getId().flattenToString()); + + switch (printJob.getState()) { + case PrintJobInfo.STATE_QUEUED: + case PrintJobInfo.STATE_STARTED: { + preference.setTitle(getString( + R.string.print_printing_state_title_template, + printJob.getLabel())); + } break; + + case PrintJobInfo.STATE_FAILED: { + preference.setTitle(getString( + R.string.print_failed_state_title_template, + printJob.getLabel())); + } break; + + case PrintJobInfo.STATE_BLOCKED: { + preference.setTitle(getString( + R.string.print_blocked_state_title_template, + printJob.getLabel())); + } break; + } + + preference.setSummary(getString(R.string.print_job_summary, + printJob.getPrinterName(), DateUtils.formatSameDayTime( + printJob.getCreationTime(), printJob.getCreationTime(), + DateFormat.SHORT, DateFormat.SHORT))); + + switch (printJob.getState()) { + case PrintJobInfo.STATE_QUEUED: + case PrintJobInfo.STATE_STARTED: { + preference.setIcon(com.android.internal.R.drawable.ic_print); + } break; + + case PrintJobInfo.STATE_FAILED: + case PrintJobInfo.STATE_BLOCKED: { + preference.setIcon(com.android.internal.R.drawable.ic_print_error); + } break; + } + + Bundle extras = preference.getExtras(); + extras.putParcelable(EXTRA_PRINT_JOB_ID, printJob.getId()); + + mActivePrintJobsCategory.addPreference(preference); + } + + // If were waiting for creating a preference for a print + // job so we can start it - do that. + if (mPrintJobPreferenceToActivate != null) { + Preference preference = findPreference(mPrintJobPreferenceToActivate); + mPrintJobPreferenceToActivate = null; + if (preference != null) { + preference.performClick(getPreferenceScreen()); + } + } + } + } + + @Override + public void onLoaderReset(Loader> loader) { + getPreferenceScreen().removePreference(mActivePrintJobsCategory); + } + } + + private static final class PrintJobsLoader extends AsyncTaskLoader> { + + private static final String LOG_TAG = "PrintJobsLoader"; + + private static final boolean DEBUG = true; + + private List mPrintJobs = new ArrayList(); + + private final PrintManager mPrintManager; + + private PrintJobStateChangeListener mPrintJobStateChangeListener; + + public PrintJobsLoader(Context context) { + super(context); + mPrintManager = ((PrintManager) context.getSystemService( + Context.PRINT_SERVICE)).getGlobalPrintManagerForUser( + ActivityManager.getCurrentUser()); + } + + @Override + public void deliverResult(List printJobs) { + if (isStarted()) { + super.deliverResult(printJobs); + } + } + + @Override + protected void onStartLoading() { + if (DEBUG) { + Log.i(LOG_TAG, "onStartLoading()"); + } + // If we already have a result, deliver it immediately. + if (!mPrintJobs.isEmpty()) { + deliverResult(new ArrayList(mPrintJobs)); + } + // Start watching for changes. + if (mPrintJobStateChangeListener == null) { + mPrintJobStateChangeListener = new PrintJobStateChangeListener() { + @Override + public void onPrintJobsStateChanged(PrintJobId printJobId) { + onForceLoad(); + } + }; + mPrintManager.addPrintJobStateChangeListener( + mPrintJobStateChangeListener); + } + // If the data changed or we have no data - load it now. + if (mPrintJobs.isEmpty()) { + onForceLoad(); + } + } + + @Override + protected void onStopLoading() { + if (DEBUG) { + Log.i(LOG_TAG, "onStopLoading()"); + } + // Cancel the load in progress if possible. + onCancelLoad(); + } + + @Override + protected void onReset() { + if (DEBUG) { + Log.i(LOG_TAG, "onReset()"); + } + // Stop loading. + onStopLoading(); + // Clear the cached result. + mPrintJobs.clear(); + // Stop watching for changes. + if (mPrintJobStateChangeListener != null) { + mPrintManager.removePrintJobStateChangeListener( + mPrintJobStateChangeListener); + mPrintJobStateChangeListener = null; + } + } + + @Override + public List loadInBackground() { + List printJobInfos = null; + List printJobs = mPrintManager.getPrintJobs(); + final int printJobCount = printJobs.size(); + for (int i = 0; i < printJobCount; i++) { + PrintJobInfo printJob = printJobs.get(i).getInfo(); + if (shouldShowToUser(printJob)) { + if (printJobInfos == null) { + printJobInfos = new ArrayList(); + } + printJobInfos.add(printJob); + } + } + return printJobInfos; + } + + private static boolean shouldShowToUser(PrintJobInfo printJob) { + switch (printJob.getState()) { + case PrintJobInfo.STATE_QUEUED: + case PrintJobInfo.STATE_STARTED: + case PrintJobInfo.STATE_BLOCKED: + case PrintJobInfo.STATE_FAILED: { + return true; + } + } + return false; + } + } } From 28600d29f332da611350f5a40440182bb78bde7c Mon Sep 17 00:00:00 2001 From: Mindy Pereira Date: Wed, 25 Sep 2013 16:37:55 -0700 Subject: [PATCH 2/4] Updated de-blued backgrounds for settings power widget. Change-Id: I940999244d7bb6c2ec800c16b3c55c266d9b70c9 --- .../appwidget_item_bg_pressed.9.png | Bin 280 -> 298 bytes .../appwidget_item_bg_pressed.9.png | Bin 243 -> 262 bytes .../appwidget_item_bg_pressed.9.png | Bin 309 -> 349 bytes .../appwidget_item_bg_pressed.9.png | Bin 0 -> 1312 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 res/drawable-xxhdpi/appwidget_item_bg_pressed.9.png diff --git a/res/drawable-hdpi/appwidget_item_bg_pressed.9.png b/res/drawable-hdpi/appwidget_item_bg_pressed.9.png index 0da4a1d34620c127b7296eedc7f6f790adaa29b5..785dbaad9f159d07617c05254207f122a075a140 100644 GIT binary patch delta 233 zcmVj(g7#9UWyD&7< zjT95RXwg(@=R+152>;CwgbA1#E5)<**}?VRKOlSDJg0EYnB^*K630s{vC-7h)}!SIQ900000NkvXXu0mjfVbo;D delta 215 zcmV;|04V>e0+<4jNq@RYL_t(oh3%KS4FWL`L}zV7L<5L6paCkN2Xd;QB6^?_0wOZR z$8a7Z&>1e^bgXk9SV$znO0 zuGZUucPap}O5DuHGXU2oPzG>0pWNqlGKpn3#klM6$%S<9V5p!~?JLGPdT( ROkDr~002ovPDHLkV1llmVO#(J diff --git a/res/drawable-mdpi/appwidget_item_bg_pressed.9.png b/res/drawable-mdpi/appwidget_item_bg_pressed.9.png index 9a5001b45efd98434ed4701e01c75fb3aa97f203..df1be8d22afb6caa43b3a26998576381b9b95b20 100644 GIT binary patch delta 197 zcmV;$06PEk0fqvQNq?wGL_t(IjqQ~|3d0}}MgK@On_k3?=cspe-`vBK*o6pzP8Th~ zv^1#`Tm5oNh#f7~@%* z$4aS1G`vf+L|QTJyuS@GGl=HK_a+?y&(HJ$_m4D3BJRY000000NkvXXu0mjf(?wck delta 178 zcmV;j08Rgf0`mcoNq?0|L_t(Ijbr%#|33o>;6D`OS45hbqya`WHVcL3{f05%21)qD zbLi!_pI~NUBFn_T|Nb%Ta+NZH8vY+{@bBNh7~lT*`)PjLiT4e0oP|c?<_MD=X+}1{nYU|Ifh42zNN8 gB^@IJ1Eewq0PBq@$^cJ!SO5S307*qoM6N<$f-g%`?EnA( diff --git a/res/drawable-xhdpi/appwidget_item_bg_pressed.9.png b/res/drawable-xhdpi/appwidget_item_bg_pressed.9.png index 3160e858c0fa5b271ce149e0718363c9ffbe7e24..80d9bfbee169855ec6889a73f0ae708d5f864841 100644 GIT binary patch delta 285 zcmV+&0pk9(0^I_TNq_%IL_t(oh3%LzYQ!)QMgM3VjJL@}bQ0&P?$Y=UK8i`eSgV0hw3&r@;HtgcD;QN zjWJ$^VR&iVmaD0KA|lwfEyWmL0bIXNHT%Wuy3#z)Z(Y~rdVh*vEXxv5DBz>E_t&_n zHZH1-DNz$QzNw0uz(uujQEgmQ8yD5aMYVBJZA^)lLWqBdsfwDwMYS;_dI-q?Af-gi zT=g^vAqeyR0P!G7M0uK~=af>_Y7-Hd8BNo?qws_;2Dt#9?#!JH;U;;7k-Wh<9TE`` j9oq5H{qaLcL>BM?2OdH?9ZU7X00000NkvXXu0mjfgfW6T delta 244 zcmVZS-HnXhSH!M_|g-TNu zs^X8YYDHDBP-zw_%|fMFs5A?eW}(tlh2|PGd_>iXs$ikgEL2)&nnymQcsU28l;yKU u&h^gy)eLgY-y&uPQD-~m-XCv4%#0e(^)twb!zm~L0000??WEk;Ic@1ARWYtMDFyX&nDw$8TG5uD@JK3k9NUUql2 z?KDwGlq^IBqL~hjMgh^J1Yd$7%M=4)F^eNnkYod+i31mnTL`+0Q0sGRJN&Tl!OPt} z&-1_k@ArSd!Ip4yb=AF97=~2`1AGLn4c1e+2EC1Mj`3*OX!_gCsM=+wMIB={`@Xbh`w%xGe~2by>%?3NTSF*o`( zflCQ5@w6*Mg)|N(r9i(9qy6DnyuT;zNf3<JU0N@N`2Tm8mfJbne0yIgXo3Q~W>ta~C4li8 zyjyVicma4g+9Q-XR>IN_hlip(O@OBa0Q?R&*W~n39?CBW4Dj<*85>j#Q&i%xY*#{d zOIY6>u`H)U(Ny)As`i#Upe3oAs*zMRoQpE}mXH{i6iZNR6{r|54|VA|m=JVT#+Ne8 zN-KE4JKYW!$2k~(F>*Ie`+R_*IaggB#Q~ZqVH5u+Yb0`pwA$l8?NSz@9<;X0&5sVt z;{z2mGdda$(=~Ad!&ZfZyf2oS`ePdGIzw$Z*VniW++TI%T=P75;gtb(c5L+gFQ?w> zJT@G8KJesYZ=PItV2drc_123!D<2%pPYl=B&J#aQ5v_xP-+sM5ed);FFCO|h{LDRT zbB6~%x;1hj^ZsIB(!FUhFk5-^!b1LCaP^IvsrJI?qd&cqzdi%cJbWc}B~RVGzP0tD z=hZQJdfW8Lp~){hb_lx%$%zk+O8v)wzgate_FDFD#&1-tyU(rteEQ{z^AG&FkbApO zS<`2o)|SP$H~(~NJ-Pkv`Q4|Z`<{Be2r6X#*Dk&WX1uaD&0OXR4qSy`C$H#9_5Ai3LoZwkcS#NHeFb7H0o#D y5AE6f*{Q`7+b3W8d|z|n#z<)MU9P$HtJYw_)g1@FyQ literal 0 HcmV?d00001 From 548f31715b624305c3d3e591e8ea63c540f7c141 Mon Sep 17 00:00:00 2001 From: Amith Yamasani Date: Wed, 2 Oct 2013 11:48:46 -0700 Subject: [PATCH 3/4] Load account type icons in a background thread before scrolling down This reduces the jank when scrolling down in top-level Settings if you happen to have several account types like Google, Twitter, Facebook, etc. In the process of doing this, discovered that headers get built even when they're not showing (SubSettings). Skip setting up the headers, which can be expensive when there are several accounts. Bug: 11006601 Change-Id: I8b4eafdcc2fc2beecac01317c3c8f07a82febcc0 --- src/com/android/settings/Settings.java | 7 +++++-- .../accounts/AuthenticatorHelper.java | 21 ++++++++++++++++--- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java index 87d34c69553..6badef8531a 100644 --- a/src/com/android/settings/Settings.java +++ b/src/com/android/settings/Settings.java @@ -516,8 +516,10 @@ public class Settings extends PreferenceActivity */ @Override public void onBuildHeaders(List
headers) { - loadHeadersFromResource(R.xml.settings_headers, headers); - updateHeaderList(headers); + if (!onIsHidingHeaders()) { + loadHeadersFromResource(R.xml.settings_headers, headers); + updateHeaderList(headers); + } } private void updateHeaderList(List
target) { @@ -655,6 +657,7 @@ public class Settings extends PreferenceActivity } } accountHeaders.add(accHeader); + mAuthenticatorHelper.preloadDrawableForType(this, accountType); } // Sort by label diff --git a/src/com/android/settings/accounts/AuthenticatorHelper.java b/src/com/android/settings/accounts/AuthenticatorHelper.java index eba785bad4d..a164b8be10e 100644 --- a/src/com/android/settings/accounts/AuthenticatorHelper.java +++ b/src/com/android/settings/accounts/AuthenticatorHelper.java @@ -23,6 +23,7 @@ import android.content.Context; import android.content.pm.PackageManager; import android.content.res.Resources; import android.graphics.drawable.Drawable; +import android.os.AsyncTask; import android.util.Log; import java.util.ArrayList; @@ -45,6 +46,16 @@ public class AuthenticatorHelper { return mEnabledAccountTypes.toArray(new String[mEnabledAccountTypes.size()]); } + public void preloadDrawableForType(final Context context, final String accountType) { + new AsyncTask() { + @Override + protected Void doInBackground(Void... params) { + getDrawableForType(context, accountType); + return null; + } + }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, (Void[]) null); + } + /** * Gets an icon associated with a particular account type. If none found, return null. * @param accountType the type of account @@ -52,15 +63,19 @@ public class AuthenticatorHelper { */ public Drawable getDrawableForType(Context context, final String accountType) { Drawable icon = null; - if (mAccTypeIconCache.containsKey(accountType)) { - return mAccTypeIconCache.get(accountType); + synchronized (mAccTypeIconCache) { + if (mAccTypeIconCache.containsKey(accountType)) { + return mAccTypeIconCache.get(accountType); + } } if (mTypeToAuthDescription.containsKey(accountType)) { try { AuthenticatorDescription desc = mTypeToAuthDescription.get(accountType); Context authContext = context.createPackageContext(desc.packageName, 0); icon = authContext.getResources().getDrawable(desc.iconId); - mAccTypeIconCache.put(accountType, icon); + synchronized (mAccTypeIconCache) { + mAccTypeIconCache.put(accountType, icon); + } } catch (PackageManager.NameNotFoundException e) { } catch (Resources.NotFoundException e) { } From 30143ce3e73993213c16b0f8356beed3ac4aac53 Mon Sep 17 00:00:00 2001 From: Ari Sachter-Zeltzer Date: Fri, 4 Oct 2013 14:21:36 -0700 Subject: [PATCH 4/4] updated launcher settings icon to gray gear fixes b/10788190 Change-Id: I11f21d7614fe70781ae2d20ab2947c77843580fa --- res/mipmap-hdpi/ic_launcher_settings.png | Bin 7505 -> 8822 bytes res/mipmap-mdpi/ic_launcher_settings.png | Bin 4052 -> 5362 bytes res/mipmap-xhdpi/ic_launcher_settings.png | Bin 11748 -> 12096 bytes res/mipmap-xxhdpi/ic_launcher_settings.png | Bin 19187 -> 20300 bytes res/mipmap-xxxhdpi/ic_launcher_settings.png | Bin 0 -> 27997 bytes 5 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 res/mipmap-xxxhdpi/ic_launcher_settings.png diff --git a/res/mipmap-hdpi/ic_launcher_settings.png b/res/mipmap-hdpi/ic_launcher_settings.png index 32da776f3ec5a2b79acb3f13b55bf914c22906ef..a8ccc8938124859d55dca58175923f2dfa17cb0b 100644 GIT binary patch literal 8822 zcmZ`Y4l6Z1EeP_v0YM?*5OfUw6tViloWbKrxiJ`=F1e~1xkC`u)&HJEP$mWmL7a~2DoXl3 zV-o?s9wsB%3*H+9tVV6)2fbqJo>c4WSsfNu{;qINfg7ZDIl1aqKeOi)y+xPTKe$VA zCwp8?YUR#WrY%&aSaQvrt~{JZaI{Hv?oT6S>#E`f@LAl1ZoabGii&@?5Bk}$2YLpn z@S$a&{<(KM{r(1flYs|8E%WDfPf0JXjQtxaSvEhPH>b?c&$qrfKU3qT

|1P=*m% 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 diff --git a/res/mipmap-mdpi/ic_launcher_settings.png b/res/mipmap-mdpi/ic_launcher_settings.png index 32a22ac93bf4211a2ecd18dc47ee933d405c6016..69709a8b4ed59bda85d0fb67489db7ee286f71a7 100644 GIT binary patch literal 5362 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 literal 4052 zcmZvfc{mhY|HcPp&%R{~F-0+BA0qn}%5E&h7&92lFhicu*pj8B9;LDGdqnnRAI83f z>?2F&$q*7k_>Jeie%JfYd#-c7_qopJzR&l%&VMJ~;;zvpWNST`g~{L80Sf@|bDb|5kL=IX+@(zueH|N5(qvj_oCn!~ zs5Nq&wR=2-2u5c1A%n3q3qC)Z^*9@r7yEroM+}T(8bUOF5b*@{u$dRlE$!*g$bGkP5!98az@@HEO zlOtMe?Vz)s=$}(AxX)4Q33F%LBfn!u!qTLw>d2&%%)_P1?75o!TO@IyX7n8UHqta{ z;8)>8?xvp)Bwg;Yry16mvfyw^GpAqdE1iyH#Wc1j!#NN0Qm^QR?e*0ywtQQo;Lx?a zdtsXkIq|ul@Y49YVnqh6-(T!USqbJh_#}A535DM}U7)v4h}n<7w!gRinh=}p^Qnqg zt5$<+_|q-st?9h%E4{};Cn)5n*_N83?8kPuzc!Ipf|MR65kI1<1}Mh3)nfgORIjBu zWl0;SIpI0n!j;Zrx7FG1!W|Elc(cOQV=s?ig=n*}1?FV`uET{}-8q>@N|=C^1e}ni8TZdVsWtLT7^tnitv!!KTv_ zqUkUwn?u(`yBd(P6|hgbrx3P1UY9B@7DLkvxTb4sbT?DYDC7P1@KT1JGv5PAmMuq} zm+p&_7NEt7&`0;8YoD4@B+G+!M`XsB7yp<)={vd@S2c~jEAIZT&b_e1Rr|Ur^A^XB zLu3~Jhl}Y|>o;Y5N1>-MMJBO`fu~+#MRmVz-qK4ge-j$g8w8DQIuNIKXug?Zq;K(9k6ae1@XCk%W71gFhNfT$5VUThT2pWEc*2`C-)6WgKIm<(O8`=yq6XJbqvwOqj9>xrW1gLd4Xq=T_qUUJ z1T(s7xx?U#G=X86huDCk+ght`H z&#m1dQerWGkI}N0`q{`=VK#4P3C$Cp@jtBDstb36K{3lI_xykNBq^ND)|mBN&DhPX zLYBw?qqt)onTP2CH-~d9%zCd%l**OMtT~tA_Tt7Ok0HSapry|1#7Fk=?@CuR-}zAL zv|rK?4g@xv;!hTF&mX`4BT{~20Al?m>GmB>hqa32YtsE(lP^gkbamO}e?%HSG~k46 z-(rU?Vy0)WBn+6d;m!RGDC)|36LFBWa+Y}_1#;zk-wa>L_lgyZBKl>f{GbPKk7qRP zt7=0z6$N-Y3(97~7cL1m{s_qcIo5j?;cvVgQeJKDeSTDr+d^SY+w9fP!EGHs z`$f&1D@T=#b$wkSW^k)cR!$?AXbB{z(nH-k(cbR`Ryp0SX+J%&T8cKhf76oc;x#`o z?Kp+&?#TZ|86|R(qbHX!_tEMqBR6`vxj>iPHRVy8OS_BTDvPTTs-uo*Idn zXKtc&_jQ#?u&t$LNXQ6LU{Ll0Zb#yM%l3O4%C!KT@sg&&QgzcKMoxZO14}UpLWu}w zuQ|~!KBG5{V%fR@u&3kJhO@2>)Vt!nmJMb%%MwbFrji{OjWjP;dz=l;AHK?7o9L|5 zK!;Ax*S*y{(1@CQEW+2rgV1r{gCYCK283w5znOnPY9>d=Q$os}v84~!MYrX;iWt~esvBs@8>&?HnpA+ z%Ir%OBDqJz?rxjX4X<;BW}jZ&|BSAaR=xou3s#?><&c$zkO_^KfHZxX#jvGcSauaJ zSWDYD_W~PX5=~2vkU$l2873TlGA<)3tZ3o24m6%&n>nAURmyfZKFr7oKsm8TpcH@~xs-qeMe{>} z+RW`B(W?3Q)Q6(I#@rEm6`7*MzOd`6M~?Oc{xi{rkk{kvVOgfIXJegp)A1`lZ9mb3 zLvcif^?hi1t+{yZ-DgE;KW6tuZ)6T?6Y_yyx9qFJfX$$=;T=)V4iD6*nRt<*?6-)J zW7=;kE|T*{$v&I60mUx4A%~Edt2-I=QK8WhJ#2XKyQ2belL8m$u`G}+r-!Hl#<2{U zYReo!ojL}$=iFEWcEe&1RYT;|=Mx}5*gD27?uF`D_?fAap{_-(vv$9@AY7MkD$#9L z7vEJPh?aMDhJE{be_{_mbZ~dMQ^1~8o!!%vpMY3+231ybeS)uUof-}r%vF13mY44T zvL3a<;tspa&wGWpnDbg6#x22`W~w%8D9vKi=L30rVSabp1CM=`nK_W5RnyZ)e!&gO zHWEx>{XSh%Z(QNeN#}XtlA4a7LU9TMGNnAU{$Ii^oP&iRcTLn^*$M83=Dp; zV8|1}8fXX-8@p}&4ttBIr)SnK+2N~Vzb(+&u`LdTf<%a%I?g{5O(zP}8JsUjn{lI* zc`LokZXIc}#(h!pX(+w;*o|yk%~8dn!|UM?fQ4*6g?%>j?G~?$2pRmm7aS0vu=MS4 z4)6R?zq+NT>4ez0b`-<1Ixl%Y*m_q0^CV}67svB+7~U#1a~`#^oL@M@A< z^?EdE!g9R#R={S7qO#I>ax;BL8miJSB6~MO?!eO5IR|ojya57rWhPIx+i1#*fEV^tc$y3&@w5Mqx9 z#;=upIZejkI1_0)q@L{3fq`!$cIbJ^Oooxpu#|;@_&WzI0;#mBw83;Yy~+9~AF}g- zBWA_Bg_ar)Hm~v|?YNf@UU2K06S~CYrvAi)oCD)+dmH5`-e+ThVasfIGpREqk;)kthb!lp7+n*fW-sT%SiO3lqpn98NC9+e7;0%>nqa(`#S<&L z{k>W2x26khQC~`|S5`6-tzs*;VC{mlk;op4~IsIla|;Ln820o{oT-O zVJf!Dlh;plDwOPs4`%$<#;v@Mvs|xms5Ry03Q0hx=8d~>X1P?p4DcWEJlpzC1p?j_3JNyzs_I~f zx{{hKn7RSK>`guYl>Rs1i+1-yKKl3W{~1_%BmR*Z2srOx=;ea|fNZe{3>JhzyCE=v zShOD;WRJ#pgG}HE+4JVUvRIg(d$1SW6QqO1A_B2;!BiZGK_EbIw68DP52WMoZvsdA zQLjK?Ww97I$P4b`0}Jwldm=C{)I^|{p9faX%?IJ zje5v^erQECAuu*x=R{sz2`r}qDc6~gq+<4SYz;^FAprkYIWSn>dwqgPMI7hoKN&Ff ZNvKl}tay3ZOqa?4CI)x)D|KC?{twDPiQNDI diff --git a/res/mipmap-xhdpi/ic_launcher_settings.png b/res/mipmap-xhdpi/ic_launcher_settings.png index 9bfdd7849319aa4d9d13a2e3d997cc967cdb8144..c3adce611a15780b1e90049fb001a032caef5f31 100644 GIT binary patch literal 12096 zcmZ`)1+_KNHo!k4nMvqRia*3Bky$x5=a zexH8-{r>pfS9)IZdh|T!bIy5>b7HkL6v;_xNFfL!S5}hK0auHEUoc|u_xCJ65pW^2 zlTnv}pt|Ji=axj^dps{4MHEy$O1BBVVYF7#QHP*FRtO41L(pIFPhlGnC9+Z=ZfFK@0WjPsL|Jj}A zhVCXwOP20ij`u8T++7b6l^EB_9=k}+s?4|Wos*9;weW`b1GvsuN<;SV|i3npO8DsJnHeCNKUQ7q=1uu6@ zZ;=yr$em<8nTm|Yx``e;ALn_EwI*7meooha_DhmICWG6RVqRflNC6oU`!7NvV2jc zQFu+wJMd*`>Cx!eSV_(E9VfqE5?8VP{qnEV@U1`dX?{_}aR` zxI3KS>f87@Gs`RGc=&JMn+^DHlkn&UnG*O&AQUg+!^+R8x6-gWgmqpYVb}v=-T^w} zo3J8Mf;{U2oC9ZiZv^8XC~T0Ij9Aq+^P=+PqRg_958@kum!=UwHwQhmW#Hh2A;>Zz ze7srBzlyr$ZWteN0WO6-E)4z~FANPIXD_{4BIG6@Vv&Y4IUN0?y^EduIj1R|xClhIzGL z5Y#;T=AOkNUs!B$3}q}KK9pR{?t*?vT9+@{Jpwf&pQt=ElI9>v;Il~RS>68xF@D=K z&{ON~y1XA!66Rk(Vv5yfq1;zVowT}zn4;{w+tOv100I(IynzQL!M}eAo#F*=+1+!E zU@!1(|zLx`D z{em_T^bAuk5{-wjM)O5A2dT91kh`D%YHAWvVxhEO9Y|Etrb5urSV7%f76jS=hk&m(AnAPM}hi~`N%vfSkhd$PE5|#*Myeh5f4v9W#vna^768>GBXkX zU(1>rg_4iiG4+cR6V{~@4&3P~h7w}}nEJ{$B-UgRjA7MV-5zuUh?0D9KhGj9C5hk@ z-mJ0;#S-nJnwp#WVm>N&2*VLkJx_?eW!Ry&}mv)Ts zjnJJ&Y(e{8=b0ICm~&{T)Su&HCpL{dUa~$$gmtYR{Rgv0oSB&anw#}u#4mn-{79(J zlS#02wsm!tnEfkQr|>)zf>gJMhY zX+2UlvBS>UFCxbOA}CN>tJ*7x%eDLG~eka)VO zEZqoeOuc~wgVg@K*VuDh56L}=?S22@6?cQUeybm{_x^s#U@P$dz9%jw=37~*VrOe> z;o(8i?j^eWBiDLxfrA)R9|qS^9`&Fjp&P^-Xz|>B!<}a*I_8^Yxip9>f*+g)i!dY` zk4asf3wNHcJ-YHTHqO=NqK++dU>y)SA8`vgFuixaOtQDPySq4e@WJ9$lu-szg)ZsX z*w`&oY-@IQcB|CIgw(|as))CmT}5UBxlsSkrqRNX_!~hlD24IKN!{fqg?}fLYJ%4u zN`X$BVpaEvcOad}vuo*QRaF(7G%|)o8DX6OvJxDzVqpL%(tjD{Wq$Ef-!F7spzt&T zyX8_?P{3MeKz0iSAN06wC8{&*LC1)e#`=JErmF{P2Vx?OVAPG-$>NCSK*QMxj7~+8 z!c+-3$!rqB8DU7e8!sGkPCli8a%_+~Yp7{%YBEZex;*JT{(yUYEYF&Tz;B;$ITUB1x<5ZEX>+ zUcKrpDk@UE2)R-OMS5)@%Zp`_i2((}4~OJRv|)t!a#Zr4J?KD7nf~$P$MQfTt*}+X z1;{bvt09ZQa$nWTzJy@Oo2@1{cn3f{UYC{M zNPU7+M5IiUN**B4589=ZfqM*+!6)uPK|y@!Divrrsk&8S8JV>GX(;+<#W&r6W%b!g+f$ZTH*$ul1{WrMU^Wwz|Hpz=k%}`F7#4^uTlhJyv zhHPr24K#KDkXuG?>a`_e2b_hbQ;x3}XL>QhdRxi4WQc-^aP%1sX(S`v4FOZEAvoSN zogYnKM~jt(aw9<~J32aQeYT#0dP}!!Gu1i{a_lHnU`P$xjTv0!<>$vQ)wvcddGFg> z7cKECcRIznxw)RL!|%`duWfp_F|&*cHU_ZWS;%t8**IIey1WYcyIEeiySJy$#>N&8 zV;Xm-Z>QK7O(HX~BGV=dYzGy@}hnVM)`PllYp#a{jY*LeJ;VWC;lgP$?CF(f;$+8joovI=1e_ z2~Q%t1U^;_e-8NkJsFg`^pJrM$ZLPzYOBT)2SDmN6cLQe_DIg8gar0>-yNEhZ9A#6 zbT!sn@7a2858fCxx2yNQ6^jdC6N~igJji!H7!iJf-Kx4D_>z$|Me~Pw5C8NvcKR=XmsC7#?g`Q!N%8;ni|0AOLaJ2t%^Jiax=A6 zPG#XGBWP}J4qDxBIoT*l4$0G*&Bd(2P%&P)1q$IW&rBMu6ZoF--<5{-{KHsq6nZ>% zRYOc@X>dfKFd|WS!)u=Dw2pQX;j1E`o|X?z8L3Fai`ms1!*BuL>a0mX$87Q6XLhF} zkr;b1SNC6k*Vh)OL7UZhBAGDLcHafigrf?Rl9LNbqx-BR3$d?l`Ku?O0-T4rc_EUY zpE-2bt1t++;J0+q9~ntBr14&_l(_oAMdLD=L?%Xt7lD3$cBJ=akv>?I(u9lJ5@5){ z;Gm_iFZKAQcjQT3FA9p%97)6>(#gvPYb zg|9=o+03+|axkVI3oTa{m&2~#!w;iDxf}9i3cyi%Mq2$)J8Sgu*+r)sYl+1E$6KM1 z@Y#Z)XEE(8wc0BFqQ&h~VufR}s;bww7uuUqRLwc}(b9T)h<0g=;VmG-M8f_$$3 zs@6%13o_zNx3ILt15h5eDguhmN6i;8IXz7bxS<6?Vanhsvwh=@i03!%qd`1fR9Gl+ zqXmz}zb-Cn=;<}iGf?OsNPl>K=Ih|^ZxHwY6dFr7d??GG&LKa}OX? zN+}8P@xC?KY4%Z4qTy!j8e0Aa0pjpCCDk$`>b8{#Z(n;D#8R=giF81*1xNJQm#P` z*iwTUt1O+k?pGkxvWwa6U0su0X6hgCi;D*}ylU@?nwx@G%-)2$ljy}cJDYP));#ZO zA%~An0kA5 zs)&CqS&ASGA2QIUV(Y)iAcmt}8*njq0UbIrBEy-k<6p2e1e~lX-2P@p=|R zAFl;aEr9N5-+BDA?S|c0L8Mh3teBlA*U0zQvC(IH@9iwAq*cZgB?tv$PEpEd_3tnP z`hq{(#CLxwQMTkNpui5sB*xDl@yMiw_i{bgO;VF%3SnJlT5j~11StA4hvj{LG*B1u z*4EY@1-K=OSh)}3(qXfyXd1pEiijpcX(y+L&NKC;8YO||ub$#49f zcHpTIF6SB%6vhYxIs#NG5HCKg+;Et5g>L1KlALP__gDH50y1y|q1^tOu1m4M`^ll_ z-@^$=E}v5Mzp1ROtlpyjwrjt`LIz{9HKZmd#1H1r{@}U&txlL5V?+xhoPOWb#4nyD zohV|a8Z15mGj4XRV(Fd7-n@AefZl&fA@?Ju`Kz?U8Y#)`2@%#xtgqm)a?%-VZ9X=D zegHlJW5PIgo-xS4*-NPu6cm2-ydc3{T`XN)IA!vf2I^$2wb&REsZ>P4E59{GrSPI+ zezv)SD6a4O*8>?RE+j0hD8Vq+G(G*)EW@U49@PqJ80PKc(~~3URQXZ?*3;XIpOBoa zPwA2vWBPDrv?GF%SDT7s?BMfh%kT65zIx>-bC*(iw$gd~`C;X^j*OJ#pU|w8aH4;R z3>-+Pvc5V29rX{e7^Fhh()Ahm)DO_ut&z>Pf(Pg{3e@dQw_yl+4P$adL@9F!UW9ZB zf{*|D=WIUomv!K7WVnl{?cgEbp#jPcu7-o$(^KwRrO1CA)KrwKuj(zlBCid^fJ}uh z3ZyO2NqK6l9z2LG}BO|Fe053fnGkBG>?IQ z*Vk*jN)q2axpxd`t?68oi`TH~PYGfa?9bt051>a|#8RT7*8oBCN$|LJZ@Eg|M;x*S z4`}+qpMuBi10uQKs-)F~N1db8tVTahp`>GLx@xWkG^zk#kuk#X8@S#w)9vaBHNO;D zBp>vs_1iNusC-s4aD0Axz$+-IS6apMfsrA(FZLGOpZkhQ62cM^=kM6#8j9I7R7!O+ z_{#9Zh*Ucqd~OYRMjC!T(z}cL4|IKQ!wjFUB{zD&n^t0DV~c`-fbQx#TiCmS?z3E< zCLCOgS18dV@OTqyYg<-4PVV{B=LIkZ3M8M?{A=>Xg7-vFU|^s>O3B8P6)g?APoooddd1t58S22)qN@n2F;Fe915=1ET`ug?jCqPm?KK=Q&=CY9s0~`!HfbDT`9YUy2{=BSq zd|Yk-asOxu*n1F!a&mIA+L>*9zmBpfKzA!AphW(2~DYs z{MOc1Hh><01*%o(a^i>Ctp1S8ql1(r3m*|egU5SIg+Br=_au+%lF891CP%}k`K&F; z^xR726YxZZx9_`^pL`x0)BpT3|2P_07i16%ct6Q(wK6zL%=(>UvFVNKW|2%hC{~V{ z6{2$eus={+%+6rU&&e9I+A`c5M+*Q>jrB=-wzC`zok6qBW8Rr?gHGhv`2765U+;>$ zQ0~Zpx2dMUz;FT|J){Ql-nAySR`x6*Q1VgpWrCJ)0;~H%(;; z7jKp0AW}~4-a4EnX9f_=Nt?6w#2KGYPj7$d6`PmcXkNhV-mzW%j58^dZhfrAa+UJP zMI9WKV~Mz%;K2Zme)#+IEy?$N5sQTEGy28~qG&!q7RaBF)^q8v>~K{@p^AK=m#U?d zw+SufTkFiD@nA)zl04Az-0W=I&d_^i(=;8xdsa|^6}pb>r{t{iG|7XO?(V+?p%yfp z6JL5LquSO-$a&Kvff=0udc-aHI`7{$5}iv1Wy%B!N#>n~EHwymjlA@&ppERm|E^e}PVdtnZ&F!ip>fbu7l=)=gXs@AR#> z6GAT;VdS?myOfDVMCk}2I>1tIP2APpp?ND115}5P>CSVW;#$D}`>nLsMMf*?O!hxH zqn@Z#5J4|hN z5}n?=ujbh$gm=7Ej%JUGSTON3eX$zAa3@|K&F2azHEqY+nJbKqA1!>TXsBk=@xZB( zT~w$mMYrn5qOH?4G<^Q+SG>65?bm5d`~z|Z<1J2-*iPc04zm<^ugl_xfcB-m%xx+n z$3MFYgV^4g$02sH9z^|Lx+sW6Mo2zKm0icW%Hh3s>}gLyiVmXT?`=nDs1p^iDyi=? z`Jx^ur{1;JNY)qV1={66;t^H6yeMTXT3lRQ>dVv=Q7X$+soH#tY4T2W5B*GnjjKe6 z6B#2KXfZPA9UuXo62#4{;1GYA$!q_t9Cp-gW!Br-*>V2YpE1ALjE#%}y-kn*0&;H+ z+_D=}{JjppWnufkz6qH?wjOsLcXZL-h<0n;AE3Q!{f-mvg^QlgN#LvYETVs%hH~j+ zgn$>AVTs^`7|#N*g4fOcaw`*I1du?!2AlfCJGC|q-v(VyJn0Uk2qtkC4>?XffB-Q* z-d#`y5G8yX+!;N-`N!NoX8wYiyP3IDFMmF*}wNc{mLP zS<-5&q?9=zppSKRb%v(c@R_x^QJ+$silRq5$7fr?4#G0?IQ0qioNGI|+gwwkO6s3> zzXcy`Ns-onz{gPlesj3H$o5>bTcIZ|-;eX3B|L^yze<0o9}JMO0JwV%UCn^>xdn7A z{vwh5g~tlRub*Jk+pFZ}2hZ5iu0p>Xi7Mh}CDEKfGJ&{2uc=5Q{Y|lNrY4x8S@0HUHE<9g)e(VCEr~&{g9gv}MBcr1kmK;KG(WLA1p;s5V zQs*l-mu^B`cjEie?YnL9het=ub`71j6t%_z5j_^B^2FV#*LO4=4kX5a1DCDFdK1cU z$N}cSVVcT=2zb4bv9Y00uBk6Qp2g{JZ;OQR!Bv@@GSNhz;V)m{cgTpvfe{v~>F4Kn zl{qw|+}hERKO@NtTv??0w??NsfRjy?=8hFSz78B)ax6X_d8N%PFgEhUeByLew2?IO zE-o(0%BiEjBi_L8aS7;CVg%#70Xr37=>~p&!oa^rN=n`U!r!vrm|GUcYzFZn3hlr8wlw114!>icPPpv z9UajE)>U52Zlb72V%in*m{OiXT|?t(}fEsN|XX|W@Pfi3p{Q@?Q-m|a;pna^RsN5Gg((CAITB4($q}80;~!pLbnUN z;LNMr`thsp#vG_%wI#h8u7_4R9+7A+}?1 zC%jJ?D;*jdYDzG$z0Czgr+zkTbU3Y$votU`m?g%d1=Y_q!I>@sYEWcVrv%bRRDB}G zbf?D=*BM0y<{=I_U>Z@laeS5zgtPL}-|1$_latlttJOB2t;J|Ks;#y}&x51<0gHXt-cGyO z7UG1YS+Fsj{so4c<9o-~%N&f-bbyD&8Bi8Q_R{7q?|@Q2`Vq{sR2=l=(LqJx49WV#SB`rw#NahpUxn*({xfp< zv&sJ1id@t$9_m+jpPYz%%RT3AU;o0M4<{pjOA4bish{D>lM3y0boCU!kyM+Gv6%$0 z1LFJ|R>V*^cH9HXllSdNfBRX)f}ES}o>Pe{PJ|}07o_Z#b7+xP z*hIOezWVpwy0*fV;F?O#tg_g)wl)JhJ2n)oqd|-PgU9LbwNo&Dt8~bTGCD^}dWAJlQF|vRf*P!Gc^gAAiB1KT z$QTT!dwilXPP+;58(C|&qXIhsz7mtY$ z2vZ=*ruaT@9Y(My1Ag<`SMiTR^>F$|rtP~WsGuJGusi_&+eS-FPH~bUHstc(|oX3G5n1GTRqnvV5N`q^YgoI zkr7`=jOjauR15wx3Z2{cCym61p!dzqSozLTD?k2hXPVpCj!eEVVzUWPGI!VySgMU- zEtu;>MOs%@_C5;PkLN5h;0biiFlt^f76UV+@6GX2ES0?FruVF;v({|_wFx=U z6AE-H-VD{#ft`kLrR*xV2^>>g@0ba7_Oa80mz$4zJOlvz9@R!vrt~M z^LiuZ(4dKY;J*{JKcbY;t%qCKu7_}#$n~2(Xk+Ep76D7+ z45EL8d31C%>bX&m1stTT^aK)!qT8XJh735PkM1-*`P%&CFq~zYzwy9-uJ7#1a4WA0hel{G}G*FxwBA^E*za_ zV`wvAFqLZ3a0v~XjXMjyb)9e7Cs=WBaY+8<`Cz?q$%~F8r>y7CA0*+69+d`@s`o%k z{cF(wP@cI1jzuF z2aJ55yj;_vX|%?PB+V}Hl`jP!j0~QKgqG=YuE9}d#((i>YDjno5FD8pM^)8$u!Iuw z2Wa_6z#Z=z+d8CdCoEyY=F(%Cd0_Yk8AOW73{`4Tjg*^oV8k7xP-2n83M^0+QWVzb ziw}KX6~DYTpglM@qrfIu$*yCT(F zMCg}a*=Yxb1K{$o?0zf0o6!IIZ8m^GG`lW!KDO|xO+9m4C;#TVv}x9prekaP)P}*s zDnh_+R2ul&^y0qKB6P09Fc~-_W$ffso{*<$u5yid!Cl}#gYh*GVvfB&teQcG$=WJ+ zncld*NVTnI8#`d3j`slCQ#5PDHk5*lxY2|M$3-{A_u3(#ZKtnZiKQ2JaQcBg?h<_R zB@1i5Q?#~EFRVwcig3d41;_|AH8hHWDVts9@Eurf(f@t&;r`(%+TyuJYM=9T=H(E* z$0NmMBXXx7DXq8|11{o!W@18Oq8?(aQ-exAN27fIQRu1a!&gJgTI}ct%Eh$_Y#TJ< z4P4i|PSIyzN#T8z;0<4JcTLFX3s!y)Z-p+qI2rhMV z1~dSah*Ij0XLeh&>5e3wbUpc=eH9fPB3|ocWaQ-Gm6gC~{khIsfZGJg_|NKF5B>Gx zoKJIjPbf}1?_=}&Oi6&WtYT5v`ewC`m8d}M&Vun3rM%t?zT_fO300l%F zW%*yFW3_qLC17v5Q)Gh&5;CwNXQBA$=;*J2Q&NXq9u!_J$wuFJOda1}a7W(5HYDWo z&*bE!Uh<&V6C}+cFgUH+o6?6CPRZ-QG~{2HKdySXQ%~f(3_HfoZOC#&dbW~*vIW6e z2JR3qAjQCXs$a^>b@2U4-3|sZA)BR{i~lw{`VgyLYn}n__VydUz${orZ^|seLt2}v z+^wxr>V~yid_VKQ*75CM|E|H*=S?EH2?Sm3@{dg7|Jpmey1_w3D&H{Ue8wiZA6wIP zb+H%PJcet4qq5);010!zstK^C_q}kV9RSLL5KPFvgW#Ff{f$zc*iZG_V1c9_yVY^J z7_|3%W7^owbZKg;pLbw%KFpELX#)9HXr;k#316Ek92Wp0x4lFQ_3?80hzq4c3+RC@W*!|Cb!nKfmgbNnpR~%3`ecoWiq>iK1=`kcXR+g~ z&$!8XbNlB{t73Nk_HWm%6J}-_?7k+4{3+>57+fV`QC6XiO0mXn+%ZtTAnZkWNsOJ5 z^~C^IX?%G;c6DCZ>^wthU|?VY)@91T0*M_M$(%Lx_xG>Din7?_au(h^ElU$Keh)LN z5mw?jbjoS+1+wg%*}Y zl735!fsxI>wGSFPIy!NW?;oF3=>7zT7U0MHX!z}nHu(T~Z7Ng@(2d!A(_J>0jCQ~( zPE&w=EDr|WS!1~SfF+zCfVF|~El_G&jBus(gMe~l+nK=r+s82!D4>~o0e9zC*6Gyc zbdm7h`119Rng2>5NSMyI4zmvO+NlwY&ji&mG*Q~mRI9S7AvpS_4QRz4c@N^O0vsKG z{s9;_`d=lD9PBWl!)$bQA6N@i+r{NZEMUki1LrgzZ^07IFHO0sZt{YSlimY~`h0@m z^OODlJLbXr6|dMdFJD+9+*DH2xHB>F33ZeordDn4Mp?p9NO^58v{s0v<;wi&0WR6J zBd}2pW=H^Ce*OA2vhe%|Tj+?#e1b!cA@rqM{yg0=OaMyaW3@_nK{ptH$7r8ZmIUVq zy1^#LRvYV+&bRJe%llu!DTR>^5d+hY{j&=hQ|xV1>Pg`0dDNx>$Iey`gi!!W_nY_J2mZW z>gB)h_UVMz{>L7-gjBDo-eQ0@IzZoY6IMU?zP!AAO*xgct@_R~P1BXWCG@(K8$;N& zw8w;Y2Sas0d}*RqkY%kDZbzQwMH+BInIj-=bt+h%sK^$xyDor+5G3p}``!(>%uYhi z-?a2!?Xg~Zdc+V!FiL}E12EH}0Yi11f}-M05UN8$l)VugUC#)6(7rk5!0`aHyc6t? zehFZSY62OcKH;rRMZxru8BGO8X|$aR4?;m-XNqvC20_{+1{$m$w#9?9l)?Z%x zSpn|(X|P!a3kN{fF_-3rqi!~-(;;!-29);I8QOT=xAeHQN?2L$c`@JzjP^(O(Mbf| z5sa`(F3g%$odGLa#P)Y!jx-$;;FTW{!JV|uU4Df+p+ zvmmcIY4zRv|GK1ni8j$dNy17uLYLs7oa@*a^sF(BLXM zHJ9GcJH9z(*MNyc0g)E7)3{%(uQ!vv4aaMg#tYkQtDes2M2?5e9td8)`piqlo{2Gp z+=G8_3Ek>aH_#)i?F%A>EJ!>OxG&lqrvx!os*?o`f{Y|kn`y-d$C#V7!wBftw5Ig! z_-Uu~N_iA-GgY^CD5`0=Td z=>x&rI6NU<=yjRHPmS_3pO$<*9DC{O%F2JE?xR-oe%w`6ucLqrBoxkt8HX_q9A+{4 zEq)s9X4cd58885grC-un1}{r2!OE)j=WQ38|0*kO2C}CAlg3Ee3U;;WHm9>P5$fuV z5J)R%Q|Yi%Au4A&&Ud2p`oX-DlRExgL&GaDsfxs8KDvjoZMY{$_F{HnCf#W#kBWDo zGUVpKSHhmxoE$ne0>)+|g2Zxz^yog=mmxNh!X{)@5EA|eMD5y#s_eH-1 z4#>kU%P=@41&SYnjAvyqwOv4Z@EZ)f@}yzbuD4YW!chTD?=jPrzau~t^Aa8oAcA-Y z;%p2lxh@zaNDeh#h}-QEld2B!6L9aC7}&b)%(YhjTX(i_c=%j}gIYf24xx-if=AO( z#ViYThs~=j7h^bART-YqEJIdSnFHWIOz4fu2B}(=yIL|paYf(HS!s1vq2qR$|M>L& z3jIl_lOIlTuBNI1Y*0V&mN)QzX6bDsX6FE=kzmk%lS?++h0udo;| kuL8Cx=l|T`;`YqJHsJriK{)O%E4Tqtme-K0Mp;Ds4@4BwBLDyZ literal 11748 zcmZvCWlSYJv@HzogS-3SaBz2bcXxMp7~C1$-TlDegUjIV?(Pof&3A8J-k;aBT}{_o z-ARA6$xqyM*j_1=zsHGh9}oQfHskp6#Iw&+N)@1;6H$K zlG1hs1H(r9Z-86o&;9e!eM*Z7t9h+m=6W|!F6(a#_RjmKw@vsqPg~*FwqnU@Z4q`E z5yTQUhmsBs{u(6B7*zZ5i_GIr@e58IRvHyn7E6Ug9XvKyN%{|mM=Y#YN*w2EGJ|)E z*4%`Z1%SB@Io3Z6=>)N1i$b9wXmfxGwdT~|TSc+v-XFuk( zE+HVw#i+quo*V5A{s-T&Xx?d&M}UWd{%!TD=icP&^&LITI~5VI->l*R%O{q}@iyt& z9}{f(3)trLhVr$()xv!ff_>*t+?%k?MWF}U6r2!z`$V~+&VTtKhmTeMQzf{6+wM6p z$YaT-ZV+;RuL93{K- z=+$LWAA}81jG!zF!Oh@t?}WbR#)M_ydv`M;*H`qik|H%9$X;;lE(%}E|LgLC*SQO) zE+lrhgBFA8J$Y)XhR!Nkf87<_6=1|9a?;hv!&&`yZ1bKLA2KP}J3=vJ+jI5{xA6CS zY&bPk6=jB9e<=)6BlY(C^}`N=VV}Gu@$PMP{xo&KSuI#9Sm+`ISj~nT0*rwZXG;0> z=n^Lp8|Q|5S354V=u3Q|uTUQwv9a*<(H0#clKmyz+V>U`zp2;nsWdccV^fzyD^B^V z`yDe&Vw?L!kIzWKg5NlTT|%Y+K^U4?o5x^(u52IoJby}-v|WQO zE}0vAB3xVEzJ;!w7HNa}sSjL1Z<~`SfwvC{&*?Bst-#tePv&lK#qR!+{9juFBc^%U zj;Nj}zM$Bz1Kgvkn;L&9Q)5?fI??%Rk8EmzmrJJC!{?sk-h=>uwM^H1ke2JbXHPUQ zN4Tuu2VrCe8j#&FQ08@G8pPHP!VW|(_$Xw``^pSA9obe#M!2A=;h3TOcq`feIGW-( z9&9c-bJaS?U!MgkPrFTb9cpPc8zBp^sSjf_eO&Q_Zmzrb2Lc}oWgP>L1=&G+nt@Ya zgYwhId#2Qc5Ds5o#D_!IJ_#2Neyer@9X)<~i%c)!U$^^?OtkAXu%r-F9 z47k*M`0RaF9`D<&*1}zSh{r5zXSOcmO$QXm3&e%dZ%ZOSA@~fqGBR zXRFEE^(9E|4{Q9hC*X;gsRI<@;eB9kGd}+Hb#zD^1>uF$J1$LOBo(>!xrEbRQ zPdLG;p_=A-4^RKDbNp6%+?Odhf4gC~ttSRup&pA`wvJu~d-z2<2|G{IsuVA9m)+|y zZup`;%_my9q(Z1A=5y1>*_GP4{djJoj4JMlZ)S#I17E{3b|pxc@JJtdXW96CADJiE z#{2ZE>jng6l3`l~iBb4H!vsgySWVRaS0$$Dc}Ii0I$)0six*clM1*p6UtBCVuDTo( z|Cq_ih}GCBV4>`6qU2avtj?$mfIHbPc6#Q~VCwoUfzCf~Hx|S%DLYI;>Xk9@+cF^t zFihHQEw7A!aDpaoEpkBtRwmc{1H7t3fvckuyaKqplL_NRzP_R^+z=U=PXn1o=|eFb ziE%43td+OBPq62C-I*NO7Kqa2?kS*Z)dqvUUIMi~bEKCQaipg*6C7mkb+YAK*>fmQ zPpBmfYy>+Cg}1jE0jssm8fPo;FpjaOw3FB7lqoa@wAeRvo{1na ztJ^cGkORc;*67g}zPL%rU{uh9PzHTw(zalIUWSWHYju|z`JJ<33puoBu*6fxYZy3X zt6EjT;Eb(x)hzg?TtC7=Jz7FA0tX!8r#MF0X77NMkR}>!J-sp({|N$U$bN~vXzFSy z6A>*x55`-POo&81qqq z5_ zJ1teJMdObbU0I<&kuBt}etOARka45z#y?k-MFDZ;XFZM#kw&#cKeQ4!v(|7yKXi4u z>7?zY5rQT1Y+3UDgh6@lmA{vu!bE2INdGa~sQ_5krYCX5-CE#3Y@(s!&QB z55uBbqtc*JQD@j#kk!RL0d#ihDB}0}H(^4Jx|hU_#~c>yB!XYKZEU95Ka0qkvywN@ zG00drGe(3$or+C`ded{=A!1lCKEHB?tj$Ey8`zSG(pHl1!>z zyf?`OZPjzz5wjAH#X9EJ9+64_Vv>K@_AHTC@!y%_eSqj7$Gomo5{!BKtO9IYxxv&~ zS}1Wj5DGQ>3*+GTMUAeouzcf_l6HeEAb*(~1@pd+L@M2Da4INa89xSxfR$CGwE*{F z-XcUdqtu__nRu7hzU0Wdtd)J5u?m7F`!wTF)8CNHQeS>Shng$8s;VSbtpQya!DZ1w zR!N9^4eJw7X!rXdl#Th?2eFB9OO06#fLF? zYsYmv(Dt`2qmQZ#?^a)p0b!JJwolj^{E4Ij8gvQ6W;+Rx6>3jSP)i?`3F%%=LS)(Z z7uveYg19(yy-+O!+p#h%7TzuHX5Dr+`DZ3p3!I{!APtA5R-Q?eN}{#?F%8SlEvF=( z$?^h4RTSK;@1Ex z6ia1iJ!z27ZM)~F{5S$wlPIW4#9!Ss@YARacZ@1%eKQQ|@fR!+!Tt<>Knm~ZR%PPK zPs5H8)D6N>QbEc`nVo%~-%Q6ZGn?yoL``x-3uNGcroTF_+%s}fRXjz)(h_h>?dxY% zXE*o#BrBejO${%+Kp{U;q@vBQp0WbBW@n(@cvL*|FRl`o16QcnAC*tRQu(%^J`Tn1 zzF%T4an*vU1*N*Pz$?}s49C4chssV~ZeroVYMQFBEPsCiww#-qrsH8CNJAL2>q93$M0lEI>T`Cg0neLqcL zZOsGVF-Vj(^>}3Oo z4*=dGE$cl@%*AnuIUInbI+JX8CAJ%?Esj*-9g1|3M+b)VFu5Bt8#pAkB7v$&BPw6Q z=Fy?g(HS^ny~5h>u1;aoy|5x|xlZTj0YT>pghxsBfx!_d-9fG}^~POL-K6_4)8y0D$H)1dkz{Y}673Av8PB@9L} zFqCQQW>as2q0x5TNRP;H!O8g)Do493I6W6+icH-8vw8cs&^AZnYYWGq9rYHE*))K~ zN^FF9$2S|Jrk7=!55F9K401IwWKj>Te_;J|mB8mv1w9#EghQ#t@-nb)Xr@ED;_NN0t|mNyJZK}En5KyG_}{4&vaz4M_Hy1H6|F|cz-i?uXuWGAY9*|7TXvXSIy z+TciRK3iN@R>4v62x@VLY;+*H%5sOo1!*?{B{$GAk_t(Wi~UUMY#pVx#AZqE$=2Z<%VO!;kh{C3AFmtyfP|YBk?50sw$!m+--RWkHM;s|)_E$busWmjN z=jOav9aZVM`j)74H^HvQ3tub@C{EfJ%U9(R7dOW!Lgy~i3DM!&SZO>OqREt z+3*ugv1^am$gID#^nArp<7IrgN2Z>pt7Tnkbm^Mo!_G=BKh(1)@Az?w+#}Y6b#m<@04inNR6r7YBTWUG_;hXwG-}G3Y?#f0WdD$A2sRf~K+tHjm zLbD9l-;$HW=Kcg)8nKn02j&i+*wP`)aY>?`KM&SsAmg(RW1iXyv(dW~`oHIj4IVcZ zR5rLM&#sMUp_ins(gIBP{tRKoY2#@%1izzPI;4TkDTnC*f5Q;kMXROIe0v>4rP4N^ zFrSg~oUAJ4MTzhpnM%g+9f+uv49qH!FbGitA6aqA^*jkpwR5R4gYxXV_R)8@v^U)Q zkm%O&h*f`y2948tI1QQTyh2SZ#5bt2?PBJ=7}BX6%q?iO#jw6{WrJsO!SGamlRG~u z%4B{e1`U}sx9qob@?_F0Xy*_lm+bwx_{d*2wrP$5sQWS5U@F%RS0Y`$L@L+dJn?_AC?Mv$Ot}r4wTSELa`?A~r3g$-6GJiY0IH2xGaGuEW&I!9Sl4oy zX*IaIeAowORY#4WRB_C@P_P3VkRwean3T98(Ug}&i^_9T_v*y z^j^lU_a~00&I#b#bWmZwipzP_8^s#)Wj1L2xmknJ=6(7020gX;X{raBfx(GqG^r`& zb_#LbzSEF^&p>m%rNAcsgin9x{}~ECyaV7|`jrA!GFMFAKnovBt0F^YW63P6O~qx$ zI67mijTHqxV9MF#dfL^=uGZp$gNNv)#59&NL#x4DX69VE&B0Fy3kYq7i;>eRtmY;g zW*>+)V!nDMyrdaVo&+M$Z-Pj%3wnj_67a%?lOJnaGo&+Apmht#7Phjl93vHp#$SX2ScpD4&azD6drB*DOjKG&HDegL-CCvP&ie}4HXr(^LbH6&K6PL4TixyQib!1sUyvNGgw0PjE99m# zdIeZW$$RR4s(^2;`e?4&%>Q`{8bzgM5gGiwk;o#ose~7*tyQEv1i)GcXs!Rgus(8v zh*YxGS99!G3XE?7{_#hPON}4(r_{2wE@OmKyZi<`524YW9?ih#=}7*0fcv+`U@`e& z^z_NiHU7vZS2Jgi$3Ew`&R@5VeH`TuEL>fA@Y3D}G3_V4q6xNT%47IgfEKFdUwrWe zlLa0za@u^INN0-)+4@B}7V;Ye^$zds*!5AyucBxfEMW*6{}F-$B!DXN2Set zpC{?RKL*nqA5*uSR$&4h9EQ2>DTc|;)@bAK7P!{qwb}yLajw>T zGP>nF=aH2N`1RbJ8{y$p)U(!zOUAxgm*cJ`4<%)LNLiA2aU^N%3sL6j;k9e)3e4%T^z@_)z3AdhSMV*EM z5zlDF9g{vsu8IOS6Lmczpx9Za!6o82 z24Z7pVSJO%cW?PKPz87iw$*DDAwbt64Zttb=CZ9FuKS-GI~_%e zqa}@{$Pz*bXJb^=%iEL5n@5E}T9oaN;tPlCg7tNpaLYm$=fj~IhRr{d34xKNzjRmh zxP_bj@uHyy5kgrQtLuivs-mTxrK?Xu#TQwq7w$K#(N$6BNUeO}M0&pXpl@!lkcNO6 zKkIC9k`6<}-ol1SR59Y4v`a8_E=-t|60K$@S`kdBnQJ%qnlMDSPDvu`+p-5?G2sj9 z=+a>P^N8fVZn8L)^?mTjp^MX8j`>2s(mSnPW-|%_Fcf-!EZKhK$yWWcqC+gW!&Fxp@ z9c|3rQ#6Ds ze^g}QU|9cUoOabZ+eetR^T3%|uB;tO6HQCdpZ*#ZD%!Ok@zFAFuvGBgvSsJ}L-C}$yep1V9nmOGhhNfEz$cy$Z$%3d_@fusb80H`E zbA0xkp+5uY&ZQKDq$^WW+em9uAc12Oksdi!OR8sm;B}p!lNY^CsJRzG7+bMJsTDC0 zYJI6w2->`hWozJx(1c9+1-On8tr*YS-%ZYVa;C|WPs~)#y#>52H7?AsbFYe2Uff}n zZLoDpVs6I;hTKx%LkWII3(rateL;TO~eP2>!C90iA)WlU!>sxGd zeOcq2N#S!(OzNFio_&+c6FC_?sy)+%9l&oPaIrFno8oMKwwY@H3;i^Yh!CFqGkUVe zy+_0{VsFfn9=X)J1HmVaUUQ4c0$6hKy0`7x&EoZMOTU!rq#8ucH9U%yg&-gJMA151 zV`-cD8Bjm?;1gt08-wl>&g5Cenzxjrh3m3>Uss%`VP~%>RIMe~*27*xgRr1;HcVDF zXhleB%2|s2z-KPzYTqa|Yx>@As#irdg|>3R6Kp_QlpsVEt*eS^nw}B;U42PfgZ!|g zd(C4<)2-|)Smmjb2m~;EuYH$FMR6AKl4^RLg7~@2g3AoWvuf<~;!$NgHA91lvL)u| z{7a-fbpQ&Z@4~>s?^3oB8)d*OqA1hlsmIsr?JsfZ#iQQM%3ZoPj}Rext{TTBUc_>$ zUZ`H5VH3P|hlcJkN(z%Sl^pqG)39;1)qYS#ZNV*4(G=vXnO;(6u^g^Wc!ZGxz~u9f zkX4D1y=^MiOcONjuIm^Ir3C8PY1rN>=*DaVX)2lAQ$J(_DfHxASD%)W4 z5c`AXaf)irP;7c*`shvEN0u&C{_sOgNE^9Ie2>?_t6wXnM38P#MlTUGYnBKE4z)`4 zkU8_-lhO*QLfO-|=Aq#f^zhO>LTR5IQ_-a7#a7c!CfZN@C0i@H$xNu|1qVq{NR7tY zZgiYc8$RJU8kp_wf`$$-1*10gO+R<+d2z%~sq6ZSHxepMhX1 z%*>aYZ_bCcY`D%4b8zx~0>${d`bzP77?joD55~aej=LlQXuYNgcc64@KXaWYzKuIy zmi{1Icqv^0c5}35cX8m87MG01j~c4vis3q&N2w~>h?C`OW9!}TolGC7S*IEH>K;Fr zg^_$tX(ybByK`k10$*a}mZw?t4Ei`2f1yURU#c1FmRqh(HxsA>Dur!7vSK6uR%8)O z9?Ojm$FfOnjGYr?&6dTsiVRkYEB_3d=fp54?KqZejr)7c&Q}ig7>Sk^#-iS}L7_6m z=fRDjrqX{Lm>n*=UC?p=ZlzIwTfeIktKoE)knwf;o}uTLZ1NkUbBQ$q+h5JCYOPE) zPbV?M9{F2gBQGCwg|NN^W{OD$jkETcI$N1Xp7_(m&FW%UHQc0?tY+`y;@!*YyeiPc z26Oz2#I}1T!z3PGK-7navAq^axt}6^=mR!7)0;>=7U#@G%KvUZV?;o<5v1dGOQNHx zmaeF(9}u1OZQd~QCo>7r@my#^vKhN86$R8p3kf>wG_5IouL6E>6z~j4ullKkeXbQl zFe>@?d%#L8c-e)jy@APY*?I-hi&kk>o&PMh@ExMznnBi~B!%{SSSdPmoG(n1bUBhY zUT->^1Q;%3=O(YBpp2^EL6%c#*j7<>sI?cHZFYGxzhpZYbar}XSuB@Et?Lf_q8H3M zU`(=7C6(VN6biHk!OP}Dhqm-EShoaK=+<7)M<%b@_}d9=d@fTcysRV=ovV6e9Z@sE<@|hW{1*SJ;NnpqOmkVTT(y;B ziR*Jw(dD#HuxvS0O(f+C;5Vm2z%BCqo02@sXZRo(5KC7xSBqBJ zeP5;U>nvl<~sEd1oOScSI7p#4aUNOJ3t9hR03%J%(H223?X1 zk4DWzIznMRvEX0BpfVh-fwaOzqF(ker|Zrk%po#?tUuGF~vXH zfw-dIlV#zBNX3h|G|jx>pYa*tX!JZNi^Kn=9o>g!X2DWctgi2~K`LWk^Y=BOZ5h|V zliF$qjH&P!L(viSb?!UZ-kwgTl5|TBi}0$*e1CII#r8ou8&9fRhtBs6Q5pLPupgqt zj0R+GbKy^aW}=hV4f_fJk+fD4*%zH(;x&1{Q^x*fk@i0Za(WNrYM8c!*ee_4;~3df zB@M>zj`j)s?}#)sP@3o0BNoUhmY~<{`IoZ)l5s-0Q-KfWOTlr2+i@oO>p(bK2uE~=?*p}Q(BK6>tBp@cmuEVy$EE*VPxIfD0;Yd zM;19hIng1)ylcf!R=;SO$2P-^m1fa%QhI$~V2#Ng#ica-&MW@m8*_hkx*CV44daHD z7(RwitQ7@BetqFo1bWn24o+2Tvv9@YCI4^~rlW*b9ljQ1OFc~7nj`g4+#H$b44}s5 zq+8*VWziB*+>~te{^@cEJ70bEa}1exD5$*t(<4oh|Id{95Qg`*l0|eEZkv2)$CloO zn;id^J)4kPqd4xS7c9>W_oWs}UJ3*n%ZwU8Rx*>QW3qRPMJk_)HyH?|ericrVNZt= zt7?vQL?L0zqIw0Ay!Is>D-2^qVk~@`|6ns}(=+nF<#{+|%Wx6;i~_~-IWr+3Ks+&_ zB*i>C@7DFk71<#su)^?+QZR&2ts&z8FZ%4(fO;~^Cye2hv_}B6J;k#Y=i>YE{7(*7%Af{#7 z35KMmo&GM<(kk`7G0mVB5N~goFmfL44~9tP-Tou+2sgF)vI$rWn>|CqIQ+AW+r_4~ zOf(PQ1sEVGvF}rWfNu*nTDg{FT0UR~B%D!*iYn7=qRR!2JsN1BgM3yt*rw4p8PP}S ze^LK}6;De+u^8uo`*vK z-!{gS89X|6veu8Lmn~D=&~%Sv;QROdwE3(+$|0f9yqJwXMXQ+Br)9~c_Hgfw<2;+Z zYE6P-=^R%B>mAVtNTq~3DIXv%UE5C>Znbl}Y=A~MgJmQQ^x{YnzY|k~u*(L3gf?D6h z+Ybr9)}+X4(;iAl;U%)6pfPgd>cZjKqvt0MdL_VO92MP!qFV z=95G>4e~2lbGf-Tt|L)5Io9)tY{`Y`$U6PTt!5?Xlu0$*P*ge_pDWXl8ImfZaZ?;} zIu1W*QqHrDS!G7gFUO`uy#4o{Oj+M0?s>56mTk7Y0voy-{gq|cC*%CLO_b1m^dx*Sjv)u#ctl4_IlL zIUnc|_XBwg^k)g1fd(Jq1D&Li_AWg{J57Nc51^Myo%*R-&36fig+5AwyGu-Sxxgt= z?j$)@kPKqQ=ngY(>#(qAu|4JA7;(0J-~wYdGwJE^s#;o2eqiz{g#!%h1&h z*nH=#5*BIQzD2S!Y_l4gp>9FO3|E?`XH+`NoXVxi-dlN61P~Mz-IVuTkJj99H`6ZM@*}>XuJHTTO^V6)Hfv8J)uD^4g)A z(P1oANx=j^n<Eja7?40eO*8-uu9p=PLnihSXyeB!bn zzU$g138(J8+?FnL!LZ+#Q2T6IC+A z?dh!+W8>;Sd1tZ8Ed!mxmWc{qv~msic(Y+)AK^JsxQnhO4-?MUd|0nQi;1}@eqpBt z4%j*lJ8|YE6Z@2CCG8I0G9^e*v|P#_NR&V#BYpskYRzl&{;Y+4g4j{P=l$=_flut1jg=&bHF-+;3yg{kY0m zOI3Dh&*M&-4n@uFL*JA~i@{qPSIUmQ&!}O>O{Y_$hn-`^d^;``u$zk{oc$geBPM;C zk&CSP#FM`MG)3%Z*Vq~p!ZY<_+XpZZ#w|(Wc4u~ZQhQhsx~EGg{bxprXV7 zO^M6bA~e}NaE9bNkL7S4QF1(IV!YJ+6oWf%@`23y7mv7I60XL&!KlvqTuk?eghTxR zGVvJfT5Gd*w`j8V_#4As23CsB7bdi^+$4_Czf|nBAJqCbwNR-%dlOd6Ex1m_vcz44 zMr>*vB2fh zRsl{SuN{7f6Ab zXXTg^WRI_TWr0;>LVi9Ps?A8R@YMX~u{oITi=w{?3o{&#F&ZmW#N`vaG z-WB2QFIm@GV@Kj==DIQSI4pIDyow1B5ABwnCW6Sc@Ao0Xr$VZshqpD4!axc$Q-$s}@ysbVa%mzQ zw;(oAtT=dGC^@K{u0yibE#u6a4i-M}lE`>PEGquvd^3YXk~If^TW*mo-_m)B%}ZGe zC@WAgUtz*YW4=5+Xy9k_&IomR?EmRdkBkmc7I$|up9b;uzTR0?>ON(%zoE_1T1Jl) z7Z@jdBEf85P1Z~&*OKqvQM-LaEB%*PukR0?Z$_p!gu$yy@(l)zd#-C8(r%@<47pdx zc-q4ms>Sa}*ozAq!@!yuUPF&W->Y?T&L>LfNDK@FCHr?&V5$u~U0binwa@YNnU&h@ zsP@27yb9KrW1~#sr#C`&^*3Dg=c14cfA55HzWEB*@<)0H1t#_r)*s6p;alHN+ckG$ zeg~`#33T094D^H(r4%zQGuide6;P)orxORL3ED9n_RE+A)s|o6_+%U!Kq;;IG*!DJ zb^E(K>u!@`FYnI!8aFC1MSWTj->c3~`^Q@P-)3SpY61kWBP%sM0a(cYiXVBuCFE;l z=G4@}LT1$Y3SDh%JAJro#zc3ctE|b_&ys-+U?=z)Z*-;fryEk;?MFDoHwuMe|#rzp21K4D9Ni z9#;`2m+*{M*I)nr;skVd+28xLTzUCms@B%Bzh8KG>$2wA9T-lncyjiAdJ5=#GbEZm zvP`rM%<86nF(pxmdF>o2})*>wWmRyoJ+;5c~F9;oI=Y~gx8!0NPM zankg%b?{qzp!*s2=I8p#c8w@x75q~@&JzQ|oZ#r;d#@P(YQY)Gs`rB{U_Wk2Mb8!} zU(JG0Z6pI<`|0cH$4LG@mmfj?1v*r^VG6x-!V0w!Wm_w0b4j(iKgG=g9o}NQeGpSh zxjgK1JfSZB&--0=DH1oeA<^N}} zcQmuM@cy5(|G$RaU!)!X49@>Wkg&Eh2V+uqHFt4ka&a^6_c>5tGSyiqvt=`&BffD$<)!_-qC?c*vU!S)Y0MJ5$3K8t}dob z)~1Gb#_kTLR^~2-{~T`C4wkNrCU)iyW;!7Is(-=Z{wKK0zsmt*W@ckDbVL5PiT>ZF z%0H30i<_Gb1xIi|yIM$Uo})f7JhanEzeL Yzs|_ahPx*x@{a?P7FQ6f6EO<;Kl{+zJ^%m! diff --git a/res/mipmap-xxhdpi/ic_launcher_settings.png b/res/mipmap-xxhdpi/ic_launcher_settings.png index 489ed6adbc5673b55abafa16cde8d56589aa71ee..52fe9785598a83145756c9bbc53f152bdfdc5459 100644 GIT binary patch literal 20300 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 diff --git a/res/mipmap-xxxhdpi/ic_launcher_settings.png b/res/mipmap-xxxhdpi/ic_launcher_settings.png new file mode 100644 index 0000000000000000000000000000000000000000..6b92795d421f445e393992755f98fa0258b7d21d GIT binary patch literal 27997 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 Z8T|i$LV4`TOYj85H7x_pG7X1_{{u&t;JyF= literal 0 HcmV?d00001