From 56dadad35a60347b9949ddca2ef00263a30d672b Mon Sep 17 00:00:00 2001 From: Sawyer Blatz Date: Mon, 25 Feb 2019 14:05:19 -0800 Subject: [PATCH] Closes #292: Adds placeholder advanced settings fragments (#638) --- .../fenix/settings/AccessibilityFragment.kt | 23 +++++++ .../fenix/settings/DataChoicesFragment.kt | 23 +++++++ .../fenix/settings/SettingsFragment.kt | 59 ++++++++++++++---- .../fenix/settings/SitePermissionsFragment.kt | 23 +++++++ .../res/drawable-xxxhdpi/ic_logo_wordmark.png | Bin 40028 -> 0 bytes app/src/main/res/navigation/nav_graph.xml | 20 +++++- app/src/main/res/raw/about.html | 3 +- app/src/main/res/values/preference_keys.xml | 8 +++ app/src/main/res/values/strings.xml | 10 +++ .../res/xml/accessibility_preferences.xml | 7 +++ .../main/res/xml/data_choices_preferences.xml | 19 ++++++ .../res/xml/site_permissions_preferences.xml | 7 +++ 12 files changed, 188 insertions(+), 14 deletions(-) create mode 100644 app/src/main/java/org/mozilla/fenix/settings/AccessibilityFragment.kt create mode 100644 app/src/main/java/org/mozilla/fenix/settings/DataChoicesFragment.kt create mode 100644 app/src/main/java/org/mozilla/fenix/settings/SitePermissionsFragment.kt delete mode 100644 app/src/main/res/drawable-xxxhdpi/ic_logo_wordmark.png create mode 100644 app/src/main/res/xml/accessibility_preferences.xml create mode 100644 app/src/main/res/xml/data_choices_preferences.xml create mode 100644 app/src/main/res/xml/site_permissions_preferences.xml diff --git a/app/src/main/java/org/mozilla/fenix/settings/AccessibilityFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/AccessibilityFragment.kt new file mode 100644 index 000000000..46721e1f6 --- /dev/null +++ b/app/src/main/java/org/mozilla/fenix/settings/AccessibilityFragment.kt @@ -0,0 +1,23 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +package org.mozilla.fenix.settings + +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity +import androidx.preference.PreferenceFragmentCompat +import org.mozilla.fenix.R + +class AccessibilityFragment : PreferenceFragmentCompat() { + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + (activity as AppCompatActivity).title = getString(R.string.preferences_accessibility) + (activity as AppCompatActivity).supportActionBar?.show() + } + + override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { + setPreferencesFromResource(R.xml.accessibility_preferences, rootKey) + } +} diff --git a/app/src/main/java/org/mozilla/fenix/settings/DataChoicesFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/DataChoicesFragment.kt new file mode 100644 index 000000000..c61f99f81 --- /dev/null +++ b/app/src/main/java/org/mozilla/fenix/settings/DataChoicesFragment.kt @@ -0,0 +1,23 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +package org.mozilla.fenix.settings + +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity +import androidx.preference.PreferenceFragmentCompat +import org.mozilla.fenix.R + +class DataChoicesFragment : PreferenceFragmentCompat() { + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + (activity as AppCompatActivity).title = getString(R.string.preferences_data_choices) + (activity as AppCompatActivity).supportActionBar?.show() + } + + override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { + setPreferencesFromResource(R.xml.data_choices_preferences, rootKey) + } +} diff --git a/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt index cc9097679..9a8cfcbac 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt @@ -20,17 +20,26 @@ import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Dispatchers.IO import kotlinx.coroutines.Job import kotlinx.coroutines.launch +import kotlin.coroutines.CoroutineContext +import java.io.File import mozilla.components.support.ktx.android.graphics.toDataUri import org.mozilla.fenix.BuildConfig import org.mozilla.fenix.FenixApplication -import org.mozilla.fenix.R -import org.mozilla.fenix.R.string.pref_key_leakcanary -import org.mozilla.fenix.R.string.pref_key_make_default_browser import org.mozilla.fenix.ext.getPreferenceKey import org.mozilla.fenix.ext.requireComponents -import java.io.File -import kotlin.coroutines.CoroutineContext +import org.mozilla.fenix.R +import org.mozilla.fenix.R.string.pref_key_leakcanary +import org.mozilla.fenix.R.string.pref_key_feedback +import org.mozilla.fenix.R.string.pref_key_help +import org.mozilla.fenix.R.string.pref_key_make_default_browser +import org.mozilla.fenix.R.string.pref_key_rate +import org.mozilla.fenix.R.string.pref_key_site_permissions +import org.mozilla.fenix.R.string.pref_key_accessibility +import org.mozilla.fenix.R.string.pref_key_language +import org.mozilla.fenix.R.string.pref_key_data_choices +import org.mozilla.fenix.R.string.pref_key_about +@Suppress("TooManyFunctions") class SettingsFragment : PreferenceFragmentCompat(), CoroutineScope { private lateinit var job: Job @@ -54,21 +63,34 @@ class SettingsFragment : PreferenceFragmentCompat(), CoroutineScope { setupPreferences() } + @Suppress("ComplexMethod") override fun onPreferenceTreeClick(preference: Preference): Boolean { when (preference.key) { - resources.getString(R.string.pref_key_help) -> { + resources.getString(pref_key_site_permissions) -> { + navigateToSitePermissions() + } + resources.getString(pref_key_accessibility) -> { + navigateToAccessibility() + } + resources.getString(pref_key_language) -> { + // TODO open language switcher + } + resources.getString(pref_key_data_choices) -> { + navigateToDataChoices() + } + resources.getString(pref_key_help) -> { requireComponents.useCases.tabsUseCases.addTab .invoke(SupportUtils.getSumoURLForTopic(context!!, SupportUtils.SumoTopic.HELP)) navigateToSettingsArticle() } - resources.getString(R.string.pref_key_rate) -> { + resources.getString(pref_key_rate) -> { startActivity(Intent(Intent.ACTION_VIEW, Uri.parse(SupportUtils.RATE_APP_URL))) } - resources.getString(R.string.pref_key_feedback) -> { + resources.getString(pref_key_feedback) -> { requireComponents.useCases.tabsUseCases.addTab.invoke(SupportUtils.FEEDBACK_URL) navigateToSettingsArticle() } - resources.getString(R.string.pref_key_about) -> { + resources.getString(pref_key_about) -> { requireComponents.useCases.tabsUseCases.addTab.invoke(aboutURL, true) navigateToSettingsArticle() } @@ -144,11 +166,26 @@ class SettingsFragment : PreferenceFragmentCompat(), CoroutineScope { } } + private fun navigateToSitePermissions() { + val directions = SettingsFragmentDirections.actionSettingsFragmentToSitePermissionsFragment() + Navigation.findNavController(view!!).navigate(directions) + } + + private fun navigateToAccessibility() { + val directions = SettingsFragmentDirections.actionSettingsFragmentToAccessibilityFragment() + Navigation.findNavController(view!!).navigate(directions) + } + + private fun navigateToDataChoices() { + val directions = SettingsFragmentDirections.actionSettingsFragmentToDataChoicesFragment() + Navigation.findNavController(view!!).navigate(directions) + } + private fun navigateToSettingsArticle() { - requireComponents.useCases.tabsUseCases.addTab.invoke(aboutURL, true) + val newSession = requireComponents.core.sessionManager.selectedSession?.id view?.let { Navigation.findNavController(it) - .navigate(SettingsFragmentDirections.actionGlobalBrowser(null)) + .navigate(SettingsFragmentDirections.actionGlobalBrowser(newSession)) } } diff --git a/app/src/main/java/org/mozilla/fenix/settings/SitePermissionsFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/SitePermissionsFragment.kt new file mode 100644 index 000000000..138b90ba5 --- /dev/null +++ b/app/src/main/java/org/mozilla/fenix/settings/SitePermissionsFragment.kt @@ -0,0 +1,23 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +package org.mozilla.fenix.settings + +import android.os.Bundle +import androidx.appcompat.app.AppCompatActivity +import androidx.preference.PreferenceFragmentCompat +import org.mozilla.fenix.R + +class SitePermissionsFragment : PreferenceFragmentCompat() { + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + (activity as AppCompatActivity).title = getString(R.string.preferences_site_permissions) + (activity as AppCompatActivity).supportActionBar?.show() + } + + override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { + setPreferencesFromResource(R.xml.site_permissions_preferences, rootKey) + } +} diff --git a/app/src/main/res/drawable-xxxhdpi/ic_logo_wordmark.png b/app/src/main/res/drawable-xxxhdpi/ic_logo_wordmark.png deleted file mode 100644 index 45ec2111865388dd1288a6da46d756ff850db8cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40028 zcmXVX18^qI_x1C{wr$(m*tRyd&5do_$p)Kbqm6Cbwr%sv`}_V?Q(aTj)ibxxJ#$a@ zy)zMt@)GbcI4}SJ0A5N`R2cvOG5J2Z9rM>^pDFKdz&Xir1mKsd6-f>*v^@)d_n9%%x>{xq4e^cr z6YXb%lq08Yn0O+WOe~tb|0nY&BPSu6lc^hZ8N9KyIuVR>+xs3AebxMX7_u^CD3{;( z?S|&Y8)rp8M_;3HA}v`xrBvc7p%l(xBy%63QAT(f0v#nPA437XRO0+0)GQZgw3fJW z!uMtR1&*%N>0C0Y(UAgT>b*m_TX-0qa9f`0#BTTzE_-3?L^A3q%kk5{4zQ8l3DM4q z1#b|E@RzXOz;6hwb))gcaSlqDr@T>^7m7zfQ?0V{la;->@2q@1#;(M*_ohKydQ-f1~{gj7bz&X^}nQE`&K@z!SbLLuLj!iI{i$agF@ ziO~Qs4vdeF<19*`pB=DNDF{@XLqfGOuHvc7vk(je?7%6l!RL=cNX}8KL0!2<{F-%cf-H?+oZ=) zkh2zXPcrju5gQeK2NxIwdKo7g8)w#S%=C04Vm zyk97)Zv2IuMkW(aCKWGc&@s!Tus_}&B^RqZ)6-=F9th(O-WidRkufs_^~XlP{kQ}6 zsZ;tNRK*<6+c_m97iyeQSfRd)qb3eb5QU4#}79TRZtRV)ako>tcwSmJ(dApCL`!!YbF7W<4RhjxsxzOzM>MDB0@c z@X2pgu;4WlB$>mF2JQB|99QFcFC}2h2%fi(v(uZv$xbHYZ~(ZXlsn2|u`aK?i>K;A znzl_qAFH*K7p<~G3RZpX$id3`rZ;zd*zu)b1x^6=1 zdmjiRek#2fAx11jZ3w6{dgf_%%y$@nuslVM9$cYkX*3V%?+HIKke3D+@)OjFM%Od1 z$1o_cx+p$;eaiG(*uKfWXUS03-z(_hB#FL|qNwd6yU%yT7J0v1zf-^S z4)A31ft9Z>&+@m`@m5B=w&swK;O4}3XcW53%S&h!clRf-7|Ldm^#FqaK}|PD&5Rsc z-G}$Lr@T({)A<%3XY&kG^VHYzm-Yo+wWrBidz8+jveT+eLoJ!ra3#@oO>4YCDoYTK zIgtSUAcdmGy1a3N^s%y9P_4MplxH7QQBJ4U-Jp3PPKPQsPnhYFXeAn+u)I;7+}@7& zPz*+(I%pYu?cnXBFL6r>?rYz%+Y%MTDu>Jxl|NpLoieY8Px`;kA zu%}k?^2y+~=E#s--GMG^y>5q+cnas5kE7%~4A78DS%O$9Q@|l_HivCgU?!2;Wn?|3#&EQOntVZFC1shJvxpoPjwR-zLJbK@dn$2ndud!sYwT?@g zSZyl{tvAnYSCO3a+O<4%R zA+1dq?^H`kvj2=Wsy3H)JnCfR{zsFYzuT=T8i=H>V|@LZJntXbww8JN+3gph_%&Px zP5b=ARejpbNpboub2VAH2!UtxihK{r0N-@nF#SPCG6mhmA514KF0<>#uA3z${2OIS z(R;KKxTdac)2qL*L#8GMcqDrytKaN9-oOP{I*ll}SceRFLMr%mIF&ZNEvztm z;^?xg#%1aMbI3gaa~cvBQk^C{&KLr~?qJ(#iB}Dw{ojqrSmcm8>>`8zb?85K;yCG0 z;4>lg1Vr0!OQ5N&C(+L0&)E^8gNAP=tc(V9%kg!W<-H|AvW}Yy2JSL1qo(p$UJ+z@ z7$ng!jjs8}%^~jS!rchj0{!6vIJni!u1O4jd_MvuLKali-n`EFjKkAZ_LfOJG*Ya0 zG`(~Q(xYd5->B6&S=`9NPyn<&0g|f$*7t+X>{cX`Tu73GB-j$`kb*J)<-&m<3G-XAE(%;t6#iDqJ{;d^2`c3N;dIOG~(6* z1hUa>iCcV&>6i@+@JSFMs*Dm#t3Fe%YtgCW>|t27d*KUNB}30@fB+sExTeLL`$>+o zC)Lk}>5&LbO~Dn}W7k_fGbg^nkG}XwPKqR?3JOC;Y#3!Ao%`(mO}7A5;h+fHj<*ud zDFA5c&%ynZB^Q2u1dZZ9P9V=%FWXdXejM1BIpgL-N(fA zLm5>2J?McC*c^ni&P2!|(k>zayh&x0;MPwj4QTiu6;Phy!3}MiG&+lZU;dS6*=uJK zpNVvjv0$#+u_xSi(!1?ZO9lFj?w9>haK;$?kX%g0+BO{zs z9!P}+4s;OvYXAsz{8|N+q^D6~oj`EZbW8q%ao5m?U7sx3ZE1pDaz=0^kXRezg&7v7 zV;(husEe?_U3z%mEg$2?u$T+_fnXBr_MD@-EVt$lHkO7x1zcnX|Ig9iFT?2s@}Qoh z3C%0%z+$DzHaN=wqVa}0&~GGhmw+*P2Hu275tG>Yb?V{i(uJwU@FW7$R?G@9-;gk3 z#{i{?78Hl~6mqVA+Tr8tN zGx0ml`g$}%_|vHmV{ngJx*$~`HXxF#M>V-1By}`s>78uD-4@*gN)1C% z3D6zzno?l{F+BAzo>=9tU@gr+t1j?407j%N<}U-0O6AYIq5TEB4}vl@;A=WG&z9QbYJ zxXRv#arm@h&C*~}wWeJ$7U_20Y3#h#k|B0jUq)CTsx{S~@_MJ9c-eJHrHnv61Fjj; zC|t6AjHt{;F7kV``4{M>Ex01KsqQUZ6_M;O3Tg;$^z73Z zehIF8jW&gySp$%=L44^iKpatjnC8YW-?|Bf|HbqX=xWm>+ot5c`ff+Vv33 zjR5H;yCSG~l0Iu9UeKNs-ue~8W(_DbBPvqz=CPSxiE0-U`#Loh{l3qq9=#*eT zi?BaZqj)+sm~sKhLpVdOAR16e{{zcRY`UN)Uex8<5EuI`;4UDeci`@5c35ZX2j zdiPhLuHjozJr*xxI*<|+53ZO8#-oCgFmAz^pj$N9el6I$w5tdpY((gS&1un;KtBW4 z|H;4PD8*sP0i!^9td~Mmqdqcj+ajEV`0~|!3?!>7*Tev`af0#9Cw5($I}A6f|l6I$ENW$_C7YipLl32!TK+87o}gMLesa=xDZz}~aVf)O0n6Q1uVeH51a^^s`r5pA`D%W3XrdA8zl;=mVoSbIyk_`~;9 zdzq;7<>GmG7g##U`|x0*Ycu{&vCTN3n{3}wccR;-s(M8@r%Q0Vb($vBu2$WK`i&M6 z4a+$2eqLN?*8U;KhM@Aiv0AA$QLYaZ;M7UHKYV^NB<#=+QvzqPGZeYN?k<)^f7EGc zL%73a-W!6Jqgnm(?fqae*q#$^e@d#{lj;5o&15a*N^m5TBVhrF1eF3YZBm!(gY!RO zG(_VFvAy*4!+-heODDZMH;4kH&OrOFvNg#4T%}uX>Dvr5v-u#BQ3hub#Fl_rID?uI z?)AcVN%H)D9{3mbEKmulJcqT7G=Sv3-R*RudA7 zz`;p-K24EkW@qab_JiUg(g)>%6JD-y&SMRPgVs~KILbSdEt7(L}PIDBA5IF|zF_pk;8@la_^L@JQ zi*5HWlNfe$&qoHqk%kkp-UPtSI2${QZp19Q8nBykW37S&8^F^@4GH3jxV*N@GQj8GfjPIq(IcA6Ee|)1&ul z1$78u4~fpgF2jd;Poj?I^*CsnKw_L;^jXKHKwUp)MD?Am70{lAkc8Kqa_ok@=8hNr z>K9W!GRy>)C`Mv*`@;dxI__AS6u;j&lO@u)%@M69!(?M%fxuJX3zgYl1yFjDEU>yk zI>TCTXikA9kRhA=gRbj_XYA_O6{8`|C=S@B#`7<#zIR&yEZ46>LCp{413%K9AqXf) zZP~?q0U*yI!=id#?1JAROA32xm(Yu{kw%>0~t1)81XcG$8ll?XFnlN9HMvoL;ts$V|vU*t0smK za-J6onKV0v%&M-bTu(XMu;g>Hfyv?4>e}n4Sl2Y_sIR|LSvimXx{u67>_ALada`LK zNiK#@AHP0sT`Ddxsd*1`P8R5*GZIkNHe0 zit1qRG)H15FhT#2g+6$!p^pa4p%c`0c*`Ss`qOzG?5{@w!74;q-PL*qUYd*s3lGDd zbMvPk<|@eP`9&sP-dL*9H)NN-%dBqQD@lT=94KmTc5$moRn5C--*9`ob5!?`5Im1PUsf+@lZ@W023px&jO4(dj z^lvQ#aRV4*$*`DOkDK}yaIhu-P`-`jD_1Czfd<)o=+Q*qka#q#lsu=gTlWK&jd>0M zN>G~u+WGC(IH=uZ!6(DSUs@Ht=!vz0x{CO;ykE}Kry26z-pU9#8n1q7yIlich26YV zOrydLIt*$Uy#7Vg9w1mu@D695_}89|4sHU6rKmY`s2=$wPT1EDjjANbDenGnOi7Z; zQtqHthRWgTWOB=zQ*FK{xggcp#X+!s?ergOw)QKA86spAza_g)7q?UB;c2XbzF<52 z1djnvWUNx>jHSymrK?NE%LJfVqff24<8fc!FS~@FpQjyu_iJal-m`>No;PuReiyt7 zFB=Vn0tfC(-WU60RiB%dX}VsoUw89S)%+*(GM^7Ia}1rg&H^pZr>F{D*X0_yzC9@t zU+2BFh_5d#8g^c%*qEI1K6?{Q5!bBcL@>+K{0jK3*S}ECA9Q7}M<#?Wf!YS;?UQaE z4h$_WESHKy)ai*`pl2W4Yl5R*(KT`mKWl#S{I`EVqQFiwRTwvQiY{RoTh@fTK>a&B zj;zxxtMzVT(!9qz zmEnchD`m6o-0iw9(fPELbtIE|f$%HefS^9g&CPwj3E9Ork<4;{49Y(cfQ1AOKz?WL z7d)g}bj2I2l(BNwFrKq!{Mcojn2dX`oz!+IhMV|cR8|4hz&X?|_E~1rTd&B<>rYmsP`yA2h?p=stnO zUPv{r6RH4*%=~f#w5S1Y@OGpUB0#zEQh7dLwL`o+T*?eLWkqV>-0jIPcf4}xNABsg z?zpxGI;?wVxY!tj$)%egX$~`p|0+|wtv3_yvHx|9K)$#Cl$U2ac*!KG)^L=6H9(bc z;@}qsru1miJPHU17hqbc`x<2KkhWXkzcr3!csPT)sj`v_bCNijT5^Qb>;o(f1~;)7 z>Hu@e@8;dfe-n*z7z`KwpkRtXh*E8!q!!g3Zy>k!Eaiu9*wU*D*djR~|1=E60mhbS z#uKh>ugsP!JJu7_0omtyb>M50TgmyE6JaWsW;no7*)o57zMw@ejhKa?SriNnNl10Z zNEUqhpQ9L12n$y+z^=MnM5#iBDYA?z=g{V|{bpy~@q@JGwY`bSxu=0{^?|Q(<>_dA zZD%U|7X-pQye4~=M>>voEW&e#-d|H^mg(d@li)nizud5{qfLnj3MhgfEg%3aK|%U- zVw_Vh1g_NYfqro|EYrS)jtjO zw0d{nb|OY$PvJ~eGin1}@iA8>sC=kEEJ5%=Ttpza=vyd@7yv;33()E;gd!%3t1O0J z(P7MasoQ|Lr2mR?Xm`ii$h(c!xOs)icDQv3SvTFIC`?hUT%yO??JKwhR57PbyK&ow z2aIS>x?q1Xv%A58VtXt>xS&aL32XC#J^zG)UJv5cIP5@R&|3!5mN`7|Qmtn#erXaGd=2^m0XJ8W&w5H&?9(VnFkqrsLxi9_ zFuSL4D~NX?>wl- z*Ze=*xj*%R%HHxt$C%ZK$G(Kd^iVX)U~DqVxZnxxPHsqk+z%?*ZzIkxN0wKH8>jfl zz?sCDs~~)UUKK6jS%^SY2vxU1Sgtj!q-WW`^CZ~53K4F6fBEOBL){~*sv^~j>qVVL z!6t|A1XiTp1etNPPRbY=cFr-R)i_tVc&%R)+=DOPX!gn%W3=rxs^}L@+M_Z|&{W7> z!VQLByF&QgfC|uG*1$*E1@Rg~mD)wHgvmsIIkV|bOXA#pPHc3VGyYzXHa4|U5sxMi z2b9T8w>}*B6$hyo4kMfag)@HfXxOf(Ub-E|G7sg^gJ>)mT$FjhfvsDIu95qpKKU}A z@qUr~#Nza}7!Gt4JOoc=aTUaV-!M59Y^b@{HT~$zH8W5Sop%ssXu&!#*$|YVi%;Qm z)hd;fq~YTpS!PV5AE(cjBqOn!G^%AD!ETX_RbovTG5_$&YwgWK2UiGVVVgG@nQf5N zL|-d)hBNK<^OVW^S8H(CU|5SI)%|M^MZN%1&rhOsqWx$mjPUvOgXV-LQ{GXyDNu}o zs1%Fp_5Bpn2q0jA9LmyN9lG;WAVloMm+T1~hxLa7_=3Yr;aS=yPafk{@qD>@GVuoa zeY~>QOPGB3)_*yyTMff@dQ&xUA5H7iA6p#?g$a3P!g=FL)G-Y|FG3pVYS6BI}|M8LqDagDTkK{;c$zf8`3b>d5Dpp>Ml2jWwr17wET zp$pouKSKNiw3(bB_oB-(M;iU`e}0-R@?kx0N+%ujK4$4!nO3QNHE+qgW5q*t00Zu>XbN z!JguRkFWgSjGh;0az`?Kf?Gpy6I>M?)FN;Mri;@eNrL_IXwn6+h|N0@VnH;1EUzG@ocWzxUxpwC4{~ zhCQYRR^zU{tj;Tm>$l&kKyz|KQk(b|In0^unzqm4DL#>p+GO<1jJ{87%hF24WdFG_ zA0{DGe3fYMb(%t{x5jFF|Fb-?CvEWhun}B4Ff1+DyZ%cAir+2#qKQ99sxb*Ak`b)N9KV_MaT5D>7wus@h!~m+fqWB$EtN?OQT6sw$9-1! z=ijY;93gJ4pgK-3%xh@PCs5{wN-Or9l~YGs4ZS~nS#-1ai^I`Y>!L#NOzUTR7A3l({PfjUBi5XEd< zbF8A}DG-MLgVuDX`JTY}vz@<3{)QSc6epB-5Fc4sPzVZmQ!VrOd&Gn4XXD2RpV1TI z^b8nfpok+#)zDnRroPHmvGhr-3=^XV2&+!{y&tA>eKcg1Fn!VA^xxn}{es%IwU<@+ zE!#i!_o@YaXd89Kj#aRodwgqH-XQ;e8q$mU^u@!kLa6L0W%rOetIfZI_!;|^;@a!t zN-op>>@)seBmXxYxak*UQpd44}#N9ekfPA*Fxv)PsibPY_#B5XqOntkTH#iD<6{TORf6N@Z#B+kV9LW5#C1gMU+~w|_So)Q?3UY%(O!SPu0V@PX&@siU$#zD= zgC>(kwP@jp&rdIf)%pHeOUVQ~&<4S&cL76y!PK(5fvP?RKqB?O8A1XxCaP>~zKNuC zT-4|s)8)L3CChh{%|0UX>W;MD`jlDufZrlT@fFYVzuuQG@p2^9NN{X%5z$b;WwR`3 z>@MO9=H}x{qwjtT=L*hKFpoJU|ISt*qH$K}Ix}9&k54N{=rvBNzf|K!Y1Ma*MxTN*uItDp=%7naK6o=B@cg$?)feIoVyTLg zb3QC^ZQAZ_9#<~k>T|Zi6zH|5w;QlM9TE#NJ(?wpMO%atBZY~-+1we7fQjd>DQ8@Nr@P>p7{a4MHoL&5Di!|QT_O21rqI*2ePFH+#=$o?HTaAg(SK8 z)zie86~@Co6a6=r6$?0@<|y}zZyMMeE5XIQ{+JKDgkZlH8{1s0{`hNj5ElF7M=##x zrJ?*{gOJ- zr-zG$GU*)Hd-vdP(!uj7+ZTmPicKM5MInsgcssjIq(iOjGo*jYrdckwN#8RzZtnI2>66Eg!w9t~0x zi0(jD#-7cq>%;OhPXC1kR27#2#R>~9k^*sabWDzmm`REigXOXCV&Ac{R4n1Wg%7- z0@m->L8rX_;4@kI^Do$I7zVp*2`G#W$`=4FmPgnN_bdbtwI!fV<$t2*RY|mGTR<#@ zf3Zk+t2mg$N#BR0o&oU#RK=etc!fVtNq7{r9o-=xK{mx|Al+DYPPa%72{t&Ccsk$= z5HVgdit3axD6jTkk_e(!ExiMN#1|hg!jhHGSPjVm3vPfEO8oRG1ieZTTKhGO_hFFi zc{0`iQ7-%=P5DCzzAD7A=t;vE_q=t((xz#lwojf*X`oXZAi$ zk!9zId}*7}k_4josBN^}0fLB3YOvL-Y4_;?>))<|Y&RVluiGuZY!)r_;foZP# zL@6TdhVUcx`$9U@YAm_{fM56{Z`gahjVe1jd2)J$6v$R$_S?(|fQ0h}BFH#rl-Qa5 zhp>@!DlL5aAI;?cdMq4mT@+2SX2NYB#rrQf`R)*7pI8GY-}JlckE@&2SbuhZ|4{?T zw7_IO_{2 zjHcpN;(^Q(2n`SB0Wy`W%Af!2MFCxrPRtQ{x&p)uTFJ7&&;(@@a~q(`y`MQqvApXZ z6hv=p{}?NGwe1Gqqv_Ep_)1C@wl8weOC?j3^X%8VG9NkrJDA4MC!Mhc*_^nS^y^0e zwBX3Q5w(-Iod(rw0WAr6)*F2IHtlR>B5=Sp)9v{Kyn4S&gD@ERq9ZK&HlFDkS*A+D z;*W_uS84zcH`$XDPkzg?AozE}FMs2#+|!6*Zh`tgLFpGvH6Th)*Y zt}RYtW=;B84-+oD>qK8Ak^#(f=|806??Cb@qik8hT99{ zQ!g>VSTNI^BZBC`-Y}}o!tSe95x?o<`+VxWo=CfLPN+H+IPrnfx%!*8X}XJJ`-ypz zQB06ke8eW`&hJiMd}&-r^}|Z#tNS1hb@IUlWVOLt?-{>*z!u_nD@lgL7>8wKmyM;2 zix@9S{BfV=$!UwM4C!2C0d`+sBH0_ccrL`N+qMXaH^b9fcy9Fdj{wGq;~~LV%=-`u z_PEk{%}g1WUOUDJ?s+JCj2T2CZ-Sk+@LamyCU|eh^Q%lwvd})2#12db`Txo!K{Swr z-gLx&KJ2EFtmbob=j{z9&uKgScC2O~hQMBiD9NMaA^?KF6`Pp;LOVN|HyN0r;^3E> z#%q^y0Te+e1yhB2-RmLF&RXD)iwykP`1q;$awB>TazW1EuzL662hoWf_l$qXmoBB^ z{W1B4|7YH~%A?Y~VitX=%RleqWekd%nt^LX3h9eLC^>hC9=aRw-N3-?{y?Xh1p2Ee z>O;x{#d1JhOKF}ZsJWwX1(eICcWX3VHSsFdW6&Y}vWDSJ&9CS@yR`Df#_53iGJNf5ltG>WtpASu1|)6p4pU>K5vzkVP+^UlTV#&KD}5ayss z{Y^QjO8TMg*usZr`jZ1iNL=-~5V-@)n4xSb%oj463A{`dCuOn2I;{qI*@_oby$(6u ztyV^+woj2;bsD{V+$bX4De99Sp|yzJy%DNjtOK^~6RLR<&^n1Q$Z zNf98=0L|YIu5O_FT2GrU%LYmiAjhE zRUmjf1{P3cN9RGWg(%~E6w~VfTkgge-R(h}JE#HxU!|_V4qY?v`@z~xF2)2atkqS= zx(0$vhUHB3Y-sK6i&c&y(3}Fvq)<(GebvW-f552GmC5=k@VE&o9s76m>uX(O5YfY4}sVc`K>#74F&5~_Sx{ySMQQ?y^eD1xWnwv+_%fNr&mAW;bEu|QX{=JT|`-c z<=hoYgK-4&9FmfAWkO9}ekqNpDyZ0$418qm7f-2#T7(3Q@!^VJE+o0+9Jb}m5_5;#!u7ob|@EkNGXz8#plFQZxfT9V{-&b=f!1CS2KBE(zp~BbqT|50ZXhwV4G#- z)qgZ1)@yf<&p`|l`y|&IU!tI19e*W<>-?!bRTA7tumB^VF|n>aWw1)w$dAP?2Jy|D zfyizJ&2{1A^8w|%<>zvwj9%!W_E_r0SgQ>-Ny`Fhz>D30H@6Rly$nWe>Qw~w7Pp44 zMg@`M!Hg>wvCF^{M5$jrGChPxEZ?@y_FHZ97;NbZlTN~u@SpTF{rx;S@@d*eKamcQ zs`YCPj*xqVw3!t^e)H*XxWwEB2xTX}5qEw}EF~!*2vLnt-W|4Y$dAjTKTpj3lBOHr zmHOPw^dIJCaORatqYdIN*@uBKd3}buOAJ7Ot<+=Xh~DD_ulj01R$AbsG^@B$Ucf2u z`W=iYcfQu-YUKU?A;2k&jKJ<(fXtvhv@{-K)wgm*sv}aZ{KIEW{c92`43^g|I0?EvjexwDAmtR+!1_mEP^G3I z0juaj4BQ4H7)$~Fc)ALg8y-OicJ43E><(}Y4uf_GUX1QZrRASNW)RwR(Beg7wJ4e1 zij1Xw)IYZk-FrnidX`Pb(5%9aoTZ|gj6$@*$YM$~$Dd^%#wt{$DY<vcIO?@7^Uk zQ?*?&;a$nWjbq}FdCg$DwXc{9sX@gO@zWcX1pq`dQO zZ<9xZXL-gyX~m?ajVv(PhlL?gF?g{5?Q0?CTbKRIYTq}v){v=$o(IP>cW#RnPj`oN zkxWrbqeI!5$l|!{49mY#y0<}y5m)jVn3^zP_>AK65e^m^6q@HgQe%lan^t+dQ zx|vlNOe4E~TS=Y*yXsPMF=j!}_ds#wdPnD)ZfMPI9K~ ze9?**TBImI?=iA28>$N<6LGV!+z%12Z-->z&ry%x zT-bF+wvBCY%b`ITh`EkmOqaOY7BtxA`-u2_g@TUdiWnC4Tk=U0(!NXotsWB(h!$c6D4WVF=2^Vq+2wefiALSX2j4_FSF^}9!nt9K6+d?4a@KlG6~*>y4c zFyb%P?IJF{3^EVo{t1LK>pyCk%4*EoNrBJ8d>YAWDzS zSgX&+(~6~HTxce2equqL5qjiK^q0+BQ3j5W!rP)k3Z)B;AliEO$!w7(PD(n=+$kF? zSR^npaF;(Jws^s-bYKw?g3cPjlYrd{tlD8ojXhdV-K~%YHXvxFYo!^Y9Qc_7w?HQJ~H~}mW@Ep zYGsEnNhBz3g=dS;iii9|px4{@l5M)>$UFne?_`FM<`?izupAEDqp61~FTWb)J4{<28_JZ`J zrxG_9k}$d4{eA=vtiZ-)^OJa1YOjDd+sP_D4VL9ZqM%aQXv1u2AwJOs!TGQFeF0SY z@a~AR8xw{ax>3f1blE)hP?Gj@GhQYh(nDk69Ug-^QO^k1tnh@b+BeG4|wOANKIKgHVuB+-Y`I zqzh4E%OY{g2Qf64+{lNKYD0OtWip@02Gl>KSv)Ig+{GjvA4%eKShZJzlFHa{`RLO# zqor`zrSoj8oK7;?R3h~0&kp>vJh%V?$k?v|XF zsluLRA&ovvD#oGMOD6m|TUyy@BG1HvnqIp{9yfD&6JxnICIoJ$URuots1w`QG?qB( z%7Pp#0U3em)wat&&w7dfnJi1rYL4J=H_$w6;_&br`!G55d!wF=zn`N_k-Yn3+PHNQS;+QaP zIT3i%=l$Vsk9jwwm%`wSVUS*;fE$EhyJttiM7SXn*BXquhDn`0p=-tvfLS=WP; z+V9=iOZwakPtTTP%;aGp6 z0+UN4AtfKAcHxkq27BZ8cPcCfB3Wr8OZ|2m;YCHd2H*uD;1e41J36q(qdrCR?dyv? zSj1w5Y(;WA5WX!oU1G;NFdc{SJG{jB6_3(pm@D7wgXLluY~it#d9M?H$;Tia0JZFvcP1?hyv8lUySv%2`r6^S&Iwfh%@6*A!0XhHH$%Im;6x`-}9coS&5D!RB zJj6Y+D#3cC_2o!v6s9i)*#i-n3yiQ?3F-FImZNsh#*cr1jx zghSF@ZdAqM&RcDs&sr*3H0t}iql$WmebgsmR zgry5sL!!r&0&$(xe6a-NyPFZml%(UqwDKS^N#e9`t6_t){k~>Qs^bP+@t4uLuy5}A zc5J+iZBx`)o_bW&af){iYP#YZg`Nc%*G zqCK5|zwhS`?ckzc!;~=>=3vW=>eka*Bf}j~xM%KvEZB`!LRkuN@*(XfL)}GuTIH7? zV}pHJE(Dpli`hlA{~Tthm=Bf5(QS6vIqn57Oh6UKVBj)$=?PTXy(!i7XymCiFwt5V zd68c~6Wb>x!sUii_K@4B|Bot(Fz=G0pQO74Lw`Io~(Otnert|M8sD)Z4mGg-%E(%?P-CeW5GH<$J|P>l#oQH4SPOcfoT zAcp`JXBw#oRalUH+qTc~!Go^_f~46dP`~S1twPfgv&Xb?#9M|WUw7$`47)Qt_g|lG zA33a&ZZ^!c`Vp=bY7kg|!vLu&2!ctzS&`g_b$)hCLaNN);QuK18@hkJQVCr`cn*aJ zBZB@s5qgk5AYO&*!hov2G%x;zd@D;62U%4_2$O!e3;FYw6?sz+cak6BJz7h$q;~I& zO%MDPvYhUB9Eu0wwe~A<5LRE(R5*Uk^so&rk7>r`SNRWR{GSkc6{-%LtDxEcz$`M0aax_*jj zn=(WZHPLK_2YOttxY;+XnoT}_WVZFt85qTEqqv5Dl-O)^>DPFb1pmY=-%@LGL(62c zWfgj#vwn@GaCRkDq@otFMRc_d?pMtrjGK7Y+WN2vS#AtLqaA@SGY61;RbXXWL_02( z+#$=B!A6aazvyht4_6f=Y*T*95`J6+SFjB z(4o#~JI=nVQ<>!6>ewSbQfm}H4yl{meXN^u?`rcniB#ii5f!~W)xfXhdyZ3;D3>9< zAJvfz?%4jM!#Qy!g~e#69SiltFyv?kUwGT){gf`QRTtevx16PkCr%fLAyCy4 zYa!I;&SkSvZ>-5vOVZnJnEyFEGN$MQ?vrqi;Soa>HyEbSpG`wpkaxb)U@IK>d9|E) zU=H#HvU{S{YUX5gxV)8r)^#z2y!93ZB zK;2j*DRNoU=24E&V<7_5SO!`J@jg*lU|H3}LTb309> z$oSRIm<1sD??_Z$h{^Z3s6ezsSV45KbOH@9Ac)l=b*bi-G8Pk>{g)g{9V5~AzcYMK zR~}GFsK#(H=ORI%%!ATA?{XN*Q2^aTOp=l27v_eb6=(mzaK&%{6lp~!-Y%vzsG1dQ z+-;1{mEtSWP87qK9;A&KLcRM{6|_d#JHfTm!%J~_wm74*kEdAe7l?1SAx+r()o=1K zKTr#&c-4?Bx2w%hs(8kNUpyUW#ouK8XDxLY|)wNJo@8(`0%ApEi=mRaqSLC=);T z0?xjSq(`ztINVubO&T5$Kxr0FrFQ94aYmIT$Q0wt<|^FI!W5Dh0Y)0s0Oj$Vp)ap- zo86dIFQlh2{|^a4_P#M{)h3~MR15c1TvL1j1r>1Sf4I1192}DTPK3f>6t61Y)%tf< z1rSsepf!#I4aGgQxYs%uvu-10ASyT)cyRm}cI;lw>fu}Q!Il1=%9k5EETz+>5d$=R zNM_imk^!z|(p0EOgN6LUNQZ$Nna>ir4tgsd>YMxCuIRG9<-!EdA<&P8M@JqrH9qy_ z9{X&HC;YsU|HFX5EcKDgZs8#5tpWY}-Mh9i2iml7Z1H2q_w4yfkH1q?Su`~<{$k+0 z9AR2@{Mef|Z`|`pMbGYa$1lj6fPbS)jfx&Usq#TkM{nAd)rMX;KE9{PEac*YEa96A z#Z4_Lt*DVwTF_w!40r zfBfWE`N&m&&r}%2RT?wrhH+pyWW{+Cp&1}oQ~t}=90QX>R*+Qix1}%A!mvzJ%xl;C zQlQ~ScwomVop(rjAef^{yPlNgV18)xZY};(1qBeuq`Rf;Ou@CrB*W3jR!5jO^d;*L8%A(JW}P;@0d zDs$PZHP7#fFdJO_!UD!eGxCMyr7a4iyXM+jmb^cc!7D2vVa7$FnZb`wg8Rq7(Ov=2 zgjAY9S&4H%w#QPbHc$!1L@B--v*k+KC}9fX zqeNJF)DJoC=BB}wwP=8WPVnDL}IYzsgz<7P}%h=#0v zGw%oj_# zp=WB(*wPhG6OpUvMIpT9WiLC^MVJkJm&o^zTXW`{Bg{1`SDt>i;9gJ9lE=Bq(nS$w z%i*fL+59OgeaI)%nkWBgF14`;omju_qCZshDg7||8uZf4Ht zlPU+EEU!}X;VHD2F=vG-yY57|=O}O`xnFt!1}v4Nlzxxyqi|^wcm@dU-hB+;zv(5s z{qtYsFTeOzzPs^aauKquUY?*|X38*QFyju)9HCa*&T}69Y+m%_b9wR8PUpg>T);D* z_#7U2{-1E-37=)b!utrCk^3rME5_f5P40)p&!kNZz?!$@7cJmK*|z5dLY^i4EX|R` ztd$n%?QFuJBx0XE3HL2;6);+;SXv2hwFp3zB2<;T!UdeN&6rzVB!r*u9zvyC#leyuJwUE3Jr@ zGsiMApkl5A>>FRkotw|+E7$)j|MHa&^XAX~h=2Y5bQ+4MP_a{B|%;;YyFH$q@|cst9M+{_7UKF4|I{54O1@~?2=bI;|OPk$O`o%L?U z7T--ChVYS=!Lre_G%AKMYGUpK2x82fbAg@vR??`CAn6Xuv{KiO8oE{yDT=tjrC?Py4!Yr8&`DAYtt1?+Wrdq0N8U&~o+R!=M?xX;)>47fwuUZ${_^ z7r!u4*)D>oB{9dDBW5%Anbb(9cL7KjyXP$C=3Oh`M<>CaVaNdKvO<5DzVwa_+t%}m zn_kS{eCO@_)>kg)wO{xYuleF<_|-3en%8~#GranXU*@%6`VznWwNLT3Z(YVe{otSZ z_zl0sXKsHLKe+pu+_w4Q+`aV-?%s9=_r&8}ThHXy`ya`7?|B|yxb3xk^qRNwci+C8 zKm78SdHolz<}F|Q2JgK3Kls+Bi`mgUnyfNKC7VJ~0@^wXglj5o%ZsxN>LB1zs@#~qa|W0gk1N+W05eblrx;wiw8nlT&t8|X+^rCMFD zs?TG#64@}O*{dTQt}F`K

