From d6c8987575d94b56b6b877e552de99fa0c62ba98 Mon Sep 17 00:00:00 2001 From: asciimoo Date: Fri, 17 Jan 2014 16:22:30 +0100 Subject: [PATCH 01/10] [enh] about page updates --- searx/templates/about.html | 45 +++++++++++++++++--------------------- 1 file changed, 20 insertions(+), 25 deletions(-) diff --git a/searx/templates/about.html b/searx/templates/about.html index 977422c5..30e6c5b5 100644 --- a/searx/templates/about.html +++ b/searx/templates/about.html @@ -4,49 +4,44 @@

About searx

-

Searx is a metasearch engine inspired by the seeks-project. -
It tries to provide basic privacy by mixing your queries with those from others while avoiding storing search data. For all browsers (except chrom*) queries are made using a POST request. Thus they don't show up in our logs, nor in your url history. For Chrom* users there is an exception, searx is used from the search bar, it issues GET requests. -
You can add it to your browsers search bar and even make it your default search engine. +

Searx is a metasearch engine, aggregating the results of other search engines while not storing information about its users.

-

What makes searx different

+

Why use Searx?

+

If you do care about privacy, want to be a conscious user, moreover believe + in digital freedom, make Searx your default search engine or run it on your own server

-

Engines

+

Technical details - How does it work?

-{% for (categ,search_engines) in categs %} -

{{ categ.capitalize() }}

- -{% endfor %} -

Please add more engines to this list, pull requests are welcome!

+

Searx appreciates your suspicion regarding logs, so take the code and run it yourself!
Add your Searx to this list to help other people to have privacy and make the Internet freer! +
The more decentralized the Internet is, the more freedom we have!

-

Running public instances

+

FAQ

-

Trust

-

It's ok if you don't trust us regarding the logs, take the code and run it yourself! decentralize!

+

How to add to firefox?

Install searx as a search engine on any version of Firefox! (javascript required)

+

Developer FAQ

+

New engines?

Don't forget to restart searx after config edit!

-

WSGI support?

-

Okhin wrote a great and detailed article about the setup.

+ +

Installation/WSGI support?

+

See the installation and setup wiki page

+

How to debug engines?

Stats page contains some useful data about the used engines.

+
{% endblock %} From 8b3ca1112c77ab7d131c075530f0dc02c6029e7d Mon Sep 17 00:00:00 2001 From: asciimoo Date: Fri, 17 Jan 2014 16:23:23 +0100 Subject: [PATCH 02/10] [enh] /engines page added --- searx/templates/engines.html | 26 ++++++++++++++++++++++++++ searx/webapp.py | 7 ++++++- 2 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 searx/templates/engines.html diff --git a/searx/templates/engines.html b/searx/templates/engines.html new file mode 100644 index 00000000..1f52dc09 --- /dev/null +++ b/searx/templates/engines.html @@ -0,0 +1,26 @@ +{% extends 'base.html' %} +{% block content %} +
+

Currently used search engines

+ + + + + + + {% for (categ,search_engines) in categs %} + {% for search_engine in search_engines %} + + {% if not search_engine.private %} + + + + + {% endif %} + {% endfor %} + {% endfor %} +
Engine nameCategory
{{ search_engine.name }}{{ categ }}
+

Please add more engines to this list, pull requests are welcome!

+

back

+
+{% endblock %} diff --git a/searx/webapp.py b/searx/webapp.py index 48448eb2..d6ec3a47 100644 --- a/searx/webapp.py +++ b/searx/webapp.py @@ -174,8 +174,13 @@ def index(): @app.route('/about', methods=['GET']) def about(): + return render('about.html') + + +@app.route('/engines', methods=['GET']) +def list_engines(): global categories - return render('about.html', categs=categories.items()) + return render('engines.html', categs=categories.items()) @app.route('/preferences', methods=['GET', 'POST']) From 1db082a28738ff126a2f4d34777f2b6d6efc6d31 Mon Sep 17 00:00:00 2001 From: asciimoo Date: Fri, 17 Jan 2014 17:06:54 +0100 Subject: [PATCH 03/10] [enh][mod] search category order --- searx/webapp.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/searx/webapp.py b/searx/webapp.py index d6ec3a47..15ab17d1 100644 --- a/searx/webapp.py +++ b/searx/webapp.py @@ -70,7 +70,8 @@ def get_base_url(): def render(template_name, **kwargs): global categories - kwargs['categories'] = sorted(categories.keys()) + kwargs['categories'] = ['general'] + kwargs['categories'].extend(x for x in sorted(categories.keys()) if x != 'general') if not 'selected_categories' in kwargs: kwargs['selected_categories'] = [] cookie_categories = request.cookies.get('categories', '').split(',') From 2d179c4cf6817be2171451311e427a7828b0f61e Mon Sep 17 00:00:00 2001 From: asciimoo Date: Fri, 17 Jan 2014 17:07:25 +0100 Subject: [PATCH 04/10] [enh] general torrent search with piratebay --- searx/engines/piratebay.py | 1 + 1 file changed, 1 insertion(+) diff --git a/searx/engines/piratebay.py b/searx/engines/piratebay.py index 11538dd6..9cf41010 100644 --- a/searx/engines/piratebay.py +++ b/searx/engines/piratebay.py @@ -9,6 +9,7 @@ url = 'https://thepiratebay.se/' search_url = url + 'search/{search_term}/0/99/{search_type}' search_types = {'videos': '200' ,'music' : '100' + ,'files' : '0' } def request(query, params): From db8159c19f6def99dbfc3705f1b160929eb1cf87 Mon Sep 17 00:00:00 2001 From: asciimoo Date: Fri, 17 Jan 2014 17:07:46 +0100 Subject: [PATCH 05/10] [enh] files category ++ filecrop engine added to cfg --- engines.cfg_sample | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/engines.cfg_sample b/engines.cfg_sample index f4f39805..75a2fea4 100644 --- a/engines.cfg_sample +++ b/engines.cfg_sample @@ -22,6 +22,10 @@ engine = duckduckgo_definitions engine = duckduckgo locale = en-us +[filecrop] +engine = filecrop +categories = files + [flickr] engine = flickr categories = images From 9808e202faa4222c7258dfad5bfddaa157632373 Mon Sep 17 00:00:00 2001 From: asciimoo Date: Fri, 17 Jan 2014 17:08:16 +0100 Subject: [PATCH 06/10] [enh] piratebay in files category --- engines.cfg_sample | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engines.cfg_sample b/engines.cfg_sample index 75a2fea4..ef9a32f3 100644 --- a/engines.cfg_sample +++ b/engines.cfg_sample @@ -48,7 +48,7 @@ categories = images [piratebay] engine = piratebay -categories = videos, music +categories = videos, music, files [soundcloud] engine = soundcloud From 69bd262b9e6de1da8d83134e3aaf7d6ab6837e22 Mon Sep 17 00:00:00 2001 From: asciimoo Date: Fri, 17 Jan 2014 17:14:21 +0100 Subject: [PATCH 07/10] [enh] about page updates II. --- searx/templates/about.html | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/searx/templates/about.html b/searx/templates/about.html index 30e6c5b5..fd79d2a3 100644 --- a/searx/templates/about.html +++ b/searx/templates/about.html @@ -18,6 +18,14 @@

Technical details - How does it work?

+

