From 9adccf5013af75df30ec4a7588fa370bc92c1aa1 Mon Sep 17 00:00:00 2001
From: David Beal
Date: Thu, 2 Jul 2015 00:12:41 +0200
Subject: [PATCH] [IMP] add help fields, qweb report
---
help_contextual_popup/README.rst | 35 --------
help_contextual_popup/__init__.py | 2 -
help_contextual_popup/controller.py | 43 ----------
help_popup/README.rst | 76 ++++++++++++++++++
help_popup/__init__.py | 1 +
.../__openerp__.py | 9 ++-
help_popup/demo/help.xml | 55 +++++++++++++
.../model.py | 7 +-
help_popup/report/help.xml | 42 ++++++++++
help_popup/report/report.xml | 13 +++
help_popup/static/description/icon.png | Bin 0 -> 1637 bytes
help_popup/static/description/popup.png | Bin 0 -> 123947 bytes
.../static/src/js/popup_help.js | 6 +-
.../static/src/xml/popup_help.xml | 0
.../views/action_view.xml | 1 +
.../views/popup_help_view.xml | 2 +-
16 files changed, 205 insertions(+), 87 deletions(-)
delete mode 100644 help_contextual_popup/README.rst
delete mode 100644 help_contextual_popup/__init__.py
delete mode 100644 help_contextual_popup/controller.py
create mode 100644 help_popup/README.rst
create mode 100644 help_popup/__init__.py
rename {help_contextual_popup => help_popup}/__openerp__.py (89%)
create mode 100644 help_popup/demo/help.xml
rename {help_contextual_popup => help_popup}/model.py (83%)
create mode 100644 help_popup/report/help.xml
create mode 100644 help_popup/report/report.xml
create mode 100644 help_popup/static/description/icon.png
create mode 100644 help_popup/static/description/popup.png
rename {help_contextual_popup => help_popup}/static/src/js/popup_help.js (79%)
rename {help_contextual_popup => help_popup}/static/src/xml/popup_help.xml (100%)
rename {help_contextual_popup => help_popup}/views/action_view.xml (91%)
rename {help_contextual_popup => help_popup}/views/popup_help_view.xml (69%)
diff --git a/help_contextual_popup/README.rst b/help_contextual_popup/README.rst
deleted file mode 100644
index 3a59725e..00000000
--- a/help_contextual_popup/README.rst
+++ /dev/null
@@ -1,35 +0,0 @@
-Add contextual help popup
-=========================
-
-This module add a contextual html help popup on each model action.
-You also may use dedicated field custom_help on actions to add specific help
-
-Installation
-============
-
-It was tested on Odoo 8.0 branch.
-
-Credits
-=======
-
-Akretion
-
-Contributors
-------------
-
-* Sylvain Calador
-* David Beal
-
-Maintainer
-----------
-
-.. image:: http://odoo-community.org/logo.png
- :alt: Odoo Community Association
- :target: http://odoo-community.org
-
-This module is maintained by the OCA.
-
-OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.
-
-To contribute to this module, please visit http://odoo-community.org.
-
diff --git a/help_contextual_popup/__init__.py b/help_contextual_popup/__init__.py
deleted file mode 100644
index 14e0972c..00000000
--- a/help_contextual_popup/__init__.py
+++ /dev/null
@@ -1,2 +0,0 @@
-from . import model
-from . import controller
diff --git a/help_contextual_popup/controller.py b/help_contextual_popup/controller.py
deleted file mode 100644
index e3b00d91..00000000
--- a/help_contextual_popup/controller.py
+++ /dev/null
@@ -1,43 +0,0 @@
-# coding: utf-8
-##############################################################################
-#
-# Odoo, Open Source Management Solution
-# Copyright (C) 2015-TODAY Akretion ().
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-#
-##############################################################################
-
-from openerp.http import Controller, route, request
-
-
-class MyController(Controller):
- @route([
- "/help/",
- ], type='http', auth="public")
- def handler(self, action_id, *args, **kwargs):
- req = request.session.model('ir.actions.act_window')
- return 'blabla %s db %s' % (action_id, req)
-
- def _get_html_tpl(self):
- return """
-
- {{title}}
- {{head}}
-
-
- {{h1}}
-{{body}}
-
-"""
diff --git a/help_popup/README.rst b/help_popup/README.rst
new file mode 100644
index 00000000..198795f1
--- /dev/null
+++ b/help_popup/README.rst
@@ -0,0 +1,76 @@
+
+.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
+ :alt: License: AGPL-3
+
+Help Popup
+===========
+
+This module adds an html help popup on each model action.
+Two help fields are added to actions: owner_help and custom_help.
+
+
+Installation
+============
+
+It was tested on Odoo 8.0 branch.
+
+
+Configuration
+=============
+
+Go to the action of your choice to add some help content
+or put data in some modules.
+
+
+Usage
+=====
+
+Click on ? button
+
+.. image:: help_popup/static/description/popup.png
+ :alt: License: Help Popup
+
+
+Known issues / Roadmap
+======================
+
+* ...
+
+Bug Tracker
+===========
+
+Bugs are tracked on `GitHub Issues `_.
+In case of trouble, please check there if your issue has already been reported.
+If you spotted it first, help us smashing it by providing a detailed and welcomed feedback
+`here `_.
+
+
+Credits
+=======
+
+Contributors
+------------
+
+* Sylvain Calador
+* David Beal
+
+
+Icons
+------
+https://www.iconfinder.com/Vecteezy
+
+
+Maintainer
+----------
+
+.. image:: https://odoo-community.org/logo.png
+ :alt: Odoo Community Association
+ :target: https://odoo-community.org
+
+This module is maintained by the OCA.
+
+OCA, or the Odoo Community Association, is a nonprofit organization whose
+mission is to support the collaborative development of Odoo features and
+promote its widespread use.
+
+To contribute to this module, please visit http://odoo-community.org.
diff --git a/help_popup/__init__.py b/help_popup/__init__.py
new file mode 100644
index 00000000..9186ee3a
--- /dev/null
+++ b/help_popup/__init__.py
@@ -0,0 +1 @@
+from . import model
diff --git a/help_contextual_popup/__openerp__.py b/help_popup/__openerp__.py
similarity index 89%
rename from help_contextual_popup/__openerp__.py
rename to help_popup/__openerp__.py
index 154f58de..24cbf863 100644
--- a/help_contextual_popup/__openerp__.py
+++ b/help_popup/__openerp__.py
@@ -20,8 +20,8 @@
##############################################################################
{
- 'name': 'Help Contextual Popup',
- 'version': '0.1',
+ 'name': 'Help Popup',
+ 'version': '0.5',
'author': 'Akretion, Odoo Community Association (OCA)',
'depends': [
'web',
@@ -31,6 +31,11 @@
'data': [
'views/popup_help_view.xml',
'views/action_view.xml',
+ 'report/report.xml',
+ 'report/help.xml',
+ ],
+ 'demo': [
+ 'demo/help.xml',
],
'qweb': [
'static/src/xml/popup_help.xml',
diff --git a/help_popup/demo/help.xml b/help_popup/demo/help.xml
new file mode 100644
index 00000000..6fc5a031
--- /dev/null
+++ b/help_popup/demo/help.xml
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+ Hi Odooer,
+
+
+
+
+I'm the field 'owner_help' in the Customer action model
+
+
+I'm displayed in a Qweb html report
+
+
+
+Don't hesitate to customized me with your own words and syntax
+
+
+ ]]>
+
+
+
+
+
+ Hi developers,
+
+
+
+
+I'm the field 'custom_help' in the customer action also displayed in Qweb report.
+
+
+Akretion wrote these words to explain my main purpose:
+
+Allows to developers to write documentation on their work.
+
+
+
+
+
+
+You can write any html tag. Here is an image with img tag
+
+
+
+ ]]>
+
+
+
+
diff --git a/help_contextual_popup/model.py b/help_popup/model.py
similarity index 83%
rename from help_contextual_popup/model.py
rename to help_popup/model.py
index f3b8f93e..8ddadf43 100644
--- a/help_contextual_popup/model.py
+++ b/help_popup/model.py
@@ -25,6 +25,11 @@ from openerp import models, fields
class IrActionsActwindow(models.Model):
_inherit = 'ir.actions.act_window'
+ owner_help = fields.Html(
+ string="Owner Help",
+ help="Use this field to add custom content for documentation purpose\n"
+ "mainly for the ERP owner")
custom_help = fields.Text(
string="Custom Help",
- help="Use this field to add custom content for documentation purpose")
+ help="Use this field to add custom content for documentation purpose\n"
+ "mainly for module developers")
diff --git a/help_popup/report/help.xml b/help_popup/report/help.xml
new file mode 100644
index 00000000..b9ef8354
--- /dev/null
+++ b/help_popup/report/help.xml
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Help from developer
+
+
+
+
+
Help from Odoo
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/help_popup/report/report.xml b/help_popup/report/report.xml
new file mode 100644
index 00000000..b0ecadc6
--- /dev/null
+++ b/help_popup/report/report.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
diff --git a/help_popup/static/description/icon.png b/help_popup/static/description/icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..4696ffe5f54515a110bd189762885cceb06efa24
GIT binary patch
literal 1637
zcmV-r2AcVaP)U6BNi=DPpovB@Ie{`yKbhO0|ZE2NS
zrJzG`7ngPbDT^WsBm_hl2qBP#gL%1DtL4!ckSrF!g9H*EKk=akdR_=*qylH1y<8PYbZRccj}L@IMa+t5(&hNx2mgHqDcU1{Z^p_eaRP=rOq
z#LfVKX&Y|Tn~X+{T4gZwA%w2iU2`z#
z?bAE=WaO5KwcpaexWz(w@0UQG+~$#RTu6f2q8mX-|#kO
zvuPx$1Xqp#lcxlbB;lb*G>tmi+eShA#+&bW356a?tMAcm`)CXHWK4@`F)gOWw3rst
zVp>d#X~#4N8s!9(A-k>u0OKDu{=Lyz0|1PFBmm(aw2Xycm<4PhPot-QZn{MfB?_
zRS97=&;fH8aoFJN)T>!H3m9)Hr9KH95gjla04U8_#P>(uQmW~1!fK!cW;5b&vg;bv
z_Alc4(vnofcCrvvaP)Auwrjzn3}s~WFduuyjTRwPTU}Lr>@ST*tq6-qd}h8)1r)C^
zo7AfT00`2Qx|0q}Bz2Aa!dHN?lHE6Xr#CU;aAW2n0N|c`AMwNh#E`vJv6NMxKNuOc
zKN&OffS?@yJt;Zmcu~RrJ-dP>(g$N61#NBhf5(doT3a-+)8k*xS}u{u?6ri|Ku?J`
zC+}ca=dhZNvFm=L0~3+gl>V7-b1r|z_$kc^9|Og+g^<44DqCny-oYvVj%q#6x_QK$
z^cCXz@J?Xx#q;OSocdz>wy^Lg
z=OraaMa7cT9e*Q8#1jJmkerdm#ehA<1^~qM8N5lk{5eh2HC2_R=g!=yuM>;?GGAQw
zRKmQ8qU8$&^HUcjJ)2rpS#kFCiJX0VX3d$Ky<+u{FAtXzosOktkZ#Y%hA^#$<}3;^Jq;#m{PLY`EQa>;4_c^#K5~>ngkE03eGcdffx(kI?Y&
z#N_!>nfxJC7czN>OdfLo(nB0U2R==;Uf`5{gM>k2p`DwM=mxbE#W7@++M;Vxj3KMk
zmOlv6l(w7fQ2}jXM3RAf#%0BT5Mp})fHgRc&MHNBN+om3PGD%n;tyO7KAEIoJY-zH
z0}+TLvK!`EcU=Mi5CbE#&Ar)nOY;;PQEZ!vbyr<+&!g}h2-9L(Op9qTEvCh^m=@Dw
z+6kkzU(rIIvfwxL!xc`mJ5Wox`p=~G{m+m_UPe!y}rj2
zQG0Z{f+P7ummvy;^ZBhTL=hA;t))c+03GdZUw*o6`t*3A$lHTZdwX?P%F9ir!Q&7T
zsmyU1*#2BWvs$(5+pjH_M`8Opo5S9?c}rm6G?!y?utd6M-RnFa-_ud~0>Rq#8yryK
z-ZLWuu3u7otg@oaJ@;o1FG7)MM*Qs5=h8*qKKE*gVNRs#^*#M&GkDJNCoY#~pIJsn
ji)$%Ni)k_K!=0eZrI!q+X*Dp@Bf4*D})LDj*Po74Sod@)G!;$0sFr;2#9%Pco_~
zC@72Tifh2HSS}KpE??};T-=SEOhI2PTwPpDogjf@s2~spNJd;#)nj2l-Q5S*^s%>f
zv?~1|RRK+gB1_}nZq+p3Jac+LFY66IOaIEXJqyPCs;1-gB;DIf&tCj0
z^2-qP-f_IURA9EZ-p6vV~BXz_q+x-eT|fdFFfP=NsPWV1r;
zmV!clHzdeHz1iTJa}}Lo>9NV=p{?ku&sS@Gs#7C(x|`j*^eUc|#OFuW$X2HwI7bsa|(wGjU
z`QS#8g7Kp(7K4_isw!3GpUm@&qi6H;^X8epHN$4?Jn{d1*_GfJOpZk-eJN2B9YmRv
zxINrETavf@Wd6j|J(`nMuJD;Zxw%7Wygzntn0bl9vu)RvkduXJ?V^o(fx}1Gl{xG=-sN7i)Xp_6@u`n<+?m>%Kd)6K5iXQbN
zNqA3lVuU7K(~ZDZzPZ3dvfbBnI)`hT<__jaEq6Gl-?#lduqh#>=g@aYB8hS7NH2R=
z2ye)<>@qK*|Exhu7=$$l3(vMl3Bd|~p!uQ-
zw|x`(tvKV2x78vX3%qVjLfF)QxTOF4OgF=dbZ>D+&cOa9@LdCGVD9x?Ax;k5OU;!N
z#FMU2J2+jfdCZWw!=PPZ*dFi7kI6OA#^-fTD0Ff!%K}cP%!WXu{y1ICG7REcul!8T
z`7$@7s{_~(+BmwPOr$P4?1Oj_+U&k)me6R~P28nf+{CD0!ibNr>%|Ftm~$f!hdIk
zn6f+Px|00W_k#ecDlWdj{#$V3^GmpoX+`T)IBk0$HHWg*XflEv*4n;q4<^#l&_t05
zdM#90hM}USKqny6AycPE`ZW80`D{mym;>2Zpopy=)&(t6>@R%-Iy*mdyN??BJ=z{)608MH&e%29Mb^S)~Mj_
z8kG1uSMmo4s^S*UVPX`q@b%iafYl?HdW@K?Z2Dinexc(t&ehtlN)YIASgeW2t69>U
zq@i;(JuL=zgW53aZf-*J@;~x{Oor-(wHh`b%iuo5v+7H%1@33CQ2U$N7t$#w`wX)e
z8!xsHj+So5uA*Z72Zb|IwqA@8)iB*3SN_q7fWMqeNn&@{DCQ-I8r*=k`W+v}47>p4
zRx7TQ?>3q1w{V62g8JQTbe8$A=%^4>QC|)bJ07MDj{db21+6{Z6zV+bBWCp1>W#4I
zl|u_;`bY%+O<0e*7W-d4(CED3LbVjj(|4Yf5EEns(YvO$-meY1dcT>Lt=SUF8LdB`
zsJyG!1X(T`*!z0s+mSk7Jz=gKU*<2W*m<6ee4U7v$Q*ex>dm?Z)zF^r3mffpvrFcc
zgF!j90&azhdG!@*mXC-W8;x}C`Q&S^>fzi_h{Tl^0T13ukdw?ye(h~yuVn3
z*yQfAWyFZE)>)qIgoK2gpSuLbLZKL)#{%}1^SBamrk;~|^1$6s-mAX6yu1y0*S0R)d6bw~4)Qa<$-l>`oZfB$_6X;5-lZE6*GbmavZ4t*+bG3lMC
zb+ch^Iw~YaTEyx>0sXe@UVW6D+S((~^9u{utpO>n2Yah9Jf>ns$XUDUMzHrRkRoaJC!WMChYCaj
zS0Z{7M5#Basy59Lpt?J8s+#E_!?St`J4uXWr7%5(sgB@6D)0eV@3XCelGN
zM-ub567rLu;?LoAw--Af$U!1bM`SN&E;=zyXV%@Q1Ytp6QH0+GVHs;L&0~P*f5B%|
zK_a(!&IZlzLQjrvN0(!mp--mkW=D0-X1e$*O%{`GHgNW{aP+$h&Ip5>1`@~;q^DC+
zpMMGOL(rd5rB|sLxK};^W)hZznbf2fMnuX45z5
zGS@CH=PQzjb{bV{SHfV}I5?9N6G*R#wj3L^q7foHv#=})<6~nf!i_Z(`b9b9gv3+w
z*f4&?#VIQ(9q&7jF5lz}qYC)DFxzyowi}jTueEP%7)NwZlo_;EO{qpuq}|rPtuuXM
zMG`T?;Pd&@L+E@Rznxad9H3ore;#*-)*DSIXm-j@zLaG0LQTz8Z?-R7bJA6QrPfcl
zr|oqryLY)>qFT#rB!i;C`4n^~eAwHU;C!tQdYQEw`PmGdw|eZNIgZlN=G^n=lyQJO
zzMHvlQdL3&TCnTDYTfjE@p8_1aq{1cY`Bs(eh~=F`y2Od5??6r{bj{8
z4K8McY~q5@ldf*XOF3Fan_BLX^a#R`4XWqUQ5N%lQ8apvYbMYdF!J?o)RkVs?%bE0)e5NeKObQ-HsN849~
zSE6m;qVP}A1f8tlO|wjvOJb=QvWH1UVb5m$#6bzUq+HW9why>yjwBie21i$SI5^nR
zFUjA2s;;i)cROTcX0FjLNy+<_kg&6}b9pq&!o>N@XRx1KjWE%LP$~tT0_6hP+BD6Q
zZAO_Gtp=CNvN-?9^5F;Q9ECH!*c2iQhWzCDmw}8x?o)24r`4Z8{<-GA!_t<3@o{rDl;
zrxCvZ{UzwyozbAGvx()aS8K5)7$Ja$NpA}G6=bN6Zpkb0sdBVsUP-yeS8e`M&EN%(
zw_@|oEjkkR6rAErdq@a^mIH^XRv&)5ia;K&XHV}=$*z53u-IqHqW=r%P
z#poHFc`U^UWG^0oK!Lw?Nbk>sua@0fWrkM@7E;^q2#BK!8V?U
zO-#57KQ)=2?c9ch07&)%K1&sZvi??1Mn;B^(`w2xKb^~QqstM}ix&9%16qCh4_!+H
z$;FSS|5CU-#(vLNn){!ROTB*mnmKW>+$Fw`ODln`XR{}&(P<>@=az|aj6nE9yeSYJ
z1KUnNh?Kyl=!xnXv|Dr4ZHSu3vrD;a{JHIcTW2mT1Y_Ha{UzIgA
zEumkA#Wb@~^qXjPf~j&D;=RD=Y>6K?Htr-1Na$JS&Idy-iZt$h#x$-UgoSwzE*6nU
zYaEOt#S>q@Ff{PAl|HiU22so=a=rj*E*VGglR)IIBP@A0!K^c`q}HLy(;HQwK8rOy
ze}9Ld;q$3KmPCjjbQFlz@aaAp(Z7x}+GIncRXWw{j|cF#V9
zm{c|jKi+*jiRWk8H=kCk_J!vtgHb5Erl)e3yo!K3+*$$|Sat^n8&61_)2?<>Qx97+
z9}n^Xh|c#l5?uQm5^C00hvzw@!^#g+B!uTwuw!(VGZLd9y&>gORadX^=#K~LR!2ui
zv-cISe2yfazN=0v<92VJV2}xT>`fJJ_C%+1SYnGx%1>@NfHyc_+OO7xf|xS|i9uYp
z3#z)haxIu3RkdwTAz@+vr8-C8?=L(A7UJ?pVvl~|Nhqr!9Q1bykSS7N(bLnHFWM0P
z`$y;R+FyrKitb5}v3eF7BfDKvCioa~bW7M-dC>k%*#B|Ii3L>Gt8hT`k{c{6D+|S(
zZpdo~@6_*A*bF~?#9`KXyqawl%+1eqo=u;`(Y8YTmy&0R0{P?Ce-^_+-)%X0=zV?4
zw!0ORK6dw~@u@=W^-Z9a3SHVPlk>6KXF~Hd{
zHe*VxXVQ{z%Alq0E0%RfLbvAWf$V*FX(SoT6s~eBp0{cKROTD~>`Lvd&|-`uMO|
zW2e_(Gk<#lCnh4=+uLKrM}KLkm7sa&k)eT0LqoG&HL1|J7Kq*xL!3C_pj+d$vZ({>
zOoi{51Ut;lN4a5p^=kD-;-ggox?w;Nsz!|bcKH&FmW}acxlAYB`Qz=64k*p&YQ@w}
zP5(*&TEGE>c2}$RU`*x=jv0gfgJ-V;oiLxdh_r-cTAr8^k#W&y#dCN!-F&`f`C-L7
z`lv+=W-iQlM+pU#(_C*+Cy`^eiRSbNe
zyki!)Y~#!xmTS_aKLnGX)su?YeeOWhMNIa~|F|yIroV}bNR@G(Sf@$``fG!HBMxT&+#12J3~dKO->!xCt+b>)VvE#KcoowEl3RH)!4nx
z`v&^jK#x0Sdb4_V+%LyCqBOZ%xoB!?y*^lLRE$v12b5Q<@gV!n6qPZ^CkK$XOPu%9<3a|C|$gUUm~G>}|F|OUX->6#S%Z7PQ>&=WC7!X^6u=
z5H-Ij_kbbEB?;X%edY3%%}2Wef#~sMSMQTrcS`?R+8|@~utvVU17FmN5eaB|t-reb
zimZFK>n(Kqy{Ld<(AIi}W5uWPX^6e?PHs|o`?(dT!zawj!AR0{u*v68)Dd?9m!=RA
zDPUU#eQ#DR*Gyp4yIt`s;c_A>lw*52x}-U+FNhq*^n9;9c{hYNo7gnWT2tx
zrf-?s{zvP`?ICU{PijL*Y2fS(R7n{b)Ud3ffq}j89I5PHXO-yBSVGowjt
z)g{*HU1a5q);3?$q;g7M55h=#M7roDni9U_GCO@=(N+lkyhk5593P)1X-b1l
zC7U)C5{VkSAcxTj7DbWdRRk&F2Af#K4X4zKC7cPwV5#6rM5wxN@I)8ekR&+pkYI)i
z-)#LDWNwtRvqiUoU&lTijD^slbToOMmDX*bW$Z?663%}9r&;}B{o(2WKJy|VEma2q
z!_@50Wg8&d@_MNBN=WTFs}5?Sy=?U@7=_;##~`Jl;>#*4kK-r`)f;t&oSr&4QPHIt
zX_BCFW5w5VQimsFuU{=eQlCg7y4gkwyXQ9D_zy0te&WhcO4so8
zI_5X%#I7YK-@Ojxh^Eu}N`lNTlrkwkbZq5gl5~}A;}jycplLA%tuUKvOGtyF;1Us}
zz8EkJH|4mBM-A=VVfbn@e_e_x%aSa6>{916#b$YS3Q5}O|B*_kh<~*&bAA40cGiHd
z`Nr(vpmtKY{dwE-|E5>5lgt|x_Gwz#Z7~!
zYV^Av?OEv$rFZOO7GExk%+-0nt?t^7v@5EuHY(wus4f!sdn@^`0FxzBWVPk16uGH=
ztKd4kEUQKT%;T?t(K7+|MNdj22YI1j1SgeYGOJJIFo^usMu~otNx#?|!7BG7{lNGh
z+ll=tF0kYATKm&=uQ1XZk^*rnuP1HtkAAOwtN1+wqkobvs;C+yXrAfs=Na$L&!q7~
z!D@!A(8q1ZiNK}1q!Z``$JagS6al}EY6Nnou#uQR~f86
z94aPOR@MeyH{0&3zT6~*C1SYlp;`&e#~tVfJ}2F|L5Lf1CJMvFTaYGWKU2ARntkvr
z*ph7Jk&8b~$6V>-fba_GHJID=|Hl)zLPD=*4zlrtfb?%wou978#}zaO0lWUX)q54a
zWQ+CA`ES{f*eF9nXLsv(ft=`jW16ukowQIEN$StZ;~~B_EyUju2PPd(R0`GKhtT!a
zkrR$s$LCE3BiH{?%gKw|rT3bC<{OnA_Oaa};aRl%(wYoz!8idilGyO3n=^9Ht+<8-
z?VJ=n8>1}zzHOcmqn)ATv-`8rGZHDg>~qXp2GH;bf7~X_Fm$GO1j}T95h7}YKrR#S
zK|sdmtc0ute{N^+x}|VFRQA9920pzlmlyB5J>*ZSbrx@wP`7d9AelBk&gphK4C
z^LRB}#jH^H2?lx$)7~62&VoP>{N(D*%IFJu
zsd>_zfq+_^*YlX7Zf5ZZ`xG~qqTi74@bOCxT3d=>=9&re3JPRA4!_q)@(H;9BYR?T
z`MY}Elwh46Qk^qk(>qot3yeSkg=^^+HRb8XqxyWH(J<6>zIqFh?>s~SRho~sILt5_
zJ7(>BxL`9TK=<~b&<|P(0Kec7eO9;J8;ZGTkVTqmpd;B^#}+M_l}0}a*&o2d;X^&Z
zN8NLn-8f|Ihwm-c+WYzWh05@z`=47CmX<+(l0L78-$lS&^7KM>PaUT9_kS`LjBLI9
zM8k`b%q?3?MqH4olQyZ32<^t6r{hu@CE5~)Wfem30$*AdyM}+XNR;U-EHUfZ;wZtN
zvXtnl!;OI^&CAQn>T~$>_75K{d=zv%sStA$a5-+vixNH(RuUiOe?9|v({WJuvitS?
zsKexR;##ikIJr(%x!O&t#nV`+Ovok=QWm<|FcFWTNa8N}{R}Q<
zD4xVRZ}cWlMEAyp*B_1lq6
zMG`aAml4)(Zmu`ko!(p?F3awWxBPo6XS?cluyFB+Og?vT$)r;g^ojCR+04vLU0q$l
z?K0p6f>&<-;ClJWAKPI6?ophSJQ^C>_{p*l;WM^x|45}UAe>nJO|p$TD9;%uQ<|-S
zTG_UdTp|ay8`Ae1pM2MaNZX=>9&nA@)v{q&`G2>l&=RM_jqflj91K4zMCslniNC7-*c}0?^6P~7(mT5F+W%52-J67R49JvRWCTqw)tT3@
zqA-wnBwaiHVKF{K!Fh`X+iL9+b%tKYbq9~9#|Pxgqo>2hBO#!hu$;_$c)V&Q=WzIq
zjnnTA<*ANQR9C9CYwCQrn9ewf6A_8UCepJ&8YV3+t{e2rG#E8_Cxeq!M})$Yv(PkH
zTts8HZsaf9-#E@!Mv=odbc5lzDxA3J3lN(y10F2bf07k~s2+t#Sbpizhg(kCGHjt7NhKOQxevBkL
z(Q@xm31&N7ZoIla*+j-9Ndh?WgoK2Y6sy`r&x|*rod7+grl#h7b@%{O?^VCM1Jl6-
z!TT{W4P8fxpJE9{Ng}LZ6hu|E>hH$JpI!>}Yn#=Y{A7=09F&)r2UE0fRxBPk@!Z2b
ze7;8WX%Wjt#`e|;!RxLqcKYVvXb=*c%hB}M#6NczB9V@KB>Vj^#pscGZ`U|}-mhV*
z@u!@~`EtoYSYjJALn>;&jON%!z)zj0sOErr;U6|PEM=wG0;D*(1{Fa}p4|7_kL+i<#k#dS_M?nEYY3lXpX1MVsU1}a
zdy(8SR1}sFR#~-p0_f5|xY!YYokxSBsb{EZXqvA#A~MNMHvZ=YU^gEz(W)tFas)kt
zegDUsU1V~f;{+Z1!K$;~;7tGK
zLgx45(;xOl%w0_6WlVl6ATMpd#z?*maVSgG_qunn{+rm^dODs#G($9FBSdqx9z#an
z_S5Gn(L526G2Pqa)$*@oxFHFzV7kpO&iI2oNRU>+o-4!?-hUVpd0&N
zE%5E#qP_%MzKQaXMb7p;ilC;U;L(RsEz7Yw`@63Jx--8W7>mYke?RZhi9Osfw^;n5
zlG1(suv;ofNzd2U)wP<;DDYBn7VD$}#t3(+M-=@o>&^6KmnU_Y%XHwUT9LY*_d)eD
z<^&0xolo)@+r3772}m3g!ND0pK}z%-mJ_+TU0s{@x<5Z8^i<6xTSJ5ri6!|9I&*eG5St6l7A
z4kjvgh{1Tv9HoBQ?15Y35;H7s6n^H_Y-w4jEViHm!HVcCy@4N4rGvbj^{RIi1__1W
zHCbXi!Vj|&rrCqRZ%;$D`gMp^tdhI-QNZi59o*jV4oWTL9-~baL9SPhAT0IZxKBT8c64)@E@%EG9#rzxwJG9yY#)W*^=^8-|m@Aya^8tzvX+%
z>5_i*)>U$}U=uCcnlGYQ0%UJ`9dmtRO5xe`EvEwv#N2j1n^D}iS4aMx7qd9KEWM8E
zMbif-b<1|qn@VtMgflq|7#Bk6I8lB{LHnFsVjV*z06;?Bk5))g5WyjYJcgilDacF4
z!Aogb_+o7teK=+)6(!{hx%p2Am6ke#uX*^DF`)2mv)7ks+^@8+xiY;?O;o73NExC}43A
zyT<+WoY$*WBurVK+H+^Q+c(Ix7jUYh;{)IT9^|;Nu8`XUIE)#x6Od$L;wW00B0${pZd6}3w>&Py=oCDb_{6n_2kTu!e
zGcJ^?V*zp$#2UNh29J{s0L1~RW@>ge^b=+3Fi>i_tfmU!Wvwm#PmhQ)obs}=vW<_o
z@Jz40!g}XjOhBaj8%x=cr^Se`rWWSRp71uR*6f>wDq2JZfn!vj<7C{By4YzUeYkp&
z8m>gfE^xS~%_5A|Lp$SuNB|}`BB?WSm_bkdd`PrXsqv+P%u$g_&%I)8+9il}@C3&AqiB09EB^LY@=S=9hGuK4
zYVO`6deS(=Fj7s8?e7;gy!aUi*@XVv%%w@GIS`S0Q*G5p_F+QABKxy@#Y@FH8kW1r
zuhAE+(jOF_I=>}G<7Bm1me+XU@xP_w2O
zGFmt9X9kaaA(h>ms$Yk`S{}dR)ItIwiArWOMe+p31Qg3~fh-tpr2q2!N%rjeTc@yE
z=SmbYV*a^;Es_Lcm+O;No;2#OW>4Eb7|CQ
zX~%TJCK&SOK=2}Am9%cN{v9W-F;fZonG;Lv(PO0=XbkTEcwBN2hrW`*Zl`L8=5cjI
zuMw1o#_K*pRXZ%L%;0Xrnhw!C3aei_Gvud5QK7gN7<76!szuEn
zU6jjDt4|}umuse9?9-a9Wk!q6=2K|OeB3~dBe2FCze>>I&zB`qy2Jw3fCG=BHPXIlJpdvJF+H8C|+c4LJRe=t|($Kz#f
zD=DAL-)Rj4-!p?J<9ElO-S`J)zP}rE)zdJUx2ydT+f~lUPlDOHdL$#QWTN#&O>g!^
zR{X?-etrGiR`@ng^jPF9oJLZpc5%3zk++!XyoWU)wyeHBH#dmmu@nlmDkxJ_RGj6A
z+V#|%ttf?n5(fdO`G+2@|8=1Bbsn3}f3&)@GrQw5;0;j5eH*a8#4W-OsNLBG&<~?$
zjDsIwjN#eBU>hqN#DKK4Gza>rk{7>2%Ia-qOP#$galeV?!YgLFI%y?0nvmK+k)p96
z`i^K6ki?@sn~t#@=3B8nbi+tjDfl(-RPkTUULIKf9q~8KdKO=&bkR8&i`4-$;6K
z^|KEcu$P9peMa(=sK?ve7l*TDYLQ=|AEonaN%
zS_YULkTHNb5^k_GU6Dk_wVLy^0|knx=JC<)=G%WrhW|eBgvaf2aV*dYoLv#0g4WYc
zzI*{)w)(H;Fr@B(vrqTFBFq^fKAfwfJzJ{ONhm9*#cbJ}_8tMduCU%E_(F?WUxFs*
zinsM1^WnGJAW%p5nf_f}27%c3Nj3`#+Bs0J@2dayP@~b>5PQg$LVrl!ugu~DUw4+q
zY1{SNp80E(-2^7nqNj(^fIq9-EOMaZ$NSR=*$<4nU1L-|x9idp7;BEKaDDF`sn?qA
zoO>$-hr|gpEXngaC5F^hJyOig_D?P#(6PGa_~p!EiS|ittKXL>!d}bT)r6N`?Z~4o
z4Hfh3>v05S1N@Mmko8Z(S|x4|-cR>=8Kz845pZ|1`G~vB>xu+&kKUrIG`798%GPW6
zti6xm<-8XAqYIwMMPixnTiBZ02+=d;QHDc)@wbny@~L4FLeAD>SIf`D^g4Op=-{rb
zKR-*!0zOl+vn?>H!-$`;OBkZ8<_gHxKyVKY55EFUOg946)zj0n_5O5_d)4Rcp_{;f
z!#bguK9Bc}p5y7ja7Y}!p7~ilqUQuG9FzUm^6SjMLBw+?*F?8(g&RgH#sw;C?
z*_3KlY^=3^15REbg<&Kd4kz%tv(?s4p_a*}$0QeO(y(LxWHEcV92^`B^y{>=I~RxP
zKhkZv;zB-U{StoE{PIQY_$^46nV{FvJk8I`$?4;$Ba?S%EH2su%n_od_Nx>wFshi&
z$4NtDdNT0`Sgm$LCFP$$zx|p_fG0=l%|*dLNH1+;mo|A+KzBJ~WlA2-pss+q%al$h
zl8n9uB16~@K4TY~8*<2NAi;MhX}*I%$cZ`gXsPMGp@BY1vS=K?iRwSZD;^?RKI@hb
z)gMqt40`dKcF3!uJBkfNAC8TJ81{AS=uMR?mI?1~E3}@30!r}aj#(>-9dEf2Z;+!b
zoAX(0P427IPoQkN$>53*HB#~7^(j>b5aJ%qYqsp(ZUm1(xNfwGL69bIFy~_kj!o+K5YuN)PeH(LLau&kL#%x=>Y<%Id7d0!k0VlF)=P0LI~9-UpTAt
zzgfGQzK7lJGTdhR-Hus|oq-U1NTp$owu#les
zocgS4&OYzcN+UB-9KNVml&Ox&(eN8$(4Bts&6D~aE9m>X7(w40axFrx<$q(?*y5nS
z{twnqEiKy!=CICli?3j=ZlfYpwzy_`+2guqc_!~T3xt1bHTLMEt$$b$LjCU7V|zS{
zlg#D-7UhAqB&KV?%%h@Tr-O1i!_&5MeqwU+b!FyC{RFQ`xWH(p@8x`F$m>CX0T>v7
z&D$^z#-DCNq0wZ53*Qf@yiF@KS$o2>n=WQ_aC%}C+Jok)A%5
z`aK(^(NGebz~ElPh_fyQ)?B%t;GiRn5hvzs;*TsI;4Qov%M!b3_I6e;%7do@zMncr
z2tW(a{!L(9fTN$BLktTcz}TjFh|$f!_j$rYDk+-M9-S
zf0?Wzwh$l$Qn_qlnv7OK8UC6rOIDR}(Bx-E0WhGKHk=OR=2GiTHk55s@lHWY*{OG?
z9W}2zN%5^mIx^v@zK#?NEdM62&CV(q4YTL+0T9i4(8S
zpTkY^p{)TEqp>P(-7_Py8bwz^!cAH)#2*XN{+{l5vnoYteePbh+7FQBqP;LL!&~rR(qKy`3P0uXqd^_~bl>
z)!JvLr)EP*aleu+x7+|ybL%H=^rmLQas@<6&(`*{l@-8=1A$^?1%+B-bnY|LYc{x8
z@{qXI>vnA=r={rvFa|)+V`Jr>XJ!ee%VaT=cC#EM22YP+GBUt@K?1lElqALUXobP0
zg&&^X0Du1cnYZCe9X8v-s9;V`_YSe0uu9*$r^=?)_T-i)t%7
zyB3d2n|P)mEZ{J{fB!z4-Z;|zaH$ZwS1_Jqt8VQn5zIK~dwc$#g~g!K?ch(ME_QtG
zp|{o7?*uv#9a7H!q$YK22EI{}{|MwjeCPTF(F9#cGRs76kx+lF^&+@;G08?9skq}S
zDU$*9&3YT=gx^kVhwm;#0$D0v+v96lVWDHa9=_;z@3414)bCZleA#u-goN^tGRM$m
zO?Q_83nTv8^3Isq^Xh?A%wO2#*j2H`+sL+LXD`m;MF7lxMdv_`CoT~!vDk{p&us*6
zRFL1t{s&zmN#{nj@DyfdocpjWi(CQhVx(Hk13pnAl=~{-UWxys)eRT9Bs15?*VF%C
zgr;vE#;_%R8xMWQd<&W?pL}IS3lY_CtLNn#c@|`IlS7eZ7$c(nvr^*ZAiNq*L_J-(?T{|vML`L
zC>Dy*KQhA1#KegaOWIIwKAduKxoA&EOZyVkFG1nfTbK8diXdo?=miA{CILQv20&c<
zwPs?NXeDgcO-xMC$R^?w5IB=0CMLSiXqo@X|MMPZ1763KP{s`wm%Dv<9EbGCrSXg(
zIK?S_3Nd;aUuCze%k}$L*0K_f@}k&-oK1IK!heX(6^SS8
zJ&^vYKpaJBCN6z1{rxrUo9>q=o1I-(AE#IE@0z2U(s!%!Vlw^29+vTTw$sE=NVy(s
zBr3p+nCPHBqb@{5&)ug7%U}va>fEo`>LBs)IEtU$c1sa9^$6Z!AW)cCPZRC=TmbGrYMD6-}^pvuW8DA3w@
zh+;vZ(9(uID6qdyB>B)i(?q??c7Q7e%$q;LY}L$Qr7uBz!I?ls|v`a0Yy9
zsAO*_tvjNdD10g%)}u-J#g)(R9&T=Kc1P1JYv(a{P1%PoN%`@ab)}oO5RfpET-#rv
zP+(y!9JrN@UTr5D01^}s`0JgaihO5swS%ufuid0I=xvmm0(Yst+*~oUYhB`uK#VWy%gyrKdJiO1<-T4Y5%~Ol*6Wp
z8U-x$-tqDl(bUj4=UK*6doS75_I92zy`c`z=I{jgGez7RX2OY?QJRAC&*fT^92jlo
z#e?Cm+Rf5(%V~qY4MVeI=`fT<>{2({-7oq?
z@?!(`z9cc!R}G_=mcQG>;KTJx7&ce!iqVhs!=4?abfd}T8Erz#cC!QsHi-}y;63%?4EX_gprEq1<2O7O`mw@XZcx`tfv;P|d+KR?45
zoYkj%S{NSw0*pj64?@3GGVz5}dxZAQV5x37@JvU$M067D{1QRvWoOQh`d=+
z4{SSY0%|;x`FEqF&G9onb}Gp2`9FXY{b`yUgj%!RK`Yw>#FpE>rdEPyh7?K#qmG`Q
z@1kujlV*8aA4?C|{|@jAx`R-;x8-6MX?GLt1qFh{{3Ni9Xz3`UM)I4(ex@XLhIdY2y1grff
zR=D%qj~I|jt(WZqv+!44=`y2WXBuGLWH(v%)FIZX!?P+*1l
zi#6r%?j&TNM!2h*o5bel%ya@tL0dC$;=#phm0?Rr`^<+0<0?cGIaT+LlVKCnJ=boN9S|xTSmyB7dOF(9|gcS;R%YbXc>7h?PEy)>&A_kFkB!lnbY*d&IglxMz7ORMi
z0mf2`xNCiSIJ&<%8^#~l+S)2EX2ey-#WRXzU|@hh+iN4%nKjg=t*S#hjYP5b-T0%+
z&8FPrw0%)1Bf4Ma%>(AJKG^6k`-(cy=>GiK2V25MZga$s2u^zVK0Y4lQlU1vIrBj{
zG60l4ZKXK{IPc7$`ZCzQ`)=N>VCqrC3aJUJXBk)JFC7%uRL2M;U0AWKUy#X>Zs&DaabO({~%@D
zek4<^maTYMz-OP$S1dyPikNb0Zcfv{Kr!ABOE^Z&p=W!^RIiKB*&Ech{
z;YSO?atWTu>qo%k0`yyu+IeYPX*nyLk8%(Qq)flrM!kql5W*v45Wa9#ko%4bO9>5$
zt;giCE5<%eHN?n7g6-W44taLP>ACNdxXaSfa;m69hkiC=R24Df@}{gkAdJovgwV=q
zVJ1Pr^y#x3cpf^tQ9hX4-H{=4Yh+wOjPsdl5Q&ePm|DMu$aCDUXqX+B9?L%-L
z&juS^T(FsOr6wbDEkCnP(!(j!3?nd@p{Djqw4kJ<`g``?6){C0%;w9N9~3CXM{QpB%T*o_n1PQ5aEd!$I>3PeGqyxRHc7ys65Gxsq@CyD>vMQ8odW
zh-JegFdn7Fm;hK{;0=BwRhGs5*HUTSJ07C!VOP@f&kVbw@PkRUHlXql0Mw$SmzRnP
z_8{z0L}a!qWnm#Dg-99KTrN`qNn2tZ!BfQKe_jCN3h8*0%0(cBCOjRBWeWL%C^$Je
z8_gAkuxo(Oj4cV<0PT)!F3uMcSKLcX`L141a2(VNBUIX~C{#{@8z4>+P!V2#~+
z(MmkHeAcHXGVwJw^V!h7jqV5lTLKkodh_Hz#u5Mo{i>8?Z`d%LZ-Y=#vVbi*6KJ)X
z{*bZjeg0SUGzS;}32gt}y9rEA;l7uXzZ7I=XXj)Z-aSJNRMOPcR8qpiKmu$qzT?3J
zW`N~+tfsy`S=FEVW{t1sHyq*i%HGaSzt%1tpzo-ebnC_d$z)^@KY|7qEeeR9iDYvk
z!g&zI;K%;u3Qfjb*{GWwfIC(}VaG*tExBNWT2e;ins!yVl2eUX=hCl-_^Oo&=M1$#
zR~OMe-~N-QiHdk~b+Bzth;jwkqaql|3TK(e$!kJ);nW`Jx-SD}i@{p$Jc)*0g1>=p
zdBc!~b_lZK|KsT^1FC4dt`CTSif|}Fx*MdsyOHkh?(UTCPU-IMZlt@BF6pjs^nTuN
z{=%7=tM^`etu>mrn~v8D|D@ZBXfL|k{};`6+1Qx<
z1eY_AkpM@ve^F;IZ+kSFoN&~>Rni68e2z$8i^zK
z0o1ocwdp+UTgPInv$cT0yFuFljR*q+S(K-{v#hu{U?`-de!adt0r8WVZpQ4af?O~R
zJ`pTrFRh`WA(XJ9;tOyl8jUAUO-}yQ2gsL^`&=|hh$z8-H3|S}K?q>)GpA8^pAMj#
zw@4>0S~8R9VMS0T8VYPxp?p+~Pby6fqWc1c&&8#==^BPdONIH~m}(TLL{w3gmQYZB
zoUoNHM2^u4gCnFAmzPKGr3JP+t9p#?_#HgFpco=CrTFPsBt?LtKP)B&NNRG({DxyC
ze+vS4U)b+OZ(XxWBf}6|g3bO(Bo>=@$PWBIErOAmGY2bmv1Ti^;HAl}_pmT3lmfGY
zY^2mU)78n1efv(}xFB${Wd^SIDts=K>PufuY6(U6PnyxLnq)%&6qZNPK?e&Fg`(pV
zVxST8y=8+2Ms(d2Fs?QS@??Foo6^5{dS45fGe
z-B--zCb&hI?1m~_pVeIu8;#D(!j7BDu5B*7Zw{K9eSX|}_jD-pSEd#kT2gvF;oUB_
zIHgx@Q{G=g<(yL>bfT5lzQ$&p#ijq~AUFAgHTOMVRcOvHs}1kXE
zsnN*}IV3t2%ld72hW3%#TbbkF1YhjFNl^+stM#^&O?{3N!$~@^$`nAs0D!RkIj
z`K|jhsKkl;hEn?Kh2y-E5Tdosh?29xgp46lP{nDmax92>)i+$NPT^P_+!uW>>;Iik
zk(!@x9Mim2d31m8Aag{JwQh$rat{bq7cox)bE#ChGIH6s2tVj0N*6tH`^4!c0h7t5j}7#5G%M8
z^RIyl%6f7&MDJy&SR48yNzu4dg;Z?zD>Q-F$h1?WVJbMPt^Imhf;1f0d-d^BwqMI&
zU@7I{etSjRHNWO3Z-U{K@uCNHs_b;Um^~|OtV`Et%)CSIi1v>@BI-4$r6X__gh?L~uQUNiLXr^7W-Mcb-TB3Q%|hMb5watNxf1osvKD
zPt2ln{GyWL7{CMbI1EpaB^3x1R?)-AOi7B%g(m*Dw05||6r^@p*Ujo5JvxlCWELE?
zHi4)Cwg>U+!fz$-fVla`A-mOS!_hC)YEUtW^VPL1zcIwh4D|GVXT3e|hvRU;N`9Z&
zw#^x0j$}A|*GC)9X4rx4$4E#h7%GAkPlVkvOb8{bAZos!^@T``f`+D|qJji<@6^d%
zO-&6*X~tec{~I{zwH5kayBspeu7)17%1(HY-SisUVP;LubZV+v(&(WL>oU1H_GqMS
zQo6?dqMn;UGQe1HUUwzMf)_BSB<$PaKu)e&vH)VT>m9K;6x9N&<89}ZhIGW>6}!~v
zc3Y!gGPKoDVxlob3z%O_E)$cpa$RDA(Wh_5`VW$y4iKle5l|*^z%1dSFpLV?`*x>
z)_XW;EEpZRkb;XVZL}u0&}-Vh9PLSsTuBBgyj#+Fhu4yq&1H(R?a4NbivT=d#!
zw)_@Jo%JQfY&*80#*ss8_JZ&r
zMy4OB9{4LQjy_;KBF@_+cotYXME|{z42N;^FtXRIxE;SCU-4>H?FWxeQ4)5UR
z#28C;%FT?@9FzI8>rAY7?Oe6Qej#v-zvKPcXta^)iUHFs#bL!0U!fqnId=P4b#bw9
z2a`89zR*%Jl;n-_zY|H_;Y;3yF7v|<(E(UR#J99q+z}_+L#Msy~j0)D(mu@Y#z>%Ha
z{iEj~$xiqAJnr%Q!l;5dy{^YG!oeD1%>l_wMykbFyL*M~KoF=pp6GPVdw3Ir%Vf1~
z_=Stu=jN+O)b3DAWSZ+;xGbXHa*TX`qVSSzqALCcf>Q_iMrsaT1BRJ>1l(eXT}I21
z(UValZ}xZG*R9P_M0`%)*&`UY?Y
z#_vF^9KA)d3zAj+W5-68e@-_&EgWb@b}s7yyx-%L>2FF?TJGK6FCN{HC0C3B;^gF1
zDpR>Q_kPu9o}w1E3Nfp*e|GLLs-QF|WjG~PR8ZJCJXBRuDws2~x3^cHm<3|L`bf^4k<>Ym=%7U@8RKgze{_!#2(#r
zqk1`RPq+s1`KHzBvg`&rxLge~#)>+Xa>in;?ktctmvwn+9ae>I^XJTaUr&OV+eWFT
zI2%B#%=C_q%a0zuAW7xfZ}HMTB=FC>!Mh792ilMILUZZPcf1kt?~|fwypoV=N?f#Y
zKL7(}q#*jP)l>y+4iIuAD2wZLqFrvXXgO7khB%U3xLYMBBr*it;7(AFhC-G^u`}+WGtyQM15Q{I2aqteNtK}1icMAxF<8K^!
znZ*1H1dX?sF3@SD>Ox?9eKy^x9Zw1KD;G{#Q<~K+pWnJ4WY-w|9nD_XN~|1p#|qIC
z`tDl3uB2>1RNIetwvob!L2=$FM*Xnym?`q*yf3}|tPy3SmBhhTk9U^Dazh!L$1^_a
zb$Q9evMAD^HDR?io5W1ddsBTuvaC`4$054d2zEX$2UKqj2#ofp*fx6MV2p|VDkov(
z3k2NZ*G1|c^Yy+aUhB_9#1Noxj07#Mz5U~-h3CiyfAw#;mheI;8m||mS7b>
zh(gte&&k4`rkEE-@*V!rpVa``U$Aa3m683-x}~@=PuV;}3fK>*d(S(T-e`O^;nsvs
zl_{=nHIvyMJ1#K4Tl{it+TtPev{X@AN*I8Gf|7jVXXo((FTeb=s~hPAzHr*F1ov@j3!
zXck7&E%_CGd)~R18b68o#E6y!TH)YOy!YSv<2ybeVf@Yg=5xZAf_PC#m{#$=Q1N%$
z2RS+*kcx;i6L|%r4z7e-<`f0T!-{ZRSFvZ#e`zHWl@gTS)DUts
zo*vC`SuD)0gC2y7zH7>G?nZ!?77|}Hnc(SzKj}w}r|{IHkg!-JX>3OaT(n$T^U|`+
zm%+Ph9Vx@ZLL>y77)f-*5`Mj#et(f#?Cl>imkEb8GT2hA6lt^s8oxI8OmiT0uv)^g
z(T;~edMY53R0ud9qRchn>&qB*@o{W%&dfco>{6^$Aw-EfMWu;XWOw(UN7ubD@}Yz<
zQ75M(3WZqg9!GjVm2n%D^om}tw`ZBqPEl%$Nz8MHoHz#;%(0%fR%|4k@i3j>=6o$0
z%i39H1*J}{%S|*HRNLFxv51Thv-Cgavo#P4GQwY?;b2@oCjG$N|Aob!=6r9lj=(Wd
z=nc48d4xwz3=g*#c+4K(AcY7L#E9n0RX`*f9!FWZ`l?1!Qd4_c&y`qrJPZ_IV$6xj
zBZh$WROcJ=Z%&qKm8rD<>>r!gs}nBYx2vBOuDiuD)m3ZBgax`=z(kbD
zT0}~HyZj96r&9`jDlacT<1%KOjt5JT@DV?6;aGs5pOcHrkzJEx{kz2NA5X)rPg+^v
z;{l(EGGck;%tfari)*UJbS`&^o-bwTtG^;3Z0un`puwNtML<58+aiyDxRrhmmha|{
zQPXzKDDJU2JXU?C9N)(V{b7gOAwA4vrhjlYBgXIqjE@l;=L^#=uNTMP2k{n-jWIVl;G&+C@q#hX
z5*rGC_F!S_e9BcKXH&F^dSw!Fr`bRD&qba4s_K^Xhp>k$9u`Z_U1ax<^u)}M0d{7Y
zxMT9W+f$bYwXh4?7f{5_fs(UYIkb-}a_i?1gjFZ97aO_tz;ODsNVsdKlCx%LAK6?v
z1Y$TG#;O;nckkXAeqKb$%kx#I#zl-3%l`q7>vh+D2anBeu+Tr(bRTBPxYHB(X)pql
z#o$~g((q7ks&V!6hhL4UZC|CI&F}P9_=*+g=jS1LZEULI;^NfGr2*=&2_rz6Y%shA
z{8NA&M}b07ogB8F*exZgad{p^Lc?D(C8NI{(!?y(f&MJ$ikZi7s=Ja~%lp7Cg>Od%
z3~B3bulY4l*td)%)0)t8!z!xnc~kkA+sh>~@3`*?Z36d%(sYJL&2CRL@~Vsc9b{gR
z-%h}`Hwl~6$*>r@MY**_hz_bxLY2>ZI3yU-`gozuuZX9ysTyU-o*J42(CeslU{K$Y
zJ%^JqM=2Xfk7~S33F^+VjxaD-)w(-@)O*dPW-B~5gp}GLC=6-$fC_!bs6D~{`+~C=
zy}0rFkxA7GF3QGJIJ^)I$ehVcM?}(n-W{Qp>hO26T?-l99ZqzoXiL7$iLkBQ+Zvy(
zy!_Gu9vj1jAKxn7R;Zs}$i*We
zx~I){akAN4MbFW9at*+&_s*xkV;!>v5%B*|q~|l~;gUiNYBuAr374>@sKFOt#KBUG
z&+9Qz%_yLLDKx-9;p@hL56&j56-Hg%sDR>=%a6Y~;&K%9DH~Q@pWH#Ss9-=Yj*5pM
zQkDqBXisplg9W9TNeb>!>sxSFk(fgIgS6)Y`WB_3Eig(9q~p%R1^rx*qaczajdQsKm_C2gIxBr*k(^z94R22!E;*gmZRvv!oW{u9
zhuGv7Ub?)y{fLm
z1J34mc?k+%GS^!6l17F?1lm}me}rT2**&B&t&F27C?)P0?HmiPOuG?SZ@u?BAu>#A
zm`1BRG<{HeH_`kahRs*Z7+-YnPhpuPXR4Z-Vr+)0E*(m`7;CB$HLbXE!uQ0OLZ(k`
z*_;fuLAG|XHb*|NXuZ2T;o_Q_VrF(Y7a`}dbRW;YvzU)Rj8QOHlSzw}D?vlC*ML;2
z4oW}DMV)fQehWKTm`ix4M>bTV_yelw^fhHuqX%-=&^V5MRVW2Wp^GicWRDzM_*L*CfO_Ua0v8;8^>YJy4Wmh=%ZJ*tt)Nz9u$HUCK~
z=o8^XpL<=l0l9J}*d2`b7LCcu$fl)3ma}WejFD^cY!Okp#5}~Ua@Ndg;Y!u*eIeBy
zL5p8Vy#XF?4ABYTY2HHHAH=E57xv!HcAQy+&NAe7Vo)w0QXV_)JW5
zgM)*Ky4u#Xxz_3jx_{DkAWd0kSOnS6%`vZ2_37)L5_m6N`$
zA*)a0E^e=}ziEY$CAokRWe@M7pK5n3@ZNnI-W;sfri
zwljh2#|P1!f&YC+^x
zcN1l_FE*A(>zZg06v}5^5YGKj>=IxdO+Kd#0ns$MVEbdb93G-fo~G?OSkXNUE)NA~
zG!T$JOL9k>fzk6t`hMcaM8bipXl#37w)$#e8ZrjbbFIfFJGO48cQy3gp|ROt_8U;5
z-S03?)_@5i^p%U(le&5v1AEJZ^-v{f-=woAGS9jam>6F%sjYK|EbrGVW>{}~7~pkZ
z+)bmhR)9So6icQluq&zVOQ&sIiodzK{QVZmTCFbf#^X&9xxPeaNb46=eLK5k_A0r<
zswzR;C?y5O4i$^5$<9`-D^pA9r#ne&jT#tGdWLG^XL$HOq9dmcci9-_w*w6?5s#I&
zh}J9jLX;B=v-7WjXxqB|CQ-Vu*42|Wa@%#CgwG;vipaPXVg^;B>$Z0)e1
zXGEhcmlcz57C6?1)%Iw%^>uGHW#B7AL|o;mbcSiV*&3^L(7tQw9J|{r*@_gxpA81n
zWvbSciIEX@yPaU++>6`WFGAIIb+da%09*&y+}W6zka>3ea+KB_saSj1LLLw*smyKO
z3q$teD#oH~j>2>{r?#OPQ)QqyN7)@Rp$!X9s`+ENffs?=RrsaQ#4OSntLFVlCcXBjCjJ&){^esi>e~CK(tW
zE`EVxu~=PnI10BM82g;eKBEVbG{6;{J)DRitPAF~)Lh%WzUFejEz@jmu-!#bAGJh|
zp-+*_oe~rh`i#rXNl$OLIGJr$zid{W94>6qaSXT1e9h-H5ZC-_9c2Ck;q&L4>+8SO
znTd(U@~Q2E19UK$)^101#ezwk!8U(%f|*t5v3RnR@m)qLH{Jg8#prO!9_bnke8Q`L
z2kI%B?!W=>QfIE8EZJMUb9FB@ebF3+Gt0us-;0Wcyc4WoBk}cXzk{-uCzNcfUQzo-(nZA^Djx+h|PPusrp)CsKBj8)|?7#SWoVb-cprs73dT!i2b#-;6rKNRcV*nvQ
z+Aq82)&Bnei3Ju`*2RelnQ|qTNOX%IpE12#bU)qU1wrtG@J;B2)KG-9z~Z4{5hU`e
zswoNkfU^cb!!9W;{ifBXqNN3RQLe46S&p7OJl;e72yi%_|JB>uJF&1(fR`^bO
zF71Z|HE3CsV3T8C@J&~L{`YE&I;!(PS#fxnoSC^nK5hFrI;ug}gmXeaoLZ?=tB?UB
zf<0q=P&3R5DReb^xo=qu&HcquAJ3>6#h}
z6sTYN2Q*P0_C~o`;8XLy7x@9)Ta=HxPUgXt6Hi05;Q`w&eBXx*0M5}Surw%wb2Lak
zeT1uHBce8{?bq949aqf-a;JtDON*yCo$wC>Af1`8hCik&=ORbud8=SYGG($l#RQrP
zt68hR&3M?)DKDuz6>xE9?q0yhwUp*7&@B}Rh?Z=9m+1R{TmS-D@`Qyp+%J_C{YJ;h
z4If0(4DvdJM?Nb=%hGAaN@p>ytgNK|HJOR`{`fJFfTH2pa^>D`AwgUocZ*5gVI@A8
zgo99f?&s`+=poVj!;_O~?@h27&EEn3&R)6H4*%fNo*LyOCU2#tSkQ}0{`bY2O(!Gu
zM>_ZQga6(b-mPYpyUyee>WgQ5oeG*eKcb=!yDl_iz`ZaN59p@
zZT98gAFWV!Nq$qofN~~A*&HiclzvawhY=B~?sMo4p&uGj;F7;VzZYYn_^*$lYYvxW
z2+|>rMF^^zb_V>G)l0MJ0E7q}Mp`4u=ehij
zVvoFM`D}X=;7tSh4;f!n6s-o7xDfE{6&XOHy9M#zA4Ic1#{O%HIHpt?U8RP>E|rg>
zc~^i=-29OIgQ%%?;){G2x_&r^2EDBNb-C%92MTPlzX;76+rmc>ufslf*20W@X#A^x
z)?%!s6_S?s_14f7k21?*zDF;f1L{)1njcIiCSQ}oErPDVfkG1n*h2e-WPn-Mdbj+vX
zYEN+FzviifU#0+I)pCuAyL3IX@g4nK<0qUYRiV^_?;Of2QT)xhIy7GO?LTE7<}zO0
zl5Usbp|_h^f^MHDrhvXk9~ze6Iqwb_aVC}VdZT~&nEl-<$gPa6I^XCSUAw_P_Rbb6
zr@SoI9U;`&7RlT`6sofVW7$=z8F?ye#bLnwfR=SZZq)tA+2OQ87KMoG-B1)26)p?&S^L$!0~Hkf`db;{
z=0+YrV5j39?n>;$%5;cY&1-KnSKF>ABI9d$AG=&*=c$Jr*_-r@io2cpuO?~vC@^Q;
zQ(ZA)N1uV?ITmC6hG*^eZ!SdWKD_Ar0l5d!<`BnrT~zn!``lNJI7%psiVL^5CQBdv
zZR?1)xhQv{&)Mt&Zs+^P2(K){&>%b|B5Z2M$WMy%dHLv&&_7B+AoL`fc1;PH-4qD6
z&n|mmXC109ya8o&?AkGj+DVO8IS66sQhiPP&M23^V$tfI;>@~YYaXYx0e7ZylV0#MkY%ps=29dSAZY=P$EiOBn
zjhEEXcc57kFV8;XZb9!4J``T-cx$&C^wgld$HfIw&b{?D6=KI>9%A-!H;ZJ6Z5Ehq
zI!l4e4pPEAkK2~kGu5+~=`Ezw-5Ytk%#60@@6-?=iGhJE&2?7I_-ZeO5ea9m*tc`v
zo@xDwp~kjH#g_NMx0?(bE$wzicyAN?s|y<(`=eNVR4Q+iaU#$jb}e-jXPYx4pDEXQ
zj3Gf)MqXD+^XVJ46cx{amul*Ejh)Gmb2jkB9N9&o_=5H>b|``y`&vcDO0U15gx6Zaf6J4zlNt&`eQnjZ%`E8EhMB;
z#&%-0S-+-RUqXRGCaT=`B0t10buRCTjbsGrpTUSIz1&N{BYaQ0zoF|4M1Eld(7TSS
zC#BaK!X#2A(hlxFbk0i2b=j(P@d;Ps-4(I(As4Ql9$wii$JQGQzh>BM?k^QTEoSkE
z%|d|eFdnaa+cjsq2@4%Ix%Cbh<_XA`*=09>l>#Xg!-96viAarsgc%B>Gead=E
z{J~{xA+rg-nIyXDh&};O+B)ph?RR$M~A0QOtg
z!4Ynwk*b-Dm*=YY*1cOHwB4W1pUT4pYYz#3yWe%AY*JWpplDUI`6!*DL$#grX?u`|
zNKtWjfi2)Y$FdrFu`?Qixot`a2rngfWPWadwya028w8@Y@RT6BIXW`NL>prb6k(s+
zHG4mhdVBgiMzcpBdd%yg5sSg}+3ym;rs!>_rr+w{^j6?fiahnWf%PH6p+iJAz5!U6
zU0gHz+b@PU-`3~Af@PA!i_bSPcgolvZ!>Y2PH11gp0bSc+ddkX!oS+A`yF28Y7~0(
z!NP)hd13iPiJ%CnkYstG^ku_2v?KvKP>>Vq;lfmx$*|~QkoY7JF6vP%
z1H9}S$WmzQ&F0q}JvI7YKj6|F?Dc^_#~8@D6znPbHT9l{#`Wu-ekV?DA*dpqsT6w#2w$L*Fo@l5)WDCHYm?yOTMNp2Yj2U3WV71?zaF!w0^<2IHAbkpoC>;TrqnMI4I!q{ycQCt_4YnebCN;ZF{513W87^ay);wdcbUWuKCln
z;K{(BT14*{)#^THq1N7+bMd(k)jiYuy5BM(J*?B8hO%+osaq{ojpo8ZS)LfWu+&_1be0=|CWo
zI6#bp)D;YYi2q60QJ7W*y-yrn5Ol>$i|2<9rrUD$)v4~ij8S;Gm~QQN_P+0-6;hRU
z`g>UwBbK^xGbX&;>^d5kM)bq1d%ieKKC9|F&0!MO6SdLbttWJ5QkGD$Ui5n_Cq-GY
zAAJHXOOC|X*rwS|p0FmgJ8-1?-hLwZki|Z1yHRU>I#M>h_uBlJ5j<-+9i-OXUM
z;GH3aQ$mhdrQITQ;}5JI@%-ab}UX?f1s})H!-VKG-LR?i$}K1sE>$j
zh~L0QG!6v)Hsi9Pi`yQAsp2h5ai4fmH7Y{oeYZy`G7X4I0?Ql8OeB~wKTKM^8
z(TJNo-aEyOvp(PAdIqBLI~Qchlo_U4-fX@4sEcvqA6uO4S7|LPyRV->IwNi8{b!1y
zIvXaW@*`~J#CgX8o~0cdDkrpNU6T9h)(!DLtGY5VG^f8(ha5U-yG*fkDpT}4x3Z_o
z$5A@GPK6n{6c_tE4>o^TL6=^9FeQ+1D!S9e1v=B0Im}=Fz
zQDzoEpuH}ZCChkEv%yI7nDLGRdHFCLZ!+nHHx_ovk&zFxRWhNM>3J&S
z(}+_r(2paF{17BBlQtZ5)*z?2s{aTIpoQ=DMfT$~3yJOMjW1P025D+m!pu!{kU;78
z)KHDuDrwbS`YCn^_MEKQ^M0at)k%(tL4QxBC<;OjTcUyuFwBGNP5wpDg9jPxkZt}k
z|4K{U-thHs;?0@DV`>=`xfjQu4dRU(HwX2(I(FKwc6HMkEO>Ynlh~A5vZazzxYtU)*k%vVX^xDg)%K{M^5%1&o=seXJO^f4JGx_^x|8
z_7CT`nB{(V!zav_qjT_@(2A^I>0r&WRs4jPpAIo^x-<42_XC~syrPPsmQff!k;AJ_
zGfgGY1+UX%_DNB))s~%^G4LTmKIRW0U;-#uNNDtc_YnGBUBSGx{8&Fej*K)`XlG@l
zlwW?JQ=C)F7d586f;0l-1&K*a+;2}1s;WN76^r-KX8x(54}9)$-}`?I1FP(`u6Vf@9glXr}pd~V_mA>A>2m#lfx=+^H|u|gBJlE{;JbP+
zuT1|{%n)yU4*I;}529UP(=>EV*dJF`%YZ{ero4ujVhCUA%wTL4x)*K=HA3X2k*~Q%
z{EpGVN(+G(jK_;XFbstVeAY=9{4F+jP}(>@PcoI$*Zx*~(Y>l5r|sv@
zJ}hLiI0m=4-HCtzY>qqkhd?!l{5|&enzzm896dAj|4;`!1nEc%W8%irTD3fG{900&
zAojS>lbSjWc-tl_|ZV8|f8U|lF#!M|Sv@dsB~
zcFA)U}=$@Q=Wv^Ett@qjGHB>Ac)YJe<&^ks^Qe1Gf=#g?KF=U~ezH;KTdtP2qN