diff --git a/Lib/importlib/_bootstrap.py b/Lib/importlib/_bootstrap.py
--- a/Lib/importlib/_bootstrap.py
+++ b/Lib/importlib/_bootstrap.py
@@ -763,14 +763,11 @@
path=path)
@classmethod
- def _path_importer_cache(cls, path, default=None):
+ def _path_importer_cache(cls, path):
"""Get the finder for the path from sys.path_importer_cache.
If the path is not in the cache, find the appropriate finder and cache
- it. If None is cached, get the default finder and cache that
- (if applicable).
-
- Because of NullImporter, some finder should be returned. The only
+ it. Because of NullImporter, some finder should be returned. The only
explicit fail case is if None is cached but the path cannot be used for
the default hook, for which ImportError is raised.
@@ -783,10 +780,9 @@
finder = cls._path_hooks(path)
sys.path_importer_cache[path] = finder
else:
- if finder is None and default:
- # Raises ImportError on failure.
- finder = default(path)
- sys.path_importer_cache[path] = finder
+ if finder is None:
+ raise ImportError('no path hook found for {}'.format(path),
+ path=path)
return finder
@classmethod
@@ -924,29 +920,6 @@
# Import itself ###############################################################
-_DEFAULT_PATH_HOOK = None # Set in _setup()
-
-class _DefaultPathFinder(PathFinder):
-
- """Subclass of PathFinder that implements implicit semantics for
- __import__."""
-
- @classmethod
- def _path_hooks(cls, path):
- """Search sys.path_hooks as well as implicit path hooks."""
- try:
- return super()._path_hooks(path)
- except ImportError:
- implicit_hooks = [_DEFAULT_PATH_HOOK, _imp.NullImporter]
- return super()._path_hooks(path, implicit_hooks)
-
- @classmethod
- def _path_importer_cache(cls, path):
- """Use the default path hook when None is stored in
- sys.path_importer_cache."""
- return super()._path_importer_cache(path, _DEFAULT_PATH_HOOK)
-
-
class _ImportLockContext:
"""Context manager for the import lock."""
@@ -1001,7 +974,7 @@
raise ValueError("Empty module name")
-_IMPLICIT_META_PATH = [BuiltinImporter, FrozenImporter, _DefaultPathFinder]
+_IMPLICIT_META_PATH = [BuiltinImporter, FrozenImporter, PathFinder]
_ERR_MSG = 'No module named {!r}'
@@ -1196,12 +1169,6 @@
if builtin_os == 'nt':
SOURCE_SUFFIXES.append('.pyw')
- supported_loaders = [(ExtensionFileLoader, _suffix_list(3), False),
- (SourceFileLoader, _suffix_list(1), True),
- (_SourcelessFileLoader, _suffix_list(2), True)]
- setattr(self_module, '_DEFAULT_PATH_HOOK',
- FileFinder.path_hook(*supported_loaders))
-
def _install(sys_module, _imp_module):
"""Install importlib as the implementation of import.
@@ -1211,6 +1178,8 @@
"""
_setup(sys_module, _imp_module)
- orig_import = builtins.__import__
- builtins.__import__ = __import__
- builtins.__original_import__ = orig_import
+ supported_loaders = [(ExtensionFileLoader, _suffix_list(3), False),
+ (SourceFileLoader, _suffix_list(1), True),
+ (_SourcelessFileLoader, _suffix_list(2), True)]
+ sys.path_hooks.extend([FileFinder.path_hook(*supported_loaders),
+ _imp.NullImporter])
diff --git a/Lib/importlib/test/import_/test_path.py b/Lib/importlib/test/import_/test_path.py
--- a/Lib/importlib/test/import_/test_path.py
+++ b/Lib/importlib/test/import_/test_path.py
@@ -94,57 +94,9 @@
self.assertIn(os.curdir, sys.path_importer_cache)
-class DefaultPathFinderTests(unittest.TestCase):
-
- """Test _bootstrap._DefaultPathFinder."""
-
- def test_implicit_hooks(self):
- # Test that the implicit path hooks are used.
- bad_path = ''
- module = ''
- assert not os.path.exists(bad_path)
- existing_path = tempfile.mkdtemp()
- try:
- with util.import_state():
- nothing = _bootstrap._DefaultPathFinder.find_module(module,
- path=[existing_path])
- self.assertTrue(nothing is None)
- self.assertTrue(existing_path in sys.path_importer_cache)
- result = isinstance(sys.path_importer_cache[existing_path],
- imp.NullImporter)
- self.assertFalse(result)
- nothing = _bootstrap._DefaultPathFinder.find_module(module,
- path=[bad_path])
- self.assertTrue(nothing is None)
- self.assertTrue(bad_path in sys.path_importer_cache)
- self.assertTrue(isinstance(sys.path_importer_cache[bad_path],
- imp.NullImporter))
- finally:
- os.rmdir(existing_path)
-
-
- def test_path_importer_cache_has_None(self):
- # Test that the default hook is used when sys.path_importer_cache
- # contains None for a path.
- module = ''
- importer = util.mock_modules(module)
- path = ''
- # XXX Not blackbox.
- original_hook = _bootstrap._DEFAULT_PATH_HOOK
- mock_hook = import_util.mock_path_hook(path, importer=importer)
- _bootstrap._DEFAULT_PATH_HOOK = mock_hook
- try:
- with util.import_state(path_importer_cache={path: None}):
- loader = _bootstrap._DefaultPathFinder.find_module(module,
- path=[path])
- self.assertTrue(loader is importer)
- finally:
- _bootstrap._DEFAULT_PATH_HOOK = original_hook
-
-
def test_main():
from test.support import run_unittest
- run_unittest(FinderTests, DefaultPathFinderTests)
+ run_unittest(FinderTests)
if __name__ == '__main__':
test_main()
diff --git a/Python/import.c b/Python/import.c
--- a/Python/import.c
+++ b/Python/import.c
@@ -268,8 +268,8 @@
"# can't import zipimport.zipimporter\n");
}
else {
- /* sys.path_hooks.append(zipimporter) */
- err = PyList_Append(path_hooks, zipimporter);
+ /* sys.path_hooks.insert(0, zipimporter) */
+ err = PyList_Insert(path_hooks, 0, zipimporter);
Py_DECREF(zipimporter);
if (err < 0) {
goto error;
diff --git a/Python/importlib.h b/Python/importlib.h
index bc4c0d9638e4f8f252a80b871ad40a9fa85bf97e..402cc9f81361a99e9ef1551a95b2dbd5f5de9c26
GIT binary patch
literal 169198
zc%1Eh$+9fTah=xuieAG?LPpLhnHKs0nsG0a!9b}+!bF0!7Px?9`gc`^PscqxGP5ok
z#05#b#(VcxWn@eqJ{%w7m%sSozx>nh{^8&M&5ytR@uy$^?#KV}!(adYhrjy$@Ba25
ze*4S+`O}X-{+}Oz^_#!{$A9?gcYpVrzy1&Z`1>Dz@yoyXr{DhX-~7#Q-%tMczy0-3
zKm6*ie*de#{FOcQU;o<=|M`di`xigF|92d(q4Q_0f7hqpzs&q;Da&h|_SZ%^|kL03qLdSzsvdWG)kNL{K(&}{O{(UnfT*fhEm_}pOM!W8B-}b8hdJyFQvya
zCBu;4eoR_*jx5>9j@}`4~oCWTD3y2Q`MF>&!=)
z<+vrIDzfII41PSaVbKZ|UZL{``eZ%V=6t?X0yygGz_2En&lF~>i&Z}&0_ByfpVGJ{
zd8@A4G$TF9T1*Q+HuCUj)!u^~CmH(tVHsEvS}WAzsH@5JrUP4%%qQ7&8IUaNq|eL3
zaWC|kkkBj>n8QMhj@oD0wmEG3C@VA1IIKBryRP>vZd0?@y67xm8Nb>7CeXWfi+#JskM;VE=O#7_@=c<
z-E;1Gl_%E{n$ibDfi~xhCLY5M?@<0H%cFY&pW5&bXex_FjBANwkYhb{S%altT
zOoZ}AA&@mL;|eDj-?-@;>1738=7@NWtGkBPot0R){U%Rtadr6vYAS4^9u8?Li@Hs*
z>16a}T>~XiH{K8EQs
zUs!nm6Kql?*J()U$1^Sf5lOsxfm--a-GSQ&r
zr6Yayp8Ywjx;{L**{!~=N&WHtEYIG$=AY{DMFiC~S$J)DxFhel4WPbvz!ltupvR)4
zfxWkB>z6G}@%(ebdPGzFhLo`0kE{zXYg|ItT&QE_{wF521wQLdh2L;)*Xl{9JM21=
zQ6A#KHZTUIv<-b@}A&tQHTAf#;18a7_s
z?WnIYA;5D}LXc5&R~vubAp_VvYF5X8NlJxYONU^$X2&TP&-FZb!hw9WaN{enr(Ti
z*3v}^_%WH}ZY#c!C8QRU()j0|Tx>#Cklji$Bvts3$CjXK2<)^LN@4%C=8|C5g1Gpb8N
zQ{wOHZ_7CWnlP|^_sZsN?&QH%L|)@gUVTnMyMdna2TaeFzVq<`gR^A{!1DtJXN#ME
zcEIp#8Ij}%Y^yX}aLzd8ZNSZ`{UzssABV5*&Vge=7wT*89Dqnp^}~yEpu(_6P?N2O
zoC95tk$AsN(y{Zg;KAG~%1K|2O2TzgFiD{W*Nx1GMXF6wq^jt%8-Z#DL<28;PwcJg
zzZoR6#`?qilaqH&r-e$mNPTdx7W&zAKKJ}IRL0X(XR9nS(;NQMEGZqgl!Hb};qB?N
z%?Ff1z4h2;hf>@!KILz2qDs@OFwi#cHq#Tpt#Gg?NpHr1oj>ST?WqnYEU&@+aSE2u
zs#CPix5CU-`Cx5FHLDT91+}df{&H5etYBkitgB2|UUu0+QG#{CH(WP%sNgxo>&B|<
zwcXEYV^b#U5{)=(em9*J$3E$-$fhWOF}%Evzp@!2rqWVQ^mr!nHIvy{xdSWYW)Ois
zz{1H|+X-Qb!NXu&fz35JIAkA8qy4w<{NMSrkfR+!71qMA7?da*447z*<)3mkGRTy!
z&nFHOl)J4M8%Kk^7ED=?2ZOYhE<{w9dTNYsEGkqz%7gPh-#spRo(DV6roOH4?I^Ng
z9zZn6&ccI+R+teLunjQX=_SG?kNst+MzN)&xn;ybK{3APlsS`h
zhF9$);hB{~I@S^SC$dO91JUS4&UWCry60q(8Ge7=bi)aDO>Fhf+Y^Ax2{q|_D{d4M4nux5CLzvB=16Y_cuc4EB@M<!RjrZVNq+bf1gCff
z6l0(m4%p0Tf6fCZtgjf>R()0H&P~Am6n>!p`N=L6s3zud7{>vBg|Y)s*CspR6>KwORU>C+2!N%glV7{1E+s%w7hD0tT;w
zDSGsfeG%-*3UD+wAFwY|gg@5K!1eGPIfRM$#rGQ)$Zj(hU+qxGSH?4{vzSGC1{7EB
zC9`XKzVB4YF)>X|isNcKF1zTnr#`(Y3+o|isv7NNe$=2*5L=`ZG4WP&iZ!WMQJraL
zHnfu`|0Jt@SIucRkWPHEk+Z1p=a0%+wEZadhtNuGaR&ZW=MkfWIy&6*;Fff%JOrD_
z;gOv=f%=N>3j$<>ZO4#WG@cynC%CpMn+_09qhIg>INAFxoj@XA?3gsHSxnxrdxtk>
zJS(c`{j2iEs$U#0*B{zzt!B~b?=b5G&!=gWvYOi~@ZZ%qbm5rr5J#XUk~^QGDY#Qg
z2NbjnJEc>0N_Pyk;ZrJ#!@GCQ6?hSz?ro|Klmk?qH3Vcw$DR31$r~ned4-=XKF9~-
zMBN^u^s)xRKZ^wEnEgMP=#TL>(t2g&f!;6!PJKqs^YI;8rVxe6Bc|Yt_(x2^^8+}F
z5ECK&EX@pgs~orOFbMpLyYcVx_Kus{v3TQ3*zzr0!vniUqp$dl0*O~>bcf&U4P$T5
zKT%z>vIfI=0y_U6c#*In#$gI84aAFzjOCv9b;ptnLt_$vJD~<4^jjbDW}2Pt;9_*K
zS{ysx#$u>2Czap}u!r}PT}pIOvVBa4Kg4C+g#r-;iA$aV3Lh=GnC;lfl`#I^+A;{^
zp0?aseRHHL$HFM3j;NOx>$&Q@z2`iSgzad00!IoE^cgoI#yU#i!ZfVbGCgg_!kgiP
zHqyx^$3jL6CxV&RXU76gM7A;RScvALA8QI^hJkfL?_7+jIabI(sj@vkP=7EFo5R-L
zYqyyf;!3;a4gT7JI-D=(6Z7+i-MB1*;vA2!pxLezsM57FdmDgVureFYlaU5^0Bt0j
zkDnL^a*CqNz?cg{%82NCSeBTj24f+pGrf`{2S?Go1sY@g0+{|ZLIb8|DO4Is%q^!u
zp?|Yl8$C)r)PEX0%-ny1jlHd)xvn!AvvrKlcnxolYW1LG>_Ylu_76IBK&HHM4HyPWBqCO9=u)vqfqC3Ve6(E8HqymnwD?!tq5@6DxUjVnCP2$#VS6ll
zNw+>(Vr4NG{X54+GKfz9tbjDOzr*H~UpCn5p!_jaL3mJJ4{1~og!Vu*2gSrZlZ+Zz
zj`6G<(4hvD2uOc?@QDWpFppzH&MZja`Su0nK{F#8BPvY{PzW|*$c3sZDic0&NSI;z
zIRif5rjouP;F*|^?CZRpoR=|sFD;M;y>cab6&Uxea^*r#O$U?65mhCLV+Ga|(nmH6
zs9IgD79HUv<*Nfyd^sB0hdn&<>SgiGcUb4Q4T974Pp2-r;lUtqU4@W?H@S#*7ZvRk
zLyvvdk7nhSwCcZG#;$mhyr
zl$F85)h=4yM}&*;=b#^Yr)uHa3DUvFt#|HS0!Og=L7Au52(~CWX3wXk?8xzI6=*hu
zI8fz$axaxd!kEhdlWtJt`jkq7vky6R+ukIY~kPq0LugbF0TUdXfj2C?IIbSki%Ui
z%%I@t7TU=NE$)How<5hXdq9}`D7m3cJR{FnQ(6UQcj1GYN2}v8MToa;Fy&Z>yA3ad
zVNQX-juD6VS1Yv@7Cr~-ICMo7r!1Q_3iwA@W(^&bG~B+S5(6NGd1i`ki1ZAwled+0
zlhCWEFI{z=Sv#<(l8Fxdsy~{LIh7a_QA*Uu$$&|xD2)kf+5?cY#G$VGCQuO<)hId&
ziATx`8YI5YtwuV%_j<3Xo!e>~x%o%7Q$c$_NNG!rAw*B@^(o2}eZOlznnC*X0T_s<
z%rlqjfMwUIL@J6-6gw@fL=ssX&7+ro8&JpxWhG{}5~~et>n^AR6CjPL=yGFNT(qrL
zAohkBMkNO8At32aPy3d*nxkXoCVr!jrNdXtj5anY36^V6W1DNep;PcroLr#MWfY?}
zHAyjrL}6cey?MKkG{T?uS?A)k;>
z)GAcP#hyh}u6{%rkP3;lNz>ML3xgv$avb~tY07(Kf|lX0#cmu>BgScTe2cvdB3U29
zgMp5V_E}gP^FR&CCI|*Pg3VrdV+L3a-uRAd1>=O3SnNxtfg!9&5KU?x9>}A6>{-{~
zYfg3m7QW(Sugw=*+(^^TD0K0ZC#R}GwPePQ%v9lByx{JI-Jm&sZ(78p*p6bToNzD=
z!D(={EdFY98B?@#DwRc{7L6V0AqJ?x84l?@(pu7%AbB!x@3mKOM;P1>I=2SSV&u$X
zUl+(hI#+Kr^z5SA5Y7Q6FpbeuiV>!Qhyyg1=khmxceg7J|GKD*@Bum`=f!+8AEHBY
zUd;ID_zI0eg4+~4CA`cVCQTYDv&vgxQLbO@H!o?+XwkX+WS(L@4CR#0Il|~F?U-#d
ze0%^?Oul9*k~%9@BBtKTGI}h&$?YKlK)8pHo)N|1GlH6Arx^>Xihd)l1ZNk}sF<2!
z1G1=n0kmfRR|54doP`0ah{Z$1zYXU7%f=sS5!@HOW91jGI2ZwWHvUk`FwTw-zV{cI
zq@Y~_s|kK3l`$>NYHFN+YvFUd3DRp$Ib$-x_1JhZBesIE5gmhm=9Unbs1QW(T|VsE
zltAOMp19{Nl5;k&$|nVkL-@k;dU#WKOT?k*P!}0kDyqE2SgfVwD{5+P=03!D-{yy_Ew
z;nprEQ;9;ARa3GZ^enG_@-8mh>5)gCfS*vZro+rs!e`Jqf=;}0brr&;pNmnJ)iYZY&ZsMy~NdOSm+)D
zD~#fbEbKFKfmH)QWs@V3WWcMdmctaO=q#HxpzEd`PuU;jp!*wnW)9`zFG750B
zGGLZw7QlQAitt!e4@3`$>8%~>JEqofh@<;NUS8V
zz{Qm}36QvB7`f#nXZr3O5g`jCG5mA2~H_Imo_S(gW!eE?}1xC~Tu=LJ2a{W{6al?~s&zL|o-D@9A
z1wh}X7mhw)l=kCb9x#}?E1IuJJz*lmT_zX1LP{`MR&VW>_#W0}-Ph{H8&&?Of2)=J
zPGLu9GFWUOBx>@Ya8zZ@Un47G-p^@~PtZRFb7PO+9wDUAx0<%u0HAN!K;#V(S`^Bwx3ArIS-^cXQvEeNe14`-W2%
z1&~dJ5WR!ONRCCA4W1;9dR)F&);QK%a@A^8(~N$OByV45;N3Ah*gUaRTlcRr
zyT*m=e@
ziHF|o>m3KDCrCUQ^7~ATPMVv?q>32UV(XzZu|vO>&DKc&;s$Q{p_@
zq-uv617VX)>Y?juww~sgj;X{a?2@Sj_T_#{jHa7?Nk$8tfwv$Z4-Vx!6G~FBO2*s;$(`Ad-<(mqu9(-#l~L$K(QgbQ?my%#YT?N=G5?i
zUbV)IeOO_2%gWj|YK`3p)6;64N-&S=R2289JS@R!O?GuvZI1vK$`O=|+-g_GvkL4}6)E~=RX!A(k8rS`@ycKWF
zN1V(T1rKbdyB7&px07^A+X>}Gc9DSKMkDh(U);Jo2G`5|Z7kts2B$uqm6NPNb?wJ+
zWxzmBoE4lnOz-m@0L3H<*G#UOhSv($KWQRZRJOuen2K%-GEN8$2dP>cEFfBMI><<^
zTNFK{J0muh%2ZWzd;oG!rUJ({#Go%zNsc0mkqf<7s};gqvjdl(fo?hb)A3_x6SR+IK99e`XLL7N8fsdH4MU5
zD^pDjCF@KZ;q6Ud_Q2um9mpB5-VK|JPGawQT45=5{cbj|yBx+#l60~#@kSY+1}Oh|5)++H?2Sg9QRd4|st_t612?)X6NLP+WdrP
z^H6=rXj3ic3NmmJIHjo~(nR+p5Q9v$Hhl~+41t{{DF;nj7}8n0tU@vXUR{My_1i)NZHR7qIy3hHqezre{W2(wr@
z$#s-$SKjVohUPMMrU5emKg-=TGPnZ}4aGeAohAK5qWJ(02>{0}9O5e#CDfR1eX1UO
zvh_T}hi-`Sc%a_^yz`+sAMJZsD;@nfBOYZ)%1P9Fb&DyjyCFR9{St)BV3q`4NnsXx
z@kL-pgjo!WNdq&60JG@ht^Z=wqi#5hQ|()Y)R{IA3(E$jsu9l=(|qyOI1$x6ATweR
zqqc7-0-85aLIWZuI|?g^?l^@ET*yg5w0pTIcDO*KF7C4nc#oJrv(7ZvbwM>5@w!~dNIzThB5k(?1tj_!P;LZj`^bePHNmcuV8A11}jHdl&FKklbn&WxbQ6u
zy>-lI*x2tUhKHC%j-T<<<7li6c@&v3#VWU|F_7Kf6zf-rt8vEbj~vj=-onw94t;Wp
znvi@6Es=-ttWxBJnw$p&mP{=#y*EE7U4?2uiK?My)SLIkxv~|0uBYEq2
zOy7pK>!TU{Ji2y|I-JVjqG}$l#e=x3z8}(;g}NBpchIyW`tW3Rn5hoN#*7sAQ=6Vc
zxDW3rivH{6??j~JVaza&M`6rRKKw}-^AG}3E~0&AAHmi0OkOL?Mg^cTXPT1dzZT}x
zg<682MZ#i40pY5NDwzfj4vMI!{O%V>uCr7SwlHTo=kbzO2p~q}
zly~%ra*${g?R7_@2lztXZ?$0FDS|2JSx)#L8?3PT0sS)T$?gG*AuF=g4^VKo*?53t
zjw%b04T9>kYuGyBn%q0O=
zi(cDXu>YrB(_UO0!4@P`wWFu@Ouq8zLy(Y7p?kH5G#-AutM+JpO3+|FReMn5;r>2T
zd%EtF7`2g8sp&e7*?WZtbR9S&sPJ^WmY|(bi$vk^x=sK*T7}2!Iw}tP3J>Z!_3>Qc
zQKQP~I&en%3eSCD<+ZAlYdORjklx_bImSYsL{K!%o!A*!YXf~neQ^x%nfej~lb@?E
z4#j<@z6?=ReS>J&5qI&SZqOU*gTU=&>gz5=gK1HB8Lr1CpXoMUjPD9nA^Z6Q#pUwK
z-baXwP(f|^0C5r8a
zYgdt>?#OWAKvu_%jo?_G$J~gb_i6Z==`B8P&Uy5V{LGL{dS74RPGi^@r^%#RjH8~}
z!a8UbMSD1^TXkTdEc#YB)av|Bv<|*N`ds2Qd%p1Vv*fu?m2@H2--cqTFuZAWOMvbS&*Qd{4+g6GTKB0ku1&ox6TFTM_G3CNFC*++_+E`}LLy
zvs1yfdgF3{(Ygt?qrF0k5^b>{!3%GIDVSE59PD_hE0DyHHE)s0`4PDw^`<
zmH*wEH-nItHqy-
zS?vl45Sqs32!T3@As?m}9!$RQNUS6zsRZYCt?-2aL>8XYNmMxZ$Q9TdUR>y40Il3r
zZ1a~}$(>H!B%>Z;`;4~xA$0hk1$9jjy+y;Av^t(6tV(!>T`Hl{SDlNJ^<=kkUcE>-
zvQ*e@?l=RVI0%(1qT>uYE}&r{&Mf-OV&PKKYnF|&D6$$roa11}AOL)s9_GjyV7n`4
zP*!L|x;S2b)uL!g5{gA1|>&J;cQRl-W2?IGC?P_)9$^BZAeGpqWeg8e2D
zO})Aoiwfbab~p+k02iaYyS-jFz+E&GZm+k1gn`+b@Ifk|hPPm4cVT9+2*NBmxoP%S
zD|4l`bJAOj?)L_wPZvy=zfOj#toMNRd}%UN&Wc9|)odie4qgCACeA0nI4iqA;zfV@k9wwY_r~yEH0!}ec>ifbrXK{RVYMzC9*savZA9`A4VIt#Nb|4lj2G2A~G-RXwEUXu`1cM16;AcJzYJTi&8g
zGX}FcNw3~KxdP>Nf;$sMft{0L+p}7nm2@=bcRVkAub;~g*)SWs>meWP)i_pj(z*%Z
zr_m|d`Xj;aFx5d4v*#Ai;)#2-ll0N#L3$<`kUgK3?T?Y}gfj#D!8NAkAz-|YR7
zI-JZY*}kM1&e$1_`XiY*Zw3VZNFGt!luuz88|)X0FI*UPxu-jVtnr7t++-zE||x3z<2EP%FOnLVB0b;0HR`V7p#O
zc|p4ZS6;}5O{HE)$EGZ&K7!tPl>AIFY8Ot$VBYA3i>*)50@Oj*cto1c3ZG(^H?in|
z_?c9{h(!lguCc=6ojKC8*({AZd}G;5kFZOb$Ll+*2wzrhr#7~Ts8~%KU6sIVAF^2j
z64oapYk=i&xH=9lHFw#|B?>^#uVi9cuQe}M4la4W#n)asxb$Fc)6GD{!9{|4%AWeT
z+FuK&8=Wd!$Q@jl5%r(Awi-O)iEGRJC;*Y%xwf35n7FpOnF!4l8IQn^Fvd^(TDF)^
z{aW7!FZs-`WfMIMyx8`qjxBn4d!>#oQS^cD(DTok&(H7FN`s3^aFXVS*azr0d9$>3mB0KsiuPd2-&B%Kd@VhT6i
zqM4&hvHO}&3?%VaZYiqGJFrYdWZE2=2FBC`$gi7JsXxpp?%p5907G)bBC=1DZ~eyd
zTylue19RmMyU$AaiYLrWq%V2G)Ixdc39|+dJz+6n?2#wzyJvVL=p%4I?+IJBR25dj
zfuaP@Rbg`=eCh?O$D}bYZ8JduUOUTgA&)jF3e)QCRrVQ&-_nAAE&)jE8m7y#5*|)M^
zJHCPrQwd!&ml+-J0^ga|IaJ@-oVw1cv#dUtxz2tDcSf&RpnM44IXg^*JgIKo@tV;Y
zH@?;Jnst))_%)J$m*wG!@2q|{6!l#*$4+MN6=V2HvK?p-u$YWKr
zmm2LdpS5~{Hf8O>?UBFD1vJZ?#rq)16={zb^@d`dr`D6Q80QLgepumU-81BBK_#K{
z-!lWBkzjpZP~hnKmG<&G*)jYQrS1(1DdG()^!gbLT-kcK7Yf}|jRGeUMTI!c9lUWs
zOh9p)meyb?3i(+l7whc}h>>eO+*9K5$|~cU#xSAz5GV})%K)#$CyOfwCW@RAF*a?0
z8Ri6}8k8_IR^1h92AcPqPN;cnW}V2^2CqKI*?4ZwInV>VCyN);B6I00$Mq96Ht#9%
zm$4V^6sXer-()l^!K+l(|Ta_Kh%2k
zWPQ~>GoJmKedaaoZ2=v};QEOQYMV+2$Zl75da|{g5a?D>PQnUIsF$ARJwpU>cl-?(^eokeg!||7qOIkTh^8cYmBiR`9$Y
zY<}p#hw2a(_=fdK5#cuCMdmMK-S|BUCT9a4NBQQ^vFe)U1CC?$BWea5$Eti!Xj5xm
z@X#~?eXmKTde59FI9qHtFnz%|d7t0Ev5&f5KTRBE=YEQE*-c$=)rrmCzl>#lCg;us!_j}XJv+x0-ej6
zqVgI6Zv;pt5qy`bEw7Wdw0>uB%_3sQ+8gU3Mee-?oNl;wD2YrKMFiUq=sU`<_NJW~
zeQ^X?xb{E1A}AdZ&3kb(W7Woc0$O)nV;Lw(Eqp2$S)pbcwyXfKq-)#QF%KtBs+;*N
zm#B>{pe~;-1JQ7}Jl^0lh&)jR;sLtRMT6$!dn+gAPqjkt`H=t6YtpS3+<)(k0y^n<
z_T3Dgk#Li0c%p4QE``RzdyS5D5B==%CH~IAbo;S(=OwG~86aGcjhC{3({TodLpIeTn!5&yV*rGVc7cR`A`)M6hdP!16#orVN`Oysrry
zyi8b$*X*eJPJ=~U)bng+4q0?ZB%Z}5zl9vm_gJ>$M4mc@ik-hFxrWxp%iNyVz*W%P
z*w}m%NvE5Tx}$t9@Ys3qYyiz!Ta;kaJ}_t1n}tymyrcCWq?+AS%?`=8Sb($l0rYD)
ze9qkMOsaknnVcJ=BKvd|a6vy`pR>3Hvo|=Q1Lw|fKV!Xo!=6VTujvtXl$JzyBdkkc
zMya0+4ph3XF#hi!m0{PfEM4s_Mt}`R@^p-D+QDX^byF`#E!!JHSlqv^2GezLS7*vxG9FuJw#d|~_(#PgHk}gAsfZqO8~)rch)K=CaZ6+v?Z5rg))4
zwF=Eq4^pD9rP0m+=8Fcd3f~E3?)U+5K~@Im#!_>-q8OM>R@RlrfAS;#;7nc_rZK9*
z>|XRnI2Ban&YEKZ4})q#HIB=G)>Z-e$feWhbjOmlg0LE#gXzd%0D)&k1oq?7AryTk4n4GQ@)51N~No=O6NF7<2^G2TufM0?6Yus
zF*HG;?CFxcfR96a5?xZ*$|u3^O(@;-s%zs2=qWAsXzJpLGou2i8sk{;(o>bw2gd#V
zQT2`;Ub!rgzVgsbrhHvBxaTvHG)XD~bHGk@Ij_-udl0X~8Re+?n8y2X#-ztBbU3`4
zaK^8(u5pMA$m_S4iZCmfeRJcSb+0<3VW}t*lnZtElNiK0=(b)@Tx)m}_jySoS(u;p
z*2Mbt!~D3-2gR?zfcR4JD=>jC8A2Pnrh?qXv%}?-*sF=#|;kY1rWsNUD*)72fiTjQ?LFR`B>o+
z^#$8A64U3)LxizNoL^BpV)Sp>aWr)soF8iN$7P?8iku>r?--b@4oK;iwlw6!j)hzw
zIDj>jU+z-Kt3tnRax}cggMJ!zIH^|+!nncT!P*uCNEsM_QBq~WR^ZSwre~V5h^b!0
zna8uHdKU>t6HXXc!`SMaLgi=$-Bc`(!E7*8@D*y%5@?{}WCLBhTm+fH&@ucA_!0Sr
zT7wFP-DYm-^+O6qOFbR{+dENzGQk9d76q<{E=L_TcqDGiAAoW9t%99e3k6VC^`})W
za6W+Nr`eFYB%g%Pa{OMTwhrJMav`-x`Ow9_>R`Qq;?O|EhD16@TmXPJM1ISh-bgT`
zV%%p$H#|sT+
zGK+!7Y(w1X8GFkR21xH$bC?(FQzFp=|2|~E5|uIFrhrhL
zDK4P7W;QN{sGrV4on=#>yNo%W)+P?&_Uk1Yb}dgPAD}<<d&ry7`{3twMm%K}TTNAZ5u?d7VCYl|$HrcGIpSGxAyIFlG&BT*BVBz`0D;BYzi
zVUxA_-!LW&D5~Q>dMlR{k8s$m0lduXEJmSqsd(^sFxAK5luNEi_@%pwY5;T3V5jF&
z(%I@Cs1WLAd89(Pk$s>-m<<1-3SoHKV-*5hf*1RY%*Zqd=5eD7uK!SlP%SAR3XI~w
z+mN6`b%A6WL_k$8O_ip+SXu5(70o=oIE_yGUIg@(PcbMuvZbgN%uUdaPI8W(m^^Kx
z71T0%vR|UA|M-5OCtAE?XF-R!<!LQD<2M*j>swc_*od-&n`#Pj;6ZRynm*B~qUZR(
zAi?(*Qd4gHa|9fJtK$PQ2h5fwI7T*#_s;Y+o6K3bJLpg}HC691oD!@ZbN>&zo}r-2gy*n#
z#@?^lWP^?uR1>sUuY0C<#PHs%ZY+Mk&$h<=)r!Ma2YIk#LEz}y6bfy1hMRC*hev)&
z?^otl8itw$6Xc#zKXkCZFX#&bx(By|L7yxZR*~-F_m5%)XY}LRV&j0SlTA^RG$f*+
zMuHv^C0c)&B}SDV-P!l3_4@8~t*?umUIj8Gtw}jYQ-f^M8KuJ{nbu6?ay5e+|z4x
zIy_EoAcI|Tve0UMb+Z(=SI{g=Jz+FZ;^|?uV~uO^t7Ji>pe4J}KyvcTqf#$0FJXNj
zjYl7NND(PFor9`7}a6z5Nq&K}o-DcRKE{t>`E=%NUDsj}*d@Fbd%j`h-f>
zi^tBsB*J=}Gu{zxolz_%E2`cYTb4^68>+E3N_zgdxwTC$4Y3W(2cpM8k309$8B%#o
zG31^Op6qfg7LZW7api{6E0>sPeTC7gItC1EJh_GA3AM?-oA6gTV<@J}vnq#(G6F9e
zL-7L}(U`6`6d&7&sLNl};ps&~8&rRXuW=r>hhKs#MF)C|^O^lphm}{=Yhl$3JU!sF
z``zk;H9zP;E0e6|?LNz^T8Oi}Ku^p)fS2<^(Cs@^XukvP{ak$qq2`
z>~^J|PoJ0T47vs*xG=YT0L}UQI9R7>j&YQ$5Un@J2UuAkSnr@ZbeS9>@MIvd`^@_#
zq#JFh;ypSaBPC*o@Gd7w3wdZQ*j0_G5sdd}w?}`~1HTxPBFr@RA6&T(R72_DGyQDg
zKMt1ENuUHq__YK|1>AaI)dfz~fOU5%*u@1pW4VpTsoyYRf0>A8jVv!L91^3eV-&WK
z%i#9Y&ZI*GI1B~|7Z@I{s*$|lYKGoiU25X;Mes8p
zyJ$c(BOd;~ck7D^22($P57txM%IPlc23P}jAv`W5LF6zZwf8G09KL7*sfkJD1m^P!
zo(X?%>orUAdME+l*$6~)NvM>AfF*RQjIRjP8I4|G@lCY>IESCXm!`vj?tq!=8JNZI}3R#nDn8>}X-scDOn
zN_UoOMO>n~x1An
zx$m#n_4*g7;&m4i*fNFo|}5^^7Hsg4=4hM_Z0ehnn)`5BrbSbpsgOE!<-)M{H}~OV~$^
z3qw2QCKUEu645UU5|IEBj|xyhEF4GAsj{i0suO_9$1dMxeWAH|zjXK9l{E#`LzdUP
zy;1;%(`a_o$*<@K|npx=e!B
zDXI~A*CQ*na1^>}Ls>f)tJB9sV!R(8W;LfeD(;2HI5NFw3R#XjJSRF*l)|C+o97dn
zd4_3Lb9NfxD13ezVH2Ncw%KX4g@F{-&xGfA@?G0$<!G47TrB?JsK1|3XiXZr?)pYK
zJO>xlKJ`VNf8g>Aqs7&o(z~ljIICIxL-bweDiX;XCdMz7Y>WEgvnxrQ0}axa<=+jS
ztqIF86!zB!E~Lb{q4VYPatvzb?;3G-zM$qIl07dnFkRnHB6@*~#7~r^051(n#-b>7
z(`THX!LA`g2Uj_(blUGT3`3u)^#sR9>!EV4tIiTS>`HX0L-ZT%p8-i$Q(P{F(YkVy
zCP=x;N=)Zhl9K~)Ec)H(KQ58_+l0<-u?_`w0hm79u$a^zxeCwpWIHO5mtuQ
z;GGl)Lm0mJ@Z&3oT*tgGSQBjKuOO0{jr}-%E5EonT>Y|`R`K>7;IXQda
z*^LH_&Y)C)m_#gC6tFZZnYdy0XFP;;x`ia56^AH(y$YoLrBmhWFiwYW#xg@F!$
z3qb_SQ5BFDDS}C;fd5M2QB&S-(x*^d3P9`Uhag9SZvZ(y$UZey?~B=|wBe6sos8!L
zqnN|R>Dc(S^tIad*Yed)0)$~b=<(#0LkMH>b$MYPwi;y!fp$7kf~+5z~WzFd2*FywvCA4ol%s?h46Q
z&D%IvKrOMcG7IW7rj(s+*8O!%bn`Yh;0}vj$dG2BNa+RovQT=~*-A#(Wp|bDOYc+jZsuyCY}`Gh|ij8M6y^i#PEHr
z@W$NP7`K>XF>$}ScFUxV*l)5h*>Jcit+hqJcSUP+*%KWCKNn3Q4@`MIj6>);Ft@!c
zoUn&TEb3d{fdEK9Ufro}7h%dG1B&)yK{=bh@l4H(%ZT^X%aoNMFl7O>=`lRe#aI*w
z^RE9jww#Tsm~frB{lM@oP94b(h`;y&6f=-p?wRlJ!tVrJgazlYRKT|x7%BPMwbeP!|dK+$hX*eDM!rB26wRb)#@m#)S2}{DH>cjO7!0lO^B@Yxbn~h1|u<
zAhh&RgpM@qqfa^Tpacoh&ATk(|9uNN11QlaK?fOh
zKnYfXXjOe}m$gP$SCDAA?3D)i0re|t1k_x|py!wu*bnF&;YCgV1C%Eh{bELbf*P61
zYp_rsH4+dsl=g1}T~-`P9_XS`<;QZxPp~#%^`7=tSi3{SX;x*S5A!IB+=jKx7`T8V
zxe4fvgYLyFM0^X62svvy9%eJug;pGlpzAz>>$Iu(E#5I92eWBP0DD9Y9c$%!N;LiJ^#*@2D7UO@KPs2jdjf6!k8)5y%6kxHIi89&{7YD~&lu6&
zPKpf~j2hw7q|#$r1}Ij&K-<|vBT(UF;2x!7OZ``{otfVxwOHmbJgcrK!x1njzwp^l7-4gm>52`2GG=!E6Nxp{bWm4uZ9iSsDm-h;3ps&F*K
zSpU;%0YyqKhr7+66%A0Zpx@)7XFU`RfMfQwXuz!YOk|)$W?iQu*t4l;F>T(2A=Gt2
z{jtSYq+jP1e3DMy*lbBg|9#fB8c>!n>7z*{r%{>OfT*m35}9$>j>nTQ7)C1LVnuKKWK53bH~aPo7<;_Zb1#m-&0vWR5Wscu
zD^HOx#IQciO;b10C&<^~3mUY@S3iHtEUk{!*H0B|I7ydAk`+hr=2@DUw0MM@eXoG}
z0J;3E6kb+|x6-z{WdNm3oKU92L8^Wxc%H{M-es6+-V26jmC?uT{qv=m6-LvFUTi4{
zTzx*~on-|W{hgQP5~gz{KaYXyf?6A?w|Rs%x`gLC455*Fj!V&I!B#%x%kwFVqi*ZE
zD~u)O2~-6XDQ8}}4=~@8p((J{Mfs#Id8Bh1#=>TQJ91^D>&ZW=lBz5FvzLaV9Y1N|=+)?PGmYjm2=
zb4CC>z?@x;PIfiGURiUk$!2uw_KF;aflv!3s3?ElIHpK|#zOvzQdR}oS}Y9^M!^GJ
zfR(71SU$Yl$e>TY9GRnfW(YOXoYI%e=IG51CZ?#Pn(6K_ZobmSk$3@eZi9pJq?^%I
zEcHy^QcpYlJ0L-DJaYcc!KRFfgQUHq%g#GhgPAzsC(tQ#>Kw(K6pbeov-Ox~MfOy_
z_AaOQ3Rhrca$c|$p}~8cHZ9QiaGokSev=hC+!)$_|VcAL|x4z$c3W0%q?EB?Y
zNWFdN`}M2=8IY`TSl+QrySO<^4PVp)MU4mDe6a>K^w=F+Jyb~zxYSK4@pq2^XFgkwO6~yX
zkh}N{aQ?P;IemaVjxJlbNvhxfxZ>)nidHXhA|9vu(4B~yLl{zJ&wAC=-EmTJ(K=b4
z9ikhwcyZBN7H?&)8QAa!Z*0$zbIrIp_m9g(b(nj%DyS7V$7P7!d;^&IDfW&f!p3pB
zI5%h(eh~#Q=>G29^qn%I3b^{%-E4S0u(@mI+ACuoqQ*6I?Ue~VKFEg8qN?w*;UUVI
z!X-tx^t0hZ#g4@)`wG2H;yGIN
z1@!EbN{L%&BmJ4DO5H}j)5D&{!16%JdN6iPDLL5`cq?4+g~m*&V`#GziT0{X*1)iC
z4H8$2w@G3*2u}3xnjPq2uX-O@o7X3yU8V9JI|!Y}dq+qjf;_3%MY!zFKbhl&*%eq|l%!G^O{_;z`V`X6(lNULzYZ^d?Ew
ztu>x#RhnDXH@jzCGj;3poN7A>B&|P#J*F22^3>w>>lSezQS^y>gP_<+34Cq{T%8O%
zo68_4l;D8CrLZOAu&V14O^u>5r)1Vr^I;{buBl%E>eKsoL}HzeZryI_c+wm3Xpqy9
zj&nLJ_|}iQ#lw6k*Wjyt1pB~F?6YI}tS)~Qwg%J>wp1;vNjApq$L85t!g=1h^}N6Q
z^<|Fp@Nj1~a}06sS~zNNbg%IlF1qQgozvRBa1na%1|vgi*60V&+=j!5L=3PC&xFO9
z+AI{u^nR0}nQAoKK8Ub`rTaEg7uOoU0l#h5ynl(^=vCQFx+V
zUaj?Iu7o(Oi8yti9aRPx8?DQ{wB)G^NLINnH>8w(57
zxS+v35Y(rQ>j_Ps73fsVZ
zRDap-1s&M(-S13vr`}#Mc*GeuH1NjKElu+^ZSINo-_zDFXh_@M+&2nQUX8I4wDl{C
zrs*l+p5H&^1#>XF7XW>xEtu{UzUMTuc
zajgE~QnKk-8*R*~gDR7p?jB-vhq?SQdEggh8AxpBYxE+f<7d>4JMp?fz=dk@Bam<!
zk$R=Wc=(F9hJ_AoM=0{&lbT+#Vsc#Yup8(7rnT2T-90@Qqv$AAa$5ev?4d4Z)&7Ry
zQ(UehM(Ypq(${C$m##$BxgSr!ELUXxC^S72Pcq@UqEIw}C`9+N;8(bVi|CzwD~wFi;0
z_0g|aMbfqTLRF*zr}yY2jZ;BogM^gKN)lNo)_1q6|61)tzk<(CZjz`fzq>$Hm#C_@
zk~fZjemcujH68YF5Nw{OniPYp&o}o7(06T?sf|Rw%d$!jD1Lp;K%OBq+b5F_7zjX%
zCl4jLq;33AKYg)@AKGMrvkM{SB`A4_EL?KvSJ2nC$z-scbj$D@Tr3dnyuvw)Qdb|#
zZnBJ=+QoemEX^+Dh}}9^wgaGO`J4Hb*z<}mN)!{O1lVd#acNA*GXiGN@Ona#vP6
zL%>ackR7+6wX)iP+lvBKjlObr13Z}&4Rjub$vw8Xl>ml_@nTCD!4=2`Ve`(jC8Bc)
zzZ;v|O%1Xd@l*KS?84KU6~7Hwv*+PGMrI@6I5W%8D!_|5Nyi$>Ki8Q8vr+~%&C2o?
z>XV+2`S35T?|yEo*wW7Dgq>o4Q|Qmcqjj3}cd9X}P3dp70J}w`hynofXR}$qb0yc$
zV>Jmo6f0T>bSyg9&37P}gx&DMSPVR~>NECr9E=nqu*+faA}H2@(QbmEQE}1m2@r|T
zM-^N(T@KcwynIrfWt+#o=t&BGpA8!C#_{SouB)gjGuyVM2_i~ck%#}+qW6%>*
zh*bU%DadelKwLgHAjozQqvf#y(V8%m_UgQw@0RZ-%Yt|SF67E{nj&oZtc=E0SpNI#
zHLk0(*4_h?XD&ytsveMOMyg~2*yi4lDgf0FNL6P)ylzRA;S!*jE~#Gfy$-3`aZea*
zhgAP`wyr~R9+2t=r0Nz@NEMy2!}08(#@oA=EEtD9Lw*FNM-h;OSN{XLq*G08k(XdMBYi
zx6p*SGd*8&e7eh`35W6m@0wu&E*(1bZ@DbEa03&6g9BlVLWu8j54!;eRpVNN9!P({
zbhAxNwPNcSO0adDx`C;eKjrWi5NggUsW
z0!^eL1-rd_PU4LV9LtKi4-)Di__Vx2A|Avl+8dxo1CxhMZ$?x!)juZ1_PIazBEi4~
zagjCU3-hGa`SRJBb@K9qhwVz}YXN>Nfn%2f3{-{OU0z_pA~1syn@P}yLUV9++&REy
zdGT3Fw+zbrt44|UFP3=mV&RD|Y9)}Ov&EsGKN7xJufRDpSAaSYQzIf}=jR;ScR0cu
zaUk!14<3-l=!4W-Z7FrdW#Hqm^H=h(w{`}2F9*I*6OMJUJ0WZIp{&y?^Ol7ua#V`z
z$FJkcKqp+~ILVfwqB2(M_bXi8leEGcBe-r0-3kMl=n9L61IVUY8W$APP@%mpZUyfG
zv}m@X%o86y8KcKYlC9vu@ejNunt0mcowMEmHKRlZPp7e_Y%uTo`Ug_MkdOgOO>p+J6fg;2wd)al)
z5`(bf4}hue19
z)u|WT;t%NJ&r%mra2o=bw+uQP>$N!s{`nS?YaGl9y=eaa
zMV8IJWy7J7-1+9cWk=XQ>qTXHbyk
zCOFcBTnsS8;K;>le9CYSP64joEUxIOX$6DJ2o^M{TGPj?NV%30vks^_=%B9|DPv)*
zI8{~tMt!y@c2yr62L`7!@-n?>U~p>y_W4cRUBf~WtjakN(wiMe1>l;jUixq`Tj0f-
z{mZoBCT~DeeJ6g{#rIc}UQ`R!w3m|>sTD?lge(9bLBN??&`QG*B$Mn#hRHF&J2|36
zECCn)AR~2kY9um@!%wPN3udC&|6)~Xe8?m*WG+BNY$UXGoZT(|I!kHi39qiTSx#p6
zm`y$_6kx$5TaCHcY{mhVl&tY~>l#BB4c5_Z9^1+axx0!zwhJ-bC2leq_JVAHs-bcybMVRqnELZQYe*@acqCRFfy9k|!H08mg8GwcO
z@pwf}tX_<>8APXI)!!5T;^M;0Z@R!wjVG5DAw(W{2+$70t_}bnd60W@{gtJqy}}Pw
z?Prk*X2y;txxaPs-uCL)OSkR0(g-cX3X0!$)>Xy>7Ourkohym0mgC4i
z!-SAmW^Yq`E^KI1+ujTIBQ+CQEzp$p~Y%`0~%14R}9sS12E(C
zGyk#amQf|`BNAeys5Wwwgo~%roGghIth*vAHy<!?5mZ%Xt+za_HDP0`SR?&PKfFKL
z=kxE{WMBEgy^1s#5)OIB&)zb#N&wVC8<7*RP^iL^D4gi#04*9TgH5bg`1sD?07Z0`J73r
zS%wF}xT>>)I2>HHXE#xg|6e*i0Ot_Ww0-Ku+@N-^hR$uYc^j4N*AA2(u_KZMZ|gx?
z2Xa74__Pw@^#p+4KN_eXqsQEUWFh0Fm;eA*mt!w|!{?>~4d8a>o`C)@g2%O~M${X<
zT$HDQ1;0qk^VhkXp0JpcuoMAh;9R
zvwWH&N4+Bt36`#zwNLOyRwfT)GazxC0sLVkOo2N}413=#Oe!_H4Xxy~kB9&S*3-rd
zg2rH2LPz(@3Rhff_tAIbaqBNuDCh=i#lZ$(pj(fi_yD+^^Gbqt9w+)uulg7}i(@WN
ze>Ox-Dmv#60{hR91=Ih8Zw!KM({2>j;}-Qb-JTQM_$MktW6V35p%(r9i+C;E5xZQF
zB%oetBCxEhI;{pDd_ss|&MtRbA7@G{^ugALnL5gkch&oudI9{|Ol>0L40>2E!vf0S;is3f8?sS9e|{-@
z)8Qaz+@A9j0O-tM0T|FlkSr+Yx6!C3T)iNGQbz+n!75@#%}cy~`_j%w*l
z^(>65bO}rH?4bA3FlBQzGr$3s)pMWb-sgqmfo*{YQ1EcPu(&b;)t^o?8|JJ
zb4_TW#Cv=?N}}99LQbu9dx5Gr=%Lk2ty3b2X2K80=TswRAVmy*^p{dtwcV*034Av8{
zi!?uigodaXk|JJ*&)Et4ihxOg?^As)>PI}NAd?%Ap$g!@QdZICH^p?O#dALia>2-l
z5q=*!vj#odrq;JyqU=pZul
zN{3Mg`Av;gNuIG-gz_K+$+yB~UyYZNUU7487cUB|pSunqyOvBvM2Jo?rqHS8pz7Sx
z%*B@7se3N2tc{`ZnGE0mN`c}6=}=uwSU{^$lyyfCCs-#OXHP*Wi^k+jw}?wx5XF;j
zkIpUTUNneR?h@FCt~Dely2^qHf=gHA`+rGSE8v7!a9XZT?qxs
zg~ajM1$FSUEOPsD8LD*ntXMACeJAD8ACL{_?JippbHnvL!_QC;*
z9GxhEE!um7XoGr`!`hvkGF9}Sls|H6F6!)EzY*!V$YO&D+OXKWTUS2X0e0c!tET?a
z;&Z%Aq4m@G{`RL!uDthpI2fU97&Ta&+jyezKzd%2qekMvClfnsaQG1@YVh3oqN;fZ
zkqW6xh)5j`69xv?^2!s4i8{5Y^%6ZZH@q?yXAKIt>I~99+5)K4Z|){Uytpve>4oF#
zgx|j`YnW^alQn5l=zRLw&S`J5#mgGrDwQL)mzNRelhJ|@=~Y%pPO`OCiE_1;6$DtM
zu!(^sDgmkYqqo$s)%sXjovXulscS22fMh~jtfAtyI-uPE1dSgY?UKRyCF#G$twOwX
z6CgB^lB{_{<@`hvd3#r
z`hWAVwf?|KH-55$&vf)|`kKe=R8^VT0KaNntQep+^AJi#ySK($GiKdPa8MaHPd0=M
zrfH(aV}9vnNA{fOwR2aXP6=V?Iy`UgT$|ZoYj$B4=cljEN-%4&V##Bww5vjVB%6|z
zLhTY1u!ywh$X{o1IlWDG6BLGhR`^dRC%R
z6-8rG(<`gYpA2A*5vXpCU29kk`t)dCS;Njn@MoIH?hIaF+_c)vG$mdI?vJYhNSsql
z`|X{-gD6;4KvB;5@`Bra>R&9dIeC3NVJf-|C?6WIHuLD@LvvwIz?nXR;slEtS+xKL
zm{g2&zEJJlr>ZOTR<+3&*vzpMl#73c0&-@QFR#YdJ_olg?h`QMRY3$DXpw|&!*qq4
zLFTn7a>6j|eX2oOfvbIKp0d_7oJH*M_{j7MfUi)A19qYIUCnYicYNZxLpU;2z?0SC
zDZS`;NWwR5?~9-gQ56BP5dBub3R8YTQ4|F&LeF+ZH!Fzy0mI#QTi{{|_D*daL-(TL
z%J2`|1-*oE8gYO@5mrssSqJIpY2Z8u;-#}&pty~dzCht0r3#tWa2uLVv;$&PJQ!E6
z4~pbX`23KM0>GVG-ynJy$c0e4R49b1q*xgaQeil*-k$zSEsEHgfKs_!G9k|c
zzQ(d}=QY&|3<8`TFQWrhsm>cI2yNFBuMM%5gMu-0Z$vwcsE%Z_1ow70IV01R8vV)~
z9G@Xe!smKaVcS-=GyM&{gqE?ssQ3>^zx}KbKRNge07Wmw>dN#ZeCsk0;
zSxBUDcFd&2%bjG!V^}~z4<8_jU}+7l=1VjDypCPWpGURV8g+EvbYc!gg!lu6l*D8(
zBk(ZC;GMYuU9L5W{QaMB0m>)eXk{Lx#TRGwKEMB(!8dO)e;E19Ypa8Fpzfo#2K34|
zv#HY%qjbQQVMP@?R^G>=Ft6LC7P{8kuaZY~VhCJc;|aLAu2m9~5{r7ioE_EoBwl5Y
zAKn*uU&PFTNtXVPVOQ-luDgpZ&g?U_z8}=65B}H=TQ_Uqn+AU>)5s4P$T-8m-I|QW
z<!3d8yjQW|%+j007A!^Zc-FUzqVrsJY_wLR7>{x|1!W>$hOk*VZj
ziHQ2!*qYr$VII(1!g1|%OBbNCw!fm9IrHR2%>=WkDw$@#sYWk@=V}Zzp
z3(DFit0z}!LNW%kcg?_%jHcrpsm?nrYFM;1CJ7A!DraXd19YTRH(jNVZ15-E3uV)E
zn1&v!K5Dz*BUS)3S2bkt+Z5(A`By-`8u~mAT`46Sp@QKR#IihRYKO*k*`0)3xxvp5
zw%;bHn{V)6SiA$F+1i&td8v5CLlhJU^EVkj=;=Yi2lCf}$~D)8%eHjU?No4mzzHnT
z17s_r6rCx9Q7JVKlNJhb%Z8*N#NSbdbfXtL7iN1}{q&}bVB7j=uq*o#XoUTD^>wpP
zvQ+1QSj!<+1lC*D6ysyKEW?#?mKe**W7*PlA=NpyZqvO3uwyhDFmyf=*U@N=5q}v8
z{Xv4x&t~r4h4nl$In~+(-TaZssZ}?z;M~}?lzY0fvin=TF(4ia$JBLCvS(}tAI2fI
zp`P5=W9ODIBp>H~VPHA;-r#(H3wHWv5QyaJmfh`+a-VUT^U7t%t7_u0e#NQNnF%zq
z$#j}dqpG^Qe7}h8(jD6+8%+!pfAO8KO(yn(WmZA8Cwm~)V0BS7uEw)_Y;rSNHMR&JSA${Tu_QNSo9UyO%HE8FlEHFA
z_c6T|ynm_Q1|_Ah=Ju~>*R19eLJXZ6Rm(xog6s^Y4$VT4Fmdo+Va
z7>lc!08Gkb_lMNP1KZ|^H*a%WQ51Y-I!-FsRJgXcsK_iBuU`8Sq#>YerCmBoyO@$F+hr
z|Lbm5rZrT(P|B@OR8<#i{R93J0!_hrIlu
zORaGuaOp-&p1!8{TXqPBW*$Qe*F6moy^dwEHD|5Fa&_AZFvIaO3}F#gbyK>V)I%G3
zXVi`kC}@(mkxG-gEHiYtAn_RXl6rz%xht4NYc%N@7j|jNx)D({?R0W}VA&Z~55Y6%
zpu3jq!WR{-x^9ASKL*gw%0uI2cf-FSmrp%lmVY}0>&N;3?+&+&_1jzyD}#M>0A(><
z&(gzrF6^|MPw9M}UV};Df$GhnyK+W0qQ-+h7Y;s(z4U01JSacXILM~*Der*{SGg4W
zcs3Vtj}b%Bgfcq@{6H8%gt1*4I$2aVg0Mho=pa2eL}#1c3x3P+dE!^lq@?5R>a=<!iVeM6I=!PHW9
z7ZMvZjvjrK08vkNvH_h>=NqtOYp(r9ATB|PQ6E)uYg*gX5>6=xpHF
z&CX?$sem%Oh{{R>mt`(QLaB9UllP#?&96kVs|E|q|AgaNK!@n0t)7Kqj7sr1{Y(pFA4nka7yDP;oHGHhMI&jSqS;mt#2MrnL
zKzNt1?$)XJY<29{P}b1-NizJ=IKSkAH^ZuRQZ^2|+I{f3155T0lzrK_6AAWYHAG_k
z2fn)-Vl`|}l$qG2Ssarg!yx0^h3r&*Q06Bw5sYhfJyB0#zZ1pjGP%hhqgiEs@Pn8%
zj1p^kkuKA8qKe$p4?x!j=nm8nu}!bi
z`T9X{rE#iL`l&e5(TZ0`)a5pHc4z=EohcO#JoBT-f;sB2u8oWC*c?2g3Kj8q^%sLb
z5&>YM5!9@20CGVza9|_6z%qWj;l^$N#Rwpy&W?@yK`c*C&g*%a2V22<)+gSwV?F;%
zkl)KX1J|H!R84rFouXQS3+a9?JenRQ!|p?nQFHK~vYrR}dhj0T048;Aq|sX8*p(zm
zKH+XX?Az8*F>hdq#@VmA$cK>oJiI)WNaHT4%&S}iK)x48lzpaa^hIx$vl}{?)y$zn4$BrLhY?xii0pwMNR1
z{L@|oQ6>ymnK?G)3`(ds(#=xr_4DC`#A(0p;JfO(Fn_vq8nW
zhgqFGYK?gw|}b--;nF2*a(h#F}f2os&?Hb4D=j^_r$V5_dImLDn($w5n#
zvU$1afY+S|?CPb}muiEy99kL0l9W(=mjmqZUNFmxzl|%{gHW3@rb5e-n29Y`pCvIA
zzQ&w`;mwGbwAb_K!iH(`sphzH19^B14^wyxJPidy{_5+t_)g34`?co?T
z8(VIHhJ@Qy`z&gelbLP=yuU0Gs3|2>iA>0ma|i~txRuw}7emUt%k53~4Wh6nN{9*c
zSX+y0gW>*)4lyw^c2VrgdzbyO;Rw*JG2j=pJGvVHyVOXz^XoZG!ITc113k~HS=%js
zHB<-YIcQ4p`6aVtDZHfdP`vBqrGL(>quPWcqxhE{esL#UX|S!{Se40UpZ^0Lg%1T|JTs~aa(9y1Ls_=yV3v58=TjWRx5T@&E
zFA%D7)F!Ds08g?xvLW9rLPn#jX!cSc*HED@ZozdQF}--S3c?PlNyi^!Bzu*;~jgI#GE2Zpr}B`zU}B~wGR
zfwasb$~0DbYLIz56CAGMQgaqF0$?KLObfChnb{YZ*oQ{FVz
z=$zTe8wSm?Xum1yjPWia6=Fd|Si
zI*bVP5(u0o0|8KiJ7tB`O>hmkGDQn%qY4b;bfH9StaCsX@)avlzy%
zylg9{fx2#v2Nei$sM@7`QC+*xmWIk$l7P)not8Qkg1m1~(G4tCUP)YOhAXI~1A
zJCd$Xrx`;DRSoTM?UrF1`hLN+I}96;`!3fG40|3z$?heG7tE|HsHCy3
zUD*>{wA>b)H5}X87o{OD7DegPx{?kceHMSJmVq0`v0U^O?)E{Bl?3xDLCGt2SXfuz
z2M-!5{>08W6c!fN7S&+19ojFhJy<9r&ps;N<4#AzrCki>A-O6D=O>&XWdgq5DnvZt
ztEZRb$Al0i&>|W7U9|;L@>%ofI9bV?g9v+Bt9Rn86;bar-s%dy<-y5kxX!NaCGbuY
zy477g7z1<!55Yi0u{T8K*l08lZ`#HnW7BYYotR#He(5^sH`a3QeVtSx6-c^bS|;5c8E8xlXq
zOVQWr5dn8Zw4Df89^v+ZCe*AAky}F}+Ij7cagJ^ykO5-n2{tGtD0lw%z~Qh{fbnE?
z^31j}MS|lPnP=hQ#{ZHic}sf*Pu5v`SoUX=xFHZXB;r4J0HIC*{
zrl9fgyL8SL{?M8WB?e9<`I8ZT8n8f_g!czXD*%lVnL|^o?Dbal)CD~@+laUi7SF(^DGJ0L1=pqJxSO6#i
zb9%7cKXNYZr{cBOJgZ|Eg3wUQNmy=)}6K@g{XzAuvePbZPF6QPSs?
zVS8QdnvhWD>cwql5ugPuv#biIsA#jpwjYnz1#<7R&4W7|LBVYMgOh_s*7Cf6kJ<(E
z6O^`GiBb^xB=Sw$VOnFB(P*}nbP&gj*18`s?Q3^j?T|tl&BO#(n%P9hr1N%F%0`A1
zQb7vrreDvehJ?~B4DzmRxI;l~=P@7kV8q|jgudbdyh*CUM|x=#s)Ck(2ye#lE)T9d
z@m}Twpv~g2&6?;jNwiJ25aZa#`i+(IE$Y~%(90#-pPAN>I)=-;}?vBk|irfbFV-t2{}>+^=Woqv`3%%?40ubDglUim?~gpRM58>+EB
zzNlES9q}A>=mQRY=n>{s@jWAAh;N_TN9Xvc1?WaPO85y|gs>+bmCBoGXt;=&6A;GVz&i2tR4Qr2J-p4BM(*v&q`P1ihDn*(~R}gM;*hg(w9wx7l;Ai>6BP=(wck
zaK&Viols3*dt6@N%Q!c13MM&I*;ZLmL=6TS<^i{4EwAPUhv`9h_Yc5Mwk;kfJ(~Tr
z6$1FXc`DuTcr%t|CLZ_DDm2||Fb=Vh^D@ejz)6qek=h7g-aU>tx&f~Bt97l<*GZi}
z*UK)~+WY(E62;Yfx6?e&!3=s=X77EySG9|7ymlxCR!sc4s7mUwdt5kkDN{2
zG6kit9i^IDTQ#x+rEa0&ox4#qq6^fuk+Ao#RFol8*;-NHttaE;eG{tZiE1F*j&H*)
zwqxa|S&$6+$$KI<&n=>LHJyXmEihPJnA{L+UkNDeg{_m0q}87~oi;DKIu6&?q#fU{
zT9fpKhsJ%d>&R4n9}oY)mEpRwBZ1d0jA1`
zrJN*;?v
z{5p6>9(7f5M?OrO3T12z_7v)QoGQc;!EfZlEG#p1R15UJvTj9erCDgz59l}+v;Uq2
zbdbp!6-yJ@2m%JX8f02yTwh%1@j;0-V98%9u?C3b9XO#Quu}-27ZJ((aq}$_9dpBz
z&L!`$dZg&@6@JG52K$@6H}9V+n>eh+ss5iGo)~fcw7k?0ce=4wPA(!R+*18w^?7*#
zkN?F%t~#D#fA43jWjg<!H+9{;>1N~wKF*)c^qRd^CYbA!wXe1QTo?3E2BkBozzwMu
zBY6|YGmo