{VmQwT)RVSxMI8gdoRQI^!&-`G7L(QsHr(ZAdU3!qB z4^w9U-(f40Pv)vwU-HR<>N_&R84(I@-*APfufJbaSJ9&~C$9=k?v2nZmC%H$)<+Q$ zR9hu0tjcyGrn@awOLj;~vdd1*oP@Hn7nt{{IVU2(_62a&$*^uKoVWw3YRe@UnfEmW zreN3Z<-FyG@8tfefT92dOj(6uR^m7naLJg^eg|eDN#?nVa`lGS zbJW-^oPElF*|HuGT1IxLwv$s%`w;8af0T{)K0Vel`d#kd_;`dS5mW#*#bN=pI4=eS zjimp!B7sJ}ki8QtSh8>n-kXa39X6F%^OXuspXp`?rfH2O8ZplcR!AjM6;Mt8ei`V< zSKe&CvKRB6!K?O(-_2pJs=7aFq8H9KPp+xq#lRnPfXZ<6Ln88b_uqF@&S4^Tyo)gV zK8cE)wR+826(DC8+I-)Q9PaYDza7zENBICfNk?+{=-84K7XT9gF>mbmRrQ(lDv^Ko z%4g`4oL4|}Nr#A68Wrm{s?~k+JjpRR@3@qzrg&^4gIiX@RVTuhg&=@S<^fDO*iwVd zkzK;%!~(|i5r!(0)Z7$RspF)HQ;!fL9!G>G6=@RZP|GG5%EpP{T$6y3t0RKf2pNi! zWp!$mapHVxZh}mvaN+@<=6j(iI(-a+8B3yG=6iA2H&{(A9-Ng zBfxc7p3Xt=oUrcmJm;dP^TcPojs=T0)AS=?3(EqKnz5vaY@%kUF;QPo5&> z0n#rswy8SoE{$-wuzK~`p8|F9{);y-iOp;T9V&4&3 z21{FGilPFVm@=lvLvb%PWo7wdm@zb6*2E`G$h~})7 z)Uz+;c`ths>rej(c^F2?023t>n?vSMjBHL>#H(YXz9eb>4H`5xVODlNs3p0df|+aI z6%+(Z+v3170=PDf=JRYg!n|Ri1J-HlUhpV|6PcC7i>tjY!n~ov-!n_8>d6)1ya)$E zUnE@7sQX5Q!-dV8Zp=mGN_vnwe^P|mFrT#I=+qa+eQ6*iB-m22RKtK<0sxHqzW zC@ly}9xA9xM4_-n3aBwp5ml_og2I$BeV-(9LqN4z!ZFgW|=UDUBwk(EZf%|qmj33_q7I0lgKAW&;Y$H#7?kjohliz~4CPAx!KwGbE z`dPMV(KOLm3IR0Gg#k-U7~SR`&S2PrcIfgT`$3QeC7V^8pNcSV80diI@fR~oIk;4O z^R@`{1#+%ND5dXS>WAE`NHR@=7vNmp?f3o=fR3L4%8 zx`y7QWbT!XOgBd8CoX>JqC`c>k&YY?^{F z(1epu`#jHn(Ti9x_5iuB*}Sqy;-f@R#4c-+`)cyaCS94Nsoyz8|I}{Kj4u6+2`F2JPjm+F`Da!)4Kk#fe{_F|hx`>e3^Cql3 z@rOL~;#V@VUzz`r1rt*Eg zEW;^`9_e;0)ltV}uSeu&4uM42G0e~lx8L`ZJi@`i#V-)ZQD)dlnbvMf?_mMDnIq-V zu+VN!LNJ(T+Py~_0*wlw$p^iV;Spn?h^SqfjDRsxTN|ccZvtZuI=97u5ntZZ3lcMsY@?3cA$vLtgP3vAf> zB<|n-a1dr*x=imi;Kb9u#^ay*=Y)`<2rBG9Ce6le9k!aQcQ#>ZRsKlFd7;FJl^Hw_ z1O*33N&T}5$RfZ4Bs)Ak_&Pqqe4$r~uwz~WyCZaq3hSArl<=XD>yPFuiawrMOV-V8 z*$dqk;c!J&cQIQDBN1l7yq1RMZQ}S1=1?N?j|iWSa4>NQ0NzHapqtz;8{&wlYd@dT zX3r&KGbH+_1d~5jI!E_2UImrpy~0pdXIQ3;*(y*p*c`GndX^eBEsR=32_a(3WDr_W zG&G5N1w!%O!pBiWzBGxdnO{k9-?0?|3UJ6IQ{cVD){dwb4?&EaUw0W04q>Ku*WW+GlmLCqIuH#aRSH!pr&AbH|9NF zCL+umdXh}4%JTUQ&x+7B$Se%mKq|T}LbvoPfvph^TZEm=R!S|xESUES%H`tZ|CkGj z{9x7bXZ=xxgN=({K-fn|N$XgkhVSQKlV1fucBC!lT@G(7^&_~47QL8 zO$h0^{bkTz>EBSHJegw5Rv}p?AQ3wrKv2jDnG1JEm@f>}z3#a46N0jq*=V3O%%OzJ zwg`tSsO)1_8fa|s^4~_}mV=!)hVa5ov2I+1gN=({z{@^Ji(8f^=_f64K$E3Lqw=LB z%5uoc#>#+2za!A8XFd2uhGB%1&TW`65j zp(w3Eud|_O!2Z+L@mr&xcA@4uy(q zGU6uCZlj}VW&Tv1=4lI6B7%m9R}g7m_acB>3=A0~h;_gq0Y5Z_Mwl-Q)V*{vpQWi7 zNR)+rOFkcHAoaI8algqykaO-IaC{-cT;cYggk1`rB=FR!CYc({fH8BJBfxfncY>?JNrC{=eXeqOcX0IV#Qdn_d{z*GfD2ZmHL&|`;<_On|CWH#avW_ z{Rcpy6)m$nG}YE8^TlpVu&tJi!LmhXLwdg~*`NK0Q|{gQNE(d=zzm7@bT-zH{-t*^ zGP(;@2a>Kj3$@Aw3u`;}-!CL(=BiVl$#h^jB7XaD8c=f>u z^M--CR>QH7*=Zorh4j&p4Kz?d-!CGU(nkq=@3_@x{&9r4#KkYr2zyY*ZPZ91BCW`Q zVgXG}mlP3(l1N5!JyX3iH3R_ZTnMxjwaNd;M23!65;NyGY4l#42E>>!wTb*efwb&J zKtli}(q?Hgq^1sZdfdJzw4!CjwTX1u%4O-2r<$CwfJV$c^S%h$Y9p%dVB{?iV?x&m{`|39H;WRyrfG|=SXSA{#EjEdyq_X!yn|azotqHTy zU^}lF0K3D|b`k&?0k>GeC+}7P00*dU(G~S=5#|d6buSTJ#H=)ss*Lu#qWnMu)rPaz zi}WuaPsslK{*5>15#|yXzW^h95O&*eM7Ndu)8$OHb2O=_sc9qej#c}U`IcmyG?G@1 zEfvpU?qj|; zYTGnT!!)Tu3&j|SqCjZfZ&m%b;{;>wBG~9!VA7BBz@9U@%MaAf$@k|!{BnjzcB2T0 z_3Rl-hPE)2O`@enJvCso=oke9%1l@=&wB;IU_!3Q9~Pv%$-L>t%BFrT&e&Hb}=N^^KU_Jy( zapnkwbQu#=1?bRDiJ1(Tq~|HA>FV58$zBV{ghL;!ffV;M#;UtnGkPE13!-X_m8OMX zjS(xZO>``M7N3^5Fz+<=%tCREokKuTEoc`RE5=NeOwFi`*oj(CL$LMD6apmm%Zzyw z*fzel%gq-Z2mo+aT((5Kxg`-eZuE}sB5;Yh(gGzha&-4IBaj0cK-#xiaz_CpnpXJ- zKyBo$Dcd5`P)k`xS#~jPd8YTH>TZXVjxpqu>ySh z`=13(I3f1BT(WEYuFPi-z(1k^$oNCJ?D*6vD~hG{Zz$F?tC ztifD+@PV5m%qIrwUbS$j4cR~g4Rr2#S(exN2&zYOkR%fRHG_vmmckG1hvL2K(Z96D5}_aYMPe^Ch{?Ss8R@J))BMe1$#K@qy;B;MQ)mj@KMWKu zq{{k5cX9O4Rx}8p5T?=4GG@kD5!B>~1?yC8gsXLqt;}ziJ+0XbFinUkcIT#zWhG;( z5o5<}#Ee#+nTe$l0V(F2otV=EQTsmX`3T-uW^KgM`=_k?cClSU; zvj0eM=}xtFZD`B~CI~r#iZ$Y8WFRmE$lxAYtkZVmH&uD2uf&0###^v_E~#0HU5!6P&K({HUbt1 zcD`Naq!lgmL@-`RXGt)}99A8B3$Z2{9ta30FS-sVO%y>jf`BAuk51;xplO6u5|Y2A zrUz$UQJi?ettc9ao9Ah*=V~w|FT89aurtEEVxR-noywz7 z+ntt7&6v~$**px=S}J|aimP$>!i3?}M9GTtkd(p*idd7C?4(SuA)-E_7E{$fKqw+) z0TRQ8F=(dPtf@T~2xbQ+D2g?4>_=#oyD-a`YU`JY+AK9tW)J2VVDZ?`Si0<9@{mz= z6P#{@EvnF`DbkWdmSYkOa18tYJ1kmP*B>);s#|j51x9WmgJ;HoqpaYYL zY+zQBC;xQACndtn3>au2tD)hnme=)TiY{Z0rK*472)`WRpi!Khx;ER3${pZ9Nf0zO zQkquej|5PaR(@FG5D9S|O4wRcbIxnn@%rsGX}QOphD0HchZcYv62j4NP4! zMG0n}qS~t3Uv>M)X!a*U7ID>_qnF=FBh*+vd@n0U?jUFt5DQ4!(4LaN18D;gIz`8% zRSZ^>=vWZ4;{;id6oR#QfnZA_a6^Ro#y|%qQN5j6NL5#?Uw`r05oTtNaV=jWL@>)#Qg6iupm&h?XV$n%NpdeaxAzew2ksa~y#rt6%%wl!w8eLjdk3Zp zznDt>Xp;1wHXWxhO5Q}r(rB6*Q)Zu0GjIBsm^XrL(X<~h4af0l+9aJo!0g<#yD_IJ zOqx>sc&(>ajNC;bv=0Or9@)#9g*S8j=&b}QcF7Rb0#K5~-zjPa<)+<>YBPw600s~4 z7(rGj_zv~Wycu(Vawij0n{{bx`cGY-^re`ay{*HuuIfU3TSBvGlrpZ06@f zdQaNdQ`2dzoFH2(u&D+jRAh>0ulhP62%EpfdvvbpOUZ?^g6|dX>m~Rrwu|Kc*iN|9>@+brJf7vlnNqT`{F_ zEjTo-2BYSjG}`0(oz5kKQ5$1+`w%*wL8$SBW3S@m zg&WDeOO_!OnZ_<@imIvVZzE;KRE73CFe8YmNk;J=O-pN-_nV%VwvAIk@pA?9td=cV zD%K1Zt&&g;h3{b~+smp2w3b`8rFoR=#j%tr<~aAjm4W0q2QR@J%FBMc~KpkHh`^c4YpExk(Q zmc>h!zcIoccV6-L2w$W}sWSHS$lch{j6~=ME*${(Ehuf3WQ>i8qJhmNGjogGmM%3% zWrbW1yuT$KqGXuyv{Xi#=mev=tN*uX(`z%CL-8KF(=sVSOS0?I7OoAUcm^LbjvBs~6~lK! z0JKj8Se$KRQMMDsVP(x17`khRWQrH3Q8WMn9~4osCJ-;U;~ef71rLM{MQ3w?AQaLm ze6yKd8DTy$(1Gi=J3e-mz&*@P(olVSgn0$wck;l$G#DO>aIhKZ7gsfr(}VIK^emaI ziM()f_l}7Or=N0>R;r6$j&L76O3|~oZ}abo&<|WX;NkmT!<0*QDk>?73Dbh4$E7-x z+)qga3#h*(3X!50S2EMZzRr%80oZVD(U=9=A=)|jPBp=#@t*@CjIv4Amc({r1_anjh; z)UwHb88Y)8MV$j@B4fB|1OT+G%t>m%*iX6vAdQN86z>JA05T?2)@m2apn^69P*6oO zz;k!?{)wMNn2!u};5udPg(}W{l-Wx4SDbK3g!w=fJwueg4bhYlCU194zWk0mJ|Gbe z76biaYIMPZ1f9t zPz0SmwlzGY5sX4&j2z^emG>P?moe$KT0bq)?@!rgfn;9E&&*B3=-w&|hj;Vh6F-L! zf~W$mWc~=)1b<`LBA~&XYqCt47$;L?R+D6Y%u&_ek7&|DDK&2-%axe(0>XaGSRmM+ z7a`}IWnZEY+DDq{-%#1VV``Gx^|ma)DBWQxiqBioF{Yob2$fTTYFRN`ySoxJn4dHQ z334TCh9@G-M`ovis_Nbg5}2h_`PZsu>mnS^9JhLGI9D!LWe5QD*bwxxQ`TMh-B>T| zoIxG3erlk}@qPcJ=&AH55k4%c{~IC2YksAOdkcL~2)s)rJ10UfxO8CsDZ82=-vpO_ zAOYrBT4yY2xug(6kxM2KIv+#3G8mf7(emg;NTOb;F-rl!939BGzzrkN7~-j`zQ@^1 zZ=>Ne2+5LTL9**IV$E1F-zM;bnTy&o6_KFnlB8WqOm}Ox=3DcXzS9~$yQ~?kIWwkA zH4^aZIBIAkr!M}!S;m_MAwdB^8%gn3O8y;-Uu9?|vv&)PI0sY7q`cZr<=Q*>vCT_bZ%3 zD%HoR_dix2-aR~AT^gaE4D^d9QTcUMUQDkN+2ATme=R~8k}duhgiq76beND|G3Hqu zVYaw-gP>my1Wl`>+iSIE1_eM>2nY(veDEPFiC*cS{ucGTQbfUw=`xMS6Y#;zvBs>0 z1|?!zDkXVkp_RZNtO+chHRjLGSIn|z8zUFg?!Z(-pjeX&3RM~BaYug?LXWMIO781~ zOB;Hl1u9TRaG>S6Ug>y5$-ROK0ssWajuWyI6@2jw)rrm#`s&A$Xsj@r-{h#$~FZ|&{9&+IY5qf2y zUmPvgY;mr9T$Leu*YD@bwGn1wYGP`aRODh2Y0#@wpC|C({ym6}}-9%Z}_n zBFWK6K><{Nw1?#W_vD(jk5;7-t*%=xnd_NA(nuREiNyx~kRK1jjvB8$^$Jd0xQV8B z#*CTL7sb&l6!pp?B#|?Tpw@sXpve+syMnT&EQK{?g`oX!VDVmK~djwe_n9Qg=~Fj)BhAh zvTWKge=!O;5YLx6XE;Qdw+z&iDx$yJYl5(%PuaFL|3YI6iz6ILR<9kotHe_&{NgxNFDFN%I1T~gJP=~cp~6@8b|{eQvh)q?yUeUbhRj>kthP+aLv z^iu%^NTW(6N%_v2p4Pe9k(v7p?W%ne5Tv_eu-GVB0VTDn%r*8L8zpPu1ep}{s)a1m zUHsN*A4b%pw$w$kds6IqVa!aTKj|~-3v*Y1sy78>HOWIuN@x_0!(R6!+k!&yk?-D)Ks|{+`rSSlqc*Ff6HFNGb0=dc00fN`fL1` zP+rIEC8%B!@~NLn-gsDq*)Y&AhMdUnqWU~~mTdg_5@dt}WoUHh-GW>}k5Z+A=OeXR zc5H+L!Ij;ZqVe4(dVhr^86VKJV!zEBQ(6%Ch|3c--=AIPFW^_#f1GoUx{Zdf zraLZe!B?>6E0`K(sWFQXlHHS712#=@KQVQ78IoX)SK64oxTh^l$&FxYlZBv+xIMgJ z^}pf>Ge^3ZUF1x6R6)(}Iq8iGF5M}am@m>L=hVonHgiS2pnwOrSg4*EkReSYs~wCP zXucm%09)?jbF3I{Mwrj^u7URL+4EqAz7kOSAXRK-sk%SOL%1@+Y#~hT zLF8hPseVMeZ@4b}O@wZ7oo*`bW1gS@sF>C}CZ`OSB=8H^>ipPf8sx!6GIOuQV1;y? zwgox~(zQt|U#@gELIwaL7N~&SS!493z?;u_A1j7;kb41Zq*5bh>XoTY_P6J$>5AA& z|C*eunsKxANbu?IOJmS9t#KA944H|rndsOvj=hw1i>`+NXcrN$^nOZuuP%fgHE;qr zkoL94P)o$hp-#@Ed^*CsXP~~w zt9(hs{WJa3F%bTuK3U&5HCex`(WqY#p&y9I()z^ItLqc>tMU-OgzBT|qnzW_O=;X0 zVYUo(vZ!$7JfHJ zf12S?u#t-n#aWZWoM!2=ct^u$rO~nSWylE0{X$BcLbWA{|6t}Mwa5f}H0Kni3~n3Y zI+V_-?S%cT~ z71oVj&xOam2YkCFL7${xPV2CPFU^bmS_QQ~4uQ zpH7bw_aP4%KDcB&Df${pN?xQ9v~)R(#4H5!?$p>}v5_)oZn-p42DdEWu@BtD zZ=d!Nd;kqCvy|qDiAHR_F=M!F?J}93tF$Q^tC8TrR`s8TkQyux+NyJ=AuX|y8nf1Q z2tr({Js)%|=w$c%o zDWL**fzY`jdDh+`xcs?`kbevGUr~L! zs#ZA|61n`R8$S7#2)#1Uk*N%xsLEf^vm`jtm(^iwgnm*R$$m}Xc6!$mpZhDkKXxcW zC)`XEKtI&PPq?)F0LD-OiWGoiaA`t4sxXyTOf)2oa%n`m${RD!mN$}4-$4o>0#JTW zNKDxX7w!5MuUz+8njuT8L!mA;#wAnm?InEM5AFL2|4S@q_Q^ZvOI+?Eoq&3~+$#WryBRH}X zgvx0FoOu>$YrG(Rzo1P;>-PVhq8RLi^VLs8I1(7BznYq;Z;{MB71+W-ma0}kk45!# zMIW!q^CPd^Z`$<9kqbcAFb5Lkv#XCk>ore&;$LWlUK!}f)6j5stXKUosG~=T@HYYZ zMudLTnDYB7!bKpH^eWZ!&`s}(&elyI>PIAe~uR%|5X~Hf*P~cCMiGJ zX_@AYCFU%x#$SvTrYz}!NkmH{W$8}MfF_Z*dZ_Wd<(Kj76_I=1 z<9^eqHDMiE9=U0x1+C|_p!oTkcpAClaX3fiRH&TdlW3iQVn}nz#6p-<&6uBw|+Fx8ugN zrN^Z9m`&mjXmOq9pQSr6H8E|bFzr-c|5m zl+ebgX@NCv2%3wh86cO6j5w<21hUluyntFdn6k9YMMI(9rc{cD&~%qYI8r!B8Yt*> zWYx!lY~)Cm$d_Do$+I7Lz)eNy7Xuwxic9Bzh4KV?lnC3UlD*`H8}JbhCQ_;Vp9t@# z4+_eEIIWx+p)Ka3lpQp_(nN2mlBMMZ+DE1UFg*w%jaDHDO`p-oE7rWVATen(?xvLP zja_OQZ6kFX3Bw*SIAh8j)dz&%+44z#Ir}l=S|y|=EG_P;MKsJBx73(X-kTvvTBRSc<|}D|lNdGx)#4}!`=ewUBsF)IF2~a4Ntet^t`Q4} z1CoS)vG-hSxiU3nS;okC&L8dk5dUBEd(?4w1vN!p?KvUIFN>s2$U~O+veSK)!JyI$i|_Af-8Js$xhY zuPIGwFcA<(wQ`D5J;Nh41uyARWeYWwL{@cD(MFryz7E8@53sngC&H1!!PP(^_nUE} zk45C895E6v!W%`xZ^umpK0?14=*ZA8wc{0kIUw{Zk$+L)^AYBX-4AY`5LbPHAmj9| z^`ZIT`y!+`d(nxU{KIv^0~xkOlAwx_*dtgYMiSLPQH5L`bzkYOostTK^tzjfSm}F> zTv8C$AO<4R-jpq*!5>e2kT=yoK_xV4szcLuNv3^KK{}_Hhk9eolIr_ylK(Y5Ci9A; z_ks_?OP62D@2&c4hG;^lCPt-;W9YKfg+SOc92teoL?P2|4@7LVEQO?eNkgWX4B{3` zwR)~6JHdkjzKv<5i`|;Vyd3;ENpwu6llk2~;&Nq#BZ-0LKw)wZ%8PLBwZH`PT5_+$ zJxw%wXM}^r{MSH>mn^T=X?#qTqv%lrKZ@^rTZFl0Y;5su>h#y>gA~0;;Y|@NPJwPX z=j6&3h4)vG6h1GMv*$;T1Slp>73Lrpu4O1d&fWoteLlwRU3IrNtaHMz@(cL zua(MLjb^Ngj0MQ0e8+7lTZY9TLiavmbz zWd2DJdH2vrc1CqXz8>LVGXFKup55F3K~*0~&ywA)T6xjFeY=_w4h30O`5?mo&FgZc1Hif$r!6(;gpvIDYHQ*p7^Gn=ds zp~HPFu1#bNb1tSeyEEg)pygE_G4&JvbJ2Uac;z0=ln4zF`TPXCQ?M z12rX4%1FPzLUb9J}K4@DzZ$xd#91ANK9Z(_F6_oh2#*+)|8x3{r3n* z90Sd%eAC~K^2<1R0m!|~0}1kzOyqGHygrX50U{i1=C=kCbCb)d)K^!SFQXi$JMse z@Q$gF5dzR==~B}^m+9`yWQj7^d@*h1lNB_*FzKrtSKZ88SN;ocU;SsCICKx>!)*+g znOi&?^sHxS5ar9qGEIU%1NST+Heg)n$=Sq!_{+|u84}2^t$Z2 zX}Dd24ZDFLh=Q1TQUR^IZ?kFFl@X3K4v_{5T(RPq>@*SnKtwik7)pd&os(CrT65N! zD~~_x`w`}fd8~n?x>gDAqYo0~KO}HPghS2djeDjl$O}Z++Xqv&N`n8;%U*W6i{RoH z4ulchyQT>H91d;8#?aE%MoD9DT1nePtWn#S*HCrc<&sg7GX_b0D|_wI=gLi)B#|-i+_U-xhP?a7z&l*QMu*zKhr98hR;|Xjo2HH{vZDHgg@X}OTIvcLa4QiB9<-@7T4v5DKT;aVQ-b@PnV%n zRme<<3r(u?YZpz+Jql8<9OtQ>TOV;Ny`Z)qWt%!;!Jvk+h#5lI3t9&##z2buxoF7U zJN$~JA;OWyq0>Oyw)ja^`KPfZ%TIE`D+Rfc!$1N*%3SumSTX;M+wb_q<=_0~pXCwe zlKH8DRv$k$EZY1y=;A(@u^VH3yWfp)xNyvxMRz!Hm(T|(`s5E@e&e4diSiw)H zR&o2(YVNKd%l*ye?DeBegkc&~QS2^IkVqzhk*vX3Hp$BBcGeGX;;hj-IAdf3$JDlh zc%T9Zh)zTMb7#)&Jy&*Zo-^Zq+bH?Z7J&$4$*Qky;;yupf(AjVidz<_9P3p^g8=q- z2|^;ZV<3{=#|kmW0DhaIxgr^mDdGx0u1F1hs9p?woFi1H{>$SYN#K#pLQW(H-p#?$ zK$%_;a{Xn2$0|GqSlUMewnLE{obWZAdCY22GsS=JMx>}`dXIv`0V=mt8}Znq?y^! z|EsEQna?`sDEiVHuhrk6O2J7I0=LV<4}3N!!aF`9FB#DL!4;-SfNkr8O^qO4t<05qS8&P`IG6=&Dl#FC0H1!xg$ z%-3V{J$4D)2Ur9oX?}_otFh1FdhxhzVX0nVIS$sXreGjr7K#zuie^;y0HOd!kQ#A?nTKvshV>N@9S5d2EfS9mnvb`wct!;oG&U=JD0W4PJyT>M&a;;S zfDz5oF0=r|t}9rvCJ+xQaao}N`F}B{5I}lBl-G0neJ=;bIL_JRC*C6$UikTs5{Zu@ z>IJ}Y(+d>YFUl5#MOEDb(g&6hJqmIJI0||M4C>}T^LMq76q$)Yjd@0E&8^qXrO_T^MloPh~MyVJxnX$I)SmMu#3a|ph zWXh5?8b55zkf{}Ei4Y^sr*=)7d73>Fg`EQX1r~vj+$+uVtf;UrMAy*FQ(-@XSbru4N#b+QN~Z!sV)g~)%m}GZ=CMUH zt_d7cSZZQ>K#{ywh$3grTFCrv^Btk%w_9I=n6+exD<#wG7pZR>f(QhX-lD*r2(cjrt@}wMYH30o=ZH(@F zM~jF=Ol%1dJA9x**z7gyglyvk=eVIx-ir`v9u7Iw z(R?Hs49E^)2!)4YiEt|Ec2JT{yR`-)=k3EdZYCz?zs{7r$w&!yTg^Do18j~ zTc?70%tj1g8t}W>OSLJ3QS(YM^BBrbzyn;;M)l6<(N3Lb*k_RARTd*@Ldh$fI6G=p zlB|_joSimPybT@HMspvh7W;o}%~tWA79E3f$zTb|g7J>+YyJzG4<(NhRKC)_tA|LN zu24}mVbPrvN9)hUo3mjxrkV5hA3pI`9}Ntgili z+sr7g-$+ag8j=ly`x6VJsZiU~8cPJ2@4G98n!gAPgY0|-^m9r<@2VIsLvM|?B!m4K zXx?WO^k$n1vlL_5!`x?M_cmfCd^A$?5)Qnnn?D)OUSWwRTNvuZR;|#m&C(vzpE(=j zP0#G#;jhe2qV&nCN=YAgc^apMj*GL~2aWqUzpw(r;JW^$?b9cqCNFzU%QhKKAqCD1 z6dkuaM6&K}F=5iXb7>YajBbkp55B=l*149*j0=;1L|V}><9?Q`J}sqHGPj&EKaw3E z@__C`Pz*|;Fc<<(g0=h`CJMWirONtvhwXFJzKdAHLnAH{<|l{40p~*%Mb_)I)@DC{ z@%;TTE@LDdbeHZS6Wc4oTJ`B|YSuFd^DbWjAEp}oFfBg5%5>7C@>a?=hn}TB2?L!Z zGwH!u8WgVExs;$Foil3QPsFv}=;p-DVxY2>Cl1r<`a_rq#~XA}d1w7o+^%5+OV-kx z`2LelWCEX@P>4buh<)3bIv9`$6f^`HGq81+1HuI6dZG@l;JaJP+u{o>i>t8?610Y; zH({g1T8=z-tnsov381H}_s=8X_sbW&rh%zlp-O`WEOZ@S#bjT~D z5(;7C=}N%ljLSf_{Ofzqlww}ViTQKjT0okfkkq%81jw)|G7g&K70HDacGY4{NR;5W zyW5i~{10Z0hh!W&2I&N>{uH4JVYgPWLXYOZEQNFc3r+JD{Tie8p)yN%`pAOYcbg-+ ztNQfjfx0bUWSmE$zww)YX(3l5;`bCMXNtR>T32E|)bF?igS4W$PfwBn1D6s{bL!?z zf@S^(Kal@#2c=oUi|(b))nhq@XwLrkV@Ah!brOMPNk>QSUs)Ml~Z*G8(d zO2krExmoT_kn@ZBqAZ#siuA>wr`~@(_kb@aCrU(%=$vu`acobaC(MR-$NMlMcv7!h zn*H%{8X)D#qB^lGg}@cjtc^VVu&+~(1;JD50xK)nW3kD>P7I zRn;$P;zj&oGrr@!2*Akx@TVsmdgSFh&F-1+!jlVkrQJoKmbd?M^K~RatLbm!@=t)kf2sK^V<<6-8;LfqE^RnYjBV>!OoU%2KQ#J`>j6>$Y ze<3;qhGL>@f}=SKJHq!yMsk*3IG_}E~&s;nlT@El7sM^x>2|)+WAjh z`C;&&uvXf}53av{wMxlR93@Wf!MZ*4W^aGq+i;jm@FSOhaIy)63ynkx6uXR4(S_9O z;B7#5%HS|O?PRN~2u<@J9==XQEYH&mb83Ru&GV&6ngwijq+h!nC>tzlU+S>866x5o zlT!Y>)>N?bo{8Di`W8ykL`bMLs#SHHk;sF{bbRqV{y_4xsx5cf=m@!*-?=vgD-htt zb7SlNQ#Gnm+(GTZ$0C85kG&%*6Y=?={xXjc07FQD`u9u`6I{1faq(@#h^07o;&-Zw zH@rp7mW>yxR(Bwi_P{J)y4SA9BEm2*D`@jLNk_-)CQpa+v0&b_NVdhr`XlAY^GtiNIhDH( z_&JCkPPIMx7Zm%QXmGm8I#7}+u&A9u5Exy3l;HLF4m<2gXEJGo?k%%Ou*YwTfQ3}#bxkdp-y5Ok)~4@){}z`n5Ij65pa|- z8C$#&BXk;RP9VxT+GrJIcKFo(sH;-=suyjn=Xh#ICZ>#uCrOx8@Fu9ePJD-r463>P ziX-|KazrL)eU#4@M{bL>Rvee>NR;W$sKD3hR=i68%_8Prdn^m}yn3TrTCnscc!m>W zP8Yg!*1*P%QI@t44Q^+mk!tWv^QLawyfQxjLPH{V^yAByLxIb`Pj7%!%Cjc^`9x-( zwErL=M@uIir~7SFEX0u2q5vTpY-8jrcbMzVnrrW`YldLWEtB7zB&BX5xD#xa(=*2W zQjEyH-S=nZ7R10K=^X*`XOCmIiWU;drS9J+lv3}PraO<&V$N^`w)qFr?ZLvGq9nt^ zlqGBjsp|@sI#7F|V)Os8Jqb@gdep-v*6TlM!aqqtitIhmnLJJ!Bd^DC0{R^rha898 zZb~Th&J3p(xk`6BW(>)dN3OFXB+?~Z*X3E?nf1~dB!-KyCC(^G|$O!lr0-oQtPk%VP`ndPB; z9fbZ?U_KPBdMyfd;yN0N9K#+3$kHs0m(_(4x5;uOqHCm4kxDzs=@?5KwxZe8V2=v& zn#Uex+3UyuVhQq<7Eu9xu16m5Wtvsm6Z0+!$6BV&M<@^Y}vcc{O%S z(%Z-F7HzM+ad+Gt6?z|0qF+G9hz~B@iiXLa%E^E;*M7&2D|5chV@IW4cTwB2Ec#w} zcjR8B72c<9L6ZQoQI`}O+l z2{lWn|Ng%nxCA;`xb0bCaab81_!YXJ%?JT?>&R^15#(=+ml10oavaDMjr^y3<_E^c z(g|wzeE*J(5k9@*ym&sS~bJY>WM3@ZnyMdJI%6I!AQpm$9eDeNM-(i$uis{q?bQ29edf% zDwi?Q#f@Ugj9p3cGK&V?$pSKgqr{a4*qcD6r%c;T)*2~{Ce7ayOj9-t_?UOVjmv<- z`g4Zuc??(G!=|~%PO)EIA(UNzdP=O;w+Z$mvO;-b3yZa?nkW(3RUVD${0 zURFdeH;sUVt%A_&_v+SBAFf~2)XA!G-oZ)c_vTz(IRbptSCF5h0jvoUuE+6Oi-@GN zfj|7kv1hLF>c>pt4V%dz_Gv)`e^8VZc7x;YwDx0*x5z|ED>(Q--)?W?eL+H3S~*#! zm+YS-`dUNx*pBJGsLp51L9{*7LQ*uBERgEQ3!uv1Hz0@e5{3VDhl#Se#p`a3IwE@0 z7t%5p%3X3-EP9INto#5<7hOW-<;cJj)j;F-(~8PfJJM{Vu!W!giamGic_{1PH7e66 zgv^;uO!U2}S$Ps5h*2-LZUCker9MDT1Kp2fi~Y!(PV!u*fh$6SBQs$RJd5JZbQPpGBZ>%W>$TaF?yYu zP9*iEE+Ro|NS}Fa!}>PVP+YWY4DO`nOkh*`>aW>IE5hn?O75dtO6|J zUM+d{>JN@Q46Jx^*b63#@43FX+P3pmSMl;Pe`Xh4a}U0wo9xxIwMW@=SUW|bx{~uVns=g;E%`=Blk$Ea_MfmiVew)? z5+`><$1#sR?pzmpjuV_jB=CWx%Qjw;Bl8MANh)|MaK)eMi*-)KtPiWr?!EGU_^i|MUx%Kf4zR^yHmIy;5G5D}1SGu@qSw*oa#m zW~*WJK~!|b01xbQ*}d~Kuds>;H=VTvKO^HPctb7b>0=r8buM{_)G-vcY?fwPr6{vM zQ5e~zIsgH(7R!TnaKM_JOO;86G@4!|wS8Om-kK!U6Kgf_3g!!i@4w~q98cTk?QgRt zAJiB7&i*xVtvE^P3;a)X5U%eNA>-|C??osUcnEF0LNte0Txk`*S!v^8ABqiHSsl|I zpDENFeSjEW_>C|@m%FZyOFyrId8{<-`YUk&h*3I+_tk0L6v#LMS^IqEyt(o#IkSM{ zyMM2ohg!kZ|$(pD{-{ug+$4iTyaq@@Mjbu3Dm+y!Cab zrg<|nd7U)h?8v8csQ*6ODvZmH_!|fQEl+VBBzkmx&`Fh^7x+bI;OsCWC z_)UKa;U#5%o4>u2`t|NV@35Z)aY&%t!=H3Db zQEaI%!{X%?{Om|$({W%Jtr=oRhp8r?DO}7#3=pP1Xe`v|7K$?#aQ?oe$psT8D%QlW z4{p#>uzo`4q?Rn6-hI$HFnP((b??4M=YPMFN;qZ1_F9jxdEyRXZX|5nk{;d(RA52oAl%0*KHx61RYQrQCPwrMG-$XZt(ubvx!2gsu00D!0-u}StfU_4^cnP|8Vmv-%nEkDN3Rd8ajtrD0iSeL zOE^HT4VD9HxGM}OY2i@;oZlk+s4i6H5S#36V85%nr{YT9Th>0jWyPll^{L0f}Mwa`!fkpSX z-al%(?*dP8@5v=-m(Gwuc|k4xm&R-M9JX-DCs&CV%XVt-u{9M=K8Tkh6fK5_QJS>j zF7{|`6tv<+j7YqM^-`(B!4(2`RT8jb>Pe{a3uMYGehf3M{HS%NVKgmmyi*WCHT*p)zUbZ=n$@ zmM|dbK1!&1;n=X1t=Ekq?HREa(+y00P%#*AWgQF{(2Ur{f*c5(zt}WM%>3-G73ShS z@;1yCoFaGI0-I=(Z2;d>{Y3s3z2am~1E=-CJ=G`Vkqvy`>CgC?7?6nznMQLh^-#hMzy*U{qJL#H;lY?(14T9Trqqm^-kmewjqu3Eqy%Yvr-pnXwL8-FBO z2e;YXI;CbiOU<^;_{EyH@&{>`wcSpa7~e{XtghcMN;MV=dVy{?Zf>4RVs7fGMkJ?h z`}E4HlkHD{I%aMuITXhSS{S-9=(`(Y9_ZNtgYCKGll#&w=fuhjx9zEkDR&C|pk@o>|&H6;McI8VQotD7GmR>Hgy;EO<^9Y>y_{r_)SY~k)wz&{eucW*?YxhRW zlwdAC&LZ$CZn$bhuy*aq{GH#u6#6?y?Q&Qd2r2ku<496_Ptqx>cc5@$F6#ez zn;yA6W$^RXB2_QJ(BB8S$>`siZvtV3L{vnU{ANA$7KHKFHt(UF@3yrXR_CC@v99D{5%A0&YB;;3MkEr*akKv{@mu@I?#J* zpB~RBZvvU%YZljf?he%$5geNMoon(^cdv>=lUb~GD{Sn`yB5?~#j(u`@l(2La|-Xi z@HqtLrzGI%-XM-kDqAJ%CpYdb5Q4W#T^ny-_9ALGd;>Z07>S$dTY_#2jW86&7%5r} zti`yWJYD#UF_RZ3HO>u4xLF@DahOv=ZU^os)dMevbOZJm*4^@r_Wo1(u_hngCaAaR zOuY3qltx1|r`adcEYT-z%0n+2?LJs7Gl@vPVUPSb%!VbqFTL>@9S82IL)Xt=oCOpK ztJo8!XEe7juCA3bud6aTv3}pPjI4whTuZ!V-sH{p>WyZV1v6fu?Frmlhx8oP3k~`C zn^F3R^g`{nPVzUzM@Fi!FYhRv^a$xkHSZc$#8J=TG;#C2O^T}3#(LB(##d+Y;dC1=k7_WtfT2TGq(?>BBh8Rx1@nqx(gP7$KYV?+cWO3F_ZuHFa;jkeja^KulyT0;+}H&t%fPF1YRCw2%*U|}zBL|FWXZY3H*_nD zG#fp13*7uQ_*2?NvbBNk|GCmb-J@M#;rOSoW~k}D&M5^mrRp+PXgqb@F&1(cWNB&v zSiclUW%vb<83bmD8{g$NHh@3ZRIiC@c3`OFe=Ym?HLIW^^{DX*a_CcP6$Kd{oZ?M$ z4r9-qM+%kdxBdiW{Jv9!tW-h8O4^ipyj}NjI}*I>)7xUTTOUmEoIi#tURdQR4g2$r Ub=1Ch0pQGZH6OqW)a^q44_tyVfdBvi diff --git a/app/src/main/res/navigation/nav_graph.xml b/app/src/main/res/navigation/nav_graph.xml index 9d6b657e2..45ffdd959 100644 --- a/app/src/main/res/navigation/nav_graph.xml +++ b/app/src/main/res/navigation/nav_graph.xml @@ -87,5 +87,23 @@ + android:label="@string/settings_title" > + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/raw/about.html b/app/src/main/res/raw/about.html index 248ea30b7..32651a201 100644 --- a/app/src/main/res/raw/about.html +++ b/app/src/main/res/raw/about.html @@ -41,8 +41,7 @@ img#wordmark { - +

