From 931302d883e111222aaebd8475eb4c7088af1a8f Mon Sep 17 00:00:00 2001
From: Ivan Yelizariev <iel@odoo.com>
Date: Mon, 8 Nov 2021 15:53:58 +0100
Subject: [PATCH] [REF] i18n/localization.rst: improve instruction for dev

Reconciliation models section is deleted because it was obsolete and rarely used
in localization modules
---
 .../developer/misc/i18n/images/tax-report.png | Bin 0 -> 59988 bytes
 content/developer/misc/i18n/localization.rst  | 843 +++++++++++-------
 2 files changed, 541 insertions(+), 302 deletions(-)
 create mode 100644 content/developer/misc/i18n/images/tax-report.png

diff --git a/content/developer/misc/i18n/images/tax-report.png b/content/developer/misc/i18n/images/tax-report.png
new file mode 100644
index 0000000000000000000000000000000000000000..cf31e49fb06fcba59d23c2c9edade26fa98831b0
GIT binary patch
literal 59988
zcmZs?1yEaUyDm(jK!M`!#oZkWp|}TkDeh3*p}0efLxJEf#oevAySo<&PJln}yZ3kg
zedg?$OtNNWtw(N`>xooWl14=)LWY5XL6wz}P=$ek!-au)m-hh{dWVe7w*>~~6O63H
z7j@5fXIb$2YMakPj{yOVSf-|PRt0TIXaiDTFyNG#?WU_ELn}YH<MT4oF40rS#in!n
zYfy*J1a)7(tsuDcMxgQ{`goofdK_j$)_k(T8!i*VS|P{*IWY7v$lqcA`zMqBQ?IO9
z1j_$^2l|I7ynoOy7#tXQ(Ra%K^)rD3<G-W87J>RdpS#3fgZrPOeJg^w#J2SQV)x%K
z{rmGBv_<wm22%dc1^*qyKZ{}#{GTQKGX&)Q{r|lz1{g?xx*-Pf|6IftT{EKSyFj%q
zz3Y^*q3p|d|Fym?r9fa!w5R=YAjq?leGeV^TZQO>DbNNLP2|5<x5m(&!x|UMMu!BQ
zS_Ne%2-a5x<{?rj8maW(9e$<n{+(AJ;B|)x>F2VhFjfAp2VLaXkN>VahY6XzlKuh%
z`5|(Z0&OM`_OsgeWpJB`$S0P62`N?%Q;xfjDfSL<W%n^8=F2+=+^^@4Vz#e2+y74g
ztx^<)X#^z%)_=!6BG@$tW)jD08r;(O=?BKYo7+~;X}~>q|L6Z@f)9kjuxpG{t%oSZ
z@FAN2lBhci)~?d(o)YI0yGfj+01n=>2xc{VG7B?M{onCF<igtPOgl)>Z_#DP2L9ln
z@2-TkzxAcy4w^FimjlhpIiyT01|Q~W0i^AZ4#$Do58q)S>R-Xj)DA!MwF+&E4_%C<
zKOz0Qo8BVPXU%#&j50-kUGGo4_`o1^`feaRLB&G3azy!H{U$hc98JvU%Rhp#r5=b@
zX|;%n{D4HD@*U@^^79N_jlPQXh3uU1<l$VBsPDh?hsXs^Xiu|3H;@Q34F?bw4${G!
zJ!RPYFrS{yre1_W^k2d!jqExT<qn_w9rPXaUgjMwV1GxpH%2+@?2$wVJL2O%g7^KB
ze#(n!ga=A%Bn;sXMZgG9gULRfu~f;#z3+BS*p%wO6AD(tNNXkuK`9FBkM#*&_cC#c
z5=UCN3yc7767-MMeWFJGW+T}m3MJXQJVbwQ@Aq{T3lQqe4+GYd_*lUo#^3)VSviTw
z-;5;%B%x11pHuzL0zje=bD9PVS*v{_`Y&STz<6jTQ9&od`s9tF0Kx#+&f@`)h{c>1
z!J$30V#NQF=_m$PUvGMXN<DtBSQv4Vh#*~eRWPEPybI@dqZ>OrC#s-tb}|1v8UP7b
z%xN7gWUARpb_lr=Rm1i}6q5H}_Y*E6fnKO#zf2|SwXt&U{iD7HDqDIxCr~X|^Lvdp
zSV}*C??VPS|0wcT$OjEA{8Rz_Nr{i~d*60@yWbrN|A0`44G0v1nEO5*q(ri|Cp3yE
z_*G9BCA`neXOiEA`!`b&`3#ga-A3v;iL51LgFqj&>?{FWcfAyp-p8EpsrO?!RJotU
zO3)r<WiaHvJ|07^SUT(4AHV&&y`l7NFEV(~rjGiT4J}Zao4&gNwj&YrF-BoK{9=<-
z_qTRMZseoU9-Xl$ec(QwnyK*7_pIaZ+RO`U>L6P%DiV}PTWpL|LXX2M3%Oi_C_9(x
z?`-wL|Lzx8H1DdVNSnx8`NVl}9>%%TRioek$n<W@jTXef(zMn&AEj|)C6?RYRji8-
z_*5Ie{$SVHyHr<*v-2x9tk2yNYgBA#c+9)IGmI3hrlAhWj&!$)=z&9!Ehl<9`)r^(
z|LXX%2(-w3J?7$Orzm979PXJ&@H_ofpA5@g+5L{n6`8tAH%3LzH?G^QuRLE|n!+-a
zu6G=ak9(8_p{ATU2r*>>!@p}+6_t=Ez)lh$qc6FT;9dd8r(=#LpT~C`gn$IE#hk`~
zILO2;^cpR)&5m7Zmh^U}JfNbj$ru#_EOD#X*TXlKhe!!}e{#^(u19Hwmq$Oay5^nW
z%u`h^2YPwe5PsJRhY`L2<sNG(X<{sZThDNQMSte20YOcc6=_xw+QXrw{ROdNdE8CN
zhYqDcO^AAy-1Zr-4673VuPdI0MTXf|^v^wlD3G~q>tGkC;Gp|6jtQLtl*BdV<OWRE
z4pNt}#LmzVI|eKlV;0nZfj{RLoc(nmr!uc^F34!P7@+ei(Eq&crv1GmEGCTrw)BMk
zxp#3aUW=}r;u$q%HqE)mBfxcLoizV88DnS0Ce9YPb>ec>KNqn+(Rz)wBO|bz?z401
z&!wZ%T1e@9mv5xb_}GOp>W?*h0Vz-&h9AoO;jk#@;QfjAJ=qnniUdUgs%55Pv5+?r
zm~t_8zE6g7@8i1rKvF`f`p&bc+B0rjku@a^wMv;1ah`TWm>f+}#cabys(cyxy?R!o
zd1Y+HdsqhBJvY|i6ut9RHIcrg0t^`e@q4&oo><vcdyc%9A7#9HhL|7T*0oPcSZP>U
z8OnwH^|)DPQy}VIUX<%^a|9hSZob`rujD=;$=2WX|JVbm+Z>q2zljOkC({&aC_-LI
zZNGLM5J&q&CbXG<9(m~YVV>=MZ9lZ<GM6{RjZ469-4vH5q@fj>vparVbsG<BI~eqg
z*&jjQPGlE!*--!HSoR$xxassAly+atPRjnsz~Ng9slVm2H<Q3jpr@J~C)@;Ox?_=h
zP)5b6EoIt!&yYQrF_Hlc94){96dfs#)pNVl6NuBr_VFU=drQ)NVeDQMGb9RKaLIJv
zB^{@lPjmX3RY!zCL0f#$d}@r-f*?I1Lc*>p3B6NjQVTf=zVnyh(StK?CDC6I+$x?R
z7K|89hh>J$5j3o$*|+R!Dv5ia>|YVscNKS;cq~Qbo#C%Nr5K7Spx!3T8oHj?8)&k!
zcB^RG;<A>rJH0CN#7BqfJcJdDx+J^tZm>bl19WS>lCvuIcb*5*;c1MS!t(9Vqz{W(
z7gX+>)sr+-{Tv%YlZLX;Jr7b0ZnvWweoz6iOXvB7_o=DFs+1^|Z7(K%xC?43<NxLO
z-PJR4bV1#FUo2n0_mW3c+Fx&ghir=0UP{fo2hc8{JM`KW3Vjfn$|3iLT#Xqe4NlSx
z$}E$=O1)MNI{IG|ECB-^!Kzq=oEGW4EPU6CeQ4KJhh4nNL?Wc5EW&qoNc&B1rLWU=
zI(<CVjDO|^+ff{x(WE<nuI|!3c8+ZDbz#!GT{NO6W|C+sDhgSe6<c{Q-r`bRoFVMK
zzSzHR6|XSm|G;|%G3up<ogC?rsb*|^F_KebG^!+_$#2{?=Umt9Y(Hf<_ub-Xxk)3J
za`Pj(SM%%!b~(ny#eD~bIA>aH(=EQfxE2e)#T4RX>J~-bMa%p_=a6puTU9ZrQcj7c
zo!e18v`<PB#(U$H{Y&D(*CIH*V11*FnihadeygT>(}AO7M3~sDWaJHLyx8aSNSBLW
zc4?@k<N&OR0~a0#Q~OH<tf=0=$r?*hAAqC{gjd|K!9Xos82^($?LA%&xDVsN0TA!U
zM7Iug#d{>4!HqU|LOto-Vvf|!Df;4*KhzArwt7hfuL?FZ*=$?s%1U@|ckknA3eG-5
z>Renja8eCfzFuQHHHI@dU!T*8J-H6(n4D$TH;vwyF>3*Q6K+qN4oeAhMZ(5YY6N!L
zF8;{D#V7mgqJ?+zQdcf;u4YR?H5j9=*cc^QuCi@AF3r0w@W$y^<kNL(?2Sbt7;RO4
z(sxSKm)t5M{VnEi7G<G5Uw+|BB?<~4a+&N&ZnE<APJM4~6?G4?OQnp*<j}$NIR6>(
z{uk(vn>h{ctvX{V+S_)$(4ecdV5zXb>fGx0{OSzKepU@)x7xIaDJ|833w5}0w4xNU
z2Ar2*(C^Ua@qs~yayxq(dGU5-DMS%Yh-&0Cct2)g*76kjUQz3J+ocg>1MStoXMuBE
z{1(H^caWRsgQKGl53=-#&YJ#2cEmWcMYps4tABUYs;LuZwU&qD+KhszEUQQZoxGGu
z+}uN!`nfn_kUGnvsZ`u;QOYtPK-7Ev{qYp@*#KG<<SIb3Qv<hCVB|@Cs<|tFiTAf9
zDQ62$-xyHLb-zXp`A#b*8(WfAneZU&|6pTiBslDZ&3mI;j5lP7)cv}1lIyZyZHMg_
z3t}YGk(Jdkr-&|<I2oS$+WM(2uezj)ZSy*T{3GC@)VQo}M6`g2t2691CZ{RZF@JKB
zC^wvln$cF!?=~y%%))bIAko>GRcKU67>AU(y7OU|g{`oZPlT*~QTr-Nv=aSZ)N`Y(
zn6Ji~Mcs4`cA26!!+Q*nNQ24Ke;+s~^=otbI5erVuU*kU;aiuA^kn7s1UHVK`BU}U
z>N|&`YjK2Of)<CE2f3Wr13EeDGY4RF?ua<5JzWf6@_7U(i8TITb~y&4Nx^S!cxN!0
zHJAm~kwgC~wn^X2?(GsVum4T#quv$yXbc%HIhhwkS!%Fo8f&7dlj{tY*Rrj1XAL`+
zrxX`oit-6f^b?J;4AO9q-*d?$wevF-?n5a!3jxYGX>(0~EVr)93|6rnQuN4DEv!<F
z`=IdAr}Y2>-+npsgP$uSdTk2(DW6UFBb`F<H!_~U8yehKY6A><PN@bB%z#89D%w#r
zDeIGxV;;Zyl(mRrUx5J6l$N4B7$n@pM?}`yOg(1Vtu!HMnjz?T^oiCI8FEmZH^yUe
zO=b)rd@Vjq4GPX@gqmHZvB-%66(yZN+DYI@X9R=&J+t*lHl=`$S<wYIEoXby?4(#B
zc7@RSHwo=SQ%W1c_9M|VXc#Up{@1IrnUn3I^Zw-b<Fjch!unn24n3{FGE16&3Z~_o
zVp}e<V57UtGZk@=mXPg)!QUcIrrJ2UUAhCXhvJaL8iHSNtYZdQ{IkZx_IN7M3M30j
z3nEbpxqek6{3&M-`H9yliq3O>2c!jH8dj^53*P&4*wYAHjZ49S(ICJPrGRVf?TwE}
z8eOxo+(KzjyUp{US2_{_mlqk?{Fe*=>VUG2)2JTLL7b2=Q9@D~(-69Wr{UA;4!Mdr
zq+j&MzLy*?9_(>XFa2UMJ6$TWYw5U9FXe%|Mfdk_4Ow=Xfqz+#1^fxBLG#6!r)1YN
z(%eZ27gaxPmi;wU3<zn=>z?%L-bzJ$+ixzDV?eS=5R}~KI0!zUv{8JEKSwV6)k*43
z2$sI*7g@#zMv;r*+UXhH)x>~bp=4EioA1B;AD7tmh_v~@-c4dpPI5&~0bWPdGS7ks
z`qx}yZ{K3#TL%YBc9f3}k8Ygim9-t%d*4{F3<y}dM6`rTYC%{A%<%M0#x_yWBN=GT
zJJ2|Px;@-~vDTC|H`|iYc{Z&vB5#&IooLq((_?cR2TBgSdB1ac!DhhUy!_gbn^rQm
zG>a=QK4CYLh>@7>S{l=v0xCh3wRKBcSMn>N{W-D&$Ba|7&Uly&ieRv9&}etq<5L~h
z7$zPwYrmL&u;#Ydn3b~Gjh2i;I88V$nG0)wj=n)Soh8vfuON3E1}340H{5b49d6Pk
zAhX(WkaKUvKMIjF(7w(`<<fV^9-5N9RmiXcR|Jf-#$5Xv22b$$)>U*npTVQQc_M8G
zN6M<AW%GR3MUbqW`LnDwjD&B*%2-6?!@1&Ea4yvj+mJ64mE$(g!Ps$0?NjP1DyBzC
z_}l=FyHS6X`bfvMR2&mSt1Wif(=3m)QxN?l#m03RN-sHf*{;*Cn7tv#zJRXZn(`Cp
zQ@1B_cFVKNcxft4*M|B;bjA(aavHc*6sFHOF@IT^>xy00+Cs0rYqXG{Ivj>(;#>rS
z0{H0+c8O;t$fcwTP2wZ$qPjvoe-tWui%il}cctkzkS2>2El>9f7a5`2#|scTw#@&O
zUr`2_VLCc;MJ-6!jIM9OA2d;R#-8Y4e#Q0i%Ict%QdQNQf8E?&3e)!$zeyiBkW<}B
zn7MvR)Y@b-uP8E^Ah1}|V_Xb)Xr=C*ftw_o{BqwUEMrvEKlmo0hm`E)7MUN$EQf5$
zZoTUAdG}H1F9fLWJe-J{-%vpF(<)}8`8y&!HDkl;trT{B{r1yCYvyRDh1_-7iUsyU
z<|;s3$7ZRj$t~dTn}mtiYZWfQTqHZw-8T<j3M>Dx-lrqK9(+K~vUZ(3i7ig6%MgWn
zwh1K3->un}dG}H(II;+SUTa7$q~4oT#0Pa~=q2iUk0{Ofda;h0fKQn6mE~r4{D1S2
zoUbbXm!1{hT@)I6H^TYnX@=M@92f6-v}SXRYF<4I>k9dO6q7S_I~#%Xs&7#20(CLP
z8w#w;;KfQ<^N%(ElJYsrXLTFG5|Y%RhRwI^VhOr~tXKEPiWG6uzZcV7{(8_;4lus1
z5`tEhPTF&W(=r(@5dk$7QYM_^Mgm7x(uxx+4<4ogpB*|sZ+&&bjnjSMbf{_V$tZ`d
z<;Q`tm=EDnjg5xd!Qb;cj<Ec@e^j-Vb%44kE0g&02d{ZQ#5RE3#)6v{anEt_CDq`i
z_xio?FPSWKo0XG{{lMBy>y~P2+=t_)n0A4Y7!nVc+|Zi1)~ce6%Ed4bnjn)}9|8a-
z)}8lX|J$LkqV=_bm6q3Tps?+qkd+`<1*pwlsj)K<9%x13q1Xs00Y~OR9p}1V$tqK3
zQjJU6@dCPCV0e0*7;Rn3;73QlDOP}!f$UcCf}DrThst~RaQxO)uH$!*{?>S(zV&1J
zNxgt}s$w;R3O!c3OSPs={~r|e-Q@5g2_TzI&>d-22o8Q~KY<U~;A=tpm+N>fpW-xn
zSy=``;MzmUk1*Q)AZg;kQ{w`&xo|~PZ%G$YOcanqx>e41v6<9bUn*tm$-H<?eGJJ>
z<_J|hK||{=>ZYe1Wy3Vaof&^##rJM}S#i0&Vn2|ci5on7H*_w{;Locw?mv?{x}A1d
zk9WnNf-0sG$+$5p1-8EuMXIKIyB>Vw;f5`=XgYGHJtw8S-Oi3OJ@7e}myMvBqb2nu
z=(GqaB0(-Z_C6DbOHL#D`jsnS{5@)YNI`q<YE|myaJ^-hRkbdaN-0b7V}8P1>ljls
zDYrSMj3mlM{!&@o(MJeyowKtsaoFgvxFllN?pz)JAyWUwvyY#Y5XtGicgb$o{q^#_
zgpJ?Ct+`T0ExnH7>T>bMbnCa5Vm+p;hJEV7B!$oJL({ymbmnLE>?=1ZHOCSYhD=XR
z<-$9swQ((FayOV-+=h4G9gwZOUZw{a4KKj#3DObrIY}&shGRB4sw0%X^W%-3_BpD<
zUd2OYEt!_<iVayPgMZcaAUB_P-s{;@{8PPqFY%6Ik8UJBn$_yLgWQ$@x|y$t4ELw=
z>d3DrW?s7*lk!B7G(f!5Ka*bi(j&rFY?fV2EkR3{w<p{*=Wa`b?THgsiSv`u#7Kos
z#9_JTXa@-^P)YI8XgUorX+q~oR(*60EE=Y@v%cXpsADOO5so52NPFB(Q}tieQweY~
z^M|WBIS-t!4b$7evYy;SPa^R8R2ioVb`G^L8lIM}^;cm8v8Ze5;7NZfLa@3|{=J&6
zu2k~ux^78tVIe`28wpxsnuXLh8eK8*%oiDqRME`u>t__@H9knPv~6#B5M0hWvUs}O
zEI!KW+x_|e?nTVK(#m+E`H;@!TGzfo;9fpL-NbsYJs08E2A1Bv1SN%Ae&9}l8X-Wo
z;W%7sbS1>s=Hd6c`ihf>vq0{vUcZ>Z@vzoa67NIlJlWNp`wMUnNU`9YIN@iVqgsZw
zNXW$Oxgk@S5MAY6B1ksE+A3gR+W&K+Qy}BqU@8N2cdotB6#xhc(MHkOW`Y*sJ|w}4
z{Q;`)OkNbuzh_KVR!gg0l%080M=HD?p&oWR?3xv3+)LOK0&<pjk<=&OMt=PS%fR;6
zd+e~cE*}${O^bbvRfDfMha?{N$I>%M_d;Wx6;QJpo*`GLD(C1^YJF@&RONk3SH}K$
zd{|kkny-|~UN(oZU(EiQKD@EG@gXGo#{2c7i+HnPdC|Uxzj08-MW2+3&G)#qv+x*U
zvSA~%rJSPmDw{h%jmp8jg=CGq`k1=~`@zRZN8S_LDmlBmh#FG-udi_(%<BYCi;u^>
z!=lp^!3d}%?BBiyXh!X1gGz33Y4*G5)vv3`mzxf(%b25Wt>&@2AabZv^ANs3r{|ZE
z$kyZ^pw3Yeu6vGM+=;y))3^jOKHHU@;uN3$rb*!3VA%{gKvrE&d_NW6R&k(s-S|xG
zZGX?ooHQ$U!Dog*Z{EenK<CkVGj1Oa;fDCL)z*)mU{=sFtFkz}Is#PEb?HAPL6Y!m
zHU_j6b!Pjg?UTr2K{BAAN*t?dk>?j_1;hLoAACt&eg>D+(2;~CT8mHARWsackhty<
zAYg)Ta<gHhyw$+}AEEAGjAeUCekOjqs>1Nr$XEdU>>{lp4^dt)cSyG9f9;kw@oSa_
zvo19((&ZOz7Op-=MYAeG3LHruI;}naggqPn!KCZl&N#S;s7!i%scl?2O+<`hIAV{U
zX<EiXhh|`5kHpdeS)dXgejHV?kk_FCdND7~duZ^gBrLM3sVAv8>3l}bM3Zdp)TMhX
zVY4f4MEKn2#XJebFsxMOTfVEYmi#Kdr%=B;?F)MfG2nH1jawEf8HbYcG$3!m(ojcG
z6(}h=)VtiLVo(tYDw#VG;`$LRmCbBcionMg7!mOy_j9_e(npSI)dUu19$$E9Ir)p4
z=!eJByUwQitChul?mFq!if?nJSl97WP9IWf7qME71|qrGqU(a0_Yb*Wa%lXbmI7#Q
z!RgZxvRcrbkf*75+K^KI9>DVxpMma=YGBQ4>8;_H^DFFCzY^>IyT`q>TwbL?##x7*
zH*LHA8-RwPn`DbYxk;M6oFpr6ev(MQA}iqd&$!pzUciWu9o?~0UEc6pzf}4rWbVNg
z>Rgm((<DnDpAN(+b{GABnTAC~{83gU#l-yi`hxhet`;8?Q)My7Z=Q=A7Za0%qsi<e
zE-jvB3|yTtZwwrqsmtIy7G1CoCMKq7-S*fw3p1&RuoPBsQba^VPy*xWBHqvNkA%J6
zDVmeH;(8&_yEn(P#gaL}!Q#;v(3fm&PZt8ArI1QE#E%41f<G2mO-&oO<>ch-`mAfy
z((2vHvc4fXO*c-gtk$RIR(ve0456f?e0$ymjMYH}_SePfAP?YYt-IczwyfuPUOmML
zp}m|=<|>h5b6~#)b=AV0PPjSbL&@7Wzs>XddV>RGa5np28M&+BpAo~x^W1NV#<NP-
zA^r0i^~0hoXYMW+M>qf#xrsPQq4$0dvZsN7zBTG!52f4dciXyXak{$l`PQ!n&_GN=
z!nZ>o;p5TJ+>hKtz#9bI_4YDbJo)x?d%9X}wE6n-j7l)&IMw|w7!ehRlv75*^>_0U
zMo35+wU}K+U2+V!>N~2+JnG`ys*>_bo04i{iwdqa{mq4urRfQ~q}fZS{0h3*CJ)eF
zy?0A|b?Ru4K;jF&qEVCcLdq@J1CdqW_u=O5^I{gDbARPAtEu|T$MbY5`VV$>c9zfc
ziSFGmq0r@cCKQuM+_f&C?o^m?2|E203-SjF!2H^c=n8ZPIjXjGtO{ymN8h+X3KIY>
z%|R1!2s+lI^bIoHKuf%>taTgnUgmvQIR!Ryuiu>OLNT|$fC#L8C$!h_Q#%F2Dzp)8
zf>y=Wp_yu|sk1ykK_0|1eatpX23RJ|u@?|!m{e4HRF}=I7IyR@w_$9#Ojw<&Deihz
z(9SQe+0wxcm17>4@&0w6C}u=ZPX0r#AR(GnDT&YEw%~W*_33OVLmBPr#v6y&?^}TN
zy(B-vcA4z0k>lioXq!O~Uv+><@kf_BJDb}+ff3z0N8d6k>?ktkDHS84(N^l{@rQS(
zprweJ$}h0{0Yp%%26bRT9#4EJG*08d{(HTT8V4d}1<H{ROQ@Py&L~FQjejHipR|~G
zl8W`mUL;E=1q8nISOhrqwN(ysQr&fw(n3dPn@`R5EKL)e0Gxa$a)Y=~CI7(ZHK^%w
z5Q2ncx+aHxv1`@t;h?i#lpio-Y@y^a`{@1qIaZf3Ijv#Su<u#PT4&FWXIF6v&0DMu
zKWjSxc|}PN%<VZPiXfR=NIk5ftxA)k{c}b;We)neq^f!KF)=tk)rFL2>^z+0rD}va
z;XZQgZ(4y8fRoo;<bJZzV_rUd!ZZ*+G3}GlQQ2wy9Z+_xm*>gyi)p+Ad1rv%+d0$o
zU!%={ZL_UXabh(1%9S?z<wjH#Sj}<67PG;fN40|og-j0fm}lzZt9*MYe(fb~BAv7o
z8#IlCRB`!;Xigb43W}odKNn_{d3k0Un>YyhMpj&E!FCsswh&7PT_HZt;<t1vVn@R@
z@ZR5_{rI_rOP9T8Lp%dl>ztZjXmh^jFnkJuNL2c`^c#=|t1J?Wn6I{+@0ytpW<4p;
z;!49S&1wBeNLX}PergXn$h3Lz_1TwE6kw>&JFXWWt{)nYfCuunOi>!U4pl|}$)CKR
zr$%hEl9iX0jX3pu7PPJ(0PaEL)smE>$Z{XMDE%;0T|nH8UFf&J@>UH`7QP(UTS7*t
zEX#>1<ja^)NQGo<g;Qh-)jw;OL?*Z(zsgW=n|gQ=Fy*Om+BAaMie~-4*FkzMMuATV
zBBzJirSkb^x3ms^ftFscaao*h<G;+Y>61%`EKs$QrSg);EJ=z`W~RF@wcP*Mbxm#5
z2OJn3(hWY*(F$->5-&m|Xz-;ferqJFEpWOU`d&YXkrq5fr423!|9k@PK0YqkaMD}j
zp0?l<H2M8ie8bGRrms(^d7dE1V{cgg4;J9FJ!AZ}unn{*q>D@w#{KKm+<FZU@N))T
za5zu><?rI}W0R1mX8U}eeH@;TXBOvxjs;b@9y-YQFoz9mZhfjiB8r#+j-7aI25tZ9
zImQ`qrru^FBuG{zPyD^pi<+s9s-(Yy|3N<Un!P?Gxp~NvY+b|`ypuhJt*1ny-DNtP
zH$Uok@Z9R9<W9ylGcwaFDlM;Jh{hslHud(h`6e3?&B*Y_Tgl!1H;)@=Z;#K%xw~wc
zqD@nupOC-{EZPg6VqQDHFv?CW-|C<Ys*NTFH--c^;$TSmn>Y@(;>kT}s4dn%<k=El
z3G&##1#SD(KB#D20<NA+Ufuk$@QG)-0ON;qy`A4Cf$cwHwDrK{(a}ksDwRc_bsi%r
zOsDSlU!HE0C2q10FX-n>li_Q;2+=uzZ`Z^tZFbgP+-#$^!KGH{9-N=<?{F?m*rWxf
zgw^68UrhquWFn&Dh|TSJ#=6G`oVNAvyJ5Pp5f?T)@G>ty-*lnh2c&%GLxGW3{s#e(
zYmU=j5eP!-N8WMUE>nWW7}@K9g`i9VBlu`g^Gu3kq%Ig+ysz<Y!Gy`v5xIgn;w1qu
z9Xih6hOI<IxJHBrmW;#ggB>fLF;PW$F0;#=o?wJB#!)?80_H2Qe&bgg=thil+n@>z
zeNmPk_*YR?RPVk1yDhrTW!WD32-T~rWAIo8ASEAMVzCvl^YizZ-J2kw!F(OsNLnoE
z3vPTUWwEDd$9p>g4@E%rF#du>0IS{NJSu%wSZY<5u$+GQ_IwqQg~r;XgvTj!9jg28
zh^#Gs=9{M_U`YX>D4%l9>OU=ksm?F&S)ms@s?ADtaQ-Lt>OsVq52ZfR4KtG}j)n%Y
z%}!enuWs+kEvgMTX1$wpGb_|LJN>xlaHZpa>+>%PTRmU@!oUBz%lh{4l;<NKz7`?}
z-9`^jg>Z*OH?X}k2>PX&hW-c#xU%f0NuoP!?|8o1n1+&Rp(^cIV0n2>0x>k{2L?XR
z+~Q^CS-aPIJCkLT=`O1l?%-9ioU$BH3yR@D$5WMwhOY896w!aDq1X2h`NQ!AT3*A0
z)&+L2gW+18->%q2>F$`KYyUu)Og@c$Wz6BYGwQ}MxzlcU@%{a)15K`LkNW>Uk}OQP
z6eK|93OJc9+-iO642s-68;fy!y1%frDS(O+R;}$o-Sg1bFUc^5Jg?B=)Bm=d$hST+
zd>USeO#gsU%Qwz%^PCqdN`3ogh18fP?hCZ?kk4#c8!1>mNbXfTV)NPA@Bi0PO2g6e
z_BTxoMFd=!&CU<pz|0D6Z;yxMRB*8^Ty$BV3BJd+edM1PXJe9{NATYX4#k<F{0{Q;
z+x{06Lw*gVj#WR_-k%G@@GPN5uWfw~7woKn*T<nHWtR=+MHD)?O}Y>y=Z0JdeI_XM
z1`&m!KoSP3e!Wok=o*Xcp+ov_k7%}#HalD0?~aPxm@ElTY(En5e=W!#fJP#q4IyN<
z_c)g*i;pKzAWV-KvNh&EOuqa-Om_2cK55}Nl`{gw^Vit-1x-^iONM`(S=2CMx4bT#
zUF|HAzFU*}G9Cze_(~C4|6z;H(8v?|#WWTU2?T|FBX~`7-JQ!t<tmPcMneS=Khw{J
zuTEM>2U>ukP^-Vbw=oP{Xhid6_f?j7M%G>x+}n{2y3;|v=qlfST;(G@V_xmz+hSIG
zm!a9-MX4Op&3MTIHa?1EG0ZkKH&<TCV1#nw!Vsm3)tlirZdeq@KRtf4uVztw+i7^n
zXb;t*a&l2WBSUj~)L66ML;BAk?LzE43&Chh=}M^y2`0uC-EAoE1n!yPIn^9VQFKlZ
zpw)K4C7+XKmeWJ1)ZSOne$cS@p#z)?xH^QT0xi$*`?r6>&K8Y-5O9Y|j`THWE$-4|
z+Z1-7h~cc)%H77##~W+4s?22yb#XNA#zf?H;D^;l<G_|kG+jC8#`}IDt$QAb%$b>P
z#2`7mH{CyY86WiQyX(6ilbVjciMt%lf`S5tEMDP<Bd>QMbWmeDRH1D9%`y(*$#e2M
z+LGp^qO5GX$T-){o_nVOCVfdbqw<pg<4u3cFm@JH#`$KZca*2f+G7xf>sdM~RytBZ
z&Q}F~(qgd+W0m%#5?k>`|InG>m+l#WH6oi1VX_B8x~Z@<ptd?T{*mO2`O)qEHq9A&
z!7_$goe4jQJ(;?5b?$Ho{4z<U^uU(k;Am=MQBmhO<P5{``e#Fvp(7pie)es8SQoXf
z_QFgdV(=$yH_(1L$dLT+SKF1-)eopRSn#SwhK9QUHQ6r<z3O~si&2m<X|b7afi|?4
ziQU4V26NsS_?gE2hN1LOg_@f{PEkljOk^%CAUe2K^qmO(4=f++c}_?8n451dFLly<
zJ;6S{Q<*yNFB89CCw_Ivo|Bcr+_UNij!m%HA^x6C_-){nYvZVT6H59EFESF%-Nh-U
z-AlA&<+X_j1wx$zc@OsZ9K^m=++}Y2>fM6I+shZAMf&V{-oG2kV1Nm_T+_2%x?URr
zEHLuulQZo%Hg&FNmD7XxS`;@IyNQa0PQ-nAhNkRfEogWxe+AxMqr6{$2nbijp^=7W
z;=T^K*e6Z?8f5g6NPU^!sQU2du->B@zAdIfTrR3w_aG}9YvOPww2U8$Puhnv_#L3(
z_6UzFbHPV|ls$yMll=))mOl}bWOU8m!gP;Rc<G=D=`#x05Lmlb<C`l^2YquROikPv
zQc1%tS9<Xq`*^nXsfB;rZg5du)6ZKFz_Fs5f=^m&8(P&^Rv6mTV){#m_`}e8A<Vzj
z3ak-`hY|Zz2mhw#u^dO18s8G>5MS=H$e5W~KTW_@z^1xvHCkuZ8@?`oj#JPdCNokJ
zxB2Z_nkOy_(50*8WxXeFqj+*(zB?DrCeLKK>q;>=F+-|!4@eF($}}xtq{+>(Y}%NF
zl?4L|Qve1BMe$N{5lk6M9|js-_aMgsCq+-(&!E>;bA@{VO&Bl*)aYLn8$&OKWxm%U
zu!|U{8_eQYzqGE5M?+C6Y_jkY)A)h&?wY^#tyB=N&9Q<|N=!~?$R)Wv*#!L#(9moN
z6|8I_mzkVEIA~nV`gl_@p!2YT3$6CPPXcwn^;1niy<k+w(X@5w>RZyoA7b;PfT}#?
z#Wc(#T3c^wZ23yr%62}T*>9|O;9>I>K|RCQFMu)I^)cY^1zdf>c?$JD&3wnIi1-!g
zU6s!%Q<cMvTAB-0l=jPs;`i*axgWZC0qAZ2bSO$uZmq|GRWHxSN<OcI@(lb93fSlP
zKP4vC*rg`E&L+}}J%S&25N7Ud0a`U*#BCI@0rMi4>O=h5N^x{Jp`^|!XH<(m50Or!
zP;+~MrcX%~o4Lb#JzwWC7L9^v0EIpxJ;;heeY?rTY=avN*n?zQWcz^5&S0Z1>Vn^9
z-_~~r!NcpEltDYgdtRkUm_v6(E^Kt7CJ(**w<6?bcLc${WdNNZCUkr$k40{`_*4(|
z2Ni6b*#S)rtuaZ{DA1q;o%p|d-?@4__8wQz7HSllc24nozJ?O3V&Y!Gn@QQ$gB8w)
z<NaA3)v$NQ5`qvOk*wUXV|&QlnxXzfVFz!D)L>W!AM2R~Lhm~dWEcPvy>R!F(^hfg
z??^&4NdM3Ix+acodVj|Vh|i0f&2c_Wc2U%b4N;@1oq~DBV=2PogITL{!1(#FYo^H+
z8ON{9eqiCy!6@<jF2^WMpB|)bxnEu7N*`{>3t5G&egr+Hb)e@TVa)CwTc?6rmC1P_
z)F=MiJRQA}9-pa;483mMD_6eaNCBlQk4^dSD91M!R^SJ=ijQou!xZ>&`yxaq^iP+f
z4=$D(i0<#^8wS9|CG^9g*-O2=u<zZapr#0_p=n)k{wB_<dWhY?tQw~=ezEfaMnIRU
zhST5M;`-uw#wv%oS?g<nhEyg=sg-GU=}rxz(K->E6~*{#arrM-Xv5j=8sN8VN-qTl
zbo^0_sDL6v<Ul6q@v17BL_@VfWy1a^a(;pb#fwJw8T1n(3pYnblIj*`>&|zTw$}j3
zaVcVWeai<>1e@jQjo}-1oe<O?7|l>x`T&zs#X*AgfjlH}LZwg?FI2%9VIXsOyc~Uj
zAVKQ`g6WVXkW|j$x_n+rmUakXE9(JI11-lzYxu^e+wp3(5}u{r**NhmK3^6jgZ%vF
zEs@bWJLam4gIl2NFq1|hX-YBPS7OfKL)3GjKW>gM_kDHdb1Bjybn^vC8`%}5g1Z{w
zkh$9@*D+uub!JyX`*PLcbpOf2eOnj<f7PU|$BWwSxhyh4F}PW4Z)Ww7Ht+ei^%i)3
zlLXB&Q4SPR#3&|6mY0;c`R8^2p>-i5v<&qb_5;Nv-a>p+Bdiz}=bD(2jPA(HSpTAJ
z{ghSgEzsyN(}_b(wA|)I;c~M*ASyFyd52Hnxm_JKST&)Pr*xl>uIyx7j?sKK$mW2K
z1d1m(u`P+hk}T7<Uq3Ip=xpkw-3Lnoh0H^!RaJ+ltS=I+7D(SOJ%DUl^F^|@=xh{K
zHxxIWR;(DP<wmEU9dz}CzVcL(7i$htUl5u{{rn+X?)}$5P|;Fua{VoG|D>)Z!#?Zf
zb^o!b!G+`c=u+NiH41K<1)6tYDf<UK3XwUHU8<pAfBI|`I{ntaBenAuYB2;Pi8+E)
zvnOf)xb=)$m61mY-b;(lkqSq4#Rlw$$CIxe2KYTes-bz#eZbok`qRzg%D1N9qpqr#
z{b~+lRj!n6(@7W}HZ7A^z~u+lR7y_)7(h+i&ic1pDBrn}J9uC()eyBB1!*ms4trbv
z2KawQ7l|{!Wpw+2gi_;{3~H?tS%MIwq}JPIJl9fbwblCx$eRkWMQ;r$_+ko<DNMT5
zx;Xt+>#06BsxaoeQsW9Rqk|`m1`1_w_VA~wDg3ckn(1L*CIj$@7&_)QJsD`y)t#tJ
zLtzok9L*gW-N1n9HOP7%G%BnNSf<kN<yxS-elQ3$9N~lfygC>VE*rVlTbMiqItka{
zWM8Y9{y#9phHyH@6|c!DQMrhy^4K*zFVC99sE^3GybSC`tWE6ZfpHCoJ69w0NKQI%
zhu@d>OjKDDL2~|UOFLC8(HOYW!@tInybV(E4yq}5tYGA3ou0!h5^CGp{9=-(cM@z4
zI`Kh!Kb^1U@9({cO$z!koprIr9A1VNg6H2IURiy(P-r~pvlqff-T77qbEyWbS6f%L
z6tdlQ7)IoL2OlCGXitns&onXs5N7(U_}5q7>kn|*QE6pZm$lO<Q%4!A(S(2G;G3({
z`8E>Vz?m4CKTT)bMfHr<jJwv;P(tmL&PiGeM|vm&O4uDPai{R-wpZ~P9xaWS)56+J
z3;z+N6-!DkC;Ud%rUJ-;D%EoOB<H2V8#V{eoV=3HbZL{DPD?Y4v`(c)bIe?DpBde`
zQswCI<i-xYeN)%(Ix;o~QsPXsz4IZ&H?`-dZ+>{t-s?hc>cIOqHMX{#DUw(EOCI5w
zg%QsUX02D8#bCK@QUIpW1!-WW?=u{nw1|OI3PBqk_;4F(Cr;XbO8Ee+VR<F{3~kLr
z;h}xIg+)>pI7Q4;KU}(W#mR|~I94k#tG3BA9vPZ)J~PxYq5u^pA6=~@BTG&zZ#E(7
zZe|Hdir=s)3jYP59qOE@$jiEHx;SE8d#4>nenIF4>SL=uBL#xIe|Vj2l)(brs<VIm
zQfBxD%~<?jo;FZWFv~QXHnlgd)cRhMTj74%5b3rmlD`msakNDP{vhznP?9mKicPT7
zWk~im6T=2r6SG7+e2ob>#<!GNBJ;`GZ1;!g>0V}H5=Akd3{nkgm!li+7yk!W#XdSi
zM0oxC(sHilb^_r#7-7UJe*GI~L+6XJ#?%BX;OZy}2GHP$>3yZMRcz?%lxyv)oKwSW
zy`MnXX~^nJUoMT)Bjiun@6ePC_DYzz1mNNUyb{uNRaf5utp9lFLrwU=-+Elow-<xN
zx5yvA13u2!Oa@PKTh2TuR_#<kLfB9Uqn$-mCJ3BdoNNE~<69p1Mkz3k_a<_30!Xq;
zqragBun}OpWc9;BtM*wjNYnhPFb}2D1hj_gGlMe`_{(D1Ip3k=+BVC9X7dQV`X##K
zjWzANbgB!dpRjep1IUvslGUXU;*uHwc=CF0b5(EFRz^;z!X5ygqQbDY^4zR=T%PIx
zo0!er2qGVf+_a>u#M%uc;csF~h)@7g%iwhq^XLB!HS?6nV-v-N*71_8r|&<ysXnr+
zG`RzfXq_Y^v*JHO`WG-hh<|zjg={m56F=sNs!U*$vdoKrDSuE-`Gnsi?msf{7S+){
zVTet|z))`UcHv|PcmCLR_b98k>9%Z#jcXlJ|2JY@C6ak^bAPX&*<(&()Yb|OM2OKo
zNKm@vjRx{I4~!~UyJWeji;Ajx-+cNfAJdA5>tagU3yPcTb$QKKFQleXCWys61$Nn<
zK`@v;a6mI_S6paxxJ-6c@6ZkWoQ%(j&kGO1SG-T>Ra(*=U)gXtC}xfIs((QVtMp#)
z6D^ikbnubGgywp^uz;GofLuWYf2^`m)Y$!CSQX46Xch{s?fTNo!$1ofSW_%H|D1$K
zyFhX{{l4I19Nw)2P0ZhWpwLg9BjX&3;NlZgW?uMUQu{MLUR^%b(Fxn<%afskX%A99
zkLdgxl{XPjWhdm$vj=CZYLw8?Pu1ZNSQL3&%`IeW99AuA{&*-oA7-W?x$b%E&yPlf
z%(<0Mi@U(QsiAj#Q$8ol?XDoih8D~3Bg)*hXaYfBUzPre8EtG=;t0|Hi5b6a(Z%fr
z{mFqTM$Y8_?H~K5prm%Y_RtN4l|$bOfc;OTL!x8&p9k@g&sJ+7n}vq@)Mt^h{~q*E
zhk`f$6VZ*s`|rrGLXUcUEAD<>XM*-Q4q5Fd<=~-t)(!jENVYT##olu7Q*pL=Zfi~B
z9WU*A8nGEX^e}`y!#8@Xd1z^SMR3)&H}Ic;9okTp&P0UF*~Z`(qrQ8?E{^)*tNh&-
z9&Zv<3r#qy67M5Ix`EKOLaj2kOLkQyTw2%epFgkwCu)2N1o+mH?zQy93DVWI0fqMh
z0?=@12JQjMj+I_o3;s)N=|<d#NUD}kob*#}@Mrc4J7l0^Z;_yMao}O`%BoKzS%9>a
zz(NWRDBF}dpPlD{s%F2G*FAkiY27imaYyRiq!Z)wd8N5e0@rGZl!L6eX3vnuu4ZIJ
zgc)v~W*CNxYin!FN{nqomYoV~_J7<n6nW0Rt>ZLQ%pBjJ^1CrrYluByF^on|0ZGS`
z4`ub*&TS43z!I}l!UR&)%eFDyb##8}x)Zl-XB~3m6j_}9ll}}V&WgQKg3urss*TsV
zIzaa-ja(C@nQr0V>o341C5=~i<Ze<NJ?M{;)p@2*-BMZmo;EX$gxzC4x7H>*deizi
zhqkv0MvBbf$8EFL2D@-ND5~6~k5BKDqGr3@?MQo&w3?apg@Pk_b_5~(tpeUQI>6kl
z6ZM*e@x+^{1J!+a&@l7FtellkT|&Z4UIDJoyX7Hji^D1v1)w9ggef&$9kV$%|KQmX
zx^d#6W1lqtMbo~Jk;2Ra@o4Y2Sps2={_^XRZ3+hK>4IjK4wTbN1hr)k)tKOOl@%dX
z-7B@_pDoUsmLg5)z|vUr;W4|%K47d-AFGlU&i&Hj6hhmN*~aHs?&%(SUBOt9jI`cf
zAX{}zY9?k%cLn=%@JNA_pxgAM2^a5aI)Xl3g9_d=iC~O=EDdyiWo=H1&sidKPJWp3
zA5z^;e_vy~!#T=?jWw60B4PI4_ggZ3EaeB7mDPk5MfHpBLXQ$ayyAbgdK#$^l5WD0
zBVCwGc%rFE%jV#YTfj>tA8sMl2$9_2feg5G)$Aw0F$X`B2Z3dVucK05`v-p7D0Ln>
zTStKR&*Mt__Aqzyun4ju5ifjc_je*oG261-_G$WmIuCN)_b*OMJyl!xblx$}d_eL7
z%eEzM*7v+iM~4ePJ}MhQBb?)fR)$VN;hrl3v3SYzuT%O>Q1qJF7QNTBhzY^&vT=ie
zPBq-x*xt_sRU5Pox*6+f<ZMrqHNH%3lL$i6rL$Oh6!78?B5s(%<K`D}&C{@?r0mSH
zswSe;I6CuPr4<I?(o5Jttk(7JAfAW4PDlyA+=iXf)M=~!XA1wx54TtTN{lip97$n^
z$1dS73Q2`D1s~Vq4reebFIOKmSTmgIk#r26_c5K|3)T|yvf`p<9bWTf)m2+93ufwn
zb=BrI9qBy1ot80Butq97>w98@Uan5ec+9$boQc#}``^L<?ye7d7=I^W0S(+{8o(-V
z>towd3PhWRz2Y*&Tr%W{&R}+L>^>1=TP(iGCiNduGG#i=B=Pb2b6>$hV`C|fNJPa2
z=N`2+%V{$Yvi56t0W9j&VL9_Gn)-1$6lfx6^{Jf+dl*jdS3Iw6?2zJg6Lnu*(|?H&
zF;G-l2~yz5-y<Y%v~q5$t4V!~oW4bC(Vs^^#4u$3Hl;S3K+IiW@1M6o9U#bQGbU3W
z8K`w~<i^FdP_$6czG+@c{RBXQuT1v9X7I{=7IsZiF{u?FPs#35jMj9A9%hONJ`@gT
z&?a@f8=T+F$_*!DSC+Hx-S}0ofLa<Ccd5#b(!8J?Ol4_DP;TNOk_azeZfbZzU`$O%
z%gUN-$8k)_`V(3P`A{>J&c7_Fp|7tX=J-@ZM@OeuDnmI<R5u|xg;BY4HGAuhK!8-x
zzS69L*p<9nGOuDO^@lk^CeNVl<Y;QT7KJh)0?EIKm&@IYo?>7?dE|hY((ni1{F;<;
zBj9(^M!h|J*EUoN$XOg84v2AkAB(!P%AaY0t~+{8zDy-U*Vv}?ED={Koc6;&?rhH^
zRxW=>UJgFC6=_Lhv&(Rg(D}(Yg`Y!XfVXsvwmwZ9^RBIhCRe<vVW_=a@yMCTvqXY-
ztL}v~V8-eFj%ARh{lww{fQXH~WHe65+1!*yt@X|g2%eCoM%BudT~s#yxNZi&d*iYT
zEXq3#wKO6EQ0o&^mmIj2x7yz$aTssPT-`mCQf%wU*?q~4h>%$!Z&q$}tdChuZe2^5
zp>lABq9_LUc($?;S7lCFeKmo*boFT&hs)tD6;=FD0O_A13QyI$=TXxn5?<Opa_8CK
zYsmvAMgLo{Z3WqzG8!~Bvhj02sEnNPGuN*k#Kpi;YL+Lo^HG<GKqZQtGjhA?s~)>a
z3#GLJpX=z@UnW`@)%R`G$J2D>-N&WWe<sjUfPKSuk;RrqtlwBQ2>$YzZayN&@)$XY
zEp0KnV)&3E$0FRJps{j$Ii3-vwOpK;j7tk(={bN;kC0DCkPvbB`i>Op3wU3ih}ncx
zR8zD)J;Ht#JWkgqkr$s$@s5h@sFfBr1=(Z%&1Eaa)#5v57;C|ltnk036$M(@$k;22
zL9l3e;_a6`?bcWAXOq~Ysf-%dyXO+b`!LS0)a0&4N4?A^HwL5@W;JZGyP`WjqX{s5
z{;5mqH!3bSD|94pEw^8uoNqSA+pbV_m3Z^@oKSBDS%;t`>^MNqeD((siGXEzc<pj7
zAJD;@KJG*3=t&V}myt1xZ2&6^bePm;RW;*@NGT#fI_eKnF9G3nh#M$XfjnlY%5i@w
z0Ze5Ui&v;+0!Bj<Cw}@osYvN7QrDv}<8Wc1N(?cZ0y;xp^}5OuMaX|A)atxcA|t*Q
zH#!n*{pl(dt=5;{7=2{m>NS#eS<ez{ZOgkn=M)|wY_he6a35U%0vv@%?9$aBJ=Y$q
z`O|C$4}A)|c+I$Kp*~jgW9@uhZ!4JRO;~tFc0t}`nN6(Gf4P*!Tdx!|ZLngKoK3#^
z_|3YxNepN{eaf54w=J|+Ogkx8e!Dvkxw)N?C~y-+?$c8DSk}_<nP064qRZwKM9Hq1
zxQC`k3jUPl4GteFA7eSb<nQsgCb75++tpl_|6h3#l3(vnjIJRS8yo6z7A=TZKFuH)
zK{2qRzk`;j+z}V&!dW7Q|A{KR>f{#}*@siAE6KALpl&T#3~W6<7PVSt*?en^35{mv
zZiF}ikCB&lVXcj9jX@4UOuewEW_ZFfIajj}q#6O7B(b3WGgiNR;G@QnJ|Wuy!F5T^
zo|m->X9H~u?emPG567YSBt7n86VWH>_awt(`E43D-{!7o<&#|9O$fIVt}S9)4{E2N
zG?;h&17wkohI&V$ols7}%bzOxCO5tU`M1XXwWeTm4LHM@gJ*3K1^-@5J-!e;?C1TQ
z!rGLRscre$5pC?95_6|Qqg`2^QdIb#Y?@ZHbR;$K6bGD!;Z_bUWr*Q+Q{anPoKGEk
z4uw2iEuT-$KGZ~7n$X`Ms~eC+*6Qgg4{yAg(O=x1Ay)FMUW;+<hFT{>OAJwOLy{qC
z0XpvlbV~Cw>6q6~*cOXVd5-rXN&d#IA@<<jjD#6ss(xuuRn)pM-Nm!dLEJXeKha#(
z?;~eysX3#2wMCs5R#Feg9(pQCctrzSEn*fyz;@*SbAE<xQ3@3!aeiuk%Eb3ZL2K|T
z4&*!oT#W(>T*n6L#H#!XA0Ceyq4(TjIPA}CvAz4}n8B~GDHjDx!=?XV0UlgO;W_>=
z9_fwp9Bj@69mY&4tE=#l2@LA`eHb^EirCzx1~5hO?&?6y>u#rXFze?{mu0^cK}Et(
z{&`V*;M8H(yLK%6t?bAlivH_99pvx9qY!C_BBpEJxOa;pw1dir=H%NC^tbsy9PDak
zsI5jyDrgh&9Qx4y348ys%knS5T}0+<b=FSO5p9f&e}i@p|CYD-VBoDO&pb}D!WoJ5
z@zi4}ZG#}iR6tVeP0knO1JgT^7|LA_AQ`{*7kNcs_?1eNj!%jQMB=gCx;_M4dGV1d
zZhX0_n*UzHbh+k{AbNMXVuFr{jAIdixy&7sEk4~zm;fh5=DX$``*^RX1!2BP+H+M1
z_gZ3zm?p8Pe-tWgp|j%3)<BP6Vt4`+R+3S5-8W5Vq(gQWSk+o+;xiT!F%3O!PbPh|
zCPsj4{~!_xiN}1T>2#rBUzaVq9GV`@Pr@{73nR^^bCmo7H_rYeG1^rnEw8M7Z|XNa
zM&w+#7WQXoKA{5BEEwT`1Dv6i+U-%a80nSwhuN1u7Id&ca(YQ%ra8Tyu!DeJX~}@z
z<R8x0$baAanBb%szFd1oRjf;q^ifFore-{C83>iPxAna31=XW<b4ES8na7n4j;Lq6
z$vW&cqO&ZFay^!2D2iLf<+VmM^r=^psL!YBzs~L5=hfkJ7{3t|%x5EltO+{-$8w-=
zcBvq%k`Mx~is84Lzia9%{Uqye+{sXcAiYa$I;`nSBI_mgP(i=QyML72wKe1JOg-$a
z^!mVEyxvGc%<xBP+2%1`MBgRAzyeymH0h&_iWektax5#jiURM~OA5$N`W8x0Lx60~
z*py7=PDwMxOMUt3IK_j>Bw2Kh&h)`Otff51S^%@Ax{)?w2#^bUR&Iu1fabr?^MC=y
zVOeALHHO*4!0NwE4j=5N<b0b{j7Ap}<omc<BW|_aY=%{s>d&vyY3e@)gbB*I{{eEV
zWBqb%9DY-GF~_ktiTfLHZTkPw_11B5bj`MKLIOcTa3{eTB)IF~4uiV|m*5bB4H8^~
zJA=C=xCep+cSvw|cNySzp7TEEoO{3D_b=?8?yg<Cde^E|YnS_$wvw1p3~N7`A;77B
zca!r{wfRk%0d@J6%tr*()Jm<q<a4#7*=<9)@H`9)Z@S0ZwQg6$TRuxL*4#!>`-{t@
z-hA8{(1LCOXtVXL7Ssx1;-l>++N_J!%iB}b7a@m_X%C0~Ewx8OdNhAqS#6;V43D#D
z3?m9!nwj`la7K!ApKeZcx8s(&CYt5EcOa?F+GoUbXXoHqFc)<XXrWJIb48YHxeYC5
z*itxob_;HR@;FAVqjB8Af`)u-^5#$f&W+Hcq~23^7Ho(ssmN@V@ek)q$bjeDk2zaz
z@7pe>IJq(t``-^%SgE-ce<Q#Sm;J*>zn?kw0u<<Dwfv+m6Z&UAkW<&4E02P4f12H;
zwm<2$XA|<nw1e;piYyO)*>${i3@kXL`viLW8K_h5_x;g}ik<~$>gT>+hr*Q%G`f7Z
z`-)9yg&4Z(`ymf^>6L=#d6Z4m6MeWsaCNB#MJ=cK#cO1)MqT|C&Ys6N6fwV+F-DVA
z^xoZOsK={%dVMe4i`3d=A-nr!?Q#659!|4Cs-Im@eW5~G$4|?%WnvFS%g$i}Ke;@p
z$<beR%}0KgLqF2Gy3Ef9Rlo*q`Fyn=)(QpW2Hkz3MD?^z!`eF2Zfvr(mym;7SuNjb
za}!0u^x&zL(8k28z4asS=;(`H!m73*ZF|YtRBjEB&<8!BA0)$<&n$mqMYhFu{u-=d
z+;Pw#l77?cBTKOrg!Cr9cF7||9mm%+F2zGc+W@`(qP<AT*USrU_Hay~E%-*CrWh4q
zE@W3;aCtFO7rWV))wgBBPP!XdlsvVIWhwIU6nyFh8S}uteM?WA3iFFzaj`%rd_wPU
z$=UOolYER(jHsF3U&TAbO)rmh1vF8GK6wpP?Qld4C+2t46l`9Cs@jdxzJNA2@?Uzs
zQTr-J$!5VUfMX3nPs{Fj$@xszk1mNC@=yl)#dS^@HyvmEb~c;%Tak#bI~Ku&_J=2y
zb3obTv#OE>d`_13j1E_Kcxhi-ck<l*<4st~e*;y^b@no<N1s4kMdC&^r}+o&+Zh`l
zXF49+ycs|si>5qUT|;q~n<2jyu3j0$Sr;0X`P2?Z>P`HuOg%nPaV0rb%|83xHtjow
zot8dPrM-zb859-ts(x-_yHmBRc{Ectx+auuLvEg@(fXRZ-eyk#g<HZ0zTR9V(^Wh}
zMA5Oa3F=&Az8B{2A8rM%9zm}bvE&!IfV9-CuAFDdORThWx=nYzGNQM*6y06V(LS%P
zy!NsrMi$26IY&=L9UCVXtmFlgP_uDN2pH_M*eT2H8As*kxH8BW^1WX7iwPvOYjT&L
zzXO3aq(k^I#_q1!zagd9D7ufG_<|cukYACgdD0H=_t`ooRBc~3*)qz@{whgl7WOJj
zI)%R_fyz}NyU$9<@g26REH+adAH#^locK;d^?_{3&Z(0yWCh9s%iVze;TDs9lV@ct
z^x<hWHHpp|#>jF8SgI@=cnY(MOkpGnnkxQJoBo1#3Ra4d9TCC#xN_?Hwi#7zCVFt7
zB+D%+DmLyW4=vkj!2UW7LF&tX2E%Q1WFMOyEO1|l63T$-PRMG#nzbjb=dk~%>sjOx
z#kYO=anlz&yU?jrRnu@Ygi^Ewe4-XpqaSs>ZRhd3wYQZ<(#iND{Q*Ksjm23ZQ*i2*
zDAf2EPzajZuA(!x&;1hB0@n&ZS`q^wNRCQ^&5Ylko1&8p4))<YituiFhf_}B6SZqy
z%&cuqkEf-hOtLgh4|kNeo&YmP|B!iwehM9TCm#Wz0^KT*%=Z5ZAVt3kBWYaSeKz`w
z6hJ2_Uw~1*3$0lLoU+dhEM{*|T@9a03)G~96!DW8v6><PJOh+sfSGYX)@+JWaB1jB
z==!(l)~F}){JF|X|00#ClrD;ld1EEgf8%D_GGPxCz)mw5<3G6B4>iOK*Qtp(hqGE_
zL(4btmjK8I6nVde&?YGZaNz+JFxXktOxdppRiD4jZtLPykSSm`6?if_p<>&e6J+v0
zK|SrKZrgOq>f3#*Qsj?|*(TY3m<+7;32wIyDOvN5|0%hyV{JbNU+UXV_oRJ!Dv3Z4
zb5_pw!qeW{_TV(LyWZ*_UHBJ>1SO^NUxl#x_Qh7b{0|a&qU%4avRx5Ea@LHyw2AQ-
ziG215$iZBVbz`FfMQHQ?9w_=eQm~nPpN$N4O%k9!{Rde@qyGj5hWw)a7g)T>7Kwr8
zvHrJVev9MC(*f^#_4Z%Gyh2=RZ=P|vrhN5RzD60~AN*^){~1Gu_?KU<J%i5DxB;=#
zk$(;h^sKI~UB?nZ_NYIBzqNfLC^hx6#mTW@;l#(?!9tC6tp1GUkt?lUCkbG={|g}P
zdWk#=5G_$g>w=T6$PodGA|lewWi~2D8R~ye3ar)?B?w?9Q0xyqKT)$(58wry94{2=
zIMKh9F&gwq-syipUkaM5kRK3IqW?yReR0XPKD_;?c&ny)orLgTzllr;^n4gx8-2P&
zOBL#OB+w;0qTsvy^uj%?M4bV!#ti1a*5E-*z}p14VP_SMM+`t)y$H}a2k~A7iJ6*$
zfJXBFYPZW*k~&uBRJsilyXDaP>pkTEdXEEYq-*WxcjM<tUjf&_1RFHos_T<txl(fy
zKuk{5#$uJ7oFsOlK!O1%6#d)+=bJVJrXKkTt?dzi;Cj@1qpa?Aw;+hezG-2|Q|^qp
zq0T`zeS`>u?q{+dO_gGGxt@KWcT#7_PACcAHy0vw&@UmHJF*zWp)(ndtWgpr3PSuY
zjl{(Msx^A9eCGs-as>%}$8H=6(i3MXcxk8e1rnXGw_jYF)TMG%2Uwb36R&tTr-&73
zE@uSP3S?*z9QmhUe(s)^zzX`xo#DitnG~%~+%mW*ffDp}=3Uzn^qs#P4FRbOcUH&Z
zsEiz`zk0R4_q`rY&vUSw)pFhunY2u(p<rF2?ibUO$sRR58fppHqQJ}t-O#@hLU0vh
zfbI(LEpOB`d4QRr7J(;3fG+oE$->0sWe39nWJGpQj<VqH>JUVo@UzS!2{$M*c~<A*
zeNHw7#mCtEo8NtIKwm^RwL<d3LsgQ(173%!n%!K%fv&2-NP#tjO@z@@95_gOP?7(-
zz+bLJPT#V;dc}h(ao0CDVfj*X%7`>|S)|<4%ec0DHK{>jEnN|5&xP_tLhdmA#|QSM
zYn#+)O4TD_`Jh_}NpaM8#57H}xi=X+7klktIuc<SXaA=V(iM+3(L<)h&7*5rQmc_V
z)$RN)+nHv%VG=g-@;Z;MoWR=$1zNyH2jFf`lKOBl1{7FMamOxtY!(o6EfqdIL4C$m
zk#&gvcB+(fq6Q`G%vL#AVvCUiQc^212%Q2CS}fPA5S>MBpqbhDbh0$6<?iB;5$HZ)
zpk=0{oG5Zw)*$(GhWh>_VEU6G7svL5OxU*;j?h|o1X|GzlKCT?Xp7dy<!gIN7-ow^
z&qqt7pLycmH7Z6f8k9NTN-z2#*ohO$x0^k>YNyuj#L)A}Q9ZQ+sZ8b%3I$vexAd<u
z2CQ$Yr)4a<XZljjD~eu((eJxPHMBbXTCn4q@V#~XiQX8z;G=0XxJF!Zx%$rJO1gb~
zR(*QWQCgwRz{u5v+Ov0&7GB!EMa##0@v3AcB`<Klj)9m%B^(m1sz)sU4CteGn|O2d
zr@0madm6t>*fG|H?VWcl`pfgD;^+DUf>~s^p^Z+)rT28gxKnKaEfj@R{Nflal7Cxe
z)bZGwi%Q`S5~LTP|0QAn7!**5rnvmHYnhVXo!~gvO;UGtx8ZMs%I`Vsd&ix=hH{yz
zl@vXtrZWD`@yb!1z;qLI)<AXj1#_Tz`1JC1AK8sezIsQ;3K)<vsV?q1A@VXkDIXl#
zhmB}C3&%pOzsrh<)pi7*pVkiAqb^-TRjuKHC#@O~ONw6I;<<+O3ncjxHjY`2tL7BQ
zdtPoa>s1&2G!;3eD1a0@h5Uwatg1;q?BaMiW^x0Q4Crh7Tq?2_p)8N~A`8DWVhD(g
z(J)PixnW1q@eBxwJFt#a{4<7JuGVm_Hd*12+sb!khDkGlO%!SGyluVtF-(2wVx9{o
zq*XZx<IW^zyp8yTe0LJRWqJopdj9}qYM`u=jwhHSv|gEkAYDa{`tg^~Q$d_q0i2;X
zE2}iO^?mdzd2T#b-C1);+_tlk5X`G?dQ~m4h#6KOOmQI)Gy)mgJ|=`;?C*;TNOo8%
z?iYm?q|)<k;<9JL44;9W?4DnLG?;5}AOrfe+I{X1Q1l1fg#Qti`<(M5q<bI9Q`{q#
z19JWnip>iYN#hBb=^TaKVl&d>2z(cJsZCeNl2s*Snhs+mBE9tQ&w0QqWn?2NGig5S
zYHw4OFO2=8?<RgX2bd~NR3?Y_t2;~D{35(Cz9y*y5^l5yKXuAPeOIU4*4<K25PE_U
zj9Ed2>(5n|_LEh8`O+D|vaGtvZXROV9;4y6Gn}TC8|3`re4we0o$t6>NDTMG+cPrs
z-`cPaTYg$|L_JedcbWt&dah&f47?1;#`p|4N?8{fKJ^DhpdLSdH2`57N6(2I6ZfVC
z)%%e!r}X`k`~DBf-5-#EUyw4M!$%{S@QU}|J7`z@cVR&TZe0jIJxv8yr^)JD_TiGL
z1K(U#`v0qEL#Z-XnI6w+UdncW-iGk^@SLw_ML|Nq=porA2EI-1Mn(V_TlVI+!MomY
ztAxn3LwLk)t+mM7cDnolPz+X?kfS~FGD>=A8h=J_7jo*CV;dKy&VbdTRMRnnMC$XL
zmjs%tN&+ZY#Z30d<e1fEXe~a7<%4~Jq9o1d+?f@^vg{wX-96;bWksGFGWtES$PqL3
z@2fTo`L2LOH;RS=Jb6Y_i4Z%Q(a6ck3K32oTkLr#g($_vJkEx!*S&UZm%IYIlx6=G
zHEm9-kT8gUxt(<+eyxJnZm;OPpi;Bdd$pyj#QO}fIoGeQ;){Q*_1NmUg5chX2;mJN
z-zEYGvAq%)th7S2_G&|T^C_vY*ONfW{$B4VM#4P--ZRE=O`zP=u|oDgs&b~~B|*NT
z{`M-*0Npr``vX45QgLS!iJeQh>)F^AUyY@x^nOxH*{o&2&sFbM%M3o^8-iEPbZJkh
zeu-8cw(j4JPQqYU@A!FKW)7}wUt5Ykuf#h!%j*B#&?X+fw+P4eq;#yW!kA?j6I)d`
zE*yQ`i+>0w`;{Z{$oNb%H-548C$tj;WoKm%BJ0j<wZM!*L;Ocv&LiaH?}y7C$`0_c
zqkDTEs5WGQe>9Z{KLNKtt)lyT^+Ve~SAVZ}+cArxAf^Lk6#=^V#~b>m_OhwQwm%oc
zupPbN`cX)CZM@5iclDpWE1QHjTE*WGGa6zM!-lm8z3LOhWV8#+>sXQpwNP=|g_eZf
zQrJyaM4b2zvCx!?G~u^nhAt(;PijzoC%pTP=h1zH_lc7M)@|3Lc8zZj%G1_=K4m|9
zg*tYW0Y0WV>d@>HHWWDhY=U~t=c=WsyYaJJ+s$={ZlnA}!e;*~zAW#Z?x&B!y?Y1S
z2^n@sbAv3HymIrD>@~sVtBDPt(rpoGT{X0;u``be53kXLPjL>1Gf!Tjo~S<WB}vw!
zR7ZJq>YfkmT88K_FOtnGF(IEmif2M_zkyPdfL7Q6#V(&bpeFe%u1olB`WYRbihP}U
z`AlF3OJzmXW0GT+8al_N)TI1}-`z#3^aTV4`3iOlG;gCh?XLQxVcB`#@GuYr)csDK
zH;*W?{wl9*CJQPYB`y3imzB^AUb(t?`Xhi*Oq*4OzI|VYj4vl6#)2Ssj64yM``eoG
zlcXr(0p0-}{QYm0^52+vE!y9*Lsc~}C3_G;RTGGH@1T}A$P_wa2rpkKL`#3-aW86Z
zao_6C{G-F0xfM`=+s1#(#`1Peu#4%zmAJuyBU=h8S9SkcnD5-9#>q_&L`glbE;due
z9|jX)94{1LMQ^-ETmcm-8|Qg3`VB#X+=a~gj^PTA7p^r~o8J>F({fF|u-Pbep88s2
zN<6r+{F2neXA072F!B_F>63D3sWm^5d$j3nqtfHawg^Sx=2KI%l_s5!LMcTs1;CvS
z^)*YG@;UfYyd?L*H$)$3^79klKUCrUpeRWj`lVwrz{_{Y#;Doy=CpMRF82XB*L#Ue
ztoPCzCBDImCfU0jf0-_Xfab~5EvTkmkhsibjp(Yi_EeFzc5QNflNR>y`4fBZ(X)ph
zpU_j#82hK=^qb|xEH7{;21)_71FI(K6hwF0>O2ouRZ}}V6I;_8Q&-c@+i_!g?{)FU
zg^j`V4*?c(?>pFz6ERhiSu)l8BT4A4=|<xXJZ;tHCxL}#e&W*kHEY68ncO<*k)}&F
z#8O_ee9MiNp-+ULSaqQ(^IJH+rR?P1bI1F_>$UkbJv~l)7L2AxDkntmcW<&VOz;m*
zZ=EJwOmK9<2YAnjyNcG09M0<0<6_0i(jkIzHyObY#@7w3SuMXtMdZX(#rnMm>M}UZ
zMAOzF%VJTxr$w{hj!>8OE$4r|NfI-SY~}WWqs=DVI4$#Ax=GSIdHD2=wVbMJirFkF
zWhb9-1wt5`T7GE|M8vApr?PnkLqXlZM0d8poUYM;h7(4V_d&Y;+_$ndWFsFeuX5XB
zI>_8Q=g8h?W3Ll15Ld{S=BqNUy>JU=hER(R-QZl>HrBy6)WFD?6?>QbrUgMUVGB3?
z-=4_#?W{F8<(v*&%^#v1es$N9KYVbh+Ty{4F6tEj(VEIkgjsb^Ny{nlqD^Aohh*TH
zFsu_MsVdpfHMYrU^$MlE(W%YFVU}CcVk|KySp3HA)xl95?gD>P8+i~A;Io9gvIHSt
z7jv;(#`a75!e4bf+)c<VprMi|3UBOD9J#<$c(<F#v&e<MUE~v^pIcFL+hg0^-Ou9V
z+G7qn=DltZ{E~)qK<Q9@Dk@k4cUmKUL3CfYJUH^o`YN&Z3c@T?GWa^ZAUfTL&tKE&
zQ$=C!Xo0kux6LlzY>wyovgQwXw?YWb+>``pSkjJP)zdpHEpoq;@g_VO7Q<J@&;)+3
z#Q2(LA3Wwbf4*HiApK3v>~dC$Dx{nDw!f|;wDNlW*t)jMRG!lb+7O=;&X`lk&io{)
zrP=yOv|j?+_P&+ok3)#s%-MY4(a`MKh95S62eHhOyguToU0-+4PFxuV88aS1pWlSJ
z)A$!CGmg=Mt^1im?@&g`ip)Y%QiIIYWJVDZG!`+ay~}c|klxHj_d_s&EwckUVlEbg
zub_@C!}AV=7<qWV%0%L+oS?4ChSlYdz~<z^5MqbnTu4;zMqnzseJ5n2yh4io{Ak?B
zYF1TEPHD%n=k}V&G+?R=S-N%`Pp}oiV`GQn{AlI}%R<XRSk2sdVix;KQPQ4&+ZE%F
zHkioXiXJ--qdb?mtggXhUO1RY*<7`M-xve&@UZ0Km!cb-i$#*j4(}&Tk&O<-><?|n
z#dy5C&kg8BSJBgwWpw)YqVcoqH$3$F#SYtFYOBvHX~)r$uGYa+k=sYQ@cr<r(Y-Q`
z;sS^;%zaut^{$n4tEkYG{qrhlB5#*?&SjEer>-pYj|q7T?~%rb#?+0#w;GP86A@Q2
z%GUzXf(-!S5ozwISv-cdt$mAv?Xt^O?o14a>zKg&;-YNr&0Mx+A0@UK6<8z7`D?A7
z9<uZ-dv>nS<hP#y8}W&G`$^%SN${2IBoZqTNr&g>HJo0t@PmDR3zKevLa#u(D+nOP
z-RE(8SMAc14Ay`|<X0C8$AqP?6#QEwS<%F6b|;fEiIOoo%f}HN+#1e9{i;%aC2I#S
z!|>q}4<5foP1g8kP}Xa|UzDjppq#Dxl^?zz`m86oc4hwIz0*5Kr6lc<K+0h|k+u;r
z!iq33GRFA<5%U0j8WeLn2F(pZb_=c%S``vCrbGTT|4td;KE)CKa$}rk<2(E{K@+KK
zXWbqt7@Er3m)~wsCXAU^T$HzTGwOKo=fFj@IZYvsT%VZnu=>$`I^v=&{v+4swA<_6
zXdY$jHNeWB*Fa*CXc_8UnOZBd3tt3BsPTi-%Z9*m`R8h<&*h;v*42GPNE>bKNA!Gv
zVS#3bCVxUj3j^0$1ZEIr|KLhdeyaiPcaAq>H6wluCfr1vv&6gaJ-_L&;*KM=&#e4R
zM_713IKgpXKw!+#%2tF<m~R&auR+LAZLKitXrFpU*uK*`%9J`i@>bkzXlMMaEGJI!
zvoTp1vpZLdxW1neHYk5x^r}qiwso@A9FCIPx@-~YBD5@MlyS8UH>+Kpc`pVybO9m;
z;VB4M0Ce=%DK<7sqFy@3w$qXFB4v#m{%lXjIEa7<@^buQvERZyO1FLE^p~L<wcA}h
zn}Kr{p};&Yym68XSK@U@Vgr>l{rqp+H>dEbKv4!#1L50(82{7U1G&$dYD-Eun;uv%
zgB2ycmAazNoOvHNTq@We6FTN!9^M(5OZhdmu9v*$%@BWR91sQmF_rKJ0+;aQRW$H2
z<fnR6_n_&<+;+d$0G;9RjY}JiZlhEAz{`xP@_ccfNIJ@*o#Vb6T}NQ~G6>a*Jnx1z
zPnG@sY!@-N5t4Is(*NKA#}1Atc4^xU7Uzlu!q3$bhQz@WxBd3Z7z}l+U9!EG`dE0m
zn)x9uD@dODm7CnqzEkLOS_rf>4bA?EHa3Fn<z9Gbvr(yO1^?mbTQawd%>l+#8aG@q
zS)2T1;@;aGcLoV)!?gCNjU%3E^@-zq|2y{h5j>Ul<C@M!BeRjD+y_1m(Fx8AD#UJ>
zHVxwZTU9?V@Hhj5lOx7QowvRw)b^djX2l0PCOtX(Su~<Iv$x5Dmq=D0<>Z1+tUICw
z-nhLPVT{(z%WFNsA9S&KU-Iol4T;7ywJtzsXT4}+uX{)tji&GN_Tm<z`bnMxTEyl3
zTL|*v@DqF1#lWnx`B__+YcZwphdTfKjJ|mG&+tk_FdJ&HL)u~YdxmovYcs#n^1j%8
zH;t<H%ugz68Q#b4x`44Su7`A)JQ`jkmoiQcyc^-rBK4{BBLR;)Hz;-$-}QE5F~Eu(
zNTQE0w!m&X!rRwo|HK0$A^*0o41m>DvhT`qYK9WotjaUeHV=OBZ~=QH5BqRbsXrX0
z*$21vY-wi$KVKhg9SF70V3%?3&%s)g_QBr-efv5gm=%<K-r?=7kpm|>UNceMBdv<Y
zlTq3?yhDQ$D*EaYuPZEsyp{($B4t<6o3xUmrqq9|s7DHY5@gI#cD~k@ivph)d3@))
z)Y>TS?47TnH-<+ms#VY1BQ{>+z)x`=-6n{cNbP^$g~%EyDR8QFm00g7XxCdG<9d{*
zKBcp?SQZl<$tn7u>~3n&mh2A8GD{M=*>nosY`_^^`mEQhCkUDPQhC0st!^K?hK%U)
z^~<40#cIHCU2F3hUX(Wb&M#{#Dj5!rb@@IuOX^}1Klbfu-<C8P4;3AzNSeQstx`h0
zBFdqQkSaqb^SzNoc(`p*BI)>YLgcnP|KcEFGrs`$@}ObS{{FUQZ5|r$T5W}rv72$3
zF1^nx&2-yJH%$3+me~8VnqP|%(8a7MX-sp0N`8*xGpsNpnbTMW`(s^Kt~f_lz3oBM
zDkHXAmr5M{>cbB$_kXznBxI@kwXatKpMl*<GurssjvgdhT5Lo!k*kcdpNyo+CW~Gs
zvd9OP-&_3s&T4HR5wv}U6(c4mF@@RdiiJ>6?@lXKRVPy~Y2X#p)C4B52r$)Yf#S(W
zsJsdM;1*wUB(>iJrP4mpJL;vUA5Uc$YP80Vn9UIE4r)fD5P(J9bU;1_uP-m$YSE>U
z3<u0(gzHpM9^YIGLdCS7GBrJX*ITJ{hNP))<BKONQfbU8g-1OCpA>9O7OFYyu~Mwh
zU}Dmvz&;51D_$u~2<=>#b2)DlT=j5`lQs*q`6l@eLJk=@ESXlQtidcSsK!<8eR1OB
zzhZ7EKog{TYnyTp^3c7z%KDN#YnY4Eb%bFTq#R9LP57vq)y})NwPc)PAtm^<c`jBs
zT8x^z()D+O#r<Q~E@yHzGg#=>77zVz65%#8$9|Z0gJL6Bvr9sp>oM8z-Zy<qvxanS
zAz!6r_=RGIQ4OhebA`?uHlFnTLBXl5;IF4@>6?cyzhren%6Z7UgrpexR&()B%BjHi
zRuU%CN|uK7*s;IifwV4{9u}#o(kUSFkJU5vxBF5+Wx-!-`J+-vn;sC04LvuR>q?+k
zk6YuU8>zGKPKjjv7LJ{wb;KhRsEyNL!_xHGlG}-U438V<p$qd7^fcx+?BdWlI}b@y
z41uXg06MSsS<xy~^MTvBvLNlXrpl<tuK68?``&W0Kv7Du@i&Ivc<zOJNq=(PKl^Qy
z!DS}n&S}y91mI2=msPaMiv-@)k@rL~@^#2);yi-dl^_n0*F}6E!0WqoK%Nrrs1bj_
znDeofx-$6g9(uz2R!0_venGh}k;hk+JoMs2a^2k2;0b>)7faIqUX_xKp<LR{FRdPz
zrydbBykx2%b(6<TH`7bpan-Y6`<&60g1po5qdogUf)vJV8YkjU5qaRB5KW4yG@8s8
z1W8<pto!nf6<2#^-Y%&mF<-ypl3Uud)fv6ptDt8Jvta%<+&Z0h6LuGsMT=q+dZ~K8
z)H)-jq$;O7V%1v`!z!#Qha)DWpw6nwK4&_!IN)&PW>s$MqQ*B|9E6qUx<H^b^)>11
zkDX!R+m#_PMmHjBqMv-@%k-G1s|eHM{)}%m@@eulhAbspOA5LAU{(i=J`IghwF4JF
zYov?U^I7*kMT~A&w=xCkaP>-6trgweeD;r7cG4$64&W8Sq9j;CdskHynmApZ(!5Ut
z-xE2j3P}eM(S69ryX-~m!TZ5u+aJa@fVNJ=D3~A_rRCoc1|cYm!ayadqNEAywT7TV
zIvX1M2(=OuNKMLkwIy_iEzae!1J<W#D`sX<y;adgYr(UYHrmHS_U)D>x35TtHDOC!
zvT6b+^xv4b13JDGW+c>pza9Dsq%EOo4a=QYTcss;-{a!G1Lo*?2sG8NOYPf^R*p^j
zD#A$Y^;V%Q2kg6>b423tv9Nuu7RNG`acZ09XW6Ll?R2Y!&^j_)SV9T$>td7#8qXQd
zU?hJa-XTRa1MBGVjg;*}_xilFz|w~=xWEAqQcy8xM{4&iN5>I&>XWS%E~aMPEuneL
z{epuv0dX=$dWr&JkLAVRTvS|}Y=nxlq3;_ZCdd0_4hqRco!UPTa}zV(g*XXcMGW+C
z0TbNf;&inbc~-YY5Q%o@a9gsvB*^!Zi-oZmlkF)oz4d1f0z;th4v*RIh2O16KoLff
z%8V9vFU}P9NsHC+vN1)58M;!Hx8l-Kf3U~tG3=q`I~C8keDId3h#*7BCJ4rhA8Zk}
z$;v|hpzjF}%lNLTx45mzMnsvsq{BL8ysp=%XeTpomD{wVvO90L#UHU=rj78vTe|)G
z+MJ7$rIrf0^QYpbxWRUwM6<5Z#vacz!{n#2lks@T`_j><2NeiB9oHm+<QqpwfV%CB
zYnuEov$qz4g}cb;qR*YT@Lymp+)(jda+*wH&kt)ztbibFSPum;^7OR>mh!cD@U^h1
zfOTe6O%kJoI2m7T9_<0%w-%XoKjE2CW=K_+bPV84?{{H$*LSa*py5kwh}1Txk`TVh
zLo&MV5Hv@hO<GB4F@=Vul!Ee<?qzAtZoQQ5Zn}<<?rl`+z}=%e6#JKk!*x_F$AUr!
z`S7&O(w+vKnu3CYfuY&LpF*!?;Ws;X*~BAL;J(=UNjJaT5!B1$ek=i%oq}afPtwbP
zm<>EZWcmHh2`g6pPVhH^Wdk^QLifCM4C1zxh=5&jWDtrtCsf$X*F33zv~`0Mw=PmU
z5Q4^~$X%EyY>;bP&)1f7D{<o?D}a(AJ{E8EQrBk<RnhI(1!ha{W;Eh~p>pl3DnC5$
zKt*X&%if+Mb8~6jgk=xkHA?8P1g#yow^tR2y776DR=-Ow-QCv;l}|%jxY3k1*ZELa
z!e`IyGKs|yfS@e?KBVOvZel!)mxMWxp*nwTTyX?ya(z|sa33Kf8(y<$YTVGm_``|@
zlazGL)e<4(OFY(6tccy_E9{UjJnnVFJns*P<MOV|XU9)il5DTUWB4vgvNUh4Vtc>R
zjLISlEy5TL*<CgLtjr1Y&HJ+6m#$wNZEd9U6Bl~nOF8lqs4fr7_)oHES3P!Yf@}<Q
zoFreoRN0gJ9_>ZfCB(G4ihvlA3EM^69%HCkv+tlUYh)!7I^tZvrLu7vxO~M|z+-7_
zcg1ye7+CaJDwWRB|LYWV6_g`8>^f1-Iw)yZOvhYRBsz810jpvj3uGZ*d=0Bs&=S|u
za~WasjEwYPIE}4pRZ`}Et&?y)ufUnqZv37>aTsjH!XXgt7n3FU+j&&0cg%3{%dK4D
ze2r{IUGNt+#a)qMnvc0OBUEn4sGMf@Z0Z+25@bOibxqQBl##<=-F6ro;}J8CcBL0n
zw&)!((Orri<Aerf?K{Em2zpc(X`#6ksVb;c8D`r{K^#R}WYt<1J}=Qk`xosBYG{KL
zyc<Q7T<lQA<(=m|7b)bkW`)l*h|yTs!m1~D;$b$GN<GoSON~m{6ibkj-4JP)p0s*T
zJa8tTi^a)GXYRv&XxJqNhQWyIuF?i5a9_25HEbGuH9s)iJltqbcRR`=bpN=&L0BTY
zO)`sA(aesxPN*VdUErZHgEo>4`AA9gvNR_8eJ<CcsUiX1<841_hqx89v4HMw9nqd{
zb6RkjA@{4`RhAt%Ctow_n_JqKui55LW4|%e-wq@B3~N-Oc--4j(`E!wSzt;qb^z10
zr;Syz1+nHr36QxlDiO#W8|e$TKDjgcVt2(el46!rUBb7u0&=DgK$r^FhH$&*3D}rQ
z0u5kxl3v)Vcxk3~QM<KI7`EVVUiYdhDzW}Ax&hrs$43d|^CJWjA#wj+&48NK0_Vo_
z2K`U3p2q!7q62LV-)0n)nJ<;0f6Kzg8JW<FOe5r>pN%+?bFV$)z}eVZqM^KSJ(go>
z?vE7G5c|SV^_gBFl!1csvwMv#`6*7i3m5q%5L>_9A#P7UHNYhp6_L-`$x8XB#y)j@
zR`bk9Ff9AS6kPW<AG&B-ut6}og6)}U<@jRLt?smlc5|>2Yak*EGxj#j=fe*7O_*jT
z)GVvw3e!z!@LPO^dJ6m{PNb~wG|i|Ei4bxwhFFx~8Co!=30$m6)EN+hkCFXhCn!9p
zVI%i(JsSt^{ASwEQes56rtl{k7%LXHcyPhwW9{zSHgGN{6Y#N@jlGebSZ5bJLlF(!
zUrH&NwOO{GA_>*7)D#*0-1`SMT+^K9`G!4?sEIXqmk4UpNzs=xh`maZa_1JKNCl?n
z9(Z}}4(gNfG^ns&0|h3wr{9F>I{t$CC6qGP$ONxnw-sr9)nVBJKIS0g09L}+;g3Y*
zv;*06svdHdXE=RsCEF(wp&8$$=8b=nB*}~Qqi~U7e;xbn9cx$xh+AGnch9vx3JsHX
zs0C?hg;bI6-eN~_-=gF+8SDG3MVOa9M3E#jnlE9xe$~44MQtFhOJ3;dPIOJVj%^?A
zl@MEkw)9r5V*dq1TDc;=`g%P`n7U~w;z&1)dn!QV%=n$+2}CN+aIj>bJByct(p$c9
z(`3NA#~mp&a+>0;D%}Jcl<9Cw1cPLiBK6QhBwenER%G0@vcDy+I65K}3Ant=@j|^9
zz(x(%M%roO`^*TR+8_p=fo;-$Oek;dK%%M19Ysdy?ds^CFy|wJ!7_&t^-S+0jHnh{
zfI-pXGEI58_*xp<1WHL$F-FM$q=~hF`gQpuD`ES?ivkM!`pC;AhYP7h%~(>m6R4r}
z6mLmb6xgby14b%zO8M05T0Y#~OBUE2D8h9URly2w>iKbw2W&%Ao#Kvw6jw2mUxHDX
zTS|!4UjVEk9F)q~n0bekM+C3ui0Zw;skqpCt#}?wrJfPvZ3+*z`&h7IyH2X}@+pwU
z^5s5{JI!Us_a*p`pX=^ln0^vX`xCDbFp$`feD2h-<p<hP0f&m+16n!8zBcvbi^J7n
z4a-V@Vz7P$kULu|?GbF{Mmb_kHgfae^+(R(gZr&36wNuWH+V=c6A8c-A5MUl(Sl=I
zXaGZ=0h@g!&tT^<bWrhLdtgGVVTVDPE+M)d3pI$Ho5Wu%=Y9DBk&j<k6P~HKh8>;h
ziy$#sd3lZo6}p5(jXd;y(V0V_GW-3Az245wjt`@>q{Qi+M2@nBg+*u|FeWR@(AG#t
zPp{z$4>brVyFZyi85tPX1ZFGFZ%{rUUIllMW@%q|Bo_og*6;7=j2w>JzCJ#56PEN7
z0C>%f?b1nE8UUd8E{i0vw7gFw-UgTOpLRlIh7rAADYr{Ezpis)f4Aln^jK-WW$@gq
zn)u)hQ}8)t{82=Bz3&-1?3#98OGpq3VmsAeXEG#OkNy;S<Lpuxc{-Qx{2TM?a6IZ1
zR8lfa>{Qf`rn?PtMhQT0gqM`WTfv(qXu);b<5_{~h!z?G?SLh=MpEb)7`j^X?k;Z0
zT+&^BcFrW6ldt~*Bvo|pQG>+3S#;VIaw#ObCA-acD@V8`H!bQC0fJg7+(S`0djmsu
zGw8Bmo#icbxTOxu!XKppJ69yK&5K&sN~BBkj;=X}hsTlbHzaK#4H?X&vB%WRtyfzG
zvxyt-V+GUUhC5LZK5;~chKCapz0PaEMt-B@=TlQ4P}F7$j#CK&Vkg7RD{PiGBP>9u
z@#JT(xS7)KAsSEKLceU(mJ+`>vWOAcD#9Pph?#QdP{jniURbC6V>NTZn*ik72K;^W
zspX4kg|bFIH5JPb3oO{^uy2b}AI_Sv2S#yB&4<6>JgFA@!kBrKvwS<YjuT6qb=w=D
z*d;gR;-;H!GX<CwYwMEXY5tH>tJ=~jCMu+Gr&W-P&)ruNbXamMd>11~_*&o7*_8_*
z6@KJ3du)><mSC1eu8&JFdN~N(_PC78L|SvPZ*hj<-MFNBsAg7r++AH98%lGS7jnO?
zoBCq3xrQ2@d6?)HP;nR}I)??1blk?vl*pjF{MbV*m?ob}`vN1RF?-u#>k$~7{fsCK
zmg2TS@hFk)J!e|6LwHvjsqoV>Sb&j_Y`91aSY2_;PqeHzD2C}IV(hl@Fkoj1oH|gM
zH{~sORGPnbkGcF=@8=6&Qbr#j-L@(}KCX$!RnQXhv#j<O;*cCR)1xJTniy=C)EzSG
zK9&6OL9FYE1f!FZ(=sr8x9np#(Q)2B#hE}oP=5m{FE9&98x%P92`P$0HMK0+FNe@P
z^0H&|ct4zj&7A*~F=_Jd3&H3yAHRo8om3p}kpqG+&oUpsFWiJdW4Kxf1>NPGI>jji
zr}RZIFK780a!g~kr(1RNcs{P?F#vXaNP%;cL0KRiV9{xJAN9H|gGXIynuln;;ykRB
zF%j4kwZ(VtRg6@1xLI9T?P2@E0Atofy;nyZdGXaGk%I=?tCZsv(I5cNX890tqZUD>
zPL25WChSk-51k+T1e^u^YrxhDj#)Yuc8yQ<Sj+e_>zvckk1&q|>9pwRosHOga9g5?
zvt#IFCJN~rC8^KS2vJ(ELT<yBrnv=p1-Ytsix8#ZVWCr#orb<sI?x?f^s2!NG8>u7
zPFLo4H(`NO?r1__(R`Ne?X(iQV(WB8Z5NwkSB-MX9X<96L62ijH9S%&``^Ftc%VNP
zX$t6|gVa7W?=?jo)@J&8)RA)^6z7Dd)$u}N$+lK}DMEyoq;DLZn{x#58M(CG*5Iea
zSry$dD?FzNPPQ{8ucg@z-2!3bi69#Q0{DGQ9inpHqVceQ<*di$p}}No`Sgn_!Zn{O
z3C!r*u0Lx$%=kIK?D0}p=<?Q`k@#pRu4}|s<YT{(vVoGT-#RPbYt3=vv-&=oi|u3m
zg3M$@$b?q+O0f2Q)~)s{ikaq0zG%dAT~ibeqS578%xH2tzh992LjJQZ2&TkPM-4Qi
zk`kY)XtOn(S$K0$>HPW3i5bV%+yZ#@75bkcZC&q;Qvt-XAd)sk4JU1yN$XdtB;z<)
zPZDJ-`n&fI9+O;@YI4|OLQ#oMggS0|%Qa*_&fQ%bEQWlsaSjK`K^BaEJm4=W43gQ|
zLqKAI$FrJ|6A68535snP`9CnUzM_$R%s_4_%RTz-)^NT{b$pW`gi~i$tu2d^nd*`m
zT-OU3zSj1Mj}S$dB~fr>58lVw=S`2`>8KhWt6sW%4(+Xij|g&oaqD+8S22BMRRN)D
zSOJA<roLmd3`~pUR5HK0_~OX7%DaboJuNS7({E}P5~b_L5rZu1=J3X2hmpZ%Co1Lp
zq53agzCTWV?OHWwI5mOb9e_-(n)VRj@ly7Al2QPXFD2{#FElWPdXCF&m<ItHz0C<Z
z>r=_A%HY2V&fARM-H{Aw@+)_05zOwqzuArXP&%xKi}x0#sVb!SHsnBZT&+rzUEgoA
zg`&{q6fnKmG7}s=6?QbL5H43-a@cMCe8_da!9V6xk5hYdo{zQLdd<qW5T_#Ttz5Kh
z<~Ezh_`pDkr^kocA%c~2cZ5a>%z}4DvnFso%+!-KS}uo<wykjLRqOYknHoh7R)p&|
z_as`xlEOnT#O3|Bk3EUS+}5hz*L$fHlV((WJe=RWK-1*8Z8-0n*UCF`#a{v4O(Vdk
z`gsoXq+?#TKdONUbavuiz`H$Vb@xGQ4rCt=S$}-OP!@3n{v>@Fc{l?Pa3TR@6b>|K
z38)w43c*>R-`;_OZZ=MHnFL^M(9kESzn2C)jDqZ-jmZ=#+k9iaxAfucU`e18N%EF%
z7|gx71gT!MFmBLee5Q-Clo|C8Kx-gtOh1MC3>t7klx>c?=cOKs*4GBxnQ456I$HS5
zisrMs#Q&;j0zzBB0VvDaT?V{I4=?pzz5divhX9bOuO<Kg21zvZA}W98Mg*i6k0Sml
z939Ic$meJRA_Xg;oOaQm7DoUytbapz@X7Z7JIIi?(FpwQ`3oBAd{%8DJ`Wmm4L1%n
z5-K&c5S8_XR*U=hhD{8gL-J-z8yg!VBO?a}dh5gkn>F>(UU{*kfJZbaPiSIL9gji3
z?K!IFEARjz$UHT`V-{I}=c%Nw#<f9Irc+n?AU+ebcfsOoWcdU=<vx}jNWRhH`*v-Z
z8QNa6uRL|f)Iz{)P$ggz0E59wN=owcsfnZB341p-G`KrDo@@>#gMIF(r?@ugNLN5_
zWPkX7VgQP)|JrZ`w3He6zieG=3a@N!6=Y&MoG6gb$;lZ^W|^IsAm+6CnwPgeS7%#g
z*ruzhN;!oWOb!$cq5jP(r$A}o<6G9>hcm!Ltu3-O{pEfvCB94&s}K>m39Aw2;^G1X
zJ?HCelZ%Rq3JMBhV^tg-9aUAaiwamtpTntNYvoub_yd)l3a96|S&GjAO2Pem_YS}s
zEpb0oi}7}Fp(bUkE$+u+;^Gw*6+JyYTIJfOE1fU6zxcMG-Rv&!Eyp`=1McJY;~)0{
zfcMeOBLZOJwXn5O>ktA~Ko&t|Wn~V_?T2e?lq@VA){}*Bxc8RUljDn%Nic3li23mU
zZIR>_BUdc2&OHB#p@}gHu2sli@=_B`0{0W*k-U}k+K?Lb>G3T#c5ZI&+WLC@*Rh=Z
z6zh7gFYz$agYvmdV%~2&jL(+&m|&YPTZA;8kI9`J?JhjzM%?uO_{B*@_2pXZg?#oi
zBh>uDLgLhv1{4VJ+i!qKqaFr`9$t(_5U`}YYWWQOoI=#4U!L2k#?JFU1%-ua=|mUm
z`p+&+)SlI13*LQ9hmK3aFP8n)CM}27zK#8OP4}Y;VQFddXH3Sv9MmL%m4c#kWW;{s
zS8Qr(Dm<xa{VD^F>*hLGo;t~&#V(VhMbGLpH-!djsJZ-Z+)%^-th{$^Es7mGl+XdD
zoPz~l@7^IDYinyk{I@C35kIStb8)$qUe^kRK+X{$nS{P3O!M&|NN*HL!>2>tnJ)&_
z!vJGIc-^dfMu(&5h4encgO><C;F6QAZ6l;FP7=n|tWmxh0#t;fR>3>T*;6%p6!YsG
zI;!|pz`S%P&rw~2{~EftaLdahLXhoQSxxUT@1nzOr9pUjIEzvH23$@=8uJ#V%Q8a<
zpM7EKN9V|Q4o)QN3vEO|_HuamHA}{V|L>lFFG6~N&1<)Qx86%8pW(z{As8p=iG8d7
z{)!)2?0M%Y&P&mtpdfB;ZUBZuK%lKR(_1gfT0ClK`Shl~@KBf_0~r@M>O#psZLM4M
z#VcfHpXUXy0reJ8{mb!)hSb8!cBgdiAK7n#(=cF!-Z(@=d>^`Aa?fCOGXuK8X_7eN
zOzj8$Y|78*#<);%H-!`8dt4O_GgHu3KopyxcUl}auS71+)SCTZ<jCO>5o&5`RIxGv
zKWHt|{9rdWs7)-JU0SL?2<e{T?nofEx3;k<h&SQj9Hiv~OkjGj|Ea)pC&Sqj;2oAb
zd}n87XtBc-7IrVte?YwJ;(&S`OOqd)a`qtZFPT<joBT!dKW>^*z>$XuFcEl3%Q?=M
zBtS&}Wr*_Md%Y5chy6SJ^X*Q;v3>*dU}X(EKu*sG#8?IOMV^fh#vgva!TAESv9*2m
zhV=JtEJ!NgpKFH|-EP0X>J@pOEiy}o*#x#4_l~LTFT-&GmUKS+<r)NGt(AET$n&9(
z@V`L`IS>Kft)+&%2J!AkjPyq^DEtxbw|oDn_vb&42)teif>1DE70<Jcu=I4jA}U<K
zpmU<YoBeym4I8(6)w`YV2mFjwK>U%zFn;_D`3oi_z1MNx8Os@w1ddPkuKQyA$ZO>M
z+%#JxnVwbMfbV)S>Yo?eqXQpyoH08ZA>7RFqGl@>D?xCm2^(2H_#U*31Q9L)bD?(s
z_#kk6Wv2@q5MB26<teCr1EE*Mzf#3dJE^>?Y@Ex(&7S$~W)XM#XX7zp#FhGY-kwPa
zfE2TflhbZD|8w9fE<mp~Ss$1|VEz|cJ~=K}?E{8!0Sq%0wy0xCYi@1*C$-<dHc;IE
z$B!RBLonPmb%2OJO{|+na$=4F*ha*kS=o3xE_F3$u!THNX%tX}v%ECV%y<(DcKe>)
z6|29^Yzb&6S0Q0_!*1fx2wxyJOFcIgA8ue_`2@IHI^b%nJ6e2lKoL?r?wzyodT-Qx
zgTryc01%=7*W)3gPT_*y@Qm*UM81p#qV`O5WSZ}f55Lcn1AMHBY=bKtfX&lHS*GEK
z3cQH_R41F>+hiPM@QUrrp53C;fIbHHCn>PQik_d><Bd&EA0|ll18q;!w1D;GnT=oL
z?jRsWlfAx5-(Er_LZJlcV&!cHK#e>~<^VJJ&!0cz@=^iIFsVj1^mVs7JWiVp5NZh>
z$LYEeag8vi?m724IT;DyZI}_@$wWr2qs5lw4wtXx|J-3tC;dOhdM?UnY;AvXC!3J%
zf~9=dmJB=je~VtT;>tMSaXF<(6+=RZ?>S?|dz)6&R>h&H(}vlvqIu@E`rP2hFRwvU
z@E6e*Wsu{v{F1jf3EIgnoy($XN^-h?yth_sfy`!j{@9q)Wm?@wM^;wnkZperI`LBg
z-KeV4aVAOHR6{}VXI8Q*MKMy4*savN^pYyx!?PA-Ew27{?15hSH5*LNaaw4pAUN!u
zFD1Y<;TER**czTdO<W{IFBk;HF5sk?`YC}(MUy9Fu~-40`5mo$_P$%g=pB{7ki}6N
zQSikL4g^n{j*xdM4dHmXV|I4d;ZScW<^?dTI{&&VV2!W$N4?5!=Azq_jTc@VU`71H
zGGU%8X`xdG)leq;?h#T{0w|?=cjNkjyH9amtglg8p$XPiY{1m0$~new*%i`&EI8%Z
z9*&k(sTb^CU%uqtdBiKU`6*u4W(i7yrIMF;+9T0b^=dH6aUJrM8&@NyU{3l|bwCy!
zv4LQBpiw$`%orNSiQafxk%W2*d?!{xLC{i;D%`JDZpUKp$Bx*hG3!<uBLb#-2@0qu
zVBP3R>`EaWKX<?TTKQHfBu-v5-L*yETyI(oc0RnWH;emR#_OeO3~NCsEG#4<B3iJU
zgX5pz7%@=+@!{|C1m3y&L)2)r;$y&wq~q?j4Iqcww9WW}YVX~U7W-nBqD{tAAg*s|
z_+{75kWf54UWv29&CV5?Mrwd4ib+pl9Qr3(YKXGqPj*$)9v6i}M^txUjrqk2UIo0%
z?4sB-h)g_$aiqftLRln=@Glnt5~oYJ8hX_l5OUjZ@f0KVYt<Sa9Ry3b4B*)DXHpf*
zzT5dlxp$nG=Q!yw#V%*yGmb9A9B!T;qmw#dr6t=JDkfEVLo(?UtjFHps*#b3^m|1X
zILs#0&+l25f*#M`XgP>{^Irj4WDNDUPCESdRC}xmnfYO92vVu4W<oTDpyDhRQidc*
zMSeQDJQ;Z^;Jo^Cj7U?Q8cD`BMhE}l+naBCd4KBy03I3xpEh(Rz|oo*x4qk$|ENH{
zaoAuBC#Ee=9^{H_X!rQ0|I=*#zSj|db>w5l`YLQ%cfu#NVBPK!2MqwZ-aX2OkWZY`
z5a&@v$T;xqp?8<^BuYR4Tv#VqG(t}K{LSzFkv4g<`atrt7DcJv6Sz|r!xAM$^<*JJ
zVqzjbKE7R=6A!Sd(;Bq0H6KbAVnsp)PV_1gk+_+A24?9jSVpA3wt%Jy{$_`hP|ZwW
zb}0XGbfJw+gu&N#$whC!52{*!5X{-Kyee8lLZ;N(64tg1bBcyf6O!7D_jFSE+4!TJ
zTu`q4L=3-rbw;Gg>AjR*ZghEaliA(vvKiU0mdJKw)fWoK$oZLwFKGOgw1Un#A;C+5
zi_|yGv%<QUx8oF~Q3O!6`{x~s4z7#Y`2GTy$-R`dbb{({*O@n6^S_x~V&Kye+xJtS
zYMv&c_zS(m9h;mS92wc_tkwWHblzOC<d6Rq`N@?Ls|ic&-+BX?OIsRD;{Hvh?>Q(|
zHI{hGZyHUGihI~M;3QcnKiI)X>y?T;8RE`GvH{`p3D<(|C;jeieq#0H8i$0)!G6ko
zqK)_Pmm15LD${B1x3+H+F9hs!qNR+*Uidu5r}WPSg3VM<<ELpS>hGQDH{A82%%zW@
zYKk-u?PSF)9J~5hK96c>(6}s8gQ$fV${{k#Z4mM1<U3o*zA-IxGh$(m1)cs|E2`N#
zg*Z)Ddu+|YYYSn2)x`Eml*MIZdD_^9@CF6sgVSu0zFEpw!0g?>`PU^KQAz)_j4Zo{
zuS^`LB>-`zNlt(TEi1n&v=jZ?mCy@}Uu?iut>_@NnC455oZQY(#y;oA4}!6pmo^RQ
z{;jo~O3)Njk)iFv-^zp0afvW;U31Uw3@jV=3EsrjNsL0)td1IzwRX>48KxVo29+}V
zt#MQR|ChA{46@w<4TL->ITLbq=m`q{!-D$1fQ-G~m>EsCTwL%Hzbxb(Q;Bi&%FdRP
z#XqaAwcxdJ%qzr7qmHAaqmeHk%4q-YZD@cG3=IL`puipwg}L7MJPTNJm9kA*=Q#FT
zc4nwHd)0K8H~igw2WhWw9{$!&tC}cF>ZV_4$9<XiJlP#bRoB#HU|?|8jLmq<2i{>`
zCwejBpcCT=P)yfTb@An07&)}(ViS@d2lBd()lSP_d5v?EfMeAHwyOA*H5Vxm{YKvN
zXon=c+`V{*I8%{Q<1!!jPT2_fdOl#0%_n3;*b=aq+}~8i+zur+eBK5zGBRFGU{1!c
zd>C{b&-FWWiW(jKmhLiNln9<D`4y|V^0=KS^CfOU6=B&;;yE5(B9Q*n<I02$2J@3W
z4F61A>4MZ6@x<XA&oqb>ER8@k@tKy$6g+wDir4R!->!qQT`+bKMe&+d{WC7g=F-HQ
z*`+%-r@d~&^uM|?5;?u$)pMUIX{j^HTJ#F3b$#Z=46K7n8OVaWv$N;j1-<RCRS%mB
zSHV3-+-$mA<yY0%+WAQtQ8_W}JR82J0}!vS93y0Ix3bDlgVS-IbMo^_*L;6y#S6X<
z(MQO<j}q`|_qx3B_rzuEJ9Q=jT{66n7iWk5PWW=Fs#fKz8;SIiyP@<KtzXJdL36WX
zP2x0n7~Ojw4vgjANwq%tv8|1Pf%&Dk8#P2#6y8V`D;FcO#HfTBo!yA?Z#Vr%gpQ%l
zxb8rxDd~HKv>Epx9e2+{U=N`!z(lct1g8!pD42}c*x&bB>qe<JOFaec%{toN_7_1h
z$#tjq-FoHF$Z#m&4~TocWm!qs`!1uO2QIMe@{CwIT)IUETz6x0JF0vQE+_D?oL+Z8
z9;@d>msT%AW@|fmFk&QPgy5kwlnT?P(jT<{<~6MAkg1`~8Rx5_??&R&qefL@>Sug%
z-Jm5{o>eRL_u2yu`wf|(_6d<~rDHFVfHr0SbC4K!`ROhj9<VrPJWvLK9OOe2cEJ0-
zN`sb}N`t|q7x6H16OG+vVpIt#^~cZOXVkmy`E!o8UN8LW{U$Uq_{Z5~;r?<|htZBL
zuM(b1rE-~vqx9kfbU=qkRoDIYHf3#M3ERV@cDCaG5cbwlaeYm?Fc3T;IE3KZL4!+>
zCIlx0cMBfef=dSp1P|_XaEIV-!QI_GxO>yw!|$DU=FZGr-^U-U#iIM{Q(J0RJ@r)8
zDZc7e6ZhLFKLrrMvU`QD&L1bf3~n#fY1m)l29d42c<gq>G|!JvG^VpMg1<7ft}n0<
z!R5~Se=0(I6#{g)eybRf2IPeOA|qE@1)u~93JU82?sJt7!{6JKJU#^eO%(J5>fU%7
z*xir|$a-|McB^1dmRVJy*&ok<>2Lm84Sy>591t5#Ig*eSxzgO<%sw)N&L{nG{tJ*q
zhRyg`D15l?rL&a>)_8l9v|rG>pQ!CN&lv1^WP5|hjVXLJZO~w=#&@mRi;&iMW8{0_
zk&cA7?qBF5d@OSbT(-dEb+Ls@I@#N=vS6-)KFK#+Ms04I0M*-Sn7B{z|C284#^5d=
zMmm504iVC&;-N}syvs3O<bGz;1+CCnFitgwaIGthu!T_`yz+r6yMegQ8A+h;2OIJB
zvm#Cx^(F+nkIAg%wHA(YPa7}RJJk6Xa<sbas|pzUaS!WL6fdBlc_GdOTu6v^&ayfT
z<L{!NE%o$0n)P|kw}CfBXnZeEokLDYfx_ndO%1jQ|C5@gEO5GORDJs1a6>JdPU+2L
z_6dPob6!KFIq`h{8oMki{tQ|~Gysy9Hi{#SFfua_w6%R>B~64LTs{0!ehv@`bVmr4
zs4XQt>Ym&F>e<rPmZ@rN+HL6M#9WiQ;J$6K8G<l1QizBd-GmtDY!&3Vnx_P}pF@9O
zR935X>krEW7N+MFPe-M_UY5JTpoW_?pGm1{8{XI_VJw6ca^{0af+EGRQ_0kI$SH*}
ztQyu$w6^vs^SbkYe6H((I{FR+wE>VynC-ueBnu11V}P+wb;Q~ftkX0S4tW<-K<0JZ
zrYM9o+fauXSAJE|@3%4;(7i!s6uQ@#-z!8LdsJgMYm<BV1L+fR_Z{DU)HtNw!{|P4
zICzaAlm(za1w}=brXT)4xwP6OIs85ovxXI%d%U5KDH#H85<+Kxb<WRS=NdKM752)8
zFzXEQ6MW%*2NS8@8}pxv*XDPyVEJTs(Nw2k0jqhvG?^X_%@<h6eIvuvXv@|MF1N`J
zY09kdy$onZGuJUPG1GICz4b7OsjOi6G-mex^REKV(fSnquZjnd(zd=1QsO~}hn+4Q
zaYUdxgR{O~ja&&cbLp3FRI++9(+=1YPqZU;FylUod0VJ|mSVo><yaJW!rxi#0m_*x
zq$CoU{1O#5X__E?LJ}7n+uPfF5`}#@;(s_0(d=uWFW)a{2FiLBBSmR!`H%qIxZ$?R
z45VO(B8kflG}1hB&m?4U?lrYr>Y4N}F24G<Lo|Xf627Fw*LCt=4+{9OS3x50%0BVr
z#4!Z8Ct<6RTYeEVY%0*j2kb*m{fAJojQB5M5iD+hi@sFvSZx%ASiSX>M)cVOD2sOZ
zMI|NV{Pt8}(_d<I-#x=eXJ#hGcu9_HZD?{1V5i?HLbq#SJGFJ!;&E<v$+xQ@FAoWr
zW7*p4yLXoJfxPWAN6*sSXGk=WP+nmQHM!3Y&u60*0sbv?xCq}yMuwRi2*0TzxAuPr
z{M7c7?i-bfqW#ymyXM`J57dYwuPN*9%15-xPE<hpDAdyZV`Jq@Ip3OV<DlNF{CP;Q
z6a0-}i4*V>X7dT<NOz9-?@R|N03{qAHNA78Iqfqt^>=1;#u4vrt=6>r1<!Rg0odTd
z(7}&9Yd0#m)TU_>gS|_;aRg%R;V8*8&j5PxM>j)3osS=jTUuJYa{%>%A)_0SNV0E#
zOXP(Dpi5ulk;->mt`2(fKRgYyU;oaBXm{YY-i!&;@}K_G^MZPWR=9UHrAbgA@GQZd
zfAt}@topUOvbOiZbaTs{N;~W{BJ`~|qqLk{LR?&Rndp<{a`c~wjyERRO9R0!8`b;a
zLw$2ZA4`J~`jg6k;0j+P08Rq{u*0G^fd8be^KX3RP?1XLt9vA6jd4HHO@X&?LfZ&{
z1lb3Fr}a1N2=u-^%kee^`Y2oXy3GN0e5h<2>YGtpl<vs#xmG9BMulS+5Ym4P13)>t
zMr*xo<Kt%!_t%Ha03OluTKC`MG%=s>oab_DuOCf4Yl4nHV*whel<nZ%XaUuo*~;xr
z*gY=(N<~ssm$5vF<o9o5>?FVKdkpn!OIg!f1^23B4l|%W@Qf1%tT;kwn(gF|?~8W|
zh+uH*Mo(nzTj3{byfebZ%xmtM@h=3$U-BsGZ_{|3_Ud?tJhFl6Dd>K03|zD=%RU7r
z7~v%=FrR`f+jC6iG9lchd42lx0LkYdOb7Xgy?OlL4cFF*r}@GIb+a~*jVhS%CmCUP
z>&!5V22-amZ3@r&yiinAQ&Uk9r)-+_@CnCx<9~zy5Bh}Qijv+fAuIc$#hx>uQ41Sh
zlW>Y3E-T>|(g3^IEK?g=8T~S}!0K7-av1ePyk+FWDhM-5I>&3#(6E802xW>pZ>dwE
zs+AI-D|B_HjoW8liBen5)=~2P!1rJTFb~GOJH*(?C|5pZy5-_&U~T{i_y=`a&HUDS
zOaQuHi~EkDYwZEkXbyn>|8R0Ib?R7!;gbM`bi3KTBs?`cwkmZjOob8yhtXk9QR-%?
z<%G0HzhpeuP6e{`+;J>kLe6mNFhPIBF3wD7(wjDNXi_7UNJjw(A=(zF(`d^skFs89
zF%tUyFD#~`Sd7`T*>&Dtjpen^<5HKxiRbW-NG~;^Yl9b6iVgzyhDqsz2pp-~0S|N1
zNxY}{r*NTL4D)`A%|X`OtAP*AJUR4ZuXyrSZ(7-jr?+%ZTt{PLqSbk!?)>2>q&i>M
zHz%DNrtM+DiLO@FmAS=LO%YCQm>Shl0FmPAuw09XNt4mS{X?WT<ISg>A)=hWw}L=n
zg_^1=YXjjYWJ&bjvnZ-cb-E@)LUz}??EGWps?fhV2udcgm6tj~tMsT3rJhk36U_Z4
z&f4-<269aH9PAzv{P(T5u55;yh)!n7DzSq2ItZX*No4WJ#Hm_Jc>Nk4-3sodh466L
zu1Du0^0iDU_swN&%d*`st43phH;DH8JoVroI;0f-7hvN!H)U~_d|nFA2LVcd%+aHL
zmo5=%(p9~aI$WA5ieq;QBJ$zHX%7cSt0>U=fcN~W!J48a3c48uN8U$HtT{&m0>{*Q
za0N?T!DC4unk{mYU>-ek192)?1L-g3@fD8DpQ)~+@7piGQus>Vc({cP&c<{h{KDbc
z-1;mpA6{I{@-{w|_vt)7p>O{<N52_Qc6y8>`#z}%OD1@Qn%@_?9$iuRI7X*=68nUc
z@jQNO&OD}d6AzDWT#z-F$4rX*7opK#9&097R-su^bR9HaiD0UB{S0HJP&2TX-?KLP
zRc$-({aU^3ze$u~>i{G*KQI_UyP5^UuCeyuvHur^a-wXcZT{f?<xZqnM*3aRYnx#@
ze9GJYedHXjiuDxe3qo(ov6XbGzLy+a&--kp(O((WY|zqrNcdE~H*lJ=5{CgbT6XO2
zZOT<jRmZHPm_<0WfjmH{l%&yMf`PY&E_Pe+dBeH4xQ50xfY5qDQQtoaU;UrLGyUf2
z#SV>Xa53cDZ`W^G^1QLg?#~3Vw<$h<DezKH5}QP+^{Cu%2P6|YaPo@;8MoBanE%Ei
zhsYZi@jr9?q8Kw7y5${ZS%jFR!VKQ<Nq<s_yyd{C3-6I?l;vm%RAK{tt+Q+kH#W|0
zD&=jP1Gd21M#(pCJ;dmq7@h8$#Kz;iD=-sl<W^1W;kAydH8bkDssA9q(T~;6{U8$o
z#LcVv?0v|?7@jKa)g=90#76__$=W-lYB-9ZMLUC4dyaz`R!VaNxWhy&n)YX#G88Z7
z<e$`v*S`<M=QsA(dx&I2&Gfz4=znq%RzWp4_;_FevO)8J>~*t&cVtYzcnKhPikct%
z^LcLHx<o|rV7yNaL!RoalaX&mMT7K`wBMnUE^{kOKa>^oflp3umOcZ<!3#Fa9|rl>
zbpl)S0E<oJZo>K9yLk*>%RADQwo?%OPA?5=*6EM}gEdU`(cU-n0a4PM>b1zR{B&8o
zQ)kNE-|m}<NdGI%vRTVJCGD>7ebEuP-(&kJlMDuWal~OM<c*5h8{Q?kyDTTQ<e1_T
z5<@9`W#qtZWn?v6cf9wd005>|kWjuM6=N>8`t(jpd+yR4j~{<-WAj%d>E>O{1DKaE
z+Zf->>o_AORjAXfg!Uv{5i#drkuGeiCX9(mycZ0X=o6}P;14T7vj(y_e>SO0O&w~g
z^L$s1e`Qj->0O=5@o4cEmI4lr4Vh#|E7n(hz4l+Er8fkY#ZAKv1T;dA1t{R8eLk%1
z@-4LXPDz8-Z>Dg3fUj40e3x%I)CjANki8?XRg|J-_oX;qmo9RE<DWX!RbQMqkI2ew
zj+<Kzq5gO$Nr0y^V~L&Qa0|lCRL?<9=^JhWdft5ii@fxL!`u&M%e_)ZO)!Drti*;R
zawoLz$FmkB%->8W2S*&t&;84X)k%VhH6#6P)PbOPHIP+C4|X|4Hzgwy)*Lo$$&12=
zvFLkG2WxHjzv5Q^H00>AnWFyJ_d9eoXgTv4Sx}$h?-10OT46RI-C>96u!+Sjx`hUn
zuXFx-P|9ub=M|sDwW^95*%L@^(CeG$0t6YfB^GJq!<r`2ufyAmb4z343B*2rU*dLg
zoh0-7q&HLp6~Kw(SLd$a(lW9fM&|G8HG1w}a)$o?5M!#od4KYXl>~s3l<agBb*aZI
zzp-MXy38y7^0sRSC=2uP)%9361@gh)5EZE&y4-<V5wHu&D5Ma1>X=96ZVJMeiw?^y
zI+I@`opI;YC`i_{Nj0vUE$5CLO0s`@f^&E<t>>#4>F5Gh_JFX)aznZI^P6CKoZrt0
zKC7*IT-X9r=FSBY4i7aEep#cV0+0t<y@~RKFLw@qev>$W(u0=mq3TPxKAD@kx{Zm#
zQjeD$&;?u!np{eQKk1WCaLwl=hhaI^-?Wq>UO*6Ki_g7Hp`_aCM-L*Hx*zE!5(>?q
znU_jYKqE$EqfcH-F91z+Sov-!{Rw@kKP`VZEDo4`DlzHa;tC3H1qD;e-aQ4c$^qel
zFjQR+vm)$rY?=xTP@WOMKvR2H4=-=Q=BFs$-tUItS0^en7OZ3f<iZ|b2jW@1;!pr&
z9gF5)$hxqmZ{6$ze$RYgzw~1*&+oO7eF|L_Uv(_tGvw+sBnt}*u6kxvpfyENRn@8t
z#9IgHPNb*79jbtKVFMIEWXdBENunOR7WKBT&xoOJcDcTyENH59zv$TwM!E6bH4uZ`
zT`}-yd;4Bmx)(5I+(!OE_8ETsbITmbVCo9ouPl<_Z<%oD_`yOPDX+2%A37R<Kvr|@
zp0Zq<f*w<?y@_Oo;@!n=hvz?Ww6FgPJ}o{YsDnI=vK%`AEty6JmTuREI)r~oim9Oh
z41;TRJxh$60=X@s<iS6?loX-QfN)wj0U(wm;>J-?+kjLa%sWq7_65bhwKKpF&*3b&
zpO#3JTeg73)^PmI$YZ{l(Rzv?4$Bsz<((U?c~K~3ktP8yCglDqJOSw`Bx8f}uLW3O
zJUQ83>v}H4I)r7-5*~4&r=gWNdRRExjJaq5yBM8_JK=o>+h=)VdzjNt`A-=BqJEn{
z7H+NI>|ttZ+9l`vWR}eThg7Tt`ER`m@d@8e8CT`!_a;WgOI??|h2Q1t#5SQ3;GM+a
zaI7?ENo99-DcCH?x}~(Q=BX^y$Oeb52;+_UljPH?87tm@P|(o-l0`blqSwI9#8fy0
zysu>?MntQ(xU4elpu7Z!;))R+>Tory&M0##RZBB3MEnW?B|zOb(xM#ArNoiMl%8Q4
zlDv~RVE(6#6Il;Z4w(G7VBBT13u4^%%(04BHxI5AuU<&X%4Qq1M&L+}h$N6)9=N0D
z6cpUvo|_+`quc~15LH4TxMW1Epy&6osVu0WQFyq!Jp;jjUqPjc8A~kGNI=MIw@ruQ
zo*EH9U(q#@z9_(?N`GMU9SAY&!m7MwKDV}b1Ek*0U+)19tHDYOwJ)M@itjsRL56=`
zg*_lsxd7-|{|NYFO%iZBtIw@IU!iz;_o}TehB`>^(pjVt-;APQ{$y6hr%ZpL%`-A7
zP0C7tbSUs{@9(w&^w{<NG*u`sK+FM#6L(9YW}@-4yaOcMMc2Q$aniai*r8T+apApA
zSoghANx>rP5LJ!s%DW3aaU)`Xh6%$*DTK8C2wiG*xjn$`xV*nQ<TAet_|1w4s8_g*
zp=hoy0r2RruqxwSJW2E?0TvRFuiQ}gq*3N>o}Miu)As|HRy$M-2rG|QmHSjXE&TJr
z)|N*bERzRJ>t`qd?|m~Dg8*L=_0FAS4;!CS$lfpXu=Hn6pTY?GhdEIaZ9pN#jGp3i
zA*1*y*klrdz?VV+PZ9RuU<?}I!ImX@8$!eA?=R8XL0+hN{HxM4%!(?hH{5KT)^gwW
zk<r`*4iufY7;Up&29*tY5l&owM--@00BAaYdKCoY*>)H5u+c@TBcUD?V$JU7l7O{{
zp8=Q+%X^25HQ4~MnChmp(WtG$iI6IuzSZ0P6tJe9aur6W$vD5PA^_U>ebM$(7{=qn
z*881p6y^Qbz@39Z3!ci(8BFCzgeEUCh+a58>%77L5JSP62D`sL-rL)Yq!2dB0UYP1
z+UV@FSb+%;&Oo#~7zIEF-erm^9d!UW*+VVQ=z>#K%{C5hl#l+=FuX-&m|`J0#;2N=
z(ckI2xG!Wxp{LfCV{D?b7HFr&g#|}K!6EovTg5##AxKgYPDoOJqB0UHrc^LFmL*lD
zTOS>)_?Qa)L^)?<S-kTZEtPmJ!seP9O;Aq7xS1<zAs{;jp=(v*i8L}9;A9?Yqu2a3
zzA_7ih?X7{>Of*z?X$Hgr(}qb=r;CyVGd^O^RCG~W+YVrh-VJ6AzCA#Xsb}s(i%@+
z>`K+z8qyHB`s}%*qr4woZuabnq=ZICBfTGO-OB5Img2RIxMOo@dpPQFqYf2#=v-r6
zDwW!$M}ePjoQ9%-Xs*#%^)?R=zGUQoBL!%&^#w<%yZBcJnnaNMUMOXxXD~r?eez>8
z^po`xr`=WYOCGM(&E>qd1Cj}a?`?8bTqi&JluK+be)|fc`-ynnd^R-Xu$iyYNB}(+
zb?;w94V`Zz?GP5<52f>@l>>ba8v3aW(4k8DCoDW`x*t`)^ae^)=7nD;9?*ryw;5$0
z6w4D0UGvv@I>QcWzeC&nJ~p4$2SEB17(6_v&gf=Q>p;2b@$qJ6zeWVXm%VQYkl%A~
za44@oxZ3I{Ya~xzKBN|K*z5axYG`ZE+p9d3w$?RsNm;7RM;-`{97F5eJbJpT&zps%
zQb_iJM6;}%PJo$`=N>UvW!qlAv7nru#yS9*7o<n3Hd9$OIExXsdn-fe#*D)G*A{bD
zN9(jp;ZXd|KO~2@GKZ>Y(BHP|H&Tv*Bik;oOD;BNsY9W7Yp0DTqg&59#dk*1Q!nrE
zmTD)8O68%=*QgS0kp+UYrx$_7wo?czr@s)2E5E%pwUeVXh`kZHJzFY51GIguZ5Nr{
z$e212D&|?;<HIrJgX-p?&Bu7Qv*i|t)13U@7sNZvJ|g=zci-;LO50jDK{w9ntIr5l
z4G_Br;@rtvjU)CsP|xzkY05r+_=hSH*9N(zLZ@lPc0R4wnkscl`II^KMLvZUUU7!s
zF{L13%{fYHX>Q}VKdwIxWp0#;Y)(xW_GBJ?DYx3h$`;(_^6FT~wg+WzC~q>3!F!+~
z?&f53i^~uo<J5cX7VoO)k{u3m2Nk}c;6`AjFD)zL@CgfVJ&sLVh}R9l^t|N9Y{Jdq
zTVX#e6$E<zR(nwy`ZBgX12+%D?F#*wBwuG42{ZEZFlO;~_lz2yzP2fz|6!A4B5NU*
z9~6u!DJ$tY*r0Q3|KoooR!_8UD&Uq{Mtjr8h9`7RiFU#S_q+EPGjlevmc*cO%GBsI
z+ub({R=vN*IJMbQC?73?-(4y^V}(&n0u%4q!j1mFI2Adlen3=lzMaIZ|5fq4ec3M*
z^+F)QLVW~sy4vaZxC=C~C(ohH*{>!uIE%hqxU%V45%F^aY#)kJ8&G0Zw?d@d^)hh}
ze8}^RgZ1k60Uyw_6myNXRzIPw$M6Kn^nY^!VgdCCG^Wa}3y;R3<QDy?>ir|LB<@r-
za*P=%_js=SV11W-<cQ)Pw*9W<4eqHADw;3Sp(4<s5LD$r70jj%R4OS9z8XuYj;xE<
zyk_EE#51m5H**e)9HyEJ9vJCrXjFb4(fCHw#!E?-=0RrhGvmhB8^P-TN1|?L7&xl(
z!%&>=RdWFyzE3ynbj)=FEJz!7BcgKU5{Mkby)BYMBxa>BL(ze{S$F9i#bcne9YJFK
z2OA8n6AbBFJSdy`-@JF{vWUUz*KD0ghZHJUQzBTSiY|ib;UKkEL3W}U4MbmPA{^p$
z{VFVV`5U6qL|z?o*;T#k;b&7rq;s7XUb;@S;E<4jAU1Qs=O_3BTSTi2Kre1gt@+m0
zAF<i|3xvBzjaw)qEv8Gdo<8ugk{^I-l)5TiDDQ)qu7&~Tv^<5Kow?1rNFPR!M3&;4
zu&V5c_}BjNfKg_RaVA*ds&`PI1|0tz*tW-1+0K$4rXu_(6Yxk8YrLr}5E(~_z&R~v
zN~FA8g@N!e{jDKd4s(iCW3R6cr4EcF0kylt;pKI^e3m5N|CLR7nV_tpt~-YCKDHsc
zc!MG&cLA)J2ora29TGR*eNOX$YzcqwnKb7RP^kGfY<Q8Y4{WveS#<!rdi7V#X?Jb$
zMgUg%1j`!t99T8L3&=BP1`zsD1<=1zAZdhjsqE_LW1?s{9O@hJ_<a0iUFFqMzqYb$
zbot|Fq&)P5*Tl!ZDlQQ)*_gle>`-59_E^=KW~I={=Zew+Y7MdjJL+RGm{|hR$EY>h
zZ_a!Rgenjmd`Zb|-*$^nEu`OG%3bu<`;zZi=Kb)J0?7;~-dj4bu+#B;J20<3*r>o3
zv_AJ(*@91ao5`PjB^Q{t2*|1TEv-q8&J4?`M+CBk<bsQ^mB?%}xqyGw?tFo)Fp^H+
z9AN3-I)6Pck@GYV;y-2F(B8eiDJ_24`}|Ft9$*3ZSzL)0`l<e6^^t86kePRp*A-5K
zzB-3m8hc$-!^X$C(Ct)Ii1I_PDD!(@uSWRqW0aF|woOG;o%1se15R@tS#N@0wJO^F
zOl6qRAE8_2rJx}ed68zwBX0Dq>MGH6j8dy-uh)+E)!gy@Fs3>XfyAOVSfA)Bj0l2^
zD}aOzGCAH=phL#gjQ-4F2IfyfgUEHlR&of%!^YKB#uZi01+K#aN51t(uqoGo4QAJa
z*MayovBI$?3BNJy73n2)i1+=~*p&M7lk>B*eWIp$^T**h;Qv2bz3BwE`t!o9z!k?Z
z_}MR(M+=)ixv(laV@7EPiKu=Rz(zSkwfjW+T@3ic#a4#~NW^mcPKo*bkKx#4A-AmQ
z>w20v&G?Tu_YHv0)G(esADzI{6+G2yp!(pUua&5%e^R`@Q#pQo+A6X#^7!hSb$@z?
zZw8#*ZPpTE*fs?CA9zRP5U=~c{-i<cM%OFAj!;&eP3mRsd5KI3><=KbdV!B^xy}W?
zms1(flDfw?;yrwUv7DZ@#PDu7jbm(hzH?AhN=i;%Lgr;?)N3k+5V4HT&O765`Zz+<
z>cE2J*A^ouuLW(Zs)5yRbw4Uf7@j9;vIiz0FVecj!)GQ-2e%9=?kyeukmQ6NR^V`)
z-CiqJgs_^oor`JhOpKBUi*2yH1w4reNX!*BX?C#%BoaPFZeEEJPkS6TPDYdCJ=k%X
zv9swEIL^;g1bV*HaY>)Bo$bR2V)&2zMj`x=r*Mt^^bNiMt>((-j+AbD<$obVlgZFI
zXb36Q58b5u&uR4C0%sarY)X!<3yEBr^0A9qM;_YR+R2#fMw&dVtgJSbJPIUHEc~u`
z$}Q|*f$B|=SQ9jJY??(9w|DpbyMEmb1<3V~vVHw+9tya;`u%3eBz8ghbt$=!!<P?#
z%^rb+k*DC`;8K++(j{S)xQ9dN?k-Twt!=c5P!6OMUhJNOw=L&0Gih3!mH=lWyb|#I
zw3avSu89rzR)Bi21elktj}K))Mc>QA1u5}tgGV^KHWm&(Ilrj&XdB|XKbq_h?C986
zVexpi>=PY^W0+_Bg!BTy22B2-_O*KI#br>^Ym3NNrFO;^o1d-T^^Yx@#!ev<FG!pV
zHwjCPq;WW8MBa}}EL+77J+1jwc<A+krV9`!-9Ymnp;+)>WIE{X5<absY;v=wdFZ+Y
z{Ipxj4LHmVra(0IxiP1mP4QPK;K)q!3{mywa1nk!!#|&UR})^Czx!cJDy`wNkb0}z
zP=}-_j;|0nyv{_;ecv>eiW|!ZmAkD=H~2ZRpd?4dn_k?lYyZz+*r%sdI%M4FnZ5i5
z@`1u!#eO{h!MLWfc$Jnwoq>qZ8(k^?J;$r?Xa@nUPR{y*t1B{js3#VSvn@SbT)dyy
z7y4!DdYhTiGZn5XS91TgUr#Au9|qd%QTt>T3RZR804<ZgHiKELB5(jO1`r&^9f$_V
z1-iP3wlzeM^@lS=fKaa}DhlKv;C)^|izfPsWOIhUW@FS%#3v^KaM<1DW?1cFfVx9~
zR(DHD_56Hf@4&$#`Dws?DxA^;oyJ=LJo8cFz5IgppJWx!ydoo3u@yX#1J~$|{M)5M
z-#y3wj%<km#S5ow`JTC3Sfs+(d%h)(u*M7gdT3rXY!B0HXR7+6@Z)ycp&R-IsK{gr
ztu5e`RF>?qdW0-{z{4(~I1AqkE3@Pi(x{!g8{UWADtvS_GD8E(tzYx%RQw*6pNSH9
zv^b%nPJ09@P0b=;UZ4U_QF*n-=UN~r`3&6dz;N`4e6OFdSBDZoI=;|&#Sl4zaJ8H}
zT<xB9H%G5<{=2Gbn>LkKh%yR?a<Uan=42!XKsJ#x`Tl0bu+BPUAa_i#hV;b&5=wvp
zpvTFrSAKrl(X9m<7d%xE3ZKyU`Du6EIF&vCD2?`1IY_!p-9qbdc*{$%I8?5erx9qt
zibH>W!u^<H%Hr>#TQphv7WXzdy8MslTE^MlFiDf=S7xMgLVO}0Jfe|IB3<nox;v?J
zGJZElouKJ5^F>@Buey$`+5G|3Nm}8L*2nn%T!Z}0e&Wneijm0*&Ey56MWL;n*0cPR
zd)0JE`Pbhxs~4rJfW6fCjx8can}u*lm+yzge^vonLw_AL8#R$6L5&-XbKd8*t&|@O
z{i0Ui2eic;GN`IRb*XFz&+Y+z58iLCBx!Xap(u&_6nayh=P3RTjr?#E2Dl@|!_ye)
zQ*hG6F1|OEu9}IqLzWKp0t<-nO3QF)Lq*JAEcYmiPo#TwaMzxj;H!N}$MvN<qI~3=
z0w<qdj2-#eiQ8cH|3PfJV<B{0YhFF|2+`ES3N2{V|3i&5Osm*2Q^cHFy)~vuh(Gds
zCkIF_bu<b)`{Q<3sZv#uf68>iyQ4f7OSG>(LHbeI@khz}XIu-Ol%cmWiZ<J)^|Y$l
z^mL;k-TG(~mQ?w?7S%24t1&?8;6uHLN{5HJ3l}30GT~1y5oxxH&UIN;G141GfuP9?
zFj|<NCk0Iue!&6K!~Dkv)l@D`>FG_YA6uKx5v*t|p4lIPJ)a@T{H3CzYNn)`iZK6x
zLnwh_4O*S^d^RxG=!f##=r|+<MIs0F0ITU4GY#f=%+CY(2m_*TfV9Wjz=jjCnX9?^
z@?4Vp`Jox-=k~4Z!Llz71QaFGCtRsy<Xpqbo`b<sSQ^u%q~mj^dGlc?+s(Y2<0O<W
zmz8N`JY9jmvNH=eI3ETDw<p__5S9n*XH41F9|wZK!FA)h6&rgBndDz?v>>Ucj1H$%
zT+XKSghtrMb2}?sWr@jrJ+vMvU-B&y>(F|Hj7qch<MD;Zy1t2z*8Jt$5NAV?h&ltI
zF*K4yorr%(2yW~H;}GQJz?M2lbvk27dXgsaJq?_g+CE>L-P*qHXDWQnYmD9Wi~C6H
zGJwDFRS0LuaT%#ao)p#JxtDs5m$Yd*m}jic=dYx^k@Pz{1!1$y)-srbzLI3-C4`do
z1mb6c`oYs8`i92>PD5Yt)l8d`-ye6$bWP2eY5#oZOqcv(`7W$PF}w$nt!OYSwzj8Z
z5lfnmHj?pqkM^aRMokM|G2f~}W^;P|cHm}7((H!<Z*#w{zrENwt`x<4##wXn0R4Q$
zV)nfwllCXc<*rgv%j_J<s@I$rfwkL{p%%L51@h^ikHWg3`6GNIm(wae_=8Q)%&?~S
z{JWq>JJzHZK@lOC>7RwIUGB`wA%E7i#iR*X5mBx|lFPaJ$sI3YQtzWE3!Ym$=PqYw
zUM!ZRC#PGD%ULqsN=fZs>i(2jlP)On#xqqo(@%k?sh=OMb32Xy$TD~}bc5fcJf@o|
z2nN&BcA*8~2+s(Ybhgx1kA<$fl1=1}@2kik#G4T<MX<YSrca%C>V)~(P{@jxNz{rc
z|J;k!VhGH_ZZ6H%XcpjZXk5F{i3@|3*dD%{9sI<Utt_ISV(|gSbw%qhw-yzGykgsb
zWw^7<nc%s3)|WT|ZCY^MB}}?~mO-43Ia#fntQYD?^viFDb5VX9De3_O-YLe22w69N
zIGw+^6~_9&MlhXOEs?-*`TGwMPL3&S`8YYzd8VKKt=9qqR;|4I#o4|}11ZpG+Tg=m
z8NKa~uU-CHsW}Ej4WBfR^jk3-P`((QNpWn>B!QeA&kj3w577WsT|t?7)3J0+R|UBi
zCJ8#kA6m%BGfV|{%&4ntPUgRImHh0K9gelj>-mz542739)Np$`L9jx*w5qmYeTC$w
zBTH|KaQ9k0QSpRoTa8a5zz$lb>FJGKA0S@_2W01KW4m6GFL?TaWw;cTC?Q5d>2q=&
z=WUg$RR^|vEcj_Zg(uHqJ2B>KaK|K8D7Gc9$1Jn%o<r_@ENT-%9>SKOp(^0?m+W>k
z!=5Tehv)VB$@=9ZDpBj_g7>T5F3WAx7XA>&PonJ)7&-7aOr^iF&~q+Yb<PjtB%wL%
z@P)ln+^<oW!O{Bm*Eeak_3|q4BKP`kB|+{eXVTD9!vsE{-Jcd0eDZ6-mw-HQMm3>9
zX#bZtvdoW(<)wTr1|O-fe!NirYF3<4P#=7mdVk<tK3CCxk!L7X4n@kK4{~<Z9D=9)
zoIjwCXK+$xywzEXMWr+mHuLuabG}&N+wOQi{3k(!?#9J=LHpWEasVdde#5b?@RJIf
zbx#@yny4fEmDt0%NOPW(OX3Tb8H575qA54~#FNL5voO>Enr<>Kyv|m_YZX=BcMw!;
zZ+V%LJ%J5YGk|7a_B6~4zQIzy+dS(!_!FBXx&54L&PqpE-_XCrrb`&UxiaLfBf`a?
z=42KNRNp4Bg?E;O#!-+2QW6Z@MTtoo-pyIP1v_RFq*2P*7wKHaI(jy=44w5<4|PI|
zt3fNDyDN4_GRep?)5qNJ@pqWcCljpF8iJM#w|xl?DMtxmGKDG@&ESlcBciRm(Sgc0
zlx$1Mb1Hq1XE|RcH2o&h`38TCT|eV$#CN}+*auZEP2Hu#dMC3gNbfydyJ5Rqej<h2
zT-YE2qW7CJ4xLJ44+Yy>Q70`#ON}W4m*>~Kd%SlnIlSKbBhXN4qjMZ{OxZ^8L@(PJ
zqacAoJ$L%w=JTZ;)a&CA<Nf0m9zCWz4Y;bk!y1mx2XA~qyA?Q*Gdv)3(i5^@TN_^Z
z{BefyS=Q&2JdrCsXMz$TkxXMg^2$5Y->ggVxr%4C9>4jF1DzqcQHT8po~hp<2Jx#!
zLT9Q=PV%g0c_JPYwiQR}MBOjiV8J?wUxeb<N{jq^AF+Ys$>e*3ul=di;Bl9DKa$o|
ztI>bS(}l0f{*+|9Fz6QlvR~YJ<PZf5TF55Aui3|!u@;2fe=9mA;we&|UM1Dig{6EZ
zs5CVTHA|^DTDfJuPy5Vz@ku~XyF?4J{@3WDDZKQZW?dn?YgM|PMUsA%Tku8>Qn{?<
zI?rm!1vjzsXT=H3eDiS2)MN0^8u9e4Eu~Gjn1r*xV%UDmHceax$69QS`S^1?59}@M
zZ4wgmJv}$+ff7#fZVARW*`zf|eC(8wD6szsBokoc*+D$w$c!vFMVbRlF)a8#@FZRz
zQ*2XUTvb!M?B-i?@o%o5f9;!mK1`#I6mqB_z2-xiIdcahoSoH;S`DT2ju!)7PJ%gr
zTsw0|Z_$hHTxo*fEHc50%$Y&Yco+3dprNe)M*yWJELa%TIO*?iD8#ZsmD>*J+Q%MY
zBKX+uYAu_woLD>oC4^)?k_!J0(y?1O%2M#LxQJtwZ0CLJe`0cgFLZfFXES1R(1*@A
zGU9Vq{<;y8$Gth~I?a)TL3^^?h?(w0)KW~-u7Q$br&$(%H&G%9@616^YXX)HiY)$s
z3iKx6pKY9*1Abp~v$w6;v++*zla)5c6TJ-L8k;dc{MNBH4~t-(4(nL6mX}Xyve2l-
zcxq_iUS6|q&;QIUuo%q4&Am5~mYTY^BFN7_+1j&a53upE9<A%lV+K<;N8S~#&1o@~
zmX>01Z4M#_bpXk%JacHw!9}d*nMsU+`F#V!$ynKj4S6Yg9pL?yT9XHdyQ1n(+AV0y
zMo4~o)sncb7FCn=3}(+~GjftaJ$$L|S`O|)1vA^VA9KWH$Jc8>EzS3}8Mm1%>abuq
zOaCWNSv)TIW*2W+^1w!thmupF1R!)MN5}?h!3zQ1KL-q93bj`UjrUA7GX2edPQJ*s
ztOq!(JOYadjppH(1S`k~<*Wp^L||zWPol!BQ%u1YSnvSTd2G*s&5J)VS`S71(`f4o
zMrk`fN$zQ2Q^KRK^bI3!%0DE6nbw<5;iPY%kEcC?5<3;^3Jy*$AcPPP-WipWl>&w0
zn~5}9h|A@2tn{P(?&-!t^_GbxyibKX&=O9{l>OT7o*rj5gC3b+0s0Css~E7r7fHUH
zvK72obS_tdO2OmM5{L1F+FK<7|Eo3CpBZz1USLYe+8k!Z)$Domnj~<1f#P+r%6!1~
zmh4x!Dc~>lQvJ>uVjGZDt+BJEQ0!b3bzHwo;+}(kKIe2OGgI(J+h^Qh%G-$oOM=;;
zD{}hy@ArpKXd4^UD-<H0=gbttmF(#r8)$yhM9tCzjQOI8T(}F+(F$hjyWDorS>dZH
zg@n9hlJB4yb|_@;3m^E_inZiqT31l*nzjC`?f0FNJO=vWd$^wePS5>cd8-2jT};I;
zClXsFPZd2M9EefWPk_|rLnvRmA2}nUZ@VOXVaez>?IWXqP*@zSC(LtgPO={<l&BLv
z*%VAsyip@iTeAt{x2Y^h0FMLRLYeqV41-!!mtS&?UWR(>b>;hbvW$xIU09N6-+xJp
zyZRgR{YBN?*066O`R@gtp_>T=^%1cmu!xN3UGSgkP>$u}b0t^pROOH61S{zlIi$&&
z!%@mgUXHPWyPMCC3&PGof?nK1MA<4zdqWoU3~RMMRK1a5gu`iqXD1+#TrM)r*6n7M
zhQaQj`G{6?*aC1b6nDip&>Edv{>`x%NNZ$g)^zpey8(AXwK>BvTCukkn#~@sY0o<t
zq{df!N5H*d*Fk)jU9J>0H5Dwoe--^6iXT>FRUQS|Ma$A&AK$1P)mEmY#*vwK5qOWh
zY2aMWpuK|O^SFB{2t)DTPK;8zP5>oNBIl9eK+$&@VYIF*5CLO7sX&{!%FJxP@t^JH
zb3OET@6B7NV<97hdsdk;RD1K0%kdH33qf2cC4IuTu9Wz!JelbwD|><lzePRW@4BgT
z>5$%Q^;s`=E_V;z;WyhZ?b#*xsiJ4h<iF8A{~SynWzx+4T|KV3V?<eJq4$rw$)<1q
z``3H^nOq8yJbTq}0W68A;{-pfVxnv{@6hvIlMrG2aVmI#uz7m5m0u;IOkDoXt2%OK
z0a{3r)HSY?`31+6stVtc;EtEbIX<iT8tFZL0-mD?cz74sFKtdFN2urDq*wgF<@T~|
z&>Ky_fjC|N==x0FTV=s#BFj~QONA%dJt#z7C_HU(Kv6GzvRUH`%!ws4)JtJOs9QfW
zKi6>4oXF|aHTz&}`KNy1ULoDHom0U|*>ZN==G94q;RbP}mZCt7{8p^1OKw~EMWy*v
zlh)2;0r3?K&zv~)HsSqaYL!ub&P(54rW__)Lt>~Qj=5A_*t}sCGoV6?*Pim=vuO92
zs539fuWAP0U*l>J>Az4(IAA^ej2@WyILYm4=cWB%A7Pl6A=Ure)6;o>#z|+XrRGe_
z`ghDrnFY(v`K=Z@=(DbHq>+P{&){@P0@0_Oj@c0vM<-jym{$^4V-u6p)q6Z{=U1m}
zmf62(Yj@on6D}vzK$ea2nAo*5X>pwoM++mzE5Zxx3pxsV^(m$Mv*c^M4}A2TK8tm{
zGhMN>@^PY7e<{6g<G#e##=RipmvcfUScHndv#R9E(n!!KrwqfBx`J)>^{(t$aPGH{
zT)w;!)ctgg3NhkIMTW`r1DE<_2qq?9+0T=>fnTbsAvG~$>12uJXJ_UI3E%pUhOJNT
zC&R5!;ggG#^z|1NDKqgA!S#;_te}bXw-nh6AZp5VM2%GQw(s>n+n}$pHO{VxZ}5*P
zE!N7_np#(AqMpkj!Rhw*Bjo}rH9v`Ydpb%Q=scG@PbWIU*J3ty5Wv2PVV_9(5i!Ih
zlT5Pu#l*sFbYkA-G)erfw!<^;PX4(K%&y-6M-30xzCMcU1jJ?>FGR1_Qtxz$JJZ`L
zH03u^AqERZ`G^F(;kO?{`zLr{#FM=3Qc-C%BxMi+oDNQnGfZWPw5q_83HWa<6((%p
z6HviOlp+GvC>i1jD2bFKL$s9+0Wfxu;THpP63ea#5KG%VzpqqO&cN5sMA~Y)&-}sV
z+T<{qwKAXo_T}%CzJ$O1RuxtiFx|AAituh!oK%RjpCK0DBS6-9zr0Vj#s}_Sn}w>~
z#quo2nNnmS{ZR4AnQ`vvne)Smg@G{#@fDF6m?R52mKLAYHaw1*?RYuK`ONL~A(mmK
z%l~)<gX`||`Mai01q7H(Vi7?E3X&21e@O*g>oi;s_Z{~JNA!@oxQpZJ&Y6U_!ose+
z_mh45o>}<3#Vge&4koh~N$)rO0$(PHc*L4UQs@b~{$XaEOG&!D+!r+eb8|DLBzWgG
zzROwpGePvnDm+bec5|2N1XMl@`6+;d6NqpVBZQT!s7{2~ezfBKspaA1@0#)cOv$Zh
zcQj*6xSFcZ<AW<Rb5Srp=xDZ_R#;f?=)@1)rx$ao^Z5j1n9Ijcg#IHA;Re6;+3SP1
z-bjA8_%rve3h6?@k&%%<exSd2VLem2wA$|PdN6x>cWJe&QGr4atO6q4?J^2XrudxF
z<Rx+dH6Zs&ht)nyGx|dTwJ1}Z$L-k`@NIm2d_BFT9Jz$$M%S{nmlanOFqvs>@y#tn
z2%edTzp?K(O^k2gV6RU97hRu3Kf)(}FCH&9%SlV0oSXpJqB;#<Eo^OVJ4!gufG<kE
z7W3*tfZ*-J(2|}Z8lp>2K!x=5y7-PnhcQ34O-xny4e=wwt=F!PF)@MghxSyK6t;oE
z3Q%;TpFoZAE+zr(tG<lx^H)2L^|u1-Z<uhts3B+XD!334nQ&_1`QxO1@I^N<G2z$N
z!Jzsm|I#7@JQYJ5(}#$NC@CrF;NWl>Jnl^^0ja3{KFoa8J<{82@A%tN4IfXH2)!2<
z(c*5RC63t-spp3`jvxLTBHuQptaXhtOPUWzu)Z>I`J3&nEfh2~ptMR)ceiX>5y1na
z?MTQkhf((~PYmP;5@(Y~CV}Knzw$+Ysp0<21uHrBjzuy1BR%8d;_4E7`Thv={S)J1
zF#p>_=1-99OD%SYkuM7ii*B`L98f3b>svj>JHQ`UZnZKU<^S7cw5vUvBl3<)1a%YR
zNDm2dj-JXClDYX4yEw%0cg5LPhxYd8=-diz6J1?n^Y46yED^=zb+K`~p_)$H0J=|3
zPM-HEErjZarrDT*DU%*VY@iR#IFszKq)F)4IWJ`GthH;PqpPp|t`|O4vX>?FGzsL0
zyZ87r^(Ap2b(7r4D-zA9q~(5rAJun%?(ya9jEsyfE-#N4>(7}Na35R>?qj^dUD-aJ
zutXjB#3qzkVaPs59(Clr!PhE|srsB$mX14CYO|n*yXHs!QmQ)OTRsd!Lg`)F(cxjU
z&x6MpGu{YUJM`vt=aQby?L4ImDv~Gy`Uw@V5kujVEqa1vFK1fx8sps%4rpH?;@;uQ
zIc|?YkB^T>RNTayaACncquup=q6VQ{xXRxUa1fCEa1kKU0uXIs+RSAr6*7GyY4zrt
zsC)d7OwgxPbaZr_a(W&pIgqQ6MNur#N6a=$f{uW=jNAq_8HQ?}b$aX(h$*siP`6*<
z27xo)+`(?0SXoQ9)1+c`+MsTcw(>PV2?kynU$F1fU`T)xie`mq6XFh^<&~xhmfNmL
zd=J9dMzbfdLozx85lEb$pI=^HN-)X}ZKA+CXWGz!+8Xxl!%s3Y05a;pCrfQ~cnAsQ
zX>fx&EO5|~g<A9$YMO)*YA_{5y#W973vh4%;!pAzMHIb1_>^KP*%}36iG&PCMiLc$
z1!zysO@-hw&l6eM)1s_50w&W6o84s*fbP*-s?=eZ_?G2{gHr@Z;sG4Uc7L?c!MHk8
zWZ+F^XEHtrwp<0J{UeAF`ZsXjPcTpFffjs{9c4K*{#)GxhQyfZK)i&6gaa4lShg?t
z^wm5+A3(Z{!N^8Hq@rS%?VwruHx~d<^Cut@dMa(5^+9<g;Jx!38$D%ZL%w_srX@ZB
zwV;aVSmFQo;qrw=VZjq_;wdyF5HXz2?(V?$&-T5M=y<?HzpzP70n%yvke?P6ClSzV
zH!)#&I3=tO+YG>`mA(SfsN{ac^<{G~LHuW4;hq2YT24~vS{DoCc}e3^BL?3Biw~5-
ze5>EIdO~T4{~zm!hjGKecme`eQB?Hv(>(4e*gt*>DD326mbp_=R#tBHc?g)IkJxzH
zoj1VC{9n%pc1tXR#xAa5Cf(C4Vc;|9HoAm=@C}d!E+ydxo;ghTBr-Y-1NqxG_NT2i
zNkIjt6H{AHjth9$1q|Wk<z=y5yq@+|1+Q>#;Mbbp(=x2eBfu~K{fJ>7M}f;AI}24L
z;Nj%#9~jv9P1XMI*Y>Di;QMdePs#J!O$@qPu$6lBbsiQe?_dg_g1z24KOQW&%oiId
zJo8@<myvwv>u68kFUAheq@i+$+?{R&MMvWWp<tu~m$T<rs|rF`0S3+uK5!%qpLRq(
z_&rQUHGNW7B>EcI%pb(W@bK|b_;S0YTI3AioE!-7>YoTNgRIulf0I5<<Z1%)a?V>j
zAv&kW=RLyp@AsS^*M{U(f3hI}`vdXUsq+t2n8iYk4FtH%{C%F;(Mz=r49Gcx{J9Vj
zsSuD8fw`h1&qac)%LO9OYB9ktfa3@Jyi&^+LuiDcy#+q=?VAY(%wy5_CI&%;Kk@^x
zm~FUy3<Wp98UqwLAi*p8u+^S74A?QcXuv6xPXG1>#>nLoIDHIoB9Co+df?T^AAet<
zH@gX|&^b{v$Mma&G6Y)Rr^=W9pfooU-Vo3le@}}$4P1%=?Db~!tPo5rEMb>}#Lav5
zR3(0hSjchdW$g?t4wkN;OVj{vx=_@3%Kpp>(^fP72-#;^U>Y#RM8)CRS%O?5X*@}4
zOLDWDfuNVm%Bi$?12S(%s5CkwI2`p8q4K3N0tt=>vb!Uxm6kp&#C^M+=@^KSJMZ>C
zWagtw4?tIO-&kOUprWGsK^qP%^KBznxsHpN4UQ=@j9b|K=dJatbIOJ#W|^)-8Id8D
zM0nN+NF{;a{yqdp$6WdpI1xA2*PC$CUw-xa)?BX5*VJ&Eh!PZ9(Kn@G=9%~+d2Z#$
zWHoa^<G|vf2D4LdY;os+iV%xTzgzTL+s_hrfV%XlKSN}mI+Qq)gC;_|fm7O`z#HUu
z3yrD|Vo01Dbo(?6b6un4rOo}God3pIWxVFKyAbYk*D1Q5(j%Mf0<o%#bb_m(?QCI-
z%;ac^MC?weIC_kg`uJI1XQwzNB~+d3Yp<fj_h7IR-Usdj03<BmQ&fTT?$uLe#am7N
zee3$Nww!xLZ4cO*ggA6azSEMT7jV@$N5{sz+>MKXkkp{so;{KmKfLbPD>uDNzQtcn
zCf)<WHP+ae3)@~dhD|=YplEL_UFj=~=)ut1x!-UwmaI>=pb)v$*6$QLD!+7hRX-xJ
zKO2A8ONE~1^><vtH%D7yE-PqVt$O()Zu50MzSB;MaU9cFV0d%)p}S*;`Th&M6cgU5
z_Le|INgE!UkYH|NGC41aqm^HV1MhUJT~cwMOnPm`^Yg9eJu?<qeK_k=Y-N@juuBpA
z<VAm7;^0JqEgqJ0Z5m%5&O3jZxw>BQ*|+4lG-OJOu6Iq2pX=u;M$6zF7Yh&bU+*s+
zbU9r2p%QqW(p7of3HU$Fo1GL1w*DGRhD*WB+AA7U4)E5^*bmETx;y%XX3ObCKyj>5
zXl%0vv7t^SCXpa%*t||ugT;$wiykbq;UqMgs$js5E|b+|e!~iA(Tmy@pAR^7wY0mZ
zD(H~R*1H}Vr*Y>i;l_R-%<ypSy*36I-qE(Y{FFF9wUB7e@}MJN)3~J&9m|qUjz{Io
zj_QsD*J)mMZa$+2F2}U0)`Na)zM-fYF3m`ioE418@}vrjobTIJ-UmH-OfMt2c++E}
z;v9P$i&pM}iZP;7zyiB>$BgE86OHt2s99I>E1Hu!eLG*@ahadpLW*Tp6?8Af*6?%w
zDljlG0NHBsbIYaqDENP%zi(pt|5iGm=6OHF1(LIFv}3@6(a2_zk+q2tfvY|#I_8#t
z@T05ASNHDW&(TY{Ma4k->C?C@tr<$A>*EHuP5@#O=nL|2J=abAy^yo;bL!wm<+K}a
zdF6Ee`$nZUid04CNP+PBktAcYiYu595|UEDoOPN9E-ofm{+zAzp7Cy?&G#8_2Q4%N
z;*jK*0M=kz&M)2PQ(txOqi<pOhilfx6Yjf<P>4|)B24D<xIGn)A~%xJX&y0G$%#L2
z!q%c7_~V4h-+AJKBtpKLPn@H-Rt8Mxw|Q4J_*XuIvJhf?lOmJGHL<(>@1Ky*gZb>t
zRT+9%tGgQqg$BIf1?AwmAs=}LzB<SZH(WI;jbJ6^GoQnwx#Qmc)U&S(h4LYRJ3U=+
zXR+NvyqQY5F=*gRa*xw>2?<g<lNJ%NPN-s)kVABfduPdU*gQ4}35$g&S4D|{aRijt
zd?zcVwCQQ<A-Ozqi3wa@aLaE<NQg4HI6>g3Q21_1@s=wOebM&vn#~86#v&$M?m@{B
z!QMM~T8jFymT~Gw^nN<wyrh)3hS#eVcyHy;ep40XN4-G(xELL}v}6SoBx)hr&C4jB
zaJ@}|uC#8P<dHdE4lRXx?nbLt>q!MZnq~;nMtCdy+-G4f0eWty)%5}IkM!)BA;ue-
za6Rw{Z7euL+Tm;u_e%KU;-fC8tJP?^FH1Ppc-G=?6emHBE~YYdfPRs|1OjXq<l=^g
ztSx}3bb}9OW>+&vIxMA31cH!MdyqN4xAK&g%xj4BLAnm6r=mk5K}YPzTfs2#Kc?t#
zy1QJvMH=OcyaJWH?#|AtGY*NfDdJ%$oq<08la3D&74?NNf{NH}b6azwzDM~M6fF3W
z2djnWsW~VtunroqLkd5lmsg;Bh6xkpa+*EAFaJ%HUQXXQwW$40bfER99-eDCu$=7U
z2~F9nJ7g91)Jsa)o{m04uZ$#kuozAiNa3|v7hrF*oDn)jufm1NP+8mK00WER{;UEk
zQKUDP)2^x1WbddNZX1tL6cuGqiv~Kg(G-KHOq?S7s(YcF<Ig`GKqlAo_4ShIm!<(x
zYzB$TC@_lj&NFFOd9kpt5F-OR{$(@c{j3A`nS7K+$iTh9iMUajo(Yh6udXdlm|1`R
zmzG$WQ6TA7@B`}Wd?wdj$x-JU&-1B5GRL&g$@__i3wnPt9#z#?baijDmDZKs5GJ;g
zhXEz25;@|gWZ#jhFN5k_nR#F8hp=5I4yOqtk44<3+wErWbo#KjZ)b~`i!73EgI>5!
zTa!W7D|iHkV+bLZ9xkN={WEb%gG%XW#6eMuv!R}**$R7O#?}Xs`wKgbE+9r{m5G|?
z3tzPoXET8L>IlR--yYf+BQXR@Y}g|&19icC$J%`X0|5Oa;MR|iMdiZ3Ld^5yZAb6q
zz`d?V@-=ioTI8S*e_rEN04pDp6Q_tZsqG{!w{TGb5FAU|e}6IWNng$I08=N1eKX~I
z4SV@{?|X)&I{r(7=)NrtjTf}Db~1yVu;5uqyHT)vk`{eWo&eLO$X6)L+wNON!}XC0
zBjGhZ@8zFbYTh%Dt<D_0)BTExZJ^(L`W8Ro%xj5Tw8Oct(VFwSm!rEv+V5wK8V^6F
z@r_!4ay`FBzL>;nV(r9t1eQ&&(FHJTcveUatM|9((8~eK1l`U44X_uG@BsIt0vvZp
zQEGvE8XHEKwY_}mq!Z~g{E4;6J&!v@H_c^#H*l?6JImJ0@n)hLWx0PFmlSU~hbKgc
zBg-g>zK;)cqL1Lr{~APmAMH`fKXd_d?m+3`{7uez4bM4j;$pn4c-wAiiF9@EFR*zw
zEBZ|N14MSCrg|94KRm2EUDQ``Hp4tSV(q}FAb(b97_f|XY^Ij>+;tMOE-KxJR#dO-
zIyGC)RqOwhcV1CVbz9%3iFB2!AXR!(sZs+{14!ry2#6pNkSe`JKtXy_s&o|T9aM@4
zNUzd+?*Rm)C*fQ1InOuFIL~`=F5fX;ZXjW2XZ1bjZ~oU@E7$JTt8}u0nY_5T7#I|k
zx*J|L>2~n^)i{7x1k(4Yfys#r7y@)ML;5C?p-bK(w=V8DWtZI1&U()0v(vNEofJZ4
z1N{0T*Dt439BT^)k>6XqDeGLds*flnUVK<kBR66`dVOlLzPUkv?BY?WTX?|rAf$LK
z$u8M?C$(g$UU*|xepfJvZMTd>*U!EYo^$TOGhH(}_s!1x$hPn4N*>c~%X6yQeXF_g
zCAFKCD?8m2VrLj1|K%7vhjxb}HxYx)%p!ZbiuGS~tm!fF*^o48FCi9|%+p4qLR0a6
z<u?NJu=`Cx3c!%R8Ut`nE;_#xUB^6i!9LmJ-5Ca%iJTL6Y%dhHh*I25QXe0iE-3BW
z8(5%36nydEIau88y6JM77T=B{)4%+@DINX<-5rsZl_TZceMs`$qBw`tC#if1mJ$_-
z<~iIX%03)kD)NM_49=%-MlQmpYbwy82T1cT{CpV?fh+3ju+rJtlLjw^0Dhp-8#8l-
zM<Rc>FYWADp7!<oI3JemjDn4Q-J+*kTfF+_b+q-d*$~qPZ#R%MRr-vr$h{XoswuT8
zgFyN6Wjw5>2dsB_>-At<cK<o?y}XpV)V3HhPJ38UhbA=5A!mc;bZ)QHz_>+lx;xv7
zgX6U^4;8B9sYnCD(95$vKcPR?&W3t_<~++fS3cGMOt&qaXH#aC$zQG$+B>u8I6L@k
zZ;uRln)ea&_Ry{Uj{V`RPybA*rVQ0k>UhcC!QZt@f>hgA6#32^z-*?w;uT6H=@xQ7
zs<Dwb#Hf9=nu|Krb5D2AeWM{*N57&X6m4~ZtYRq!oTsa+%LSyj83EJB&dily8t@yA
z`B<mxVE)L-X#vMCux9`zsoR21J)z>@+B(QG%JH_n`gX+o-lg>V_wuY<>BLprngb$t
z(UzNwm*UCalHpsbjUP8}HX>9Soq2|TC{{Bt!9+YrW!t~rZI9~Bg_wx8ngxwF)J<d(
zcaNSwD=^Z4!B!SwZ;?{RYrkuC4Gj!Le`PQ*J=VLZ>(k(TR5LpBZRwtr`$d$c(dpN<
z_Al?a!ZkY89zGdPxMRh)HT!g<lOuq3vp|h^)7Ze0jv1XFBtUdew3TmWEu#@}5!Jrr
z<*xj2JB5oWK<xg%Jtx50Pz4e7!sK^O-_ApjR1`^{cF|sLP7>f@E3Kejf^moO^6@1m
zB#?~oEIgJ4b8nBB%>6QG6auUpwhg<v#|5R6TW$=L$@{U}zi;)yPeO7c;LiH6-=LxS
zSBw=Lo|u*<5LiNNR0SM#-Ei&iQDD7&16;58^)<)Y!0Z@I>u$yVocNVdHu`8Iclz_g
zXWAF>C6LIQ68ppXx@=pSG1{cS&8)_uMB)L*?hTe9`eRlF2*NgC+3qZ}WL}Q%N+89i
zbz(w7I;}I*6-!VYR45nII1#w|A^0R%Edcna&qIv!vg2-?4b9Yf$jHe2_-VvCWKHzB
zu1>u2QrsWDvB(Bsiwz?1BtFLbcX!K&Ef^W$65`@K<MSEca(5&S*bb~6AOhUWR`owV
z_)h|V9=ZEFEC85k508u-F0_O!ZhwveO0jtu`Qs)Na3#AU_Q7)Wcp@hx#vdo-fRn`y
z0aA=iHu%)O^1kz)Q0aTdJTG>P?f=!BP8U(NXrgcWo0zxB$s6nI+^2ohw*5qyVcS$D
zUJ8O-RqX9B!yk0H7HDu?=H=x!u@ogVv~z2$^uu^L4Q3b$g@XKQm#;7>ZY{#VFFkGT
zFV0KB&0~zb*aqRh`lrVMpb0s9V-?STGE|^nm>_7%ODgjypnIUv&xbAcQ&v_$%YulA
z2ob^kI`?hr&y8B5pe|Nne+Wx1@f*cBPb)T3jGmTOW?mkbuBquB$w5ElqRM`XHl&4z
zhiAd*bB+BJNV8?IS3oR^2dXFbXVqqUuJORL2VDmB#H*MGLo13weCKF;s$ycB=A#~?
zq-)bi!(^>v>7B#CFdVR=od4Y>nw|=aX+aSuRMJX<0Sk^ZU)_qX>H$J<ak|D#{QjCI
zE&;Gm9%Gqa6=cKq*{^hrMPUqq6)<3_8Kph3iM}n0uJPd-5RnAJp1dXlK$)cp3=(Wh
zc8?mULSD9bQN=JKx;i_{tE*R#ZZT~4@wP^b?S?**6J#j9p{@W`$mIB|G<~B6{~AgY
zdw_P_Vq*hl*ic*v(K(UwOXZvgNp}L&K9IQIyLky)sH+h#ucK{tyJ!G-P8Sq(>-T8B
z2*9Dk1Al{e&U4sa4}UysdD;a^x;<WQ>E>4b7_Dop@}sS7a%#%Q%gfp3jw<Ebmx+mq
z4Gn(2zV%fpG<~F?8;OYDbZ58=n$rqd;3aF&S{SkNDRIbg#sh?WT=YnLSFX7}RurM8
zq49ffFE*zpJSvKUm^c8O`O4WMc$k?9wEdyCUUXm)4wMq4kli-<!sh84!(NEHrh|jG
z)K19s#+WBUqCD!IC>Yx!{QSs)ECrWA<?{0K@87?>XzQH{ET8Nx8S&+HJJMt>V`ub_
z3?x7Qd<)+r6BK1fPmgO^g`O&QUQA8`fYgo>ibY|Lj*b8Tk7OLJxhiha!AztI<|nFi
zXha`RDMXi>2^VH)sB{S0bk7rYygT=_ex$y>-m3mpn6~tM(e-Vj>Sw(Kt&6Z<FV>4s
z<0wDwuo*qlBix-UPtw!ZciS9>UYDi3M=M!Mz%q8RT5i>M362W}-c8VJt@1Sc)G;rg
zVEOLI$Oy=kT7hzt2CS*nRQ3vfpD$j}Ou)+??C|-*Y14a2#}kyhDmORRvONkUb&u-}
z4)!t?+Qxg&(Q=~?kDyfrj2z$RtnfzSDiFVuzbh*GKvQ#-A?D=DOD|JYM7b~yywfST
z5(jq=+>(;nq$Al8uecrba9W%1UaxA;<)(T;>n0>JpwjAIi_y!MCt!^VjTTt$5f3m}
z0kc9`MTIJ~6-?b<57eGxFBYqc6e8@4bZTOjlcN9=sna5d$061v6#!dfJ-y*V!_tvL
z!?EGvj{7am^@7O;IDK&oWT5tox4?QPTN5KZM_`-<DZdVqOl2yBQ1BTP%`+r_!j^Ve
z@ypuf_g`KF=&`UsKuay>6&uS#O^PAqlkO{B@3yCEqa!1gt|}TAlOKGw>cIcEiY;~}
z?CqS)T~oQRbeiGbS6nukW;rBI<dGImcpmFXdudA5=d<ABZNJIe$4ibO20Nf)I^ZB8
zK10mWlp_e!By{b5stWUB<azLjzWy94fH2HcJ$9gZucSsMgpXIDjDyN=RHFA^&inQd
z9fI!S`h6CO`ex%y6rlX!rz}L%OS?yEnZ-BuDz83!V@pqni$jEQlg(^bJ4EDHp0_pF
zP+SRbq@<*5^gY$d5Zn=uOB&nID|jWFB9b{$rod)?L@q*9H&iAy@M)M(D*U3D{a*Mt
zS|>u5ffVA70Lb8MI?=Hh8#m8_XwOANeeW<?E<cxdb~tWmrv0E}Tj-<b^g!2OF8)(9
zT5h0{@$2%YiewnuoQ`<3^Dx)Es78HDbVEV2>`Vqjj@Y6nN97Nm#6VU5cE0~X(Cgh>
zolKjn$r#ERR4Z$jsr4U{*V(<OfNcHS(Hh4>gId}nZuGUn2bTl0ho=xXP+y*HXL$2=
zc|PgSO8v=KRyi0RH+C|yk)I#qP4Unv>t%2@4Y7Z4e2!(Ck!`euzNaTQ9}w%96%|%$
z$MQ1ormYv{7397et05mxHww@{TvWUj@=k)9`YAQ?@a|2@aGI#YC)Cdm+>;pU{69ha
ze@*G-irB4r!WFW^QnK33L(C0wp4pGG@zr)75He7`+cO?*wA=CfK~dZ(B~xe)dmt^}
z--p<qVIxd%_LH^Pn+jpzuGRio9r?MZ$ZY1zD>URpmnzUo$ZMkFDLZ9nXQ$2K<_I_r
z!LA~x3Bk$1;VfeiaUglvW+ih`+}?aK!0`DTKgih0CLsE?n3>Yhq(?8~D$UW}W_Ezg
z$R00&LjMgoDZQ%<GSK&hbariMa7u8fk5kVrWPw6g#?2(8wPG_Bxhdxk=Y^csS@?*i
znEHz(3yw38bhGDJG!KtV`F6(c$E>340t?}zCQ=dsfiBZJJ1Kqq+LdE<fA^Lp9?~9u
z+W2G@VUijjn@gtLYhkMFp--0i<M!n_!TN^^dx<>P?HzeczU6hSex19TW!7+rbSUAU
zN?E?8?!jxuH7^`!b?it>ABYc;K#NfB-Vq<6zcwxk?9?m8kH^X$zE`qq`yXVx<gE{u
zV85pYn9dX|%?y4ve&BasAD?~EE~V_&#ZT2T7-DAlvvBq%{mhKhS+QDAM%CnIwA5)-
zu%1lV89sz9i|lFrl$2Jt+eQN${kB~fC7sT0+Jz7=rEeY2R7jeSNvE7Ta6yeqGw$Y}
zv9bOwQ&t=(NMvXr@^A0H<A-t`o@?@%+JbSlUq7CRoqD`u0S1W{o3{YS3K_^U*B?1l
z{oa2==EIRnUji=uC^%l+u9Eifc_Fe~a$BmHch^(v%Jv?ex(zHF37xeY`Zi=cYx>?=
zliv9^>CZdN38D8<8-_FLu2aH7LLhbh6R^eF^VhudQrq_Q7Z4rQO+td~eUh&0W#Fg^
z&g3`FW_du#H(R{+Y8(z(f3{sIsws(IYn3>vGi#3NzArrAYN+;8&py@birS5cxLl`7
zCShIrS0T@g)Qen0e$;=;G?bkalWVcpWonR=XjX-v%)(cy-<4h=T;F=|#cVJFa_aFM
zF0o{NjghB;YEaisjgkg^17SN(o_}n8U82|vs-oT2zV4qA056Z?C`r675nk94a~rq~
zkwhJhkh=wqGzr6*+zp%E@eTfyM}_G_JY!ro=<*%Wp=&Wexe{+%BlskQ$RONDe7fS-
zUvI!m8~7z53G+28<_6b;|CY*5FTrNJTB6ZSW&dB$dqRa?G0xku@JJFbipfUffA!w+
zRDn`#?UbEe>ejcdOnjKq1O1@wc=5sHm?t3toJ<Zm6J8ohZ)|OPQB+1}?A}8M;V$_s
z{k^tu%3$=C!E?l-&TT==t5E}A0p6S}?qZZ>+t=9>|GTey8rCnAt_+9^Zw+o`z$14Q
z?=-;2wXHAlX-2dCp6i}u{=oiV(An%FIIg-wL->S*HeErx4Pi1ptenwhw)BZH<zcVd
zSy?y3E~28|LUtaeA@cJC=I@V*y`|FJ(gI@7i1Tf6IDGBXr%#Mh?jS_A4IVoJx3ztJ
zeZlb-QsBv6ZrL78%hBeQ=51N=aUz?azexc>Zvz)uV%oa@l=}HGd*ruA&RiOXh}N3r
zTFAY0^@3hwD+i%-R`pK>bL?sUC!sDta(mjWF<Md`Z8*M;ajQ%5L3MshJ+JXymDBo5
zxcs&aqc=xBxVaVYDpR{69Mg;+RHdB8YcKHtb4+~;jv>WY!P=xaxD&@*x!hj%FLke=
znMQYlE~>_wQ2ERAk2&TDYNGD&^>$3H7X<m06(KC5awwfr8gePnz25K{o7zv)==|u}
zs?;8Z*ybc$updA`qP}j(7+J{^mOaczHPYZ-&j<OV7#0ryn)qSrCv{K8?*@-XIK^01
z-8E%&4rItB!Pu4a`slW`g@x47{CNd|`ATfw!?5Nfu0HP(!^`%WuGN?5=qSoXhsDbe
zj<y}OcVXPd?qXWix^wH%{O}^F1nsh3UBsDvQDB6Jl(ba-dg@qW>sh}5%&vmgXtKn!
zC%uxJuC3r`!pr|-tm(3@`_*t48|guxwe!i0)3V)H_fh##<!>?3EUI9S;iE^76ct+m
z;|7=z+liKzOF+s2#3vwl=>d#%a4N=Ur-kOA%U9AN2+V44YG7bsb8~ZCTwGU|8aVsr
z=7GMWwg~-$zn1wl*}CLJE>W8TWjgZsGt$9kLF5yO{lo7^(1r(kQalXanzQjnX9q3#
zqYKitbRzX-JZt#+=g8C6$;;=2!Etk;`@xvsUon`pZxwUIqwV-z6N9!lv3;stg#yCH
z40J{~1^LiE#BBcn_2ilPT^Cvf8&-AT*W4rSsD}(P^$2ZV^Ii}>8mtua34OOzu=X2B
zT%iqO-=0Q&RD~K(AGM;gKg;tfP*f^Qx8<4m9L@0Eqf>R7YQ~T-{?WJI4LOZ>#5;&(
zTsA?mtX%6^%Q#zqP<P0ODDbPFZex*7t~PNlx<U(3jx2QQ1%r>CO4mVUhHp{Z&fLba
z0}}QdRm}8N*P)ELrbNIyd2dxpCw9ItkbGr4d>i)u(Dshy@Z7h;zZJ|yXX6pW8H|W*
z=`a_u!+kMP@^3Tijacn@A}+07i>9mV=ak!gqrus#P>0oUHY6r3*}6mD9hLvM?(*z~
z=P12O8g%TTONejOPN5K6R*{A5Rm37vO$aRE9jW4uppU@uJ>m}2pC5k@92gh?SuPKs
zG)6>59{&CfTwQ%VJxPz9X^@m?4snt8K?~@gfME%&I@+cBDAQteHpJ3cN8RkXO*MO}
z!1f4phSi0kndu2N<zW^M4sknFQC@HJG=zlUsUG#TiMZU1;O1IO$iIZh-#`9Kh@7@x
zn<c@Q^g8=DT-$w8Hx2}JM5PRoSNV`epHg(c{mMIYc;gmI0NK7)=W%Xx&V=SP@C%&#
z79WbidyRwFd^N@kkv)5+K4vTLO%tX=B8YlAIN>spW1Ra>o$J8dKjf<ay;gN~KH}|K
z{E(U7hn)Y=sJb?#gQUQe*^czSY^7oH=dNA_$=aSS<l>0?>!o5xKab1~ewhg9U_5mp
zY5qPWWosFmmmO*#&iQmYCcoJP@-hPtpYvC$u5h9CXT;YAwW{{@QP0p(W*SC?e$^90
zp3@WAKtD=upJ+Xr`RuTr%LWF~E?aBdLWk~c%xejpON?Q+4%MH;61vAm8}&o-JxjR~
z2krLz2^gsSqJ6VujBN^M;R^0If{u9ZPREJ-9)JVFcIKOe$(2MtyQNLFDrv<`+8-T`
z^CZ0TQ#8bFXZj21X9jVHT%G*5J+8NLVsjc``w8?$8b;u0Y<%DP&|KIRa{U*P>=%zS
z-v+kaa(h2opE-8im~vhjaj3%7Q><(|t9WJ9dFs7-=~qVU%q_a}uVLEgqlcLR4(lUA
zZRcrbwrGzFurKuzv8C%&>cOu(+{yS7-SSdr6f$_65p}yfNEL+eTPV<rTV(>l)6-E;
zmZztASQ&vU8%qhg{JxDN1<Z9|NN9cIj^}JZZ@}3r$msGg+uV>?botn=0-Ni{$!<Fk
zq$NN4#m}&;1WAIxgdZ{Q#7S>(hfzbu?{t}EeEMjE6h(KaucBqU4$uLkDFlIPhG^C-
z1pTQv72>{{AWT?$2-&b_bJ!vgoEFUVT`}t)YEz=Hx7OP!^UvjUI5s5+9bj<8MTrfH
z_}swk`-j&-J=Mgv^dHfycSxt5=B<HW>M~4vO1lOqyHC#&JhrRC<HX3;j=|_&bcFO(
zQB?&$EsdS2q<~<B#j?8Kh%3$tuG8WT*?)wzV+n{Gkqsdj4zI{>#e&)oW(NHBzpoYT
z&KVhB5+HLHWy`mDNM`D_MM^tS@Smb&xGlpe75a2^mfn_7SFq`LS8<Y+BjLu@X`c6s
z0!ZogwL?O{IL<dW2k$sql8Xk`jFfexjw>0Wt;}QMOX$-xE#`$}CF}4^o)$G8>;Jn(
zSlWFiTXiC*fwh5bL?24nx8z}MQF|U!3Jq@{e?w61P(YDoY5F|%fU9ctJEas`r?-U~
z)Dm(3#;%8#$NE0}QLJYUjJq{sv-F-PKEd)kU|YxE>k#6mc}LzjJ(R6G@Gos_Pd8Q?
z>vWK%q|*IMbNuX5-$nfs2$Fp!5HQXsC}1f9p7aeEkDPGo9Ehky{0XM0n7`EFq==ds
zeqSx>JpUXCNBjtk#y_3Wzjp7y1U}A81mt|98!)_T*2C@28-Dfz{JlQLpJ7(Ta<{Z(
zE8MT1#1~b+QS5rL)J9&iX488hnP!0TRzXAtoR3F;cyWn6yLGh3NRfz@fraHM0D(FV
zI2##EJYL@D)ovH(xzcCaO01Y+HjTyUe475PDxVkLw!d$FjjdiTzQ>vav_(ChtUfF(
zxZsnNFUj(r@c<QVLLB9kfAM%mYuj6swx(nT8dZF}eJof^H&$QhCc&^Da$*U^1Dt;n
z3czb4HHNVe!8UvP0KaegiyZIO7-n$y{UL+m%v?}DN2{bUjv<03Bcb;T{Bm->SYXml
z>#~{(Xy06iq90DrRyJps3}n71jWibz_Y^DtgxHUesA0cY`G3n7%kg8DH#T`2DHZ<G
zhrWwbpxvJX$|8~o)oJ~M{e8+~9u@?(Qh@LyLOHov;=g!RhgC&=PQbo;lAN+~a8C8R
zn0>`g)*uM+kkcPl^%{3P&Jy?`@87>SuHZuA1Mt@KH!kCLis%`=LBg3zfTt1}X5K)8
zf_^QgqNAgure>cJ;zmv2<Ksu)l*s-y@`?lx_Xj5nEmo14bIXwM5+Tr;@rucQN>jy3
zP$O>8l$lfSgJ9%>i4{1vQeIwu!0R<vXEMHfe)J70X6F7c#8`n_%x%2IeV_$BZ7Sft
z%*O|#qq|xEQtp62+Vs)Q;^L*TB3jw~)-K$gIbsMQpq>MRgM;1Og{SU80=`tg_V-;}
zTmn1de~oc11Ckp6s3cTxh;<pC-~<c3NpF$9#RV%UOXfJ}{#WQ4I&)nqBtLc(hRImV
zZ~qAZSIGUL-h)`pS91s6Qye_t_i~GYu#ZyZWnuzPD-`vAeff<m6wpl1|N8R(`tAYd
z=enyumB!E^Ef5x#+XO<10y;=d(rSEcS#f|K{G=KJZFmDj=Qsp^Dh1x|paxY)wx!@E
z!$y0sm$9&1#=@}7*vvP7y~Y7OuYm=G`KvFR!T-T)tg_Puv<Q@fo;VDUb?oc^OE(L+
Zz%Muv>1o@Uh{6FsP$f;plKYPX{~z<7)gu4^

literal 0
HcmV?d00001

diff --git a/content/developer/misc/i18n/localization.rst b/content/developer/misc/i18n/localization.rst
index 3aa6a336f..703e04d5f 100644
--- a/content/developer/misc/i18n/localization.rst
+++ b/content/developer/misc/i18n/localization.rst
@@ -8,136 +8,234 @@ Accounting Localization
     This tutorial requires knowledges about how to build a module in Odoo (see
     :doc:`/developer/howtos/backend`).
 
+
+How localization works
+======================
+
+On installing the `account <https://github.com/odoo/odoo/tree/15.0/addons/account>`__ module, the localization module corresponding to the country code of the company is installed automatically.
+In case of no country code set or no localization module found, the `l10n_generic_coa <https://github.com/odoo/odoo/tree/15.0/addons/l10n_generic_coa>`__ (US) localization module is installed by default.
+Check `post init hook <https://github.com/odoo/odoo/blob/15.0/addons/account/__init__.py>`__ for details.
+
+For example, `l10n_ch <https://github.com/odoo/odoo/tree/15.0/addons/l10n_ch>`__ will be installed if the company has ``Switzerland`` as country.
+
 Building a localization module
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+==============================
 
-When installing the ``accounting`` module, the localization module corresponding to the country code of the company is installed automatically.
-In case of no country code set or no localization module found, the ``l10n_generic_coa`` (US) localization module is installed by default.
+Structure of a basic ``l10n_XX`` module may be described as following ``__manifest__.py`` file:
 
-For example, ``l10n_be`` will be installed if the company has ``Belgium`` as country.
+.. code-block:: py
 
-This behavior is allowed by the presence of a *.xml* file containing the following code:
+    {
+        "name": "COUNTRY - Accounting",
+        "version": "1.0.0",
+        "category": "Accounting/Localizations/Account Charts",
+        "license": "LGPL-3",
+        "depends": [
+            "account",
+            # "l10n_multilang",
+        ],
+        "data": [
+            # Chart of Accounts
+            "data/account_chart_template_data.xml",
+            "data/account_account_tag_data.xml",
+            "data/account_account_template_data.xml",
+            "data/account.group.template.csv",
+            "data/l10n_XX_chart_post_data.xml",
+            "data/account_chart_template_configure_data.xml",
+
+            # Taxes
+            "data/account_tax_group_data.xml",
+            "data/account_tax_report_data.xml",
+            "data/account_tax_template_data.xml",
+            "data/account_fiscal_position_template_data.xml",
+        ],
+        "demo": [
+            "demo/demo_company.xml",
+        ]
+    }
+
+
+In the first file `data/account_chart_template_data.xml` we give name for the Chart of Accounts and set some basic fields. For example, for Swiss localization the file looks as following
 
 .. code-block:: xml
 
-   <function model="account.chart.template" name="try_loading_for_current_company">
-      <value eval="[ref(module.template_xmlid)]"/>
+    <?xml version="1.0" encoding="utf-8"?>
+    <odoo>
+        <record id="l10nch_chart_template" model="account.chart.template">
+            <field name="name">Plan comptable 2015 (Suisse)</field>
+            <field name="code_digits">4</field>
+            <field name="bank_account_code_prefix">102</field>
+            <field name="cash_account_code_prefix">100</field>
+            <field name="transfer_account_code_prefix">1090</field>
+            <field name="currency_id" ref="base.CHF"/>
+            <field name="country_id" ref="base.ch"/>
+            <field name="use_anglo_saxon" eval="False"/>
+            <field name="spoken_languages" eval="'it_IT;de_DE;de_CH;fr_FR;fr_CH'"/>
+        </record>
+    </odoo>
+
+
+.. note::
+
+    Recommended **xmlid** for the record is `l10n_XX_chart_template`.
+    It will be used for field `chart_template_id`, for example.
+    If you need many chart of accounts, you can add some suffixes, i.e. `l10n_XX_chart_template_XXX`.
+
+    **Number of digits** to use for account codes is specified in `code_digits` parameter.
+
+    **Bank/cash code** prefixes are used to create *Suspense Account*, *Outstanding Payments*, *Outstanding Receipts* accounts, if those are not set implicitly in the chart template (see note below about `account_journal_suspense_account_id` field). It may be also used to create `default_account_id` in a new `account.journal` record.
+
+    **Transfer code** is used to create a transfer account that is an intermediary
+    account used when moving money from a liquidity account to another,
+    e.g. internal transfer from one bank account to another bank account.
+
+    **Spoken languages** instructs to load translations for Chart of Accounts on module installations. It's useful for countries with several official languages. To use this option you must add `l10n_multilang` to the module dependencies. List of supported lang codes can be found in `base/data/res.lang.csv <https://github.com/odoo/odoo/blob/15.0/odoo/addons/base/data/res.lang.csv>`__.
+
+   To check the **currency** codes open `base/data/res_currency_data.xml <https://github.com/odoo/odoo/blob/15.0/odoo/addons/base/data/res_currency_data.xml>`__. And the **country** codes are listed in `base/data/res_country_data.xml <https://github.com/odoo/odoo/blob/15.0/odoo/addons/base/data/res_country_data.xml>`__.
+
+Next settings for the chart of accounts are set in a separate file, because we need to provide `list of accounts <#accounts>`__ first. In `data/l10n_XX_chart_post_data.xml` we set some default accounts:
+
+.. code-block:: xml
+
+    <record id="l10n_XX_chart_template" model="account.chart.template">
+
+      <!-- Receivable/payable accounts. -->
+      <field name="property_account_receivable_id" ref="..."/>
+      <field name="property_account_payable_id" ref="..."/>
+
+      <!-- Default Income/Expense Account for a Product Template. -->
+      <field name="property_account_income_id" ref="..."/>
+      <field name="property_account_expense_id" ref="..."/>
+
+      <!-- Default Income/Expense Account for a Product Category. -->
+      <field name="property_account_income_categ_id" ref="..."/>
+      <field name="property_account_expense_categ_id" ref="..."/>
+
+      <!-- Cash loss/gain accounts. They correspond profit_account_id / loss_account_id fields -->
+      <field name="default_cash_difference_income_account_id" ref="..."/>
+      <field name="default_cash_difference_expense_account_id" ref="..."/>
+
+      <!-- Loss/gain exchange rate accounts. -->
+      <field name="income_currency_exchange_account_id" ref="..."/>
+      <field name="expense_currency_exchange_account_id" ref="..."/>
+
+      <!-- Stock valuation accounts. -->
+      <field name="property_stock_account_input_categ_id" ref="..."/>
+      <field name="property_stock_account_output_categ_id" ref="..."/>
+      <field name="property_stock_valuation_account_id" ref="..."/>
+
+      <!-- Tax accounts to  balance current/advance tax payments. -->
+      <!-- It's used in `env['account.generic.tax.report']._generate_tax_closing_entries` -->
+      <field name="property_tax_payable_account_id" ref="..."/>
+      <field name="property_tax_receivable_account_id" ref="..."/>
+      <field name="property_advance_tax_payment_account_id" ref="..."/>
+
+
+      <!-- Base Tax Received Account -->
+      <!-- Corresponds to `account_cash_basis_base_account_id` field. -->
+      <!-- It's used for taxes with `tax_exigibility` equal to `on_payment` -->
+      <field name="property_cash_basis_base_account_id" ref="..."/>
+
+      <!-- POS account. -->
+      <field name="default_pos_receivable_account_id" ref="..."/>
+
+      <!-- Payment accounts. -->
+      <!--
+           Suspense account is used to register an unreconciled bank entries created via bank statement.
+           Once it's reconciled, the suspense account in `account.move` will be replaced with a proper account.
+           Suspense account is an exceptional case when an account is supposed to be replaced in the transaction.
+           The new account depends on `account.payment` records. There are two cases
+           1. `account.payment' exists before reconciliation aka Blue lines in reconciliation wizard
+           2. `account.payment' is created on reconciliation aka regular Black lines in reconciliation wizard
+
+           For case n.1 the new account is Outstanding Receipts/Payments account and the workflow is following:
+
+           Initial transactions:
+           * Invoice/bill: Payable/Receivable vs Expenses/Sales
+           * Payment:             Outstanding vs Payable/Receivable
+           After creating bank statement
+           * Bank entry:                 Bank vs Suspense
+           After reconciliation:
+           * Bank entry:                 Bank vs Outstanding
+
+           For case n.2 the new account is Payable/Receivable account from invoice/bill and the workflow is following:
+
+           Initial transactions:
+           * Invoice/bill: Payable/Receivable vs Expenses/Sales
+           After creating bank statement
+           * Bank entry:                 Bank vs Suspense
+           After reconciliation:
+           * Bank entry:                 Bank vs Payable/Receivable
+      -->
+      <field name="account_journal_suspense_account_id" ref="..."/>
+      <!-- Outstanding Receipts Account -->
+      <field name="account_journal_payment_debit_account_id" ref="..."/>
+      <!-- Outstanding Payments Account -->
+      <field name="account_journal_payment_credit_account_id" ref="..."/>
+
+    </record>
+
+
+For example, the Swiss file `data/l10n_ch_chart_post_data.xml` looks as following:
+
+.. code-block:: xml
+
+    <record id="l10nch_chart_template" model="account.chart.template">
+        <field name="property_account_receivable_id" ref="ch_coa_1100"/>
+        <field name="property_account_payable_id" ref="ch_coa_2000"/>
+        <field name="property_account_expense_categ_id" ref="ch_coa_4200"/>
+        <field name="property_account_income_categ_id" ref="ch_coa_3200"/>
+        <field name="income_currency_exchange_account_id" ref="ch_coa_3806"/>
+        <field name="expense_currency_exchange_account_id" ref="ch_coa_4906"/>
+        <field name="default_pos_receivable_account_id" ref="ch_coa_1101" />
+    </record>
+
+The last step on installing Chart of Accounts is applying it on current company. File `data/account_chart_template_configure_data.xml` is responsible for that:
+
+.. code-block:: xml
+
+   <function model="account.chart.template" name="try_loading">
+      <value eval="[ref('l10n_XX.l10n_XX_chart_template')]"/>
    </function>
 
-Where ``module.template_xmlid`` is the **fully-qualified** xmlid of the corresponding template.
+Finally, you may add a demo company, so the localization can be easily tested in demo mode. Check `l10n_ch/demo/demo_company.xml <https://github.com/odoo/odoo/blob/15.0/addons/l10n_ch/demo/demo_company.xml>`__ for example.
 
-Usually located in the ``data`` folder, it must be loaded at the very last in the ``__manifest__.py`` file.
+Chart of Accounts
+=================
 
-.. danger::
+Accounts
+--------
 
-    If the *.xml* file is missing, the right chart of accounts won't be loaded on time!
-
-
-Configuring my own Chart of Accounts?
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-First of all, before I proceed, we need to talk about the templates. A template is a record that allows replica of itself.
-This mechanism is needed when working in multi-companies. For example, the creation of a new account is done using the ``account.account.template`` model.
-However, each company using this chart of accounts will be linked to a replica having ``account.account`` as model.
-So, the templates are never used directly by the company.
-
-Then, when a chart of accounts needs to be installed, all templates dependent of this one will create a replica and link this newly generated record to the company's user.
-It means all such templates must be linked to the chart of accounts in some way. To do so, each one must reference the desired chart of accounts using the ``chart_template_id`` field.
-For this reason, we need to define an instance of the ``account.chart.template`` model before creating its templates.
-
-.. code-block:: xml
-
-    <record id="..." model="account.chart.template">
-        <!-- [Required] Specify the name to display for this CoA. -->
-        <field name="name">...</field>
-
-        <!-- [Required] Specify the currency. E.g. "base.USD". -->
-        <field name="currency_id" ref="..."/>
-
-        <!-- [Required] Specify a prefix of the bank accounts. -->
-        <field name="bank_account_code_prefix">...</field>
-
-        <!-- [Required] Specify a prefix of the cash accounts. -->
-        <field name="cash_account_code_prefix">...</field>
-
-        <!-- [Optional] Define a parent chart of accounts that will be installed just before this one. -->
-        <field name="parent_id" ref="..."/>
-
-        <!-- [Optional] Define the number of digits of account codes. By default, the value is 6. -->
-        <field name="code_digits">...</field>
-
-        <!-- [Optional] Boolean to show or not this CoA on the list. By default, the CoA is visible.
-         This field is mostly used when this CoA has some children (see parent_id field). -->
-        <field name="visible" eval="..."/>
-
-        <!-- [Optional] Boolean to enable the Anglo-Saxon accounting. By default, this field is False. -->
-        <field name="use_anglo_saxon" eval="..."/>
-
-        <!-- [Optional] Boolean to enable the complete set of taxes. By default, this field is True.
-        This boolean helps you to choose if you want to propose to the user to encode the sale and purchase rates or choose from list of taxes.
-        This last choice assumes that the set of tax defined on this template is complete. -->
-        <field name="complete_tax_set" eval="..."/>
-
-        <!-- [Optional] Specify the spoken languages.
-        /!\ This option is only available if your module depends of l10n_multilang.
-        You must provide the language codes separated by ';', e.g. eval="'en_US;ar_EG;ar_SY'". -->
-        <field name="spoken_languages" eval="..."/>
-    </record>
-
-For example, let's take a look to the Belgium chart of accounts.
-
-.. code-block:: xml
-
-    <record id="l10nbe_chart_template" model="account.chart.template">
-        <field name="name">Belgian PCMN</field>
-        <field name="currency_id" ref="base.EUR"/>
-        <field name="bank_account_code_prefix">550</field>
-        <field name="cash_account_code_prefix">570</field>
-        <field name="spoken_languages" eval="'nl_BE'"/>
-    </record>
-
-Now that the chart of accounts is created, we can focus on the creation of the templates.
-As said previously, each record must reference this record through the ``chart_template_id`` field.
-If not, the template will be ignored. The following sections show in details how to create these templates.
-
-Adding a new account to my Chart of Accounts
-############################################
-
-It's time to create our accounts. It consists to creating records of ``account.account.template`` type.
-Each ``account.account.template`` is able to create an ``account.account`` for each company.
+Obviously, *Chart of Accounts* cannot exist without *Accounts*. You need to specify them in `data/account_account_template_data.xml`.
 
 .. code-block:: xml
 
     <record id="..." model="account.account.template">
-        <!-- [Required] Specify the name to display for this account. -->
-        <field name="name">...</field>
+        <!-- Required fields -->
+        <field name="name">XXX</field>
+        <field name="code">XXX</field>
+        <field name="user_type_id" ref="account.data_account_type_XXX" />
+        <field name="chart_template_id" ref="l10n_XX_chart_template"/>
 
-        <!-- [Required] Specify a code. -->
-        <field name="code">...</field>
-
-        <!-- [Required] Specify a type. -->
-        <field name="user_type_id">...</field>
-
-        <!-- [Required] Set the CoA owning this account. -->
-        <field name="chart_template_id" ref="..."/>
+        <!-- [Optional] Extra information about account. -->
+        <field name="note">This account is used for ...</field>
 
         <!-- [Optional] Specify a secondary currency for each account.move.line linked to this account. -->
-        <field name="currency_id" ref="..."/>
+        <field name="currency_id" ref="base.XXX"/>
 
         <!-- [Optional] Boolean to allow the user to reconcile entries in this account. True by default. -->
-        <field name="reconcile" eval="..."/>
+        <field name="reconcile" eval="False"/>
 
-        <!-- [Optional] Specify a group for this account. -->
-        <field name="group_id" ref="...">
-
-        <!-- [Optional] Specify some tags. -->
-        <field name="tag_ids" eval="...">
+        <!-- [Optional] Account tags. -->
+        <field name="tag_ids" eval="[(6, 0, [ref('l10n_XX.account_tag_XXX'), ref('l10n_XX.account_tag_YYY')])]" />
     </record>
 
-Some of the described fields above deserve a bit more explanation.
+.. note::
+
+     You may use csv format instead. Check `l10n_ch/data/account.account.template.csv <https://github.com/odoo/odoo/blob/15.0/addons/l10n_ch/data/account.account.template.csv>`__ for example.
 
 The ``user_type_id`` field requires a value of type ``account.account.type``.
-Although some additional types could be created in a localization module, we encourage the usage of the existing types in the `account/data/data_account_type.xml <https://github.com/odoo/odoo/blob/14.0/addons/account/data/data_account_type.xml>`_ file.
+Although some additional types could be created in a localization module, we encourage the usage of the existing types in the `account/data/data_account_type.xml <https://github.com/odoo/odoo/blob/15.0/addons/account/data/data_account_type.xml>`_ file.
 The usage of these generic types ensures the generic reports working correctly in addition to those that you could create in your localization module.
 
 .. warning::
@@ -149,94 +247,145 @@ The usage of these generic types ensures the generic reports working correctly i
 
     Only one account of type payable/receivable is enough.
 
-Although the ``tag_ids`` field is optional, this one remains a very powerful feature.
-Indeed, this one allows you to define some tags for your accounts to spread them correctly on your reports.
-For example, suppose you want to create a financial report having multiple lines but you have no way to find a rule to dispatch the accounts according their ``code`` or ``name``.
-The solution is the usage of tags, one for each report line, to spread and aggregate your accounts like you want.
-
-Like any other record, a tag can be created with the following xml structure:
-
-.. code-block:: xml
-
-    <record id="..." model="account.account.tag">
-        <!-- [Required] Specify the name to display for this tag. -->
-        <field name="name">...</field>
-
-        <!-- [Optional] Define a scope for this applicability.
-        The available keys are 'accounts' and 'taxes' but 'accounts' is the default value. -->
-        <field name="applicability">...</field>
-    </record>
-
-As you can well imagine with the usage of tags, this feature can also be used with taxes.
-
-An examples coming from the ``l10n_be`` module:
-
-.. code-block:: xml
-
-        <record id="a4000" model="account.account.template">
-            <field name="name">Clients</field>
-            <field name="code">4000</field>
-            <field name="user_type_id" ref="account.data_account_type_receivable"/>
-            <field name="chart_template_id" ref="l10nbe_chart_template"/>
-        </record>
-
 .. warning::
 
     Don't create too much accounts: 200-300 is enough.
 
-Adding a new tax to my Chart of Accounts
-########################################
+Account tags
+------------
 
-To create a new tax record, you just need to follow the same process as the creation of accounts.
-The only difference being that you must use the ``account.tax.template`` model.
+Tags is a way to sort accounts.
+For example, imagine you want to create a financial report having multiple lines but you have no way to find a rule to dispatch the accounts according their ``code`` or ``name``.
+The solution is the usage of tags, one for each report line, to filter accounts like you want.
+
+Put the tags in `data/account_account_tag_data.xml` file:
 
 .. code-block:: xml
 
-    <record id="..." model="account.tax.template">
-        <!-- [Required] Specify the name to display for this tax. -->
+    <record id="..." model="account.account.tag">
         <field name="name">...</field>
 
+        <!-- Applicability: 'accounts', 'taxes' or 'products'. By default it's equal to 'accounts'. -->
+        <field name="applicability">accounts</field>
+
+        <!-- integer between 1 and 11 -->
+        <field name="color" eval="8"/>
+
+    </record>
+
+Then apply tags on some accounts (field `tag_ids`). Examples:
+
+* csv: `l10n_lt/data/account.account.template.csv <https://github.com/odoo/odoo/blob/15.0/addons/l10n_lt/data/account.account.template.csv>`__
+* xml: `l10n_at/data/account_account_template.xml <https://github.com/odoo/odoo/blob/15.0/addons/l10n_at/data/account_account_template.xml>`__
+
+Account groups
+--------------
+
+Account groups allows to describe structure of chart of accounts. Just check example from `l10n_il/data/account.group.template.csv <https://github.com/odoo/odoo/blob/15.0/addons/l10n_il/data/account.group.template.csv>`__:
+
+
++-----------------+-------------------+-----------------+-------------------------+---------------------------+
+| id              | code_prefix_start | code_prefix_end | name                    | chart_template_id/id      |
++-----------------+-------------------+-----------------+-------------------------+---------------------------+
+| il_group_100100 |            100100 |          100499 | Fixed Assets            | l10n_il.il_chart_template |
++-----------------+-------------------+-----------------+-------------------------+---------------------------+
+| il_group_101110 |            101110 |          101400 | Current Assets          | l10n_il.il_chart_template |
++-----------------+-------------------+-----------------+-------------------------+---------------------------+
+| il_group_101401 |            101401 |          101799 | Bank And Cash           | l10n_il.il_chart_template |
++-----------------+-------------------+-----------------+-------------------------+---------------------------+
+| il_group_111000 |            111000 |          111999 | Current Liabilities     | l10n_il.il_chart_template |
++-----------------+-------------------+-----------------+-------------------------+---------------------------+
+| il_group_112000 |            112000 |          112210 | Non-current Liabilities | l10n_il.il_chart_template |
++-----------------+-------------------+-----------------+-------------------------+---------------------------+
+| il_group_200000 |            200000 |          200199 | Sales Income            | l10n_il.il_chart_template |
++-----------------+-------------------+-----------------+-------------------------+---------------------------+
+| il_group_200200 |            200200 |          200300 | Other Income            | l10n_il.il_chart_template |
++-----------------+-------------------+-----------------+-------------------------+---------------------------+
+| il_group_201000 |            201000 |          201299 | Cost of Goods           | l10n_il.il_chart_template |
++-----------------+-------------------+-----------------+-------------------------+---------------------------+
+| il_group_202000 |            202000 |          220900 | Expenses                | l10n_il.il_chart_template |
++-----------------+-------------------+-----------------+-------------------------+---------------------------+
+| il_group_300000 |            300000 |          399999 | Capital And Shares      | l10n_il.il_chart_template |
++-----------------+-------------------+-----------------+-------------------------+---------------------------+
+
+
+Taxes
+-----
+
+To add taxes you first need to specify tax groups. It has just two fields: name and country. Create file `data/account_tax_group_data.xml` and list the groups:
+
+.. code-block:: xml
+
+    <?xml version="1.0" encoding="utf-8"?>
+    <odoo>
+        <data noupdate="1">
+            <record id="tax_group_tva_0" model="account.tax.group">
+                <field name="name">TVA 0%</field>
+                <field name="country_id" ref="base.ch"/>
+            </record>
+
+            ...
+        </data>
+    </odoo>
+
+
+Examples:
+
+* xml: `l10n_ch/data/account_tax_group_data.xml <https://github.com/odoo/odoo/blob/15.0/addons/l10n_ch/data/account_tax_group_data.xml>`__
+* csv: `l10n_uk/data/account.tax.group.csv <https://github.com/odoo/odoo/blob/15.0/addons/l10n_uk/data/account.tax.group.csv>`__
+
+
+Now you can add the taxes via `data/account_tax_template_data.xml` file:
+
+.. code-block:: xml
+
+    <record id="tax_XXX" model="account.tax.template">
+        <!-- [Required] Specify the name to display for this tax. -->
+        <field name="name">XXX</field>
+
+        <!-- [Required] Set the CoA owning this tax. -->
+        <field name="chart_template_id" ref="l10n_XX_chart_template"/>
+
+        <!-- [Optional] Define a tax group used to display the sums of taxes in the invoices. -->
+        <field name="tax_group_id" ref="tax_group_XXX"/>
+
         <!-- [Required] Specify the amount.
         E.g. 7 with fixed amount_type means v + 7 if v is the amount on which the tax is applied.
          If amount_type is 'percent', the tax amount is v * 0.07. -->
-        <field name="amount" eval="..."/>
-
-        <!-- [Required] Set the CoA owning this tax. -->
-        <field name="chart_template_id" ref="..."/>
-
-        <!-- [Required/Optional] Define an account if the tax is not a group of taxes. -->
-        <field name="account_id" ref="..."/>
-
-        <!-- [Required/Optional] Define an refund account if the tax is not a group of taxes. -->
-        <field name="refund_account_id" ref="..."/>
-
-        <!-- [Optional] Define the tax's type.
-        'sale', 'purchase' or 'none' are the allowed values. 'sale' is the default value.
-        Note: 'none' means a tax can't be used by itself, however it can still be used in a group. -->
-        <field name="type_tax_use">...</field>
+        <field name="amount" eval="7"/>
 
         <!-- [Optional] Define the type of amount:
-        'group' for a group of taxes, 'fixed' for a tax with a fixed amount or 'percent' for a classic percentage of price.
+        * 'percent' for a classic percentage of price (default)
+        * 'division' for percentage of Price Tax Included.
+        * 'fixed' for a tax with a fixed amount,
+        * 'group' for a group of taxes,
         By default, the type of amount is percentage. -->
-        <field name="amount_type" eval="..."/>
+        <field name="amount_type">percent</field>
 
         <!-- [Optional] Define some children taxes.
         /!\ Should be used only with an amount_type with 'group' set. -->
-        <field name="children_tax_ids" eval="..."/>
+        <field name="children_tax_ids" eval="[(6,0,[ref('tax_XXX'), ref('tax_YYY')])]"/>
+
+        <!-- [Optional] Define the tax's type:
+        * 'sale' (default)
+        * 'purchase'
+        * 'none' - if tax can't be used by itself, but only in a group.
+        -->
+        <field name="type_tax_use">sale</field>
 
         <!-- [Optional] The sequence field is used to define order in which the tax lines are applied.
         By default, sequence = 1. -->
-        <field name="sequence" eval="..."/>
+        <field name="sequence" eval="1"/>
 
         <!-- [Optional] Specify a short text to be displayed on invoices.
         For example, a tax named "15% on Services" can have the following label on invoice "15%". -->
-        <field name="description">...</field>
+        <field name="description">VAT 20%</field>
 
         <!-- [Optional] Boolean that indicates if the amount should be considered as included in price. False by default.
         E.g. Suppose v = 132 and a tax amount of 20.
-        If price_include = False, the computed amount will be 132 * 0.2 = 26.4.
-        If price_include = True, the computed amount will be 132 - (132 / 1.2) = 132 - 110 = 22. -->
-        <field name="price_include" eval="..."/>
+        If price_include = False, the computed tax amount will be 132 * 0.2 = 26.4.
+        If price_include = True, the computed tax amount will be 132 - (132 / 1.2) = 132 - 110 = 22. -->
+        <field name="price_include" eval="False"/>
 
         <!-- [Optional] Boolean to set to include the amount to the base. False by default.
          If True, the subsequent taxes will be computed based on the base tax amount plus the amount of this tax.
@@ -245,56 +394,195 @@ The only difference being that you must use the ``account.tax.template`` model.
          t1 amount = 100 * 0.1 = 10 and t2 amount = 100 * 0.2 = 20.
          If t1 affects the base,
          t1 amount = 100 * 0.1 = 10 and t2 amount = 110 * 0.2 = 22.  -->
-        <field name="include_base_amount" eval="..."/>
+        <field name="include_base_amount" eval="False"/>
 
         <!-- [Optional] Boolean false by default.
          If set, the amount computed by this tax will be assigned to the same analytic account as the invoice line (if any). -->
-        <field name="analytic" eval="..."/>
+        <field name="analytic" eval="False"/>
 
-        <!-- [Optional] Specify some tags.
-        These tags must have 'taxes' as applicability.
-        See the previous section for more details. -->
-        <field name="tag_ids" eval="...">
+        <!-- [Optional] Define the tax exigibility:
+          * 'on_invoice' - based on invoice (default value)
+          * 'on_payment' - based on payment
+        -->
+        <field name="tax_exigibility">on_invoice</field>
 
-        <!-- [Optional] Define a tax group used to display the sums of taxes in the invoices. -->
-        <field name="tax_group_id" ref="..."/>
+        <!-- [Optional] Define a cash basis account in case of tax exigibility 'on_payment'.
+          The account will contain the tax amount as long as the original invoice has not been reconciled;
+          at reconciliation, this amount cancelled on this account and put on the regular tax account
+          -->
+        <field name="cash_basis_transition_account_id" ref="..."/>
 
-        <!-- [Optional] Define the tax exigibility either based on invoice ('on_invoice' value) or
-        either based on payment using the 'on_payment' key.
-        The default value is 'on_invoice'. -->
-        <field name="tax_exigibility">...</field>
-
-        <!-- [Optional] Define a cash basis account in case of tax exigibility 'on_payment'. -->
-        <field name="cash_basis_account" red="..."/>
+        <!-- [Optional] Distribution when the tax is used on an invoice / a refund.
+          Each distribution has following parameters:
+          * `factor_percent` - Factor to apply on the account move lines generated from this distribution line, in percents
+          * `repartition_type` - either 'base' or 'tax'
+          * `account_id` - Account on which to post the tax amount
+          * `plus_report_line_ids` - Tax report lines whose '+' tag will be assigned to move lines by this repartition line
+          * `minus_report_line_ids` - Tax report lines whose '-' tag will be assigned to move lines by this repartition line
+          -->
+        <field name="invoice_repartition_line_ids" eval="[(5, 0, 0),
+            (0,0, {
+                'factor_percent': 100,
+                'repartition_type': 'base',
+                'plus_report_line_ids': [ref('tax_XXX'), ref('tax_YYY')],
+            }),
+        ]"/>
+        <field name="refund_repartition_line_ids" eval="..."/>
     </record>
 
-An example found in the ``l10n_pl`` module:
+Check `l10n_ae/data/account_tax_template_data.xml <https://github.com/odoo/odoo/blob/15.0/addons/l10n_ae/data/account_tax_template_data.xml>`__ for example.
+
+Tax Report
+----------
+
+In previous section you noticed fields `invoice_repartition_line_ids` / `refund_repartition_line_ids` and probably understand nothing about it. Good news: you are not alone on this incomprehension. Bad news: you have to figure it out a bit. The topic is complicated indeed:
+
+.. image:: images/tax-report.png
+
+But lucky we have a presentation explaining the tax reports in details:
+
+.. youtube:: PuXE_NyFRTM
+    :align: right
+    :width: 700
+    :height: 394
+
+So, once you have properly configured taxes, you just need to add `data/account_tax_report_data.xml` file with a single record for `account.tax.report` in beginning:
 
 .. code-block:: xml
 
-    <record id="vp_leas_sale" model="account.tax.template">
-        <field name="chart_template_id" ref="pl_chart_template"/>
-        <field name="name">VAT - leasing pojazdu(sale)</field>
-        <field name="description">VLP</field>
-        <field name="amount">1.00</field>
-        <field name="sequence" eval="1"/>
-        <field name="amount_type">group</field>
-        <field name="type_tax_use">sale</field>
-        <field name="children_tax_ids" eval="[(6, 0, [ref('vp_leas_sale_1'), ref('vp_leas_sale_2')])]"/>
-        <field name="tag_ids" eval="[(6,0,[ref('l10n_pl.tag_pl_21')])]"/>
-        <field name="tax_group_id" ref="tax_group_vat_23"/>
-    </record>
+    <?xml version="1.0" encoding="utf-8"?>
+    <odoo>
+        <record id="tax_report" model="account.tax.report">
+            <field name="name">Tax Report</field>
+            <field name="country_id" ref="base.XX"/>
+        </record>
+
+        ...
+    </odoo>
+
+... following by a list of records for `account.tax.report.line`. Check for example `l10n_au/data/account_tax_report_data.xml <https://github.com/odoo/odoo/blob/15.0/addons/l10n_au/data/account_tax_report_data.xml>`__. Meaning of the fields can be found directly in the `code <https://github.com/odoo/odoo/blob/15.0/addons/account/models/account_tax_report.py#L96>`__:
+
+.. code-block:: py
+
+    class AccountTaxReportLine(models.Model):
+        _name = "account.tax.report.line"
+        _description = "Account Tax Report Line"
+        _order = "sequence"
+        _parent_store = True
+
+        name = fields.Char(
+            string="Name",
+            required=True,
+            help="Complete name for this report line, to be used in report.",
+        )
+        tag_ids = fields.Many2many(
+            string="Tags",
+            comodel_name="account.account.tag",
+            relation="account_tax_report_line_tags_rel",
+            help="Tax tags populating this line",
+        )
+        report_action_id = fields.Many2one(
+            string="Report Action",
+            comodel_name="ir.actions.act_window",
+            help="The optional action to call when clicking on this line in accounting reports.",
+        )
+        children_line_ids = fields.One2many(
+            string="Children Lines",
+            comodel_name="account.tax.report.line",
+            inverse_name="parent_id",
+            help="Lines that should be rendered as children of this one",
+        )
+        parent_id = fields.Many2one(
+            string="Parent Line", comodel_name="account.tax.report.line"
+        )
+        sequence = fields.Integer(
+            string="Sequence",
+            required=True,
+            help="Sequence determining the order of the lines in the report (smaller ones come first). "
+                 "This order is applied locally per section "
+                 "(so, children of the same line are always rendered one after the other).",
+        )
+        parent_path = fields.Char(index=True)
+        report_id = fields.Many2one(
+            string="Tax Report",
+            required=True,
+            comodel_name="account.tax.report",
+            ondelete="cascade",
+            help="The parent tax report of this line",
+        )
+
+        # helper to create tags (positive and negative) on report line creation
+        tag_name = fields.Char(
+            string="Tag Name",
+            help="Short name for the tax grid corresponding to this report line. "
+                 "Leave empty if this report line should not correspond to any such grid.",
+        )
+
+        # fields used in specific localization reports,
+        # where a report line isn't simply the given by the sum of account.move.line with selected tags
+        code = fields.Char(
+            string="Code",
+            help="Optional unique code to refer to this line in total formulas",
+        )
+        formula = fields.Char(
+            string="Formula",
+            help="Python expression used to compute the value of a total line. "
+                 "This field is mutually exclusive with tag_name, setting it turns the line to a total line. "
+                 "Tax report line codes can be used as variables in this expression to refer to the balance "
+                 "of the corresponding lines in the report. A formula cannot refer to another line using a formula.",
+        )
+
+        # fields used to carry over amounts between periods
+
+        # The selection should be filled in localizations using the system
+        carry_over_condition_method = fields.Selection(
+            selection=[
+                ("no_negative_amount_carry_over_condition", "No negative amount"),
+                ("always_carry_over_and_set_to_0", "Always carry over and set to 0"),
+            ],
+            string="Method",
+            help="The method used to determine if this line should be carried over.",
+        )
+        carry_over_destination_line_id = fields.Many2one(
+            string="Destination",
+            comodel_name="account.tax.report.line",
+            domain="[('report_id', '=', report_id)]",
+            help="The line to which the value of this line will be carried over to if needed."
+            " If left empty the line will carry over to itself.",
+        )
+        carryover_line_ids = fields.One2many(
+            string="Carryover lines",
+            comodel_name="account.tax.carryover.line",
+            inverse_name="tax_report_line_id",
+        )
+        is_carryover_persistent = fields.Boolean(
+            string="Persistent",
+            help="Defines how this report line creates carry over lines when performing tax closing."
+            "If true, the amounts carried over will always be added on top of each other: "
+            "for example, a report line with a balance of 10 with an existing carryover of 50 "
+            "will add an additional 10 to it when doing the closing, making a total carryover of 60. "
+            "If false, the total carried over amount will be forced to the total of this report line: "
+            "a report line with a balance of 10 with an existing carryover of 50 will create a new "
+            "carryover line of -40, so that the total carryover becomes 10.",
+            default=True,
+        )
+        is_carryover_used_in_balance = fields.Boolean(
+            string="Used in line balance",
+            help="If set, the carryover amount for this line will be used when calculating its balance in the report."
+            "This means that the carryover could affect other lines if they are using this one in their computation.",
+        )
 
 
-Adding a new fiscal position to my Chart of Accounts
-####################################################
+
+Fiscal positions
+----------------
 
 .. note::
 
     If you need more information about what is a fiscal position and how it works in Odoo,
     please refer to :doc:`/applications/finance/accounting/taxation/taxes/fiscal_positions`.
 
-To create a new fiscal position, simply use the ``account.fiscal.position.template`` model:
+Specify fiscal positions in `data/account_fiscal_position_template_data.xml` file as following:
 
 .. code-block:: xml
 
@@ -303,123 +591,74 @@ To create a new fiscal position, simply use the ``account.fiscal.position.templa
         <field name="name">...</field>
 
         <!-- [Required] Set the CoA owning this fiscal position. -->
-        <field name="chart_template_id" ref="..."/>
+        <field name="chart_template_id" ref="l10n_XX_chart_template"/>
+
+        <!-- [Optional] Can be used to specify priorities of the fiscal positions.
+             When few fiscal positions are available, the one with lowest value is used.
+             Zero by default -->
+        <field name="sequence">10</field>
 
         <!-- [Optional] Add some additional notes. -->
         <field name="note">...</field>
+
+        <!-- [Optional] Apply automatically this fiscal position. False by default-->
+        <field name="auto_apply" eval="False"/>
+
+        <!-- [Optional] When set to True, it can be applied only if partner has VAT number. False by default -->
+        <field name="vat_required" eval="True"/>
+
+        <!-- [Optional] Different ways to restrict fiscal position usage depending on delivery address.
+             All values are empty by default.
+        -->
+        <field name="country_id" ref="base.es"/>
+        <field name="zip_from">...</field>
+        <field name="zip_to">...</field>
+        <!-- You can also set country group. In this case counry_id, zip_from, zip_to are supposed to be empty
+        <field name="country_group_id" ref="base.europe"/>
+        -->
     </record>
 
-Adding the properties to my Chart of Accounts
-#############################################
+You may have as many fiscal position as you need. Check `l10n_es/data/account_fiscal_position_template_data.xml <https://github.com/odoo/odoo/blob/15.0/addons/l10n_es/data/account_fiscal_position_template_data.xml>`__ for example.
 
-When the whole accounts are generated, you have the possibility to override the newly generated chart of accounts by adding some properties that correspond to default accounts used in certain situations.
-This must be done after the creation of accounts before each one must be linked to the chart of accounts.
+Accounting reports
+==================
 
-.. code-block:: xml
+Accounting reports should be added via a separate module **l10n_XX_reports** that should go to the `enterprise repository <https://github.com/odoo/enterprise>`__.
 
-    <?xml version="1.0" encoding="utf-8"?>
-    <odoo>
-        <record id="l10n_xx_chart_template" model="account.chart.template">
+Basic `__manifest__.py` file for such a module looks as following:
 
-            <!-- Define receivable/payable accounts. -->
-            <field name="property_account_receivable_id" ref="..."/>
-            <field name="property_account_payable_id" ref="..."/>
-
-            <!-- Define categories of expense/income account. -->
-            <field name="property_account_expense_categ_id" ref="..."/>
-            <field name="property_account_income_categ_id" ref="..."/>
-
-            <!-- Define input/output accounts for stock valuation. -->
-            <field name="property_stock_account_input_categ_id" ref="..."/>
-            <field name="property_stock_account_output_categ_id" ref="..."/>
-
-            <!-- Define an account template for stock valuation. -->
-            <field name="property_stock_valuation_account_id" ref="..."/>
-
-            <!-- Define loss/gain exchange rate accounts. -->
-            <field name="expense_currency_exchange_account_id" ref="..."/>
-            <field name="income_currency_exchange_account_id" ref="..."/>
-
-            <!-- Define a transfer account. -->
-            <field name="transfer_account_id" ref="..."/>
-        </record>
-    </odoo>
-
-For example, let's come back to the Belgium PCMN. This chart of accounts is override in this way to add some properties.
-
-.. code-block:: xml
-
-    <record id="l10nbe_chart_template" model="account.chart.template">
-        <field name="property_account_receivable_id" ref="a4000"/>
-        <field name="property_account_payable_id" ref="a440"/>
-        <field name="property_account_expense_categ_id" ref="a600"/>
-        <field name="property_account_income_categ_id" ref="a7010"/>
-        <field name="expense_currency_exchange_account_id" ref="a654"/>
-        <field name="income_currency_exchange_account_id" ref="a754"/>
-        <field name="transfer_account_id" ref="trans"/>
-    </record>
-
-How to create a new bank operation model?
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-.. note::
-
-    How a bank operation model works exactly in Odoo? See :doc:`/applications/finance/accounting/bank/reconciliation/reconciliation_models`.
-
-Since ``V10``, a new feature is available in the bank statement reconciliation widget: the bank operation model.
-This allows the user to pre-fill some accounting entries with a single click.
-The creation of an ``account.reconcile.model.template`` record is quite easy:
-
-.. code-block:: xml
-
-    <record id="..." model="account.reconcile.model.template">
-        <!-- [Required] Specify the name to display. -->
-        <field name="name">...</field>
-
-        <!-- [Required] Set the CoA owning this. -->
-        <field name="chart_template_id" ref="..."/>
-
-        <!-- [Optional] Set a sequence number defining the order in which it will be displayed.
-        By default, the sequence is 10. -->
-        <field name="sequence" eval="..."/>
-
-        <!-- [Optional] Define an account. -->
-        <field name="account_id" ref="..."/>
-
-        <!-- [Optional] Define a label to be added to the journal item. -->
-        <field name="label">...</field>
-
-        <!-- [Optional] Define the type of amount_type, either 'fixed' or 'percentage'.
-        The last one is the default value. -->
-        <field name="amount_type">...</field>
-
-        <!-- [Optional] Define the balance amount on which this model will be applied to (100 by default).
-        Fixed amount will count as a debit if it is negative, as a credit if it is positive. -->
-        <field name="amount">...</field>
-
-        <!-- [Optional] Define eventually a tax. -->
-        <field name="tax_id" ref="..."/>
-
-        <!-- [Optional] The sames fields are available twice.
-        To enable a second journal line, you can set this field to true and
-        fill the fields accordingly. -->
-        <field name="has_second_line" eval="..."/>
-        <field name="second_account_id" ref="..."/>
-        <field name="second_label">...</field>
-        <field name="second_amount_type">...</field>
-        <field name="second_amount">...</field>
-        <field name="second_tax_id" ref="..."/>
-   </record>
-
-How to create a new dynamic report?
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-If you need to add some reports on your localization, you need to create a new module named **l10n_xx_reports**.
-Furthermore, this additional module must be present in the ``enterprise`` repository and must have at least two dependencies,
-one to bring all the stuff for your localization module and one more, ``account_reports``, to design dynamic reports.
 
 .. code-block:: py
 
-    'depends': ['l10n_xx', 'account_reports'],
+    {
+        "name": "COUNTRY - Accounting Reports",
+        "category": "Accounting/Localizations/Reporting",
+        "version": "1.0.0",
+        "license": "OEEL-1",
+        "depends": [
+            "l10n_XX", "account_reports"
+        ],
+        "data": [
+            "data/account_financial_html_report_data.xml",
+        ],
+        "auto_install": True,
+    }
 
-Once it's done, you can start the creation of your report statements. The documentation is available in the following `slides <https://www.odoo.com/slides/slide/how-to-create-custom-accounting-report-415>`_.
+
+Functional overview of financial reports is here: :doc:`/applications/finance/accounting/reporting/overview/main_reports`.
+
+Some good examples:
+
+* `l10n_ch_reports/data/account_financial_html_report_data.xml <https://github.com/odoo/enterprise/blob/15.0/l10n_ch_reports/data/account_financial_html_report_data.xml>`__
+* `l10n_be_reports/data/account_financial_html_report_data.xml <https://github.com/odoo/enterprise/blob/15.0/l10n_be_reports/data/account_financial_html_report_data.xml>`__
+
+For the fields meaning dive directly to the source:
+
+* `account.financial.html.report (v15) <https://github.com/odoo/enterprise/blob/d4eff9d39469cf3fe18589a1547cb0cdb93f4ae9/account_reports/models/account_financial_report.py#L59-L75>`__
+* `account.financial.html.report.line (v15) <https://github.com/odoo/enterprise/blob/d4eff9d39469cf3fe18589a1547cb0cdb93f4ae9/account_reports/models/account_financial_report.py#L931-L964>`__
+
+Menu for the new report is created automatically. By default it's located under *Accounting >> Reporting* menu.
+To create a dedicated section in Reporting menu, you need to create new `ir.ui.menu` record (usually in the main `l10n_XX` module) and set it as `parent_id` field in `account.financial.html.report` model. Example for Belgium localization:
+
+* `ir.ui.menu record in l10n_be <https://github.com/odoo/odoo/blob/15.0/addons/l10n_be/data/menuitem_data.xml>`__
+* `parent_id field in l10n_be_reports (v15) <https://github.com/odoo/enterprise/blob/d4eff9d39469cf3fe18589a1547cb0cdb93f4ae9/l10n_be_reports/data/account_financial_html_report_data.xml#L11>`__