Searx is a metasearch engine, +inspired by the [seeks-project](http://seeks-project.info/).
+It provides basic privacy by mixing your queries with searches on other platforms without storing search data. Queries are made using a POST request on every browser (except chrome*). Therefore they don't show up in our logs, neither in your url history. In case of Chrome* users there is an exception, Searx uses the search bar to issue GET requests.
+Searx can be added to your browser's search bar, moreover it can be set as the default search engine. +

+ +

How can I have my own?

+

Searx appreciates your suspicion regarding logs, so take the code and run it yourself!
Add your Searx to this list to help other people to have privacy and make the Internet freer!
The more decentralized the Internet is, the more freedom we have!

From d60e09e32cde69ceba10e441a87b6e856ab66cc4 Mon Sep 17 00:00:00 2001 From: asciimoo Date: Fri, 17 Jan 2014 17:15:52 +0100 Subject: [PATCH 08/10] [fix] markdown syntax removed --- searx/templates/about.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/searx/templates/about.html b/searx/templates/about.html index fd79d2a3..a609a327 100644 --- a/searx/templates/about.html +++ b/searx/templates/about.html @@ -19,7 +19,7 @@

Technical details - How does it work?

Searx is a metasearch engine, -inspired by the [seeks-project](http://seeks-project.info/).
+inspired by the seeks project.
It provides basic privacy by mixing your queries with searches on other platforms without storing search data. Queries are made using a POST request on every browser (except chrome*). Therefore they don't show up in our logs, neither in your url history. In case of Chrome* users there is an exception, Searx uses the search bar to issue GET requests.
Searx can be added to your browser's search bar, moreover it can be set as the default search engine.

From bfc88aef19ced0dac054c135f8cfc2604ce851d3 Mon Sep 17 00:00:00 2001 From: Matej Cotman Date: Fri, 17 Jan 2014 17:26:45 +0100 Subject: [PATCH 09/10] flat design: logo, search box and some links --- searx/static/css/style.css | 15 +++++++++++---- searx/static/img/searx.png | Bin 34690 -> 7647 bytes 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/searx/static/css/style.css b/searx/static/css/style.css index 2e6f450e..6abe6b4b 100644 --- a/searx/static/css/style.css +++ b/searx/static/css/style.css @@ -25,7 +25,16 @@ body, #container { .row p { padding: 0 10px; max-width: 700px; } .row h3,ul { margin: 4px 8px;} -.hmarg { margin: 0 20px; } +.hmarg { + margin: 0 20px; + border: 1px solid #3498DB; + padding: 4px 10px; +} + +a:link.hmarg { color: #3498DB; } +a:visited.hmarg { color: #3498DB; } +a:active.hmarg { color: #3498DB; } +a:hover.hmarg { color: #3498DB; } .top_margin { margin-top: 60px; } @@ -112,9 +121,7 @@ tr:hover td { background: #DDDDDD; } .center #search_wrapper { margin-left: auto; margin-right: auto; } .q { background: none repeat scroll 0 0 #FFFFFF; - border: 1px solid #8D8D8D; - border-radius: 3px; - box-shadow: 1px 1px 2px #999999 inset; + border: 1px solid #3498DB; color: #222222; font-size: 16px; height: 28px; diff --git a/searx/static/img/searx.png b/searx/static/img/searx.png index 45037ee334fc4b8d5cd76ff4b052f074cc772ea5..e162da50254b2c0b815cb6908035d740663e906c 100644 GIT binary patch literal 7647 zcmV<59U$U~P)WFU8GbZ8()Nlj2>E@cM*03Aa~L_t(|+U;F?cvRK3 z|E+yy@*)ZE1h6UyBq6+#%mfu_4YXIh!mSS;t=N|el1WHVtm3mBw6$`flt+?@C~B=0 z3;1ZO6j~nRj#E4-af(T&%d<-;$(Fnp3FzN{WPf75S zj!J)Xqq}@b$|3YHN_K9th7THV6Ph*|L18ZAk)L0}As6To5^0dW8iWKaYF;UKnrMP`660Qwvx4*~d) zBp)EwOJ(`a3eWn5e*A}0a(+>tNE-Sb2)Y`KD?l`qfI(n{0XX4yj2?_$`Wlg8hOesV z9~o}Bk%YL3fo~BZ#*7Iu@DWLV3*eU;4wt`K>745eRe_A6p*MhN9uuY#C{lqZegbw$ z=v!Kvd@t_5bNt~@Ic5`eysR%>a@rkqgl6W^IriP`G!9xxoE) z`4()RD|;IFjas`kEH-T9Qet|5h$1fZE+gP)yW z_Jfe5Iv)vraY<&<+72@%HLvm#VbPWo#P_>eh*}k17V0ex%gS<7KMzJFw>jOB7!vCQ zBex?0X@-U~VYA-sf3R$E@_}IEN6PB5zLv1ahe0A21Z#K9fx-Jp@;&aX#BDtV{8IBP zMhap5BN2`5=(~)79{||$s#0OG6cb=kT!#~=KXIAor}i%l>zAwgb|UeV32O7c=dH4D zV)I-nI<|Y)EYLJdRd)d2Y2VyJ5Q{9RW;i`0~9O6d${fK=*bD@Bsi35ooR@ z+_K;1s(vWhxyc$V{IC~zue3x&l|zWTy9@YQ<%Y&Vh`-of)z3~?Q63fQF{(6I%@j?9 zeb5=;Qz6fyF{NN$VZu7ZB0Ba#qt6d_7KMZ8=O%22%~H19e#RRR7aG*=s(k^1)`O_~ zg@>pggm~UoSo8dFXHj@i0H3R7350k9L?gS2Dd9xo(WoIQyC$tGAKv{6>Yc|z+X2v} zL4z73ejFAZ`EKgElA)mreD(tGl?40^gh5?7?iY23mVx0l!GOt1&8xh`$g>0EhGr4y zViR0}M@qBD{p(xW1;51QJEI5258DpH&A}!J1iEEV{IEC17wqlVZIhU@N!SW&HW1OT ziAW0quGn--l*eA^y}H{J)K&chLE?9+Zc>0Y&NN|(e#5rXJuuXOFFmhnG)VhXmw6R! z=%6#BnWdZ$uwv|#!iB}Utg}x|TDv=jNIanK?xKuK-~QjW|94LCOLlIu#>B?IOhi`) ztwaz_2@?^o*_`gkE+5L!>Ix7&1&|0{k)dRY zj@^Pen}T+ZXVa*)Tf?NLz0%bd-&fq`Ss!qA=x~2c!s^89lpV@!= z+38T{6oSYh6IX%oU%@UI1iFgiW1s7C3n%{OHAHl4kSchDCbXB*T-8&%YRm~M%A%mi2YU=S@)UUA7Q zOR~n4oc;e_1HaUK?{tD#6f!;m(d@Ls>iJz5d-(}SFT$+LRKq9?6qGm;cDBpmv;L83nrwkj0Q>uF7yri z)Crddv1`5{7!QvsmyA6MT`Gsg1Zj`8xA~;z?@t2oBSm5Qxc0g6-RHY(K4+6io0c+}fLTN|A3(ICH20pw62R{#tSFBP>l2v;!h`3#x7h(LvI1f`fE&$sd8vs=!KG;SUEi7e$$Rga*Z^QrOIt`%y#`QuxGHUJCO$TzXYdQ0Oc2`Zhvb)dxTt}`niZ;98WChp9FC@?GFz}s4 zd$PyYx!)@Lo@y|aK-0`#EZ_c zljw%eO2f#1bRf4hkJNSfZDtveOo%<%W9uZKbZA6`5wT&HWqx%@)GEm^a~4}v+>V4f%I;-;QJ+ZdqWvmq6Qs8c*^@oC&a6dNyHL%|?34D>){5FZ z)_KQ~MeJ5^hw58SHpHK{C`}=|tL7~b8OtYR{VKO3>3#J%)V_vRi{FUc9&tMo;sOOx zDuoT&l_$n?#B!xOE2$Dq)Y4#}ALJUOJ^dHNSeArinMzwgr8TCo5@7 zhpg8&k6mJXNLg$KBP+8rP7(8Zm3QdEI@;XOi}z<0*oW8&W^ydv5f75QCL zRgsL{-(}`XGk{N3_Lvmo%w22k9ngI|$>T`4BUpeB0Q^mIA%J=X4U3EE8+SJV2u=J- z&FaI;9RRi9`qxGw*7aP3fgMiF<=>Ze@2S{evanul9X(x2?dt(6Hy( z`j(?;@@IGEi8e7m7|&lLajjX*Jk^Ykl^CfB({^(q#D9Z`j42kjdF~qXnVEuCxn%57 z09zE4eVVzYuME22I+vO@0~SNjqlpju8yjZt%bIX3SZC-t{6ap1-!txAA%;{h53szu zv-)Of;{!ArPgbRAwt^a`=k2mbR4eCJE*X0?J-<5LuqB{395iiJl}^CBe^aW}oj}Q+VNY5FhQvz439!Ud%>qAnR>I2eTq0ZCya$LdvF93nyw9DL^yg5RswZcB zwcSGvc!a}K2QyDy6Cy`0OMd;xq;D0@o=IdF%&~JBD z-o|9z(-j46Pxs@^iz{*szkb%kcJ?COFEHxc0-FmLnw{M$QnrKww#%~kynk$AL6 z+7q9hi1s+`jlnv@l(nUUG!cFoX<7n6<3Kc-nbQMNRKjR;pN^1Ho*(mvZbw2$CSluL zHIEU|{Q;KaW?gSdX6WlC*j+UrGq9bYZ}T@d zzgc!?%JHCBL81{o)1Dxq_m8>=K(}{%8@GC2Ttry-co2_gqVZsiCs6Xa4&GGa;UP-9 zLv`X`)E!zjDE^`w&1f@u9)I@{72x}-+uQoa2LamJwYo@`v{taNEYKn>e!HvY17>U! z%-i=I+311O$=$MojA7`Z`ew1xu&xF_o6{YM!F{Gc6IX-DMuaqg;?6iA^c6p(mzYo& zs&hZ+%xE5%Up=2R+7XD#G|VW&S^YSa!OxSK_!pb2W*ZS*+Z{|JzyhKvM3};$U)ba4 z9f51!-&pcCpJ>_^s6&Ky=F)RxN~Cp37qj8cqVNInLuL_)?-4NlU-j8~L9PRPFCPu% z`FpYx-?O`_^FfqjE??k>?!V1*zKT)CEI$A(zB>?R^?+z_5V)R$0n8(f=2dwYHA-z8_9SikuICd-NCkuyUtag2H0;}|{5@2ejM=7nIq4#uhA(P*(cHQzhaM7Ou8 zrwXJLY|gsP*(5AseKxCj6%Hg~{@??T#l*xjoY9mz3qEehy$gfc3+jMdAGi56KW3%>;`XMCjJUU`^AW zNLgK$Y(}Cq5jO&4s9`co&hca=*#CvZ5+8(i(cH zYw3zryCVG1Hgwd$>No&WDyK|c3P8Cfs}h19bY?Uk1h%8~PmbMHHI`Y-AR%Tl^JF5@ zx|rv~w1~)i06e7bTH!bm43;?OsGcs|>3PKinCRyw_^=HCwt#t~rRmF}P`LNqOBW`8 zZ<^H%s_#VzDL!1u862!s0l7gUFWqi@YBHM zvQs!)EE_Oq(^V?I0RE&H zU-(1;fcy7o>2^9vFwHl5Q=_%pALhEV6O_x@_jq217$rM5Sv9M88VI!4M_1UUrQGS+ zj8%rW&8}cbkuyUtU6lN;Co^HG$B{5r_!>sA@%)2$$N zc?aKY1JNbMc`F~@V*>C208?OZtMpRmC~8Q`0|0eN*)#$kP0g9otidoQUiStMgaW4mDbZeiC}A+bP3Yq`@MdfyoK<9gxMV(}vuf8Is`F zmiA>$IOfhuxS!d71DFk$vLdi@9H`IdhpS<*A1MJA?i)L;rwTfQMjL;YO)Fk&kN;jW zh(z&lfA&3z(h&~2bi&g2;VYh{UJuPSk?pRR4G0Szyk;rYh*-W>2n=` z4S_K)wlc~!-|r%%1ji>o-@k$_lEfT5CO#H?H)n1L9> z&}V{G4xGL-D(JRe=;>y1Ite5;sI?g2?Lt2`kF|aufsCe4(R6!(_b2YGq-Q(h_8Q)a ziO3N^XWpq=q zH=|~t#*7J^Zi!cq-(~l-WR7berkU8 zGy>h-3q9RSlh&0FC(y4HW$E{BM{*eewA44Q216l?M*THQbU}x;lbDr&f=Rg2^QuOh z$y8fG^}Q;=QzA2)zwpxvCemQG^#5&!vq(ANGi9~+Qjqm^rPDOxb>^@HClq)R6&?|8 zI59QNRXtS`^zwgVN26dP-4gZWxtdLNLXevEX8EtHsC)03*ubo-6)PpW!Ioe1{SJX2 z6MvxS0u7KBZAV%`<>ji(OwTJGU~|>1Cn1(A>88$an6<#4*L}K~6>fU~m{}h`Y@BmZj+$IIT?z|6Hu@+Gh~Wo_vNtB4ED-}I&`BM3A^2+RAn!rCpig6iv2 zR+n{HIFnaZ^iOkD&9J#@o@TB8$3(P1iJ#2>^c>mvzFCWW(3#OpQa+}*8_hv{Y+0JC zYDQ-gGHt)98e((R|&srB)=j_-^o&Xt$O|8;&=aXYQm(%2rWYIOP1)7#7F^Q28g~xX57DKe$MSk__101 zu)AuqL1bphu6lsoV0_HLNf2Ve7(}2E0qy;Y;B8vYtUEl8q{3hXKYL;ApJ6ZstnFr8 zl9~8;yPKY?rkIG*)jU9Xy(c@d-8=rRip6q0NSFtHL`1*{fJV@nL@W}me-r<*7TdtD zS(uBH(%0ZJd$AAXUe}W5@@5jW?dnDo5+Ue50Sll3QX2sKw+EbKOEQTkz$Z9$!qjTV zr0aiWi>Wm+q5;YPwfXekh+a^Vy`cIQRp4Xb6Z-7rn)8CAE zl-Z2KsQ(liw|ZY33$aG|MY{Z%$7w%rD}~bR#J9lwS4B%>Xc$Gbd$=afST-c((h!Hf zy(d~eTouR>>W|muFnE9HV4rlj9ZBy8=H;B<6BN2(zQM!4@@XvdS0qtI;9>hE!Q*S z%iw2EWg^lWkwGOzuuBw|rG+UY9Qr=hO%;-?x70;qE zr2r|ny%Z$YCobO^-7fe6fYx%<0k9|ZBv{^Fl9jlxD~9sqj{8VRIUUT$f)w>6OU`jS zl2!zAl!MNUW~u9oyZ2N12rF8k%;LsgXgfcp=M@iNXa(xag&n2YNw0P48DH~5>K!BL z(&*T@<>v*z;@rzma{Y2EEk2idp)tCZc$C`Sjgu#MoexPpFPffWux; z^{sZn4*)zrwSQ56qHYQ^UJi0!*T<|o+*t`LyJPs$oFor?&FKK|4HDohhrcP^?HJRg z>vqg{U@xvcWm)`Bg8SQtzqz{cH)jASm5ChFACNS9W(ElqYxGM=d8C zuVm&YRRgmMyl4T~*;rSa?#UTn-POY%$i1$mQGRlR^2uBWH#~ry?zc*>J#(tBH@56$ zX4T%ki|hs7|LKLgvw-h$cPt1`s4pA*Bz41g()Zsv{xCC}aF|J>C@$vF^MW4$!0F_Y z%*3Zi`jVJ=HG>qLbt&-C0RWH3T%@(Uo96qAW#3ciQqQC!HVsPSc+3v2`9t!d=Zx z&BM7h9j2h$%+)<#yZ>XJ8<9@+RdoX+!y6y|IawrMH5Rm-Te!IN5ap|n3uWNOyw`tFA+JNls@QtqokmTAQ}naGJq}y zFbG5g!RSXoH~=faR)G8rG!bzl7$*UI%D^YY{7(>90J5~9Zhu90x^brOqU%bA3N7j? zg0Qi`Wnhc|Fq8;=z|;rCmev}1)Ih*tW_$v|hs3;3*L9EByTk2SztA6w-#&3w*)U6Z zmCO8*y(45Cp|e*J;;iIkZz?Nf zum98k_5XV{xjWzQJ#n*XCHQzoX@>#-zvTYF%nLkz?B8#qy8@a1;FE0LNKyWQn)+bllAT6v*L7ewq9Bhz(t@!uzXx~_(u|KHa_RbPetU^onb`pVr+1N7>MkUkM0+7Vyt=3GXRr1lH6FZ4Xf&D<8d}@i6u?irnn2J% zuCmpmzw3jQEJZC=>>SnSW788X_g^x5c|-N0A^vrSb;}x%^o}$ zT8Z^o-EM^bcD$$^Tbp;1`Yfd_-Y20Dd@SW)_9`G}_H&*MD;1=|h^)rpuIn+Xb956! zLoT>Z@y#q)z;nKo@}#|PLJ{H%E}EX_RC5y zm?667bfrNSWK+XVQsx~k176$de!Ma{N`7<6<3V&m%fTWSmR(a#R?hLXRSzu7i zEu*&|kR03Kf2{2Z^hvDyHc6#xy&rYa%P6wLe#sYjKkUQjB4&rb?S*Xu}%K3S_wyQc0abW3TMj6X>fC*M^l7UC?&y-&IlMiThKrpJS0 z*GXzYt>BXps=Tr?NWQt~qp9qB4<8>N@_O*hQfqUv3GjlB16lKv8)NVmX=&*mWiL0k zhXD;{@80NZyz00{s@fi>!+{*W^|z$=YksYjVwmN|unUgV+CgzjPsgp8w1wHLe1O{8 zVNcP&a1NF@J}w)>)-p#Md2jTI^sfmVy8n~)A4~K`P+CJYh7;yYq7s3*g5bFJ*b4DV zqhwkj%2GDu^pIMWo)3kV?)t$)DLd%3rdl!WI%!$i9T|3VZ;U`&@M&N`Cpa|p;%Yh0 zG3|&H%A!xGI5}p8x-hcF8js=^55IvAuUIwSzUr6)focM3#7Sx$+<9T)^~trpLz~JI zU#T#v9|7`OHyBDsU0md|OV7^EY$HC+sXK%;VK|7w;xOJ&-b)NQj6d#1kSe`G@KR5L z=7#Ty1M91lbnTqgTFc5wKK1o)-x4`v)d)m)+A_TTuTvLHZhUi+%HQ@c|0ea+vMuB+ z2)6ybY4&V0)HO!jhSf8ps21GFyt`A=w1~;7X>e_^S>;%PZxi-a$J^g~f&5*I+jT_k zRFd5HJMAHB=mF;E4Ok1~tNCdDhdHMj^rY%~jNlt*DhxhN3o9JYc9=WBYiH+<&vxzJ~;##o0xpv)%J<2B%Hd+R7PIAAJ3RKd#Q7Of8V=pR#}=o zR_PO-n>>u4Uaw&*kNf;2xjXPNF=UEpRzrw7VRL_Z%Uj9%uK(bYyej&=-(iGL{qfaU z@}TDd|6TRE!|pB5$<$pHxIgYVE0wLI+>7UCOgMl)HZ1&f%1aw=0Vl?!!51V|>7TjU z+b`3F^E^l&=Xq>{y^YjM6Z+6LVeQ){^~d=2m%6rGvJZ6J%`c zg_VkT4u1z$eDOHF8n3wjV+*M#MHWU3qeckFh&za}{un8KIQjd0mX33CNo1F2QMK8) ztR$o@)XvdywNiZdfafs@q$0R?e=BgT>6{H>9L<%|*0!%aJ$8Tk^s=Z`Yq`RIRt=uZ z5lFpf8i*V?{3UgPyj5LiI7Z~9&EZM0PWG_^%pR_fc`)o+r=3wmXxh2)=5-y7V4noo zFLv1Mnk(r?t?h3x4#vrK<-hkDu|n3-K}*gXznXEl!qTWAZ+W8`p>40`u_I1t(a;}V z9{7k)?II|>3q7L18kg`6L)&fW$qa2?K#?98iP zy7O)B!(LMr%d2@e(Ob99j0=W;-Yk@8+s_xkd&}RZ%edx7vBZ@W&NGymnYqN2?E~u@mi{IGTI3tw|&D4)l=n$5;EX)x&N(7mEa9r$|&+McOt_I}5^uUoZH#c|V ziti4kfE=_aAq1jcCA?CTp<>89&FuHy@x}grUE3L(XhDvNs71Xl&d}Y*he`S3Xt1ph zb>jEBXD~s?t2tS9GZ;k-wd1e6n%`31?qq2DwTf%M)BGW2%ueA-SS#fU_$H;6m21<} z(*;dUO`&6w1uUlBX@*3SJMnTa9fI>=TrvJ z=t{EpCWMDZ4C$D^W3Br*I(xHy66g&>2*w zP+_$gO-)Nn%VTHfuQZYOg7(+VPEh6ok(@t46%K64(HZ&J+R}2SNSN3{cFGtLw3$@1 zhv&rd;6j=rX^x&g?a+0_G|c(o($_a_^rWh}>2G)_^|3xW2xQLcilxeQThO+3Y2$0x zndYOSuXa1n^97W6;H&iFe@~m;Wse+N|EAP6FSjuz2*P#J0#Ie6`fwpofv}{o8S4aS4;g`&cPkN1I8;60H*YGvH@V9)J!X ztEyC?ynKOggUT1D-Q~CoG8pG5in}+)sOT?>2%e9b@?3!Di`86Mka{u0zTmkhr>D<; zT8kaF{M*X8s5KjUQs;~!!^*K;EcTY^qem|%4~4gaHgt!3iByQfLN*&#xvs{lg;Kzj z*T;SnD*vc_%^;DuFoCJUiD9aUzwD$Bj_4j^_wM%Mo3rf4AGRDWM9)rb_+A|76pu)D z{RFGG5|GpFVPVnwj15#^x7D&>ZKu2>eXz~;z_#C#?s~=!OFdQHJhCP_d{C0kZ*!wO z`ZO;od?(kzdh?P^`VsHsmi&x_X zu*duC*vCF*+d3rruA$AF$^NIVB1~6~2HCg;3*oSm`+6^sdJpJH!9_KUt$m%C$jDL- zJ&${~>k<=L`qo6|WU9dn+;~a8KzKBZ=y{ml8=4vGe4aAtv0Q$ zS?L5PTskED8YvD{id$5K(!c`1AG>02Wpy3{QXQVdYXsZA3+$F z5eFobQ)|f;JI`NZKPI}=iN16_O71z1fP(6MPY<_4*^$G{a2?RMqVpf5H+0`X`J zeM+h;Ac9CADxdxJW3vsRgvAd(eN{}vkv3FU5Bt;ZQuYm@po^glLb2KkOPa%vNB-?O zYV2M+tK@!$JJz`GenCQu`+Rr{=jGF;=J1{Mn!(oF+9PfxVRZ0?rqkyZM1M*(THlxB z8JQfIp|l)%pWkiwJ6mzS+|aQ`Nfl07FzPb|b$XPapAKG}8sJasFb^0KzM+EHzFB4s zeaStwn3{4+fbp}Wq(5z%KDPoz(j-a$9+U?5rZwn{XK>HE2rh;M{tqAXT&t2!LsS~f z+|#}py?twVOAt!CGJN}>X4JLrqTaY{gJ*%1*{)`CLjnq0Ekuu1`0&5^+6`Hg!Dfje zH)Q8BlKRV_n}=(11OBipSOPx7lYgu5J1u;Z;DYPJ8lw#mMQ{l$SXVoVuSFvz0l!O% z@e%Hil%y^P>!lH?Jau!U5N-MUjZS638% z2y@jl=I5`ziLM&?qOnG_b6hfASsw|^8iLjiuNTt*AaQ&01Yh_uxCMP6QUorOb8>d} zqLOItssiTZ-o}Rx8dnnQWFL`Iq}Q4nLJh$T)7MB4U-{dgDHG}&5O9=BSlhdaFHh2U z!hVsBD;!&6b9*a0-{#i!clXgptqO~Voge-R=gyFSu09nDT{TjyviwXe7QH!Wh9lked5l#hyJT7Frfv7b;k19CLmW?9hK@`{Syn?q1g3l}XpiALg56VY7d zNdy~R`7Jl+YewZ2zh|y+{y0bQ!M}w`1aYM+_d3(R|59OnHpl(V)McwAf8vO(R&+K-39MyrMIh;z_h=%?6o zt93Gqn8ssvnU}6TyN0Jhp;bGt;!qo!v1*G~VA@DN)y~(rS}3f&lAq=t2W@1U{kX8B za-W2u#ylw8P7>*-maMNXJGi3IlK>fas3$&)#AKnC3OZKa;r5?_cPuw9|7U|k%@HxA zMa09OZ-~%`r4y@wS_kFrC=>&*{cOFe`P?G*9O|a_D4(G#E|Dg-N zYxTL)=zx;kVtL`h(LF{#98R5LnA?ZP@~O`xuO6{Ml=Jj$IgS?m!Z{vh2n7Rn3_e?tJRBbkF@E~=sU9Qp)4vw81Xj%r^Ru4CpKdAnAu*({ z@s?yhL0{;tgtjCSaU~%w9Zi_9hbT+8EKHkZ>0u80bE^1fkNx}(+Ti)2Q%+K~>1-Wh zq-boX2ThCRpzQ82+WSB=qCqQ$Pd&W9zklm?*Xb>I>7Y(UfY?Fq14M@yO(liu2TcS3 zJ1hzG&|QZ(EUu3*!9bYc6{FjSC^FLc$*#dACFKsdRsznm19C#2V@P3gH21D{S7mG6 zm|EL&plBo^D!DSossH1bcanb8>2otP{k^avp*)l4wZsxR$_eT5^=B2Ydq_2Ar1t`| za{^Y<>CDj=IR?ZZFFfvDTUc+2-ZGuyJ<#xsRDz&-oKz2498tR|8jHyzu&1--3$Xh% zP5Z!(07VHDQcv7MbW%Db!w@!pzaIZj#LfM3JGP?g@P`wtbY%D5~TH|(Skiy=50 zt09D8W_7=aq4&5Pz)+?GTSBg>C;Hi$?JL1vyIXpdxvbws{5+*&eKqgO`bqsgPq zsb}imHl`)^=eFPL35l zOg0oNR`YT4>G+Qy|KV`ATe)-dW=}>(jT)aFNqq4rudAyA-Fs3w8pGWfYrpX6;b*aD z72xJLySJ5+L^?{Lz>WAcvupX)1m8ryfN#Sp9SZLYigOtp)-DXt)9VK(vjOWrs;p`V z8Nz*0Jd|4Wq`m+nHl}^Hi9FW21GqnUy&2RA5-zWX&_sNHr0|Y&$mn^>&-PFygXFh{ z7V;V;!LUnbL=IS-Nu_15SBkxIK@yb^>WJq1O_hq$2?-7XdEEf3+XHiB$&ofrL_EY{ z?Wna}UJb#Ua5V%KLO4(B0za{_Z;~%C!A%<($_Y(uCQDjJcBno=Ai{ZmsCBYKA23Vs zaE+4mll$lmI)=>EhE5L!mf6?&55jr=<5QQV3?KK45hoD+HAM%Aw4KD}V+D1%l)UwBS z&%4W>3c{nBlTFEd=p6bTK)b+Aq>yZeV>}%O=*9i;b~iH`;qY5k0XphdC%>oRbOCKb5^NfzyAIjImlWuWXjmv^C5;fk$N8h)=rJe zKV&O3thY|bTj=PzEUULzwwacV)=ur3_I}i)hAbX?{#y6i$`^=IQ>C}S5zfsL`DUGB z0yLK|933k4cb&f?NC^`Me*;^#lspzXE6b`sCr0O6V{so*w>(h470m>V#134G0OrbJ zk5#+CUc z5$A@2qt%33`YPL)fDv!`V2QqJ@U#&wJPTBp;d0HjvU$>;dafs6g}{BDpTth0(vD}RtL}Z#Cr@5Q@T4bwg3WH&g;eqd0)O=+@Lr4o zc&!R^Hko3+#-AhQ3g`+MWdW^pE z+3Z3Fx4a4sU1DBidQ8#r#$y(WP7w5wFqYZB!U9>t;mjI%btE5A7~m-l_&CipIi`dc z>2JhnByF`m;fscy+;diIKK6C^FOPE2aSXA%$k54>eJdj^eJ%u7`o&u5A|!^#tJJFm3tlfi|{SHSVvwr@;f|ylG=s zdZ=}<#*@CYm+AFvOE#`a+NRjEB8P)-h5Gm;yWlb!1NTZ>L(YyVb`>tn;8bNIH@KDE zTV5KmOTQ+X0QEqTO439nd<11TfAz25VaJ?|Zb zPz9O}Qdlu+4S}fcDF0|O<)8ZWh0YzC@VP{c1zUXgEWr5p=i9rj$QskhE>WZyPGbd! zP!xEMr>?H&5R~P+nU8F1xQn0)pHt)L78NY)!gHX|sWIZ+SX_5Dp&`w1?tqC1$~IDQ zhj#GzTDv!&)%0Ej|y82W(Qx6@<1AHl;a z-!FT=lcw*7>RtO&o;m_^7welMXIwocAW;C9d2nKDWI9!E^$?MF1O|p+bNWj#yZwd`o3-jjRTlEnote?e17QS5s zaxoAh(&PZZTG?19a}bs@TnhoK-L8MNA7K}RDWLLT5I#c{p4KEHTMF8Ni^C;5PT$Ij4%eMheOem!ij*oi9)-Fc-(@&tr2qp4|_=OA(pMv7J-q1 z-bZm1Pz1<4C4yLKBXbpiDk^#y(ZOnq>5Hc2SUUW+hcfslar(u>y+ zm=SiM=GO$|R2DlQZ}^KfzclEtPA6KklQ`<~ZEE@DFU+5hM`cQQkwa#TNTeQP(d^dl z&d!e39g4I)!+AjSuObsJb$oa*B1P9Bb~V0x@0a(nM`4mMR4&^X4>%GF%tHvy5GhH5 z;2>`QFTESD0O|}z0_w@qHxl!Lk*ex3z69rEA2bf7d}+dN*9cZY3BtP8OC4_hf)viQBaczgOtHj9qX-fta76 zu8>OQs0$X26-CLUjrV>EocM^iPD));(Q+6v?5g!*r(*pK?g(B=CF}|l0Ky|7S zhzc33oNRjE%+oYK&6$xtE6Eil7zKHUswf4`b@EEZe06mY&v zi^mbI*e-#?y z%?ID#7TfY1BST+h0=m5bTxM#*@q|`~q=E(xUk0 z@dMfG!^ki15E;sFE;yi?%n3yBz=;iV)jv-Fn|S0PvMEM!sl&ay=@8NBgpI{8Lb{}? z|1AgPu-l#m5!?`Y)d zi1O&56L@tWJ_zygKH|iNm9`vr54&e7c$+8;=ugh9uWG{cDN3?Q6y9BpZuSL2*QmGr zSuGiTdUO{FM6UXQ!v4>-ZQ@wW38wxb;=EWCP6GeUpvT?IF&*qEWK48^1Daa*mcO8d z$q3<>BTCIcMTS%c@N&>n+;c1;qd;H*Z2Zd0!a0AuI;h`1?2leFWzcg!JKnoU?0u3V zCsz5+NxxvYp1ynAr_B|{My%3Sosx5sj(wf(cNR|w+z;YfN^78iS^&T6#vDHLnGWG( zGR$oVPUJgch1Vk9y~f}KqTmj+^4W2X24juCkN>Ia3$g?mw;78Jts4O0#Fa+S&|s6O zFam!v8kKuWXdajg*Z8Y({dfAQA0MPqqFDGnhY&c(TH}VDmh4&=-_60SldFo|`TN?* z1bt@jAT2@>TI-vB&~_ppSp*83j{y8R0fj@|>aC_3BM=XeOpGSi1Jz9NeR7*A>H#VA9P{Gj%-=D))WMQhvgoS%4cSe5fDulWv^0}o%XkF>4#+$QUK_&pv z*c_!2LEieIje? z7`BEzZHQ-ECCA<@VfCn7{`+Xz6pY`pe_PB#wR0?}+&xWhag3OzOu!HXA7D7VV74&$=IM84rcrIU4b=vj|B+(pSU5Ay(+ zGta=b`=pRY#~E=Mi?fB&gbKeY4DO<^#)t0%6ZyE3DSJuoSg$}Zv_=VI_8@RK&(zvx zFD@N4Npc4+Z!M8(o1=3djQp*VjbnfwMCJEj1mYL#e~gb;iHJ_hL(SLM3a*^S0mth6 z8ceZ5$f+Xf8(@vXyHUYymnl2`*b7`OEz~71Qlq7$AWXm{`B7_(8U|wmg+Rc%q%tld zqis-_^o=l~E12964BXWVVfDnebpuAEopIg@A@o1;m!>QUJtWS0jO-Aj><3g5H223JFjz8K$lt63ASv{(gEu;{V zC`i%|x*yMVmX&n$+Y*+c@ry#|!{1Bh2XWx$0d1iRY?--JNYiLc(wUEIy`=N$TK*Jz z1^(DVs5o1v7*vuf!egw0ft}$0X90{0fKQ0&d1d2NBV2<*Z#BLJ)xPY_*Cpj$QgW6& zzf-DYKVE3aN$U6}YAu$B^7vfE$bP!>>6XeLJ`w@1Z#BXN+1c4Lj%NE2s5LnQnmh$i z((eEg>wLcwCP_DSt)8whMagajc#48>pqR3Z(qi=(w+$XD?&(gtDZ8s!J$m$|zh7J4 zV}W!zfD3B(5bYe*yDpu=#`!X-bwn@)tINOXoprawD06!H(S8gGGs-vab04vv9&!b^+dbm^oLgxfEZ{+8kT^GLD=OdX(0H>!r+5m=IZf{Wju2e6YQ4F z{(4BgcYeOUGnR~B;@?M5{YamkifAA-&N@l8k{4!PCklhfju;`x@e1&KpoKCe2vdf` z`y?2Uu!ED}?KQd%`t2u<+W&x_jMiPCF?yDj~)O3#`SC+N6y~xg1bVW6oj#pf|8C1ySLvD??LbN z*oIC#^%!Sq>|e3^lMkWXB)#G==_kSnJHlIUpdXN{wgXRp+bDz5euKQ}S{Lh(eFF3C z%>K&dfO9!pe4X*(xZ?#W96YFX-XZc!QvJp$NW@oh%P+Su6m z^b6@+(*RM}Qyl91+TIh6ZfR`;QL)c>AkT?3mR7#P)jqd(zfBSbgU7{)gZdG{)05d> zG(J8)pPZcBG%Yao<3}FA`8x`9z*v7cq*`%gp%z_755T0!+n92GNX%g+om*e&WzT2B!D*wjm0@<>=bII9)5mFUBj~q zyc=LnVce=R?b+T}^XQ1zpirn|K+;^xP0=Q&6HeE5dn9?1t77~%H#UOTKsdvVNCm}+ zq%FLdF)ppU#lcY_*(aucxzr&bVBE6N+gYa}h!tv;<*I+RNrp8p)2kf2V@&kM#jCKv+91W=4cJGbcO-{Z zzS?!M+U_dUIcEee3{=xjImbdgWo2bq_UT}iJwhZzg|+Ne^=Ypc91uaLv)S}o9|S;0Y*1Pz1DVJTa+?y&(^^~K+ka5X6dIZQMN&U~ zv`O6s8+TV}KMQ>A~T4@6w8aV2$K)TqOBV{S6KtbH`7lx+qos%CTH7 z8uDP6oDkd^`%;WXrYhzUpRR+6{Z9*|2gl^gXQ$)MXHx^&cPMOF2mC*?E*c0%@ZOI* z-2u1y5dOFZegIKaq_P!7V|qbCK|N6cFkMLmzD8J5L$Il?uA6}JtxzuMwPZvd1G@Q8 zVz)RrW}q)GlLDkS?s9aSeDL0gO%M1<^hofwXXMi>-5%1cG*O@^P!JTiExSp`{{Hg} z+|N$~4DEl3i0|rU42I^cbrb1Gf0GK9h+B;I+l?b5riT9$lPj>;ugiU@*W+xf2q1!^ z&q!7#@ld*spz|rYmn2M2<2q7Li{2x{-i-N`4KQ9ddV8rvq16pFoW08}?Gf(X3Fj}P z5+q(w7?85rXf0@XA=aoKUBoMd)Qx=5d%?m5WPr1_5~yM_7Kf2!_`bXprB9VFuw(S@ zxxNrQUz0Fli*d@HGgJ+}p@-KpOUaI1Jd}e+!Njj5@X*}D)zuY;^VDAtt{PiAYMrI( zrB;6iGr*M?kG9;l~P^2{)!GmQb`Oe5;n2Zd(XR~?B0FQGCu6_@Y}G4 z7x;kpe-rZZP#P_#Q$c(raM`X5p$|g(5mHa;CPS$x*z{~E7A&uU`~4^o^&N$_C|1)N zkUqXX)Kw|9>2?hmZbRFP{cY#*u#`Gi1XrnxYU$89H3eoa!59rH4_&igKi?*TcW5V}Zb ze&6tQ1{u2TCP>UyLN4^YIZH8!P~_~A^)+4P(v^;U0bt$&wrr%a0UPE@3R$ZXzi}y? z$JU{yx%tW2qc?s9*&tU#6|Q2{61bN=RCh%O!}0j~`dFY0g}z%=Pe2Zi62 zdF+`Psn!rGcpk_0-Ee}{ldEHmqsb#wZ%1+x2n2U2cAK14Aa)BxSXg`%dznm5t;WZX*=vHE-UK+7u_{$Rs8!9z)tv`5;?Km3+W zB+l}-0^iJcfb^&+?0+)QY3LUn#$lX@p%D}|rOP7=DEq=R9RTnFp@(PTJL=Aj{8cQD z;FH7A<#8Hgc)F$Zfvda9S&F?jW83G)#9*%S;J*u!(!LB|(PJ#!l;ef5)lP0G>uCfx zB;Lix>C_-iAXDCjubDD#A>8m<96=ja!h(doe(-ZsR~O`fKqLqayHp7b;6;poBk{^8 zDJc*DLthNw_$l^o-E-h#LINQ<{WM;!;66K^h)aJWUz{9`V+W?yd^ov;<5~w1gKf_0 z);O@EDd9jVMPqp#Xk*1~K*9z@L4Nzn4M#o?1cx7MteLFOfZY>r5gG(?1RWN~3#G}E z3xo6Nqng`97&zG9XG}_m%^H#IxCG`a_W`ji{EE{R#|2Q~v=Fv1^>0$y(>h-BpUHwi zL2ETH@(jOT{4lo`{{$o8$ENHIj)vD(;QM!fZV@-q>D(ew;e^==N-6_3=mP?&F{+{O z?~?t9&R0R-0{RA!5nJ9R1&Y&jI2H&TKL#RGe_>(aMH66(nIQS|9OIj(rM?l}qXey& zNpv`qLI$>48WmIE>r>c5($&G-NP(z#vs;=e_T{)7T-zg3-4ezT;UOrSj`b}c^UT+c z9jbe!yW(9RCL_#423y)P0v5*|n9<)*TP8L6?MDO2`j&lJVqOwl@ip1moRyERIxaII zlA3rAB}n!P?#G{_p&w>i>CMTf_RAl{S27O{4hGH8lls!sWnVlvV0wT=c^3>1AsCxa zclu`e;9k`x9yn``Zma10_mPEHo%PAQ`29wtv?U*cHz-~xjYNS@McH?q6?hdW?6s-4 z--aZs=#qd!j|Jk#sR-OfBi+(SGz#u2#s1HaURfzp^4rWpnVV;>-Jo#4`F=IP)dh!A zO4pKr(q7qs$ZBk|{vr=$7hD2RLCFKPy2;=#lPGHBYu%HgpK@S{C1v1Dy!$XDb-FW5mL*+XGJ4>Sfwt)^A6&QK23&MnoTorSngRAhXw$044eadawDRk5??=9$a zZ0)qvae8n>dmiW|uHDoLUufTW^NwE`IMVG4m1d{8ESb9IGJ*!m&^pB?RJ znO7=xC>ns=x+pC@P12(!PZlSwU4@6=q_ojElmoVZS3zc=#bXRwzy%0rc= z!MhupM&mrQb)pa2$5RePkS1JX$=;eD~}E&-ai=(GC{xpu>C~&BjFBejVp=F z{Zc(owYUQu4i@MNyf=bJAggbPpN=xg2;2PeqaCcOr&{<;wSdz*99Q1W5aQy(f~LO+ z!DJSs&6NFu-#uk$^_ZPDl2G`cg9pdMuSUuLY+F!mHZ;g2y$Y}UGLdJ|jg>7V{Vt+LT$UV$U=FA{2E`Wly8;6}@J|3bkg`YT+? z+q%#r^ey$o2RW-C_nGQioIcl_E_V+B3pf}U7#Q5x+zg?CO(OL^LU}oS>REj1q|n9pYa9nB1fo_ZtWjvkQA_IUUn(hiK>RSxo~;&jYhrxdS#r0|pZ*|Z zw{(jEB#lRT^NITuW|J`bLP0i59voLG+LbuHQusqemFG5Z?(KTdb>W|I-V2(Tb*0lV z2yY;vm_8@w?(3)~YQHRWlckb(Ax^xg zIB5desU#Vn7Qjxbs)qQY7~XTM!@0wcJwCtP_-{hG8#fX3S!{|Y|86hpwV+{n6IdF* zai4it6v|KosO(@?z}7Zq80DzPc)csFDoNzQ);YT=`aVKRyz3ptRQT4d@g_ynvx|VS zJ`fWI(uiNm>I+PlM#((DV}#c~f0c^199wuEbO#DRVRiokhmqn%w%Dg+szWs4c@4lp z-@u<@M@e63;Hj?0cBN*0NsuqIeV4@E$oe_0FB}(xi5hmY4Wit z&e^*Ai2Z-z=2qX02|D;=-Qg71ZJR5}C7Qj{mw=sf2Pk$84Gl+ceVfiS@5gZjC{c#D zr>6$gjQ^E+GYKHxeE3(XlX5$5{|}^4*q7Ph>pXtMuas(RWjTI_v|Yp^7z1KY#WpMu zojB<~6FcR_)%sCy_!4+10qPmv+!O&QCUEB~|5kK^w2X{%KtTF}Y!OJl-z-e2&UY`u z8516nIVsOd*WbPBP2^%r!zt%U3MP0Q+n#}a;_;FbsDn1F%mF#Yh!+}yRRjl!UN#U) z%|4-lmNZI$5~|e@-3X4k&L(`R_vPq8)&UxeG?K1r;XoRVy<#{qFUgwJFjfCD$M*SgP zx;#LG8{FLjwzDVzEqzcP0EFPka94hp$M1co>-gi+Vi`JY|6A)(mW$zbCci4Z9pKL) zO^)b4HgOa=wf>t^a+KjJpT(A>w4ZWxN65y7@`5P4f!Vrblj{5G*AT^{KOn4_x`jf| z)_?#_`n-F6Yjg7{`rO#lfdH5Y9p_2*QcPA``{=RvwPFh-T&eFT2Z@RS%Ul{mx@J63!)|{j>!Qo^= zzRe>w=(n%ys}m}u_2M@?tK}NXw3zvxPo%;CV?wGDCR_whV{!oFd1G8=9}U8#JSu4H z)>}?pGqJlrkDWm%rupgvL3_kI_ibvBbuazA7ggkjEJQ->!0yu!M(d_I&wW+r#+xlL z(vr)Yzj<(?T#nnUpEdZMhb0#*ECRWaXkGGf28SGb61{Zw+n`Hu#&-v#*pD(U-=7&> z=q3>r_EcpA&l9c~9;~wM4!Hns6*pN}U61N-j$7e@Ov6OI=X4=8SR8ko$70w0Wc@Zk zN>0Z?V+MLeXq^A65=BZ zSghokL#3~#@f^FDGnTD4oEaTs*6gyCL!P=3I*ckymjjpau-Oyx%P2Ep3CCMbn0;MVIL3bbq!sQD>Gfr3#)UO7T;*LUFas7CK1Q%;wQ~wK)ng;K164=S6 zwlQC;g~w12<2mGZL@6RZJ%s5+({1h}${8D=uu4x-=+9Am4cCB$@pkaw-r88(Et-zm z-@Z+`01#LSCdaB3Xn~N#c_z5-Nf1h__*mDxy7ry93qK7I_2}m2<|L8zCA!lK$^K?4 zIANjym_NBv_M0dGQ|Hg0G&Gkt1~SmKk9Avn!EhQDj|V*8JKc*^l~wQ&`dP(uRfjguI0M;w8RUqPB44kY{3McMt$l1oX7 zi4KBMHmo|Y1v0g6+|V`vyms8&!mu)OyZyGe<14R>B4a`O4^LQ=L7}`!n6S#wDGnXU ze&3vT`?&w_b42IM96AEZvwcRQ>)9+0J*LFEv0{eAmvdx#xT~?2i9{yadr=zA`rC{!F_5yO6KcyoU>M`L@@&h zV3%;;2LURHuA!YBiMVcCrdMy-X~?s|^qmfR1LTmiG5!woP}9h@{Rc5oz9O67Vw3ua z8_XP%^o1n57{QoUzQ8(AcrC@TLlN>&*oemJf;v=V%w8FVTx)A>Z5;q5^xo>swwZiJ zA9@qyX?80CW(&OnyK2N%az5_7h%uds))Ya%hojylO`xSSts){6&Z?5kZt)5Rbw1ox z7~D}91cDy8(vU|-{bh@9r%acoMbr}+QES43y9l)6zX3FoFe~lEB?BYX-TmYXe&J|~ zXV#IY4&l3ck~N;muJ=J`?>R{0#&>(1mUYK-TgB%)Wvm7OB@UoEkRyTGbME*J0KjHu zWtBVa84{oQ8USPQS7~PAyS>ELQ~B8@%GtH5rj6#!Uu89UpWQwxm8X-he{U*kO7BIa z&wmXVpL-|zGjVq1I4#7p;yg>T?{t@yOuB72*XC%UnGN5w`Fo&^ecw7LF)kbSmd73h zw)p*Hkq=GLxd0~-wF|Zx`wUHcY}X##XX^iAhUC(%;h}T|({K{0D=slWMge<#ZL_+0 zO*l#D!>pj<{+fMPhlQvI2TSX1C|TwynI7XK5G%;l9{Fp)6!Iu3S7>rZ|4AgK7Fem5 zl3tV7NaL00qbf`oBv+?h$DsDLZ~w|ZnYZW^zyUi;Zyr|b_jY+$)aMWk9Jp|k8=}tG zUC>_6prOCB*zm@Szc*56wJ26zEKk4bv~OdrCU6Z_uPcZCDoj-ZYI^9=;r1d+IqtQ- z5Ouh9QI)7e=M?papo@Uwk!udd@SXaRu#)_1-2CHA^zo+aNI;p#zn)?3PTY;!L zGxXq*wr8`Mws6{~Fsq1*n8m|~AcuBb&Ma&oA8g#$$@+#7nefuaUvp((P5TaozrSCU zM&0BxFh$MFMx($Cl0cLc+y(s<=m#Rs*o*ji_rqYq#G7-?$mfkGf6m=Pqa;%*Siay> zFwM%xSP*z}1Oo-0B|ymlLdG|*(HPc3L%qGqlQ)gM0?{3VZx@t{W#gD2g;vTrrtj@9 zw;142@pSbE$-(HpzVhWiy?;)w8XY%yM6VHL8CN9zM(X_q`QS-YW}g0VH$;-S7wpyB z>wXbhdzRf_wl#|yfx4;l=v;Q{SN1l^x8AEB!L&=!gDXJ{8Gw#wigF_Bno)V=lOx`bEpf>=^N+)FrKF ztw8Ip`95$z+o4j5OE&LB+gqm56fTtIkj-lQZ1)ybhx;Pn0&TKjfC2cK++h+2M=9&1 zZEtnAtL}`wyeWMX_xH+G^@jYHZa)uBw!mm$Tfjo+YpaCnRSy&p))WQ-g&v=nkO1b6 zyG$Of`w(;e_>%>YACO2&=Z$n(W}5ormD+p3kSsGem~>g-V%zBLg@Qx>V&g1#SoN9> zBXZCg>jx9JS-CVIg9rIwYlk=X>DYbSHkRkIG(AKr0A8k~rjCLk2Jh#Qf>DvNAkTR6`Hk6ceLco^xErY}6o!_cdBCKyU$tuGU7~;i2H%c?KgDWeae#MGLjUl+ z)vezVAM2*q^9AUk9@dc(JX-H0`(BI~jTNG^WKD2BI!YKaJqSp%I$C2J)uQE&PcwQ$ z4AM(thW2iU#J!0-f-vo+Im?mfiuL58Bw?Q&3#T;E;X?lfjr9Um%%yI!basmZ45I$a z-3CE(XS89k)sq#`uIsK8E0$#>*gakJwBw2lkxJ0KpW-7fx#uYnVLusZMbdi^e7t_Q zvT%g@6QUm!_qcuBlJY1MeIddXHYI$Y6B=Vg*h1G%u_Ch&mi`~}DH#-uG+n-tW*it+&HrdNwaL-u!@D+B87U^vG3=_!A zHk?%QpW%Oo^uzjmni}~$&lv>O>_}7Yk-F3Kgzc)t$SQMueGX@J5qvIuvkLoQ)09~- zfdeOyh)hs47#VpaIXzluc@V&LQnj-!TR71nNXX5@2lU*b31>!qXM49H7FF6o)vh$lNf#P)t5{>keyU5WmHPv`+_7H^u|tletEwiyGgc7-a~?`Zfz9-a}Y8(LM~}o zU9C#<>(9;}Gf(B0lSBky;xNuj*VHshND9B(aCCS3?C{=S+&<(bOsK8}SeDHPYfpaD zr_Qr&Pc2c&HCu1yu&A4C;eXu;l5#I8z)wODFT&(M@W7%{XviZ5LF)Z1&r1Y7olB&0 zFM;SI4YMuYT{^P`l-enBQHRSjPE?CN?(TD3p{LuD=tkw34WF8!)T0`ZSAn3PzD>F* z*MmNpq0!qGmm#B!BKwS@!T#0VEulWoi1ZQrR5nyQ?Jbs=ho93d?!dcP8HD7{zXQxI z3Vw9LMPrgDG4#_K3oBC#o2_D3g{o4r zGHtcpUTEHr#=K=;{-2tzJRIu(`@T`Kn~_kKkh1S7TS%iqSrZ0PvQCJx?-dzBW#2_v zlCjm;ccSdV$ew%{5t0y+@9p&=Y^{rXgx!ROfN(Y;;@3bRMI;~ zgx&k_f@w}fiaSq#jO_b+=Z2oD?G_#m4d^Pur5Y}>Y7VY#hodxCzkjb+=-)V?LmJ;4 z{%>Xcyo-jLwLkT++=D7m9~rVwMdvPtI#2cFm-78OJS>Qc84on$|GUmN%sfTQGiN<+ zkv*>D5GPb_$nKuL>;D0Jv}@6M#bQNQgI$yGXQ4NJ#sSx|_BM`HpSSBaeUjY{uTfX& zX>E^g2OAaJ=pih=bQE{ix5<2bnRb!b(fwk2ZM#Ne7D_C@-_+CMq{ zvfLbrGvNfoZmi0&uXMuvP4|e#$d*Q%8BV>vsw!D^>$7dsooE5UR@Hvl>&Ap!y853C zNHgy*UGpTz=!*wxQ$Ofh7#d#=@m;MSxI(q5)jM2p>WIO4gJjM|N>t#s>SDn~)j+#7 z^w~s_29<0T3PVWbJCr7SkL4L{BiO_;s5cawe5T!iPF?FUAH~H)`;|eX&s-5`mx#)BfW7aTs9an1%RMAMr&H3DQN#Pa^hm;y=;rs8m#9x( zGv?J>J^#5|=5aEPuATfsA>&i%nleH1I)FySuf(-Jd}I84IPQIG(JT=(yKS zwOI_^JGb}DXz94<>EpIx32~Z68RwfDoyM0L7G3@pGcRrIWJG?@7R@A&o8c7XP1R^h zG}<-ko;#SIlkNDkbEn+*sq6x;8Kd6YBZJ8_TOAhL<52{HBXPe4xSYPx(a{k3;q&Vz z0s`G~)1Ns<*N0%lrxmTQd-y>vWo>meO0VG5 zKW$d6nZ#dlOrQj0vlO#8t2#c5%T|S_&Oa?b#8{sJfl7=9RUjYS{CMRso@!q zKVU6tYWcYyZ@XMrPSxZrHMTAMR<;|Ve79d9SF8Pg|5w5X-jgTaCd5fknZH@Q?X1ef z;^*VTnP4Ol_GKq<8YCL(D{nQ%lzhal@<(3}2q87xp-gto&dy$e!S4WP)Rk{kh|&b% z1h6%eue+dmerJ zV}WWRPszLV_8e-(-+G=5{cv_KcO+`%v1|4=1pQiET(nW-x#jIuE+fBIGBh>tAVAGcACLJ08Mt{zZn=fuY1s@C0ha>pY>5 zNIDVi6*eBP3~uV|?PIjW5b|U0_h}oWWUOS^0HLr!f%{O!^QDJ2<)vGWnfMr2yRxq* zoA)P!`R%3cI(wwp`zpvDA~^`FbP7$zci{o7ExVTI=F&*^kx=~X%tQ#!*5iY}34_BP zogcA#;F%2WufbEKPThGKoR=U6^Tf*c?_ur%g%|g|j(CQuTnxhDp1?z(*e!SdM2rOb zcwT~R#|=$_ft8dG$$yU;&53yjxa3pIf1`_ zBjk-p)Egbq2!fuD)82k#dOt<=M9k;xMTe~`I!^D%p=#J8NrJlLRz7`REsW|0R(GAw zgr#T%(VMe9Z&7v<6PXCSg!Kg@*5{Lt`?%&bbBc3C?v;+d1uDZ^hO7E!&*~fM4N7*% z-%}ka2RDW_M>KUrzrA95K$jC9Yzzr3`mphGsE!q_{L;2n-S?LfmrEULw_?+r$kTP0tuSp#vW);*Qqx7hH5|Fj;U)0Ip- zyy}^9&D6IvuCvB%TUOg?WLAIK6ngUh&iYG$ZRz<=v4lJ__Ehc#RaH+iw(4%-g@ly{ zh-c`~SlG(=NjvkOHZu1ycOyS2Qr;OA4Pzs&)r8|+1;SF~H!MXJPBPI3*qJwq_HS%k z;7&4={matYzS653XV&AFJd=&=uUxre0fXK_DB+$V`%N9EM59Wt-0Yf1s%7<-ArDep zxZZxH(y_oP3=23Zp(Rn}An8}_&onCfD8Z%~*v4U5Ed-)lNe;$JaxDyF=hJ(+kQ4kN z;o(nCq~%Slbb*5F&okKtH-pSz>(TQ>iw#MH&dre0aBFSIkeyfK!gS&ry8+GHMLdXy z0A}{+JuyZ41ExO}d02nFP)dI$J}uRy@BqC#`(T#DM;pQ zs8c7;cl;rdXZcwC48_qQ!JgMwO=Jf6MAz@lI#+Nw7+p?ZMaWw+dY7F(obJi*P`!Ki2CNR z@g%KBXh7c|ra_6}Z=U}_(~-JqvYGwd)Owr4ZzK06J+(l)PVLfYhQI)^cHyTgiZC#^A(iFzGEB ztlKK-y}^-$Pu^MvKS(~W5+XA7D8~_ljubq3+^g_g#e89Mz8>3XE|;6Ks_LK5I~$ac zOLRGJisVW-^n4^Qtz^Z~pKRZ1rc!QpV(6gBpO~Ed54jirv0WtZ9T^J=7KT=xxpXg9 zGt%WZG6?=oX$$T=*4cUm>W;*qbZhnp)^2`o1AU*Ep0+^pP}Au0g*9iYi7q8m(L9J3 zs!~x=c~?{8=iC|ztBvt(H>B}gH*e5AL-iLVHR-%SK4-qHa8z*uWHX%#ld0r5Kd%^T zEl2uGa&DVNA*+QoKZ^u~H68E733-HsG=b|X#GGyr_oybpXs33h;@F@OY}?I??OJtC z?#mwz72Q=P8*pN~@)Bw&?FxH`(uK5(N9DW_64sEX(@5tdcKO3dGOzH_piiX{4?K4A zom_NW9ULNnX8y2Yd13GS+Yn~7bmgk?c=9~RzJpi-*>0ufXJ_}?tKTKA7>J+DS&0l_ z%uG!sk!RF1^-BN!Y|%Uc!8wyu%Otzm*zXUn$pqAFX;A;WlC;jQyj7KzzGqJ;A!SZ! zSiy?;j~ID;V!qRBl2oDIqrURKMoSyX#tc^4M>DDY6mC27U}<^XqW7|W(P8UNoLR|# zSSXX~%xg!r3~xujhB`xqfUHu#z__QP*l+7r>G_7BJ#Tsv7iKR`tX;V(p5Fksf0d_G zlkOtI-|BZJkBNWvmcHxSh?!{15-cinX767e`gQ}T;e%&{>96MFM(MdgP)qpsgi zw1O3a_HG9Ba{D(}Jg3z7LuAS{C1VeRY-n^I?g#K~iPpUKTj*;)61fYUR!TRelh8>v!TwEfex?lav%$G6r-xy zeo0UnbZ-}}Hr;bcS%CX?;FmSSZAf(M{NVBD>D*oKJb50J71dxLs|4L_ba_Y0XvwFs zs_{3jE=6`eKBm!^Px%3LvSDZbH&^|~#J1QWgk5Wp(J5`!CNui{BkYG=P-T^Bi>f;i zUD|K|8D|bq5z0IKH$TMF^Vb|wc8A#e&)pjtd6k)#M)pLENP^$3)|?}?4Xzx!pZKR- zn)|5ZFU!6cpH)2RcRMfP@-Q|*U_9sU!oy{Q&Q`1iz-8IDnf;WLtTzbiE&B8-?>G>1 zTm&*uPR>VA0=Z&Qnh0`CYc@`37M#niAcwp}Jopxd8cp5l?Nf4;F3uBh{Cf9Eu5a7c+CF+mP4RlwWI6vsVWXt^ zcnH@xhTO4_MH%)|@J>XRlV@4~JY;ZzB_e2mG@-+Ph3LE)T4ZKsJcAlNvA!V4<7(8! z8HSQCJii=`i<;*`Kc%vP6_XQ@Q|EO>k(djS1VY<+-HEatKEb)AgY(3O0~)tmCW*Cx zT7-dWkrc-=2pl5kN`tii@1bSX{N+MwG-dH+SBlco_Fj`0JYUd9vJNCdPba=SF@!TH zEn1T9r))UXO|5bUtv(#Y){WiUGI%UE?bDTaAr(lRcW}Q!IY*7$HBVwd{##uw`8++% z0bgiYQF=qGLz9p!W#s|cIq!lX3?|yBNN4EXCoH9>UZmTj!;5yI9KZUEz>>1V-(As- z+#jM1r#-of5OvGT=u&F*F|vD1@5e56G8&np9*pL1^(`-$h~ zt!pM2oww4B4khGk5?<^p!g%oMtR(gJ&akn5D(unfKnEJW%U2q8X7^^@8Z&sYouD+# z&gRsE`&)~++3&BT_fEqKg$6ei2qUF^f7~i7{iBV!(pRHV&Ue}H-2}K4RSb%VK~^D- zQ`q7n!kPGwpcMl7Vk*AmO@a=r-2o@ued6!;Wt*=#i1wGA3|ORpg-Zv{Hr2q*3fb=r z`O|r@1;Q2XpQ=w`Yy473`#)GS{Re*|YT(AYWZoRS{#EM;(t&+5bXF2F*TPYF+zPuh z;~JRoQ0pSshq|-yc-=t%>UyU5!d7v!Boh;OEcIftQ4e2=cwlkRueNxGN9ZRkfAQY* zUzYz0RhySQoqE#q)CQ>55`HyJB0vCS0EORFfzDV7af_SndAnr+_BQUV(Kb;8nb)caS57p~KZ zqp!b}sH66}q01-r5uV;?rOWL4#hpNv7@jmt+BnCb6U~nvES*n$Q`Es8%fQdewvi@h3@O zVUI=a&HSyGGhYOPGhw%|?5P}^YQ?VgJ>CO_E(azz_*{BWSgL7YmzrNN$!e5Fi>M+N zc~$1^4-N%6{L5$-WMIX6>fX6I02ZW5fX=C@O{{^>3x8w;#?^ny_=5?9F8%^KA62L< z`n1k#LMre{{%&s4g(A1P9+f(Qb>4@{4h!M^bW#s*n3PSgeqo zTppG1=Kk)H@Bbqqc&lFb+mR0y-{lEry8($x3gxTdo8~srCo_r_AL~p0@vw@py0eG%Y4oC<+=aVLt9&w)j;qtl|n}- zFE1BZT~NASU~Fk&0dkslnCw|ArBZ0hB4)y6f2tRF+0sBEuCI{Ru zJ=9Y!!tjoqOWNw$RbFXoh}Z^jv-$5uhd|lc4C8+gKwUm0ccmqBGWFW)}g3Tki`@-VKb<@QRgtQimMe)$Fyy{{p=n?P=K zYMq^VzKO|usz;zU;+EdI=(3%DsS}pt=1KH|aV91Wm*_4wX5=BEPdZY1ltxeGzAGw9 zAq>kUAHMH1>X7=lCUB>s4lb}{RI4Jz)5IhkFLfj|yo%1PaxqDM%Exe&)@c_RF!L`M z2WeBky?gx=k2Lth-_%YtA@(_r}B$MA^cE86bkp zMtT_PDuzq5UoU#&=y-?4@6*GfxBLvG2N@O3aJ}LqT}*s58dlRF{RTXa(N)e}p*Z%h zSB>LFvD4h)sP~-Kf$r6262b2DAJS1;qVpF^NB87>iw-X{&5Dk)5#%u$+_pc3w4=&O z_b+r0E1icY1)G-NREKHE_*k$Pkok|N5q?LegrPt+hcRT|-rJ9Otlv}``uDYd5JUcu zC_KI3NsddEuH2Cj^bb_dY|fKnDIY-E;9gH5a0tc9wmrp^6kcYf9=xdmLbwm#%#k4pc)s!m4b8G@Bv9g~ER+656W|s<~or$4J8oU)( z0bNOOFkZy`+@WM25b&$KwAOw1;th_ka)Qcv!{{uL9T`Cn z^CTuDXPO?OG4ZVHG6m>n`wl+84N$yjc^4J-Fr{~DLqUq%~+W9m#R;{(?f~XxQ z8nmg0kXv|N0c08KmCL<*bjUMzo;QG78+QOa9nc_wpVRdoRY)9=f#|~Mq@J)9L>voW zpq`&S5%UjHI7YV=6@}ql2RtsOx#_Fz-c?IA7r0aQ3KFRV!V-;Yg|sK(t=i+-2q5)1 zK|m1;3rkpn(M^-Y;CXTDogLNw5QYY>or>_k$m*b568Xmh0+jU3sNBL`1mAv!+cVmW zdT{cJ()In(RJ@dQR4%*bjVJG0;Ras9C_}Y;qApEv?COah85x1!^|GXHgG=>c@dhdZ z>l0r@aW2+6V~mgU@OpOUXEfW#mKB~!kE}AjsJiIz(VzRBbaxo46}#66Z#I9}qAb4Z zy3((`eN)vG7v0rw1=$Ng7kd;8l|P_Vl1n^Xa%XODx(E6Bi7XvDO__`gOGLHqFx~_$ zsu|q^Du+B9Z+5Nh?dQ*3zctg%;k$H%1r1F`w)M}%vno>L>{r-iWCnAFBtc)Wa#cc7~{!6yn-@Na|b%Rzd+0o z1xlCQU4PHHj+iTMlhx}!5GMAi(NkqP72CF>;W{4innXDjCZcxmXTvSvHR?UYNdt3g znzJ?FL76OOUikhp6IBkWQd@Al|NZfnO9jc5Xm>>zwmEQN=hwbOcW|4MDM`{xv8J0L zpwz|8)x>1;GR3lAX%xhD3LTi2gI7Uz6KoZ*#yz%L5I$|@W@m0>VnU7HbLk$=9%z`G zn+qATSmY&oITK?t@q>5e(53b=798#`1+HRLQ?JqX)tqmQ3)R>=oyQ~l)=qlwy_aL= zX~85Tpe9|UL+2D1zIiTLN@`lr3q*ldN56(6QqfE4t!L;VU4gTyl$|E`z`#FhnD4rx z0muNj&&cBS;3mN+SM*BVd{X|;F2syQ@D~-Y&iFT3LWt$ua7xoSA zYh1Qjs%mP%P52Vd;-ULWpq*`h^G*+q@GsISQ+_NiI<_6~IlcBQq2MoyZVLKJB@?2n zmWTY=-o$e8x0g;f}M8T>@&bZ<9ALU;%mQ@{ji|C zvXbLz=iHUX-I3D2@N9-y(3O9htj^?Oy`JQ(cr+?8;V62~|W`z)2*lS{qPk@65nl>tDgqPBKd8nyn0h-p=k(xzcYKR*;I418}0m;Tow z5Oud3I7D?f7pPy|2(+FX2oey7_tebf7?nm7vto-;1^G@ECHt9?UWLS7J-$S&`_piA zw3l{V^VZfmSY3|=h+aNPJNbyp#6*k0WooinI*QgUXxmgBY1Je=5{cS+QBrPYjuXe6 z{THQGo-2j#mYnB60f5Nor#G?Q5pEpE8c)R9g{T% zurE>6mXZ(*e02HG@H>g1rvw5Z!6B{_z!+=#f}6L3V0Vj z&LQL-?AifG#7$JW9b7drQ4c5VbATF&#QLP}RLw_qU6sy@vhvSIU%ywbf2V{(8CuqP zGbeRUCzsG|j+`ut3M$oNwEf1a0yJJNjI-M^8=W-aoC|_I7eRUNls0X%Acn}w>jNCX ztz4rk|50C)b?wYn=31ab{F5)-)(`~%eby$)?o9s%8*&vVnTd}h3@gWKG9>S`hB)EJf<+DcPb z576r&Vqs-H-xG|ANwfloZq;}k1~|TQU-2Hh#p=)J1qlXU6>t7a9p{oSjp$_(wiH8# zIUsLj!a)4L1ha_YL^F#ika2=`v|{m)b*(2oydPZ1JrfhGj=3`tFFFqb$~|?5w`2Wb zX5Q_WGpctS@BKO-nrcobz=bx)?N7tyYyvI(4A#nOKiQ}&60fIB0U8l2Y8RDThQ&#B z|15TXXvTh+SXw%_zFwYk?Tq-paFnO!ICVWt1IGcX@fd*s!jp{_o3go#C*>Tc&tUG_ zGU|{bpBy{;=F1spcPUCr>z16g_cCEIFO!5znZdcJ{hb{65IQ98pW^1a( z_$hGaXcDxVW|~?_?KZ}5!U_3V=ge=In4GZnG*9|x)A9)`-R+-;)z{VSX(Wy}tc8}4 zF6XiT&NXg%c+vi{q3P5q#hT))kVn(cuC?9)CGkHW0>Mg>3w%sQ=1Dh_@*t}}YU1ev*(Aty))98@2l~H4{OB!{-pfIHmwHhlP1y&#F=3+ zLF};+L$oZ;FYBNO8ou>&qrcNI*1ZH1c|%drLyZa(9dm>(&K)tJ0l%IWCLv^;!I1l>L(ZM6}6rFulO?&mTW!hTa49-2Qp@D&5@5B=2bGQxgY>NyFuVqpYJNtw*6 zqT)Eoh99kr`j%ig-a|sCw<@dleGr>D#Y#i=F|g@Oq+h6){B0IwdyP;PEP7VWYv2$~ zbI56dLr`z~l>UXHRt70fncjEG6pINiZc6_c8yovqSD?M-^zEYpfjyuO-4Xm<(P_}l z(1&)nCuUMLYl@mEQi?#5Zfr7=x{KUKTh)3-0_`*j6FgeeCQc}ibW482$OfpzbMAu2AMz-WoMImYmZ?O z%v@IPKad9w3XYQhRY-(*LY6NtT>67DSWTS@Lv?V$_@o1GLRZM zVe=el`Yos)I6OwY8_%M-ejCxm8QiQbsvg_%1N`;|nWb*;5_Y^#6#fZsZj%b@{4BFc|j9ZyoY@ks#%v3)%6Q!`pRtssVh_Bl) z_Mm-bqUsZV1~nh~49$O#1liGwxHx zOfRX7oEJC*u^+$wrT3>Qagf;9HFP6iAHG_^cMZ4Sepk-VI!-7AaD{aLhMTnnhnq;$ z*Sa9HGxB(dY(5}=^UMb&g9^nnPDt@YOwYoC{iPOU*nQoQonBvs0eMD9$tXXP)){*A zl(3K%J%S=*1)OoOM6dHib02W{gih<;8#J99=jUs^3F3`JJJGL-NyxLQYWF!e!LLWD zKG3AhMd~f~a87#|Fa}e;bgNwz#TU;FkjUfgTIj+g`Mo&`S_;M(pq*Kedyt)ivw}*2 zmKDtX{g2_=hU{aXvQO*n#%|S~2i`fus}^oEjr(g^5It{N|1Kxq$fIiFuq_jHCVysd>o{RM zJ)3Bkf!7DaYwXy)1jiUhwogT)R~G zcB2t=5TFtf06VJR0uZ^U9aq*Q4jzc3o{YZ|#ZA9=bUY4d2;JYL{pGE*@8NQE;bsb#{L3cP zpH)b4%ml%s7Uqu!yOuSmWvo9|eCG$-`$w+iBtur`fn>kF`#&Xa;2 z0CR(x&)Tz37H!g#!6;x4X`rY(9X(G(qC7AXZ;C#tu~btf{Fje&qi`0NTU4GKv61Po4DTK|5L5H5C7)RXr8EOxw&wn)0)o1jy}lab zu~{?+O{7kz`er-2@$4H|nd| z$m&Q#La7i*=bRI#@&GQFQmDzdf^og|mgo_Ymk#qowrmIgp6<{0cLc&v%29%NpjJ6ow^xPBW=u7<3r;*UjS}d!PmLcYOzUW-o}}flt+myKiER`gp)OxL+J!M%#*Bc z>hMyBhL4M}KBqmZto=Pjg#x5(5yaFX&6U5e!8`&&F5h$MN`?-85MS=vYybA36T2sS zFxm3{f)@T=?WDnVs-7^^UE(p_Bh>zkMc+*8^kIof`>5rljwt6e!>9p;?LNEKXeOTH z&jprjODQP}rxxQoCE_k{2nC6}<5ULS%iqOi#RnYr=Q>^m>qVnldnkC$PFZJSO_3Pv zF_b|n(lpAov5)+46^z2#1beV$hVGi5MIE=5;^X7{d!*+NHS)(C)QWL-W6AK8nVOuA z7n0SEODQV4_T?8yIjz$FwwQ)QMgR-@Z-EWOyg(St*#Nulxw);q#4evamAerfpDFiZ z{BeRcO>>Vki0oyq52=HFM8-EY=b(eDs3Au)#;-@1mY3%3*AuMNC=E`5Iwz;ndV*@m-VeHg}yhoiz#x!{0_n)?hyuhZJB zx%Jz}+igebj?TrK4F{^}!?8N9(751~mXM30d9M-*fTYx;^2Asv;$&KC&Bc zkFP9zY{yu_eD}dEIdBDI-ov#q1R^yKYK47^UGcUGaO5AOm__vEv*T=l^G^$XTd~G5mcRn@_FBHvuEg)Q{*(Ul0_{CY z$tQVvU&B!9<4kONlG=0>;p-f))5P4P$uiQ>{`t}JuX$Qj!fl&B@^D;&EF2m`B%S-a zeOP`*qn!dUO-D2vK2m>iaWM}~C>fjn{?2XK+P*k+%W!8_M*rfuRj}2#Nkx6N!u*m# ze1(zvk?ob(#oW^xZoh2Do;3faoF|Vf2?ifV8lwrL=yiY4v_l|Ohn;y+pHhRFL=TV$ z4>tpfSS2T$p{)8Zq&f@(%!(#V-z5gg%fnDVb1LuqRnbHv9eRNqT=+GPtZ^UWCTEsx zph6|txcYS1?+nz}Zg-xL6`+&Gj%nVQTd#)ERY9%&)8iitZm$x9XGD`lqNsZ#^;IQg^veN%)17|GaaCL#M+4bHRH3^i@6? zZ8}5Hc8eRbugKx)ksRN@vPg6|>L@0|0+$~4xW(qnEruQ{Jt+rG%X{ov`9(!V61q`y zAcWD9>G>zpZ2~&#I&t#|!q1SU!{}SCz!&pZ6wk}wOQbE>rid=RP~e+=1KHysaTy*&4OH;)9LL=D1v?;nmiu6`4}%hsLcN=4y0Ve1Glemr(r|99~8a||aU zZOJC}$QO4(Qj)STz^O@)aTJwrno{yH#O+_QGp|+c&jzk%U&SvA^ekiFJZ)6@(gz*c zRiB$uFCe55ZSA-ZfQjCi8J`i*k??KGaf=a;R`V=dd62;*U8OEe#{N6LEcU*0Oy^uk zV*a-og^th!HswqfKsnUIS^t?2>neIKe);l6l(-o(abkP^uH3z+YiwH?3Jc8ppLVOR z5J~Dqq`%@DJC>{wZTd-e+7JXspnKeQdjM+9Vo87#ENb>IyZts1EPC8Fdkm=t8hFN- z{r!f1qCt;%hbEo__1idpi9xzJ>(tZgK zpG-LCXugj4j1|t#yh^BotnwkFE?ax4nnw8)534Lsi98;>l}~LBm{kJDlo`@nhNMbF z7}A9z$=GCf9%+<&|Ijsc9MQ^3?bSFxnflq|G$$qg?jxc{2NkamNw>TI5gfkhTm2!^ z)70rJm|aD^%4V0PkO!jE-w({)oi zDlCpe^9Kk}EF?Gt=)YyL4w??FIxMNPMqFC;u7k_O=p`2P-m4)TQeE~x{ZoBj=&qPC z(s6-al__p(yEn?FYaUS8PpLr7B0SSBff9inVitqXaM}}!JpFUpnU=Duu z0~h|gw9`UI3JmbDAC>1}nQExjo1KA8Q9F3nJ;5iO=32~9O#CY<$ai#5K>j3Ld=kWR z>|>#5JM`6DTI-Wc-dBy+!(t1&`3KF~jJn(lhWwO40GnXM_n?5GjN`W2ncPblRk@Bs ztah{r2&WAX$sBy{RI|74vTE}D#s(j3bZuJ_am>3h%NlK7FjR96nxun3JLiRvK}Yq< z#g~;^&Wi16*FUeuqrMgneN$bLRpfcF!LqG$ib}CQRqtC=re39Lt^SX3((iQPCsV@6P%)Z#Qfm9o*Knd^W zmx#n)zwe($w`wmbzLuUbh-_ilB$sQp-w-`UqahUb?Be8~k;P$HHrL;urOtN}YYs5& zw&7EaO-9^ZpSlNF;jiaNuDNSrB1z{iW3(_HYS}}+s`*gQWLT~<3Mzx=M`V{K Fn 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 Date: Fri, 17 Jan 2014 18:55:00 +0100 Subject: [PATCH 10/10] [fix] about page updates --- searx/templates/about.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/searx/templates/about.html b/searx/templates/about.html index a609a327..931578b9 100644 --- a/searx/templates/about.html +++ b/searx/templates/about.html @@ -20,14 +20,14 @@

Searx is a metasearch engine, inspired by the seeks project.
-It provides basic privacy by mixing your queries with searches on other platforms without storing search data. Queries are made using a POST request on every browser (except chrome*). Therefore they don't show up in our logs, neither in your url history. In case of Chrome* users there is an exception, Searx uses the search bar to issue GET requests.
+It provides basic privacy by mixing your queries with searches on other platforms without storing search data. Queries are made using a POST request on every browser (except chrome*). Therefore they don't show up in our logs, neither in your url history. In case of Chrome* users there is an exception, Searx uses the search bar to perform GET requests.
Searx can be added to your browser's search bar, moreover it can be set as the default search engine.

How can I have my own?

Searx appreciates your suspicion regarding logs, so take the code and run it yourself!
Add your Searx to this list to help other people to have privacy and make the Internet freer! -
The more decentralized the Internet is, the more freedom we have!

+
The more decentralized the Internet is the more freedom we have!