diff --git a/app/src/main/res/values/preference_keys.xml b/app/src/main/res/values/preference_keys.xml index 6f4a5b053..941e060c9 100644 --- a/app/src/main/res/values/preference_keys.xml +++ b/app/src/main/res/values/preference_keys.xml @@ -19,4 +19,12 @@ pref_key_private_mode pref_key_theme pref_key_leakcanary + + + pref_key_telemetry + pref_key_crash_reporter + pref_key_mozilla_location_service + pref_key_fenix_health_report + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 5a59b7e28..4569a2c14 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -109,6 +109,16 @@ Leak Canary + + + Telemetry + + Crash reporter + + Mozilla location service + + Fenix health report + Sessions diff --git a/app/src/main/res/xml/accessibility_preferences.xml b/app/src/main/res/xml/accessibility_preferences.xml new file mode 100644 index 000000000..fab8cd571 --- /dev/null +++ b/app/src/main/res/xml/accessibility_preferences.xml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/xml/data_choices_preferences.xml b/app/src/main/res/xml/data_choices_preferences.xml new file mode 100644 index 000000000..6ba69b4f3 --- /dev/null +++ b/app/src/main/res/xml/data_choices_preferences.xml @@ -0,0 +1,19 @@ + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/xml/site_permissions_preferences.xml b/app/src/main/res/xml/site_permissions_preferences.xml new file mode 100644 index 000000000..fab8cd571 --- /dev/null +++ b/app/src/main/res/xml/site_permissions_preferences.xml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file