From 50b81b115fbdc84a1b7c1042717abfaacc81957c Mon Sep 17 00:00:00 2001 From: Geequlim Date: Wed, 28 Dec 2016 12:06:26 +0800 Subject: [PATCH] Replace syntax highlight from sublime to atom Add icon Release 0.1.1 --- .gitignore | 3 +- CHANGELOG.md | 7 + README.md | 6 +- configrations/GDScript.tmLanguage | 388 ------------------------- configrations/GDScript.tmLanguage.json | 196 +++++++++++++ icon.png | Bin 0 -> 33142 bytes package.json | 5 +- 7 files changed, 213 insertions(+), 392 deletions(-) create mode 100644 CHANGELOG.md delete mode 100644 configrations/GDScript.tmLanguage create mode 100644 configrations/GDScript.tmLanguage.json create mode 100644 icon.png diff --git a/.gitignore b/.gitignore index f645fd7..841873d 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ out node_modules server -test \ No newline at end of file +test +*.vsix \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..fdb96dc --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,7 @@ +# Change Log + +### 0.1.1 +* Better syntax highlit with GDScript + +### 0.1.0 +* Initial release \ No newline at end of file diff --git a/README.md b/README.md index 62c167b..4a7dea0 100644 --- a/README.md +++ b/README.md @@ -43,4 +43,8 @@ Please feel free to open issues and pull requirests on github about the [Godot-T ## Release Notes -### 0.1.0 Initialize publish \ No newline at end of file +### 0.1.1 +* Better syntax highlit with GDScript + +### 0.1.0 +* Initial release \ No newline at end of file diff --git a/configrations/GDScript.tmLanguage b/configrations/GDScript.tmLanguage deleted file mode 100644 index 1c08c30..0000000 --- a/configrations/GDScript.tmLanguage +++ /dev/null @@ -1,388 +0,0 @@ - - - - - fileTypes - - gd - - name - GDScript (Godot Engine) - patterns - - - captures - - 1 - - name - punctuation.definition.comment.number-sign.gdscript - - - match - (#).*$\n? - name - comment.line.number-sign.gdscript - - - begin - ^(""") - beginCaptures - - 1 - - name - punctuation.definition.comment.triple-quote.gdscript - - - end - (""") - endCaptures - - 1 - - name - punctuation.definition.comment.triple-quote.gdscript - - - name - comment.block.triple-quote - - - begin - " - end - (?<!\\)" - name - string.quoted.double.gdscript - - - begin - ' - end - (?<!\\)' - name - string.quoted.single.gdscript - - - begin - """ - end - (?<!\\)""" - name - string.quoted.triple.gdscript - - - begin - @" - end - (?<!\\)" - name - string.quoted.double.node-path.gdscript - - - match - \b(?i:0x\h*)\b - name - constant.numeric.integer.hexadecimal.gdscript - - - match - \b(?i:(\d+\.\d*(e[\-\+]?\d+)?))\b - name - constant.numeric.float.gdscript - - - match - \b(?i:(\.\d+(e[\-\+]?\d+)?))\b - name - constant.numeric.float.gdscript - - - match - \b(?i:(\d+e[\-\+]?\d+))\b - name - constant.numeric.float.gdscript - - - match - \b\d+\b - name - constant.numeric.integer.gdscript - - - match - \b(?i:elif|else|for|if|while|break|continue|pass|return)\b - name - keyword.control.flow.gdscript - - - match - \b(?i:&&|and|in|is|!|not|\|\||or)\b - name - keyword.operator.logical.gdscript - - - match - <=|>=|==|<|>|!= - name - keyword.operator.comparison.gdscript - - - match - \+=|-=|\*=|/=|%=|&=|\|=|\*|/|%|\+|-|<<|>>|&|\||\^|~ - name - keyword.operator.arithmetic.gdscript - - - match - = - name - keyword.operator.assignment.gdscript - - - match - \b(bool|int|float|String|funcref)\b - name - support.type.basic.gdscript - - - match - \b(Vector[23]|Rect2|Matrix32?|Plane|Quat|AABB|Transform)\b - name - support.type.vector.gdscript - - - match - \b(Color|Image|NodePath|RID|Object|InputEvent)\b - name - support.type.engine.gdscript - - - match - \b(Array|Dictionary|ByteArray|IntArray|FloatArray|StringArray|Vector[23]Array|ColorArray)\b - name - support.type.container.gdscript - - - captures - - 1 - - name - storage.type.class.gdscript - - 2 - - name - entity.name.type.class.gdscript - - - match - ^\s*(?i:(class))\s+([a-zA-Z_][a-zA-Z_0-9]*)\s*: - - - begin - ^\s*(?i:(?:(static)\s+)?(func))\s+([a-zA-Z_][a-zA-Z_0-9]*)\s*\( - beginCaptures - - 1 - - name - storage.modifier.static-function.gdscript - - 2 - - name - storage.type.function.gdscript - - 3 - - name - entity.name.function.gdscript - - - end - \)\s*: - patterns - - - match - [a-zA-Z_][a-zA-Z_0-9]* - name - variable.parameter.gdscript - - - - - begin - ^\s*(?i:(signal))\s+([a-zA-Z_][a-zA-Z_0-9]*)\s*\( - beginCaptures - - 1 - - name - storage.type.signal.gdscript - - 2 - - name - entity.name.function.siglan.gdscript - - - end - \)\s*: - patterns - - - match - [a-zA-Z_][a-zA-Z_0-9]* - name - variable.parameter.gdscript - - - - - captures - - 1 - - name - keyword.other.onready.gdscript - - 2 - - name - storage.type.var.gdscript - - 3 - - name - variable.other.gdscript - - - match - (?i:\b(?:(onready)\s+)?(var))\s+([a-zA-Z_][a-zA-Z_0-9]*) - - - captures - - 1 - - name - storage.type.const.gdscript - - 2 - - name - variable.other.gdscript - - - match - \b(?i:(const))\s+([a-zA-Z_][a-zA-Z_0-9]*) - - - match - \b(?i:extends|assert|breakpoint)\b - name - keyword.other.gdscript - - - match - (?<=extends)\s+[a-zA-Z_][a-zA-Z_0-9]*(\.([a-zA-Z_][a-zA-Z_0-9]*))? - name - entity.other.inherited-class.gdscript - - - match - \b(?i:true|false|null)\b - name - constant.language.gdscript - - - match - \b(?i:export|tool)\b - name - storage.modifier.static.gdscript - - - captures - - 1 - - name - keyword.operator.setget.gdscript - - 2 - - name - entity.name.function.gdscript - - 3 - - name - entity.name.function.gdscript - - 4 - - name - entity.name.function.gdscript - - - match - \b((?i:setget))\b\s+(?:,?([a-zA-Z_][a-zA-Z_0-9]*)|([a-zA-Z_][a-zA-Z_0-9]*)\s*,\s*([a-zA-Z_][a-zA-Z_0-9]*)) - - - match - \b(?i:yield)\b - name - keyword.control.flow.yield.gdscript - - - match - \b(?i:var|const|onready|class|func|signal)\b - name - invalid.illegal - - - match - ([A-Z][a-zA-Z_0-9]*) - name - entity.name.type.class-type.gdscript - - - match - ([a-z_][a-zA-Z_0-9]*) - name - entity.name.type.variant.gdscript - - - begin - ([a-z][a-zA-Z_0-9]*)\s*\( - beginCaptures - - 1 - - name - entity.name.function.reference.gdscript - - - end - \) - patterns - - - match - ([a-zA-Z_][a-zA-Z_0-9]*) - name - variable.parameter.gdscript - - - - - scopeName - source.gdscript - uuid - e08b7d98-5d50-4aa9-8935-7c759a4a8fdd - - diff --git a/configrations/GDScript.tmLanguage.json b/configrations/GDScript.tmLanguage.json new file mode 100644 index 0000000..a621782 --- /dev/null +++ b/configrations/GDScript.tmLanguage.json @@ -0,0 +1,196 @@ +{ + "fileTypes": [ + "gd" + ], + "scopeName": "source.gdscript", + "name": "Godot Engine GDScript", + "patterns": [ + { + "include": "#strings" + }, + { + "include": "#numbers" + }, + { + "include": "#const_vars" + }, + { + "include": "#self" + }, + { + "match": "(#).*$\\n?", + "name": "punctuation.definition.comment.gdscript" + }, + { + "match": "\\b(?i:elif|else|for|if|while|break|continue|pass|and|in|is|not|or|return|onready|setget|breakpoint)\\b", + "name": "keyword.control.gdscript" + }, + { + "match": "\\b(&&|!|\\|\\|)\\b", + "name": "keyword.operator.logical.gdscript" + }, + { + "match": "<=|>=|==|<|>|!=", + "name": "keyword.operator.comparison.gdscript" + }, + { + "match": "\\+=|-=|\\*=|/=|%=|&=|\\|=|\\*|/|%|\\+|-|<<|>>|&|\\||\\^|~", + "name": "keyword.operator.arithmetic.gdscript" + }, + { + "match": "=", + "name": "keyword.operator.assignment.gdscript" + }, + { + "match": "\\b(?i:class|extends|assert|signal)\\b", + "name": "keyword.other.gdscript" + }, + { + "match": "(?<=extends)\\s+[a-zA-Z_][a-zA-Z_0-9]*(\\.([a-zA-Z_][a-zA-Z_0-9]*))?", + "name": "entity.other.inherited-class.gdscript" + }, + { + "match": "\\b(?i:true|false|null)\\b", + "name": "constant.language.gdscript" + }, + { + "match": "\\b(?i:export|tool|yield)\\b", + "name": "storage.modifier.static.gdscript" + }, + { + "match": "\\bvar\\b", + "name": "storage.type.var.gdscript" + }, + { + "match": "(?cXtm?aEAn!;O_1aAVGr$7~C~LfB^;z?k>S?a2aH9KCb8f z*88Ko*XpjSvumGy$~#s=O#us?6deu@4ogW z(3&YnuuzCY|Hd@qu(Eaa44J~6c7>4+3?N^X!`{P%WToPVlE)BE;LSR}} zM!>8p^fR2_1m5HBKWoF_r^~^xDJ-_b>Q(5TOw7Pv-1kEuJq6Em9zU)1%5tWbUH5?E z4zbgi*J&cQ*Sn&o_-m@k1n-c`r%gRg$)K5NrldVMz2$Ce)S@j?CL)leV6*W=8NUN4 z=4UkxwK%W2WFU^Z*CB$EYmr#lDej12Bi!eZ&3Nn)yx1oDW=Fr?DOy?RCr$TZ1xX$7UU+se;&3C}K%Cqy6?{asKix=4wM4JFcmqD}* z9D1T{S>JWp?YzkA*u4M1nZ4>Nl8WgkX81adwdZWdau`TC4`biXZ}Icib}^ES*XcO>9oJz#HxO8Ujg zS(}(~mYt5(j38xLk>__gQ#C-T1+3Ay-y0?K{;ajDp3Cf}!s44`HhDTs=TqEMzRhPO;Y2EL?);e|4&e#^Q(sh%%u% z+Me-15&GA75ihH@rV7Zgg7-*`RaJ-I1>*&;V}z6HBMK;(2;&fyISC|odpo0w29$4K z_vM?qX`7p3OLWG?nxHJ}vsi-v_X`KpvvUM%43H{LPW{V~?wsx6n`fkOl6dgW?;^B! z6Bq2A2yaIBBB-S*(LgtoPpm#rRiHmZ3iX8@PdCRsgX_%+^03tI&rw%0klGPkeOJHax(l=M!FH$ojoL~# z#yXKt9El%3w@>mi3Qb@ zAM+07jdZsm#vUxjI2RmGafBad`zMrFCU#wKoR+hB9;fG~`6%xgLs9*NNccOLrf$%P z^TM1ia(m9_k)z=%wyADnm9q7&-Sdy%*|u8l9`6Z)TbutC4?96!Dy}T^kF}>SnqWrk zIHc|fGu9wvRZPzyglNlpJZ$2I#3O|NjN_sV<!$^ zHiX{CIcb?NKgCHYeTW4$jH*#AQ6fNtgz8RLQSmJ(Tr;=S?{#I&D>=B36bWJu>uuub z>ue44k2S69)4ZF$(9(##j~t=S)kZYVjh83)ix-2vd;&UDub5#gg#)pI>;5mF!rB18 zO5P6}@Dy|(i-~Gu7}m2LP=*Ym*po9Vt9EK@X%0j;iO9tbTFZY^$VfN+VA7)6#`^<% z;tQPrc=O#!8_YZ98tFv;M2)^XtBha_tVFm6+(}Keb~y(EPtMV2NXO7UgGSKZ;UvNj zAbHwajaQ0kxxY?QXo)7e&vxPwjj<44dT^=ckxvWA?E(T_^Q$ziL%AcG(>?E<+j0XI zc~KCI$wQ{uy|uj8p+kyob!7C6x3BzDHx=&0GV)gsbgMJ z@KsBs9_b2@jsW{w)H%PM|9qA)Ia2_J?=q(uk8k`$8;(9l#?nwqm&6a*>1i z7cS2|Y{S}Bl6kc8L$Ce?izB8p!BU3)jnvG+BbnFgD5Pq08BTvN6o*(lO9$_7C(w@$ z@^_)mF6IW{XlH3_i^(Qn#h9uD>~|_?ctUtu3gqYja6>s&gA2&=FxuX27(@NNxoHu;b0XsEk>Q#w^Q)$1U?oKU|yqVcRO7ZM$ofS{&?_>@(Z6 z4{xVLYM9Ti#sAr#zS0pSM&TT^KPjUsc1Z|qrp+<^u1B?H+eEp;hDi1 z+@8O+2$;m>m_s~sfXT0xPS^H;|8oA6mbu%74I;b=5Ws?HCEYJpl-ak#QE!Dhzr`DWSX~|z8T~4dl;kuZueOq1tjrSA}YE$mR)GBWN3ldfQVMoeNTiAJ{Agi3MCMpSvqCAN;8gm)YXvcGnb59EB(C3A~u ztZ4)K#K&OeXZd)_OVIu z=Pz5i{cH)M-g*sUkk@!#Qakj>XAcqjm?Z39Vq_Yu`%-8s`Jhd)W`STVi3s38JBzBd zns~XlLc0In6!LZJcLW-35%BeTR!V=g`~JTM=;Kpp^%oBemk!Nfe1YMadUFk`x`<|& z3i5*_ZdG!w#pXt=5R2k(0hj3DU98sghL(&))y$KV*R{E~B0`CD76X&9r)`K`U}}G5bS1(wzm*{ZN-b>%m5~P?CBQi_mZx%86*A& zvJ&44v}P!R!1d6wUzDhb|2IWadp13}z$rKJ$<-ylO5c!pD&#CQN4D|4jy3TlN#OQ* zp<`whIXXz<`lSU;zUo~O^A{n|5zKKmh^Mc&kZjH5p9X5U?7 zepifQrvx?(9-LuD!zvW4p};$MFk#zfv|39tZSS{q7kk=#G3xdZ@4m*bLugCVKwo8F-~3~n?r!Ta*p@$ZSbnLt~*RQgZ_J5 z8{}{7o8O4e;>Ux7*8c6!rH1%pXDCiSvBRQ&?KxYnUSO?(Yxs?Qw`%CpzN?-#1v>U} zLyo4aIL*^0`{;?N+%SGq3_qWTkjiMcVV&f(w2UbSR3awkv))IJW%Km&eUBW`FD?#D z7PQh)NlayAZ8)-)Zo$rCgl4w{PR?dGC7s4gMs-5D?$fF^Fg!akiCe2L`S|D$|4~Mg z>Qu9hXKW?k!^Ls_-b^b2fufra9FOdjj2Zfd z>URcJ>2H~#nR+$gp&)M!mC3G`%21Zas85uNOssH>_bbo!HZRw91oT3D57#7Cwu=)o zyD?&#S9RY5gpbd13ai=0&qqG7-m&;<%dHI(ZHri!L24>^cU1PXI%aS(^0<*=;1R=O za##i7m;;obWDH>tdGVE9tqsYS#1jYKPL=8=ewM}}$d_}7U!F#G#zN87(C zM<3_4V}LGkkZDWZ$%nt4Dg5GsK0{`AvK%RU)h8ohAb@0h=+#@0Hon*qdbOj^jzP{N zxYBH|E0=s8^nA>_P@FB2CLns79kBn*D^Bm80?GX@^dRqpVE6Fl4QnVoB0;z zzJ^SZMh_1|hn!7y<>#^9xF+=13q)G7W*s#{*g*(O~aT4=Qi<-)c2EKJJ;uan)|0*s|elquMkDc`-n;ycpAbc zgrqxOBF^6B9h>*1Xme2n|2(gj(w=)GHiP2m^N9wkWY0AOXu8h7g$@~S44fDy04Cjd zJO6V2uqW@1)RZHRk={26o&90jg|EwjS4)dAR7Ib*g^>yq__a}UxRW< z%%BFJFhY*&G9BrJS_=>KNyTK-DV{687zgC`UL=Zo20k__46ZJzNgA3PWmL!d^(e1| z(cw)();J9v`~SlO$D>3Oo5TdK%Q3j_emuj8XW}XEayCqKOqlBBaE9U&w9}B^eSb$w z<^H~zKLt_Kx{FF1UbwROFPm}&UGsDfJu3j`M}n}9Id=*=9@QnChq`k_OGrk0uk`&| z@DJ9wGkO`x1BC&nRYkp|^y2<*Md*(`f`5pjUq^dN5(z=3pJ`%-NvKLbXvYzAxeE88 z@$hZjpc-6tI*apx7e{~aAQV>spQ0)+so2f?#{sHf&{h<5q16kdEC z&VTcxZHPYJxagUCa;8hIY8x8*?H+cSwXg-~b!pYnun=erxuUFUc3{><{ptaA(I1f{ zeIOw@uqWX%+kC%mQrW)I9wK=XgAMInff)&S%&ayNeSslFLxUN)z+>k2i^%bxWCT`N;w9H7YAQ79ZKAws#ol_XEi&u+@is zq*uxb_BspT5#Nd}r}0g5o^t>AG-%lF(Q@mcvoQKhNcH;!o1v)d9`LpAv)>&5WcrQ# ze+bO-?WNyFAgW-Cm8P>0t1`#{{~6@mOBx<(b!w<82&Cb@#A;06!=l(jKu8g*F^nn+ zc_XenG>j#J{ld%F6y}mgv=!af^@c>qBPT^2Q6@8rpiAJ&H}C!s*&TiCvf6hqEUu>N zf50lKc;KPamDmdw(z_F#V3Qm{I_gq&b81sHCiC4sv$Q&jm0I^IyZ@L3RFYcJLMxs zzZ&9Et>qfdVhD&1jB*Yi?=}q&XjT1JUpnO3P2kij&}jefYREM`;r zO~qTWcY599$$;Y|GQTFLJ1hH&mTG$ov?Ys4?{^7PO%d?@pB{BFTh(Sx`#DoFXKiO7 zA(RcXp9#~S_(`N_VmdJer&T4qEzRuzf4<2EQuK#6WAQS;Tz3%%jKR|jIMYZ&P+b{$ zSs$T0Hoy2lDeul3ga4Nvb0AbjzJ0BfuC?cSY8UmzhBqYqXNp5{MyYC=ONR0)rMR%E z;bX>8Bp%e#JbyYHRYe*5UMtKeg9F{UQ^W1Z#s!3na)i0l{1J2XS-(|(L^Pz3 z`RB*ybk1qs&PnF&&V7qfQX<#F`W!ZMCa%e$f0*Gbe#)uGd|fCmyac9Jk1J46Ds9;3 zJ3%SNzcN@^zjE3k!#gnfU5A5K@VJzpe^GNM8cW}x7;{Uh^yyK(FbJInV8L-yRRQ;; zXcBH*_X_QwL29#{+v>bA6(X-(gae8)t_dRA~H_PTK7%_oNvG~JjzPP0oNjE?A zVyiRYF!;KmCqzPy#QZw>81|GQk?HxgFPYbkV<7f4XETIaYEXgqJcR_MilrFT0`%eY zt?cc@3`kx$4WW0BrvD5Ri*230s&ebIT#jX9NlY$k5NRs!rOM+z)1|;MQMW(^>z2)v z&XFrGRTpFpnI+_NS#i}5##m1Wf!8QN$lW@)ztLj$GF1w`*gs3bEXmg#rrfpif`VLe z_F_{B00|ZQ-)+0Qquf5iQ!x?}0sY@~pGx>aFJhX45=H!=Q!z^u=ou80(y%J!IE;U@ z8wx-&e_vcFyTe%Okk=o3lO4rR6uMgO`+A=kSJtNY3XzIp3vox()Dv=wSkgJ3j3;_- z$E6aB8mwn$)Z}jBHUE97Z3%W%M^*w4M~45^F=NpPA63$^)s&l=X6M822G#DjVA;$D z`L8{GnR*$bSS&uonlyjWGB_83?c{!=$t({Yu1Pul935u0xlj|CSvrzxVVS{BnL{=U zTjB<1YJ^@p2?os!cYGHSL#vGCU4yMFAeNz7c>pa zG;uwJyiX=257)h(N)gXzu|wu#BO_1_FGuiXu%9TMHdxg#HIa}B;Nn6JwY*ykW*m70oVcx_8S@7SbZ z-#AtTj@sK@9L=8>_8#AOZkiU49skv%BJHiAJNq}hzY*@8mA;|ZK?lov_5RN6Z>VF$ zB<1_JX81Q`-B1g`a!*Hi-l8INC5~Dlpzvq$wyZEZNxko1N`0pQT>dM{uYoH7Dmqpn zVq-;-dTisRNU`|gW>=~3|)Pe8w zecedI2SOSVsr-cLRh5>Jm`n1~aC!V!A$-iVbXn!2J* z?5q#z>IJGbjfqn%md}WC=4&+E4kp~+7QLJa-eCj7Bso}pdo(AG*^R4>osR7!7aI4p znG~gE{&Aemq8RUfZ6qPsBz_;DgdAIV=r7Xys>o`$=hVV^o;JlQ5;QAonsIL|$4sEL z_wyYsM{Rm=&v9YgZMD2Y`#58p03EFzFef}1BHK*Xo#lcT?j<(ooT^`3{mC{9bP`Vf_@xZ1EF{bvn@ zw)LXc&G***{I;7L*rj)^MzzUsHYO{}zMbToOBk$rDkX#$$q>R8)fVcIJrSEp0F&eE z+M4pjl=s74-VpopftJXF7$}LmG&C-e?9^nhkeq&Uv07$+r9^So2DgcoT9yzYq?1#m zLr&X7YLA9uhHWcK=*uEw9`?h@i4BON50{iz(-uOWwv$r+;GN5! zkmo3lVwuH)QQ{n1Q6}(vf-X~&9e|c(Mc4$OWHYc*HwD!z~YgK{zS$;=X}fA#tTTq3?*(JvMmzhce42O!E8!*1lJD8wKEvvfTS)mwK0y#J z05yZHdg)s7?99UM*F q%HRp5pvBN2^~tP8Ln4Gs*{qT5$@340PcRkPs}b7N{{q zd zuuvG!c2Gr{3U_jO(_-vL4?sJ94&2*eawVOxpGUV8pw8ldWHIED|6^$83Jx_0`nnX0 zN6h=Q6YKO(gDc12do4Ze0I|kLYZTrc;~(WCJ^^B#S(29PRgKVPU@tyXF2aE6YO>sBUH&D#?-K!^#DS2&LPxusW#~6>!%TjZPV$!z3m6fXbn2()EEqmA zUw-qlI^1i^Smvl>lYd?q9c7au2Juh$)4@8!0>l84b8R03_$?bhuY=P6-gu%ZDqkx35r<(_>P1~JT$q{ zskBC$?t+h*FP#mKbuRhVPq2;aj4k*IkcCo!*!uNc3MWqB#qse$idenbAg%99ci3s& zHq5Q9A$VU$Nz16Ya#U}~v@kQ0vtMp5!Pg(*BaLI-6E~+6@ra$_9Xr!g$xa<>e37ME zvu6(pn!~M^$g2;z?hp^Dqss~<0gnUGvB+L~Ns>Ekfk=vX<%__h-!H!yyHvkP)%c8E z?BIQ1_#Vx{K-gV8XD}sH?K;8(GQc@JGS(if5|Rm!&0Fa3^E=cGGSwsQ-y=Oe`bPSG z{-<+Uc5UbN0rwa<6LYO^qBAr|O4rqv8=d`BY3&Mwq;MTa6Nbo^NxnM`zHK7P^HKt=93*HD8rs5ZE|qZa%WU=4$8ATCN7Ao|d!F{Djd z3c4k0jU3Ql^x-H*A2m8?7BxRlx_Q+92%em*9dmqrC#AUWwdiGBwmbcgJ8`{=^e%XV zAj-TCtwEx$hFqru6^i9XbJsxF@osh6BL7dgH6mh%2JZ{K4TD{EIhGtFR_ z%BFO^B>OKT7M;*q6eaw&`zkHrb%}c?Rm^&pzJLq${-<#rDBllE+t!*(Kt(Fai;+cM z#bJk4n2<9M?5ArZu1rYymiG<&12)x>gn^&#I|)`Pab)L*AfwcTV2}&CZtE_HoRnP- z1od6UHt8i;k|;jal63zk^qA7o^H21}*t@4-n)y8H2tzTYbau`2GP~_194zPZ`8YEr zC1vYwdm=}e4>bt7uS1qucHAm7p1t^!50s;>>mwc!T01}-Y>yAhm%y00>IpK%T}u?@ z#O!@k-k8j%do==Gg~N{YLO(8P%S@-aU*EfQ885?|ov-_>`(4U~cD?wYcV?6Wg6=N1 z`w#W5dng0FCn@%ZcjGYkambe3_6V-v(%F?2T}3KP-pzu%I{o90OO0v;yp16fi$>aA zFNUD!M<0W*WtY7e`z(L8JXs9L-R9Gi;4jOIhoTP(KT0JT_XgFfka5WZFE(2?w0<;y z_4Os5uO{0$CHdn9PF0rey4v$Rl}9qsDEFjCe%NeHpja$`ddhAh$JQMOHd|7Y*9J=* zx;}9h_DOaH@Hv0-zjCt{`x`!pQj01r)S#JPT4Y#OGun;)Ex%L(@v`gxb&AN@@%qkOcS^}NdHZ-!Fz`| z*JW*bxD|cp!4>SZtJ@N^7Cl}$s&fQE!Uf;5-&yLZpWXAj5=PfbApSf(xv3U=%{h9c z4saEX0sD7)lZTA8qY8;|=qo9?aqqtZ@3;TrhW0*&kYCMj5YLIHL?OzGyWoTUk5F7( zyUb$=edb|O|U!to9$+81!@*nv3*P$^zS*6xu#%Vd;QIe0`|n~G2Ty{ zIez)O=Aq<2upPzxj>6?S1G_+;YL{&GN@91%oTkX|_%0hJDZoSotAB{28Hh+fGWMid z%p!1*pHGEc|5z?GBfbPxJ@w~%JlCJo%~X>t1qu0+wt7>0ayNJnOz`TndoWi$4PpR( zP)wF#2Daa1sNWwW1y(i-{()@Zu|kd|PW*2rkoVZ^de-{Rr88V2{(b4H`|hhBen_WJ z%1QtS6&F5ldqTR$^G_P{fpLBjyyk!m{e7`6b2T?=f-|@EtAFf6#MAdqBJ!gMjq<^a zk-MNZ+Hee=#PHaKzq1gZE_wcBT0}maqYcb;jF-51-Vtyr#5#B-Q~y`-6`75R)xvck zscTyvHtrVDNX|PtvrVkmu6BBNpNW3z2*_L9a%E`orX0Y{kuskml@D2+aMP`rI;e+O zVx@Dl6;&;0TdMqlh~mp^i`9a;3HV>+b!sSqrC=6!?P0>!y$&_>`Zf5#qKQc$7i0}2LCGF|o?K0&&8j&h)=pVZe_`$P3VSRkFFtFJ z6X64xz;7X=g{ddou=biT{{dG7CJWan@sN`k8I?gge-rahT$EGt9OBP7~tRIxVg@swOMfnVvYyg ztT#W7&R^{pjp%VR`Cvv45;>R>ldhfKZ5A^N10h0|#W#Mxc+HMdN^}A^lW_Wdia2k2 z0R|~KRkmlWYtGhx50&LcF(9)<3i)|Yd^rSUY>E@a@jwfysDbWqPoq=BE6hnGfO;Yk z6U_zKTrV%tss1WFGa4YU9%(3`*_unfT$wc@ChmPwHmb^7qifoj-nm~DTnHGAaIuv* z>Je1D%_%AA?@K;S#CbsmpJBO0}=cELW|RH(>p6sUEER<1Lc>DA;OfS zcpsh4*#w3LKQ(2do};s}0w1(|Wf$X-Vh?=a$#XFh=$mEJkaA1WQ*9jV3XWy0H}?qj zkqFpgOKo{eZy?DCz3Us2txZgmLOs#}b2P1J3AYi}ew-kS7K$#V01Sdi^hPOS_pANW zyp|97hY6V`Fv2HSARloagNx++3~jr7Mgom&`kE#&olU^f>AkL-@ehvR@>c55s*UNQ znA*Nev_bH)8w&s7OZ`}jMwm3e%IZY;B3To9Ibr{=*4(0otMITOp;G1xh8lm#8br#_ z4{PTGr))tr9o;1*{9FT4Clb{!g?!TTF;R$O{E6y7J@3?VY$ z6B$o<#V+hT5MIs;LP?e{!(+=U%@p{o^va?BzV0jLe^=QeK9afgY}+{R zLSpacP(lv7zYr2B$JCX5Ucb(y%cAIOx?^~?gOPmY|LlbR3buQwYa*&E3pdro6r&&$ zQh^n@bvNh8JkCxtg|4nAzi5_alaH8kZ_mY;I*#61Et+^7wvTU6rZygxNvPOYlJoXsk}F-+H7+><|~cbcwH@ zJY^(ulO*?NErcmqOx5DaT_JKkcNk)aev7;p*~tgsy%O3cHezzk-=T@eBV@ZoQuuV& z?P8+mwBJT%VZI$b1N;tpbtZo>^LHu}szj!uZ|3!Xfm{ZZnDJPBtj^ugb5@GZ*L*hC zV4~FuA0ba_w$#+u9~~)P7-Vdh6~N$(MA(^&78=f0&~vkI+hctAk#%$aC^~saT4T^% zuGP*?+r(!&3iU%pvBu{D-2*qO4}ufFVp6O3_tbwy*FLYVo;aQd&(K*@@-mab{QOcG zEk#^|%PO=FFP~KXT#);n>Lq^s>y-38x6l(;(~7!zB-rm2p*)#g5*)gh6IHj)dM!l} zHzPfW8G=Y-XLoGUR87xIE!#!8i{;Uc&P8ftp4@q;IDZ}C(avg%7Q*|9vwxZ0?mbq5 z1!ZVd>*k7&1oFn?r0|YQdokOQeqbH6V5%G#%!{EkD4$RCY2a4P8BJY0klg|JtENnw zUmJ?Iw)Hi^SV{dxyZKQIVx;r4Vnx)PW|Y&vj*t@jm;~S$Jy@GR_TJhYxUHmCbd~-= zGPqa_mn6b0B=`S~ctTWZYFGdk%sIi?@OY(sc)b9c9$camt<_i1O!y^ox8~Bq&0SgX zJG-VQ%GOfO%asI~&d-+z`OMFkTsBZWYA9q}53{PT$%$9>kzAl=ZEWma zrX%nUsWrB}**t_k>Bx_p4l2-q5ME}cHS1{f0`p4x+3LwZ)?vu zlR!g=(yDo@g0N*3y~1~V;v*2A1H4WG_D1qEnMk>Qbo!Cp3K)RyHLqM5GCl|j zZX;)Nur<__9G@m!b#=JHAIDrs1kNH}PZ%t^S}W z(fRJqa-}EHJrU~5p#lD$A6`U@o-qEa#c_G%gC!rnj>pe|Z9s2WdB;HA2PsC<*1@YX zxN6$>P-e<2+{>^!%a^z10hq3Osn8{9NB4Z`Whc|ErePqq`9@=9~#uJPmn(;qFm~dyq*^Ok((Z1ydA^@%6k$N&%n_uW<+f>Vo5ZlSnoVE zrh%3Yi*8fSqoq68$QQULpZH5|M$$>fO8SzW5D7rv7Y^$^PI%zM$tEW^kVmBHhsgYy zvEQ%Yc6VedUN;QwL9@o-dkdz##1VJ%iuV&%H1v6~C0->4RNzR0Q!0XC)zv1xgfSJJ z58Ft~Xg0>Im0wFd+Ae5&Np!;)YG#M-*%)rO=C3|`zn@fmx~VQe`)%k;l&;5_-rt*- zs9HLNgeIAik!%gKA;*G1Ev^kv7)ak$^BZ~5)ttrurefu7ZUfYy36;Xf1N_}Q`8Iey z46_kW^*dZhi`Wz5sM|m$$UXi{0)#|f@7&0yS~qWyG4?0RfFI$zv60J*w&V|=zyA~F z++?&y)X!m^=!E}O=!cii%FImax=$bKuXJ-XuPXBIqr^@vXQ} z@Z4n<4p9onV;s;7jLtv>cUCY;j#h%g;719{rD$LBFEA0lM?MvMp`vN5)+yPL>ScZh2VCJ40-le#D6+ z_z^bX8n@MH*DDO1PhAkc%dN zV9a2eFI--J^afiJAy2niVHB8M@YhBbl?5pTr#q}eaW9LyL^st0=YiyblHOAb|3@$df2SKY<={F@A2=ow4WJ^_?zrmN= z6?5W!;KXd7eiu=q zth+Jm?A);wlpS_ObxQ3T0Su__P}0_Y#C_4PnkrEa27xFQxezuS>LT86BA>lY!97ks-c# z&pA#mB$_Wr=ExmryI!QjO#;6I+hAKhF_Rg1tU#_Z6t$AuC#O|W@NY4sER zwxDTvzkUFI+SQeWbcRoDkj$Oliey5yn|`WkJ!6e%;|+pX?duiRqGgCdi0GO4831R) z6$$xMANitb;zWhKhqJ~l7A5#h#6Q@!GpeR6mOTl{&+z`IK0GKn0p@ z_oxUzRQb(MdwrT6v&(3ukTicobsa_bu&t4zmgLZ86T#yONL(Y4+aMS(L}2W8ayReUjM@ALOAd-sN*T6;uA8q7^Y0DD%!r@RBsSJj@|rLJqD& zt`BIlH(&9|cQJ=^qb6zEZ#GM`ZrYqfqLkTVvQG4Nn%fp^!ojL2s{r}1e|W(`5pq~= z1}VYR4kLh!jl@{ht;kvxw$?xWYS%QkOSl zVg*8LS>efnfh^eo6CKL4U`J|BZN`7CQ*~}qW zDS9;HQAHz0nm(q`1Zz84w}sJ_%Xv>7+Xz=vrxyW3dDI`a{MXy-h3olx+@^P=SeBwn zXo0KEqey=9l`<%YxeO!j<90mpWI0}Z^!^dC^t5iIu#^;;2<&GZqMs{m9+rZh!eo@+ zSu2oL&4kCE$T>PB;3AmH%khv3uf%9QNV_g1R=qw8hYbvNqi}oeA>X_QvB|==!aEAt z-oJFBCf=WKF_PE7#~I-TA`+tN7$ZVz8*PwK7Hex{4^uiE)B?m>t$xGEO*g?7bbiOw zB~0P8nklaEmHsz0G#q^344i$Qizk+CJaC}jz4Bm}nB;vx=eNAXO>s&c8(hFY}%^%M+Y4oDv8LR8b9|=PF z0+@kkZ3OW#;tTgM65bBR{(A_o$q6^EzhI1Qi$V8FcS3bDVz)SGrqQ#8iuBQurkjb&Z5N`p3r1 zaZ(_``A?%<^Ch;uhH;f7EO)XX2#nCz9_*`6z&bf&kyS!-w=M=eO4r%HPlfR2VYe`V zlGOde@@IBZ;e5e!XbhT|+ZOk%-GTOo4u=+}=(wvpr8|flvQcH16Qy0-_fu^6R9e6N zYWk%|8I`$5ehQrgbBA9F@_4sKV6(sSn3wZ<%acpmYjNnz2qp1^X023}q_s{&DE+Q( z4*q1iq*cicjyRSkQ&#}yD{zpwou~$Za?{gF!q1oPPwQF7PFnLK{}HHJ9wO?N!dTmKgLx$<|}@M*VLv$Zy8;VHS=BSw4ZQejOVO`~*f8tY1eu*eBI$9=ifBOEa;-|$1?hDqM zdVRB-s4fV{Z97mA56I-R>n9}j<(Jw{LSvLh((GJc(bR-Sn5<-xZv{VaY2W%a^Y<4 zS7wJPqOLe2Ws#TN`xJ;|7^`CWrN^G$Wa_Hk?%rHk7|dJ+zX(a#cME{VNKQ#K&_ z(L1q*trLMsL?KY~OBE}JDw*l|ygyF<@yNULgW6(P0{blfw^vdOS>$6=aOfM7SyLIUsb`Q0ZJ>2N^lESxSXzjd$?lH?!(j_J;)Ou24B zMa`flJV+w`Lchg5WXCuFvm<(xmrr5x{9PxF2#ajbrvlC|^+d=JIohB!;R+^7;~T50 z=fylE)RisY?yqH7Jo92Zlne`(A4+w!86BrS4wA`mopxvkFJg5DBiso%j;42L>x5cm zrj995eIMsOVEZ!t%|+84@MuUy+~l4^Up!j-{=4JieBwuAquhpHY6V-!RFVm?RT+e= zTH^0Tl&cHxb^e-)k;4Zi=U)t$RrU{z*gaAOTzxy|Vqfi8=pZ|GskH1JibC2!onSCN ztPH-_Ak5MmzWAyzO;lDL#-Swe;UPuU^7J;J3ZH6!E?b*3U(*e<3PTzrJg`t)ve39} zEB4?5OQAT{6%s}G;~=<@s{E7s6*I3$xO?w|+v4R%Ga$LdW42MfhN8lSi6_=Sb&(Sx zTWMFWhXfa6_v4xtPDE5Rw27u7IBq2^ITd<^!|!q#Rek0yUus&Dbe|vi9T1v=UqQ#t zZT&Ds&ov)ts-&0aUGhmVlsUxInCnYE)BUz~ftfZn>8tDTeN)cUUX_XUo;Gv8mDWT1 z&-#%@GGZE4GGFC4ET2yvRw>9l=DbMVTZsZbvBa&mdHqg+Igp2)$iXBcym+itmZO@*D$MtzJ3ShtmuK(GqQ!QtU$qk% z2vt$V*1OTvt=RwY6H#q?|5z z%hA6Jk2?xz2mknnii0zO)Vf#lMZHBbLgFO9&J|l{?Kk2oY#PhJnh<`Y0XmBRO~h4= z>na@Hc)Ks3VS(AKvp%#kI_w}TJ&>Fqfnc3GgoP0s~t%-o4GC_1$Ar-?p&E{E^2fr&O%kK`^J^qXA^lqy< zK9Rx`LQRx{?F7yu5C0p4)|ZE4Y-1Vr@ToePMprp0=5(m;81k7Co?IYklg_N zX~pTFJ$;@ocjsV(5U^!K?m_^cy z)9!n65=N&!wFTd5iTH`h$xURgyz&y$F0c|MIrAC)!ABBFQA8M zr)nRz9^TL-??F28Q34I9qiuNfFU48yF~P15HI4OwVtgO*I=3J7q=J=E+Jt`R4SXiynut= zD*?-pgfpy-SARp(K0VwlQeb22NW=`BLxoyfG%4boP^-tO2hIsR;`N=xkm_kbCFm~; z#-N}?_-861K3eycmqjFHu3XcRjRFPPJSEAldOTW*f^K>A{|li&UcX1x1yv@Emj@N& z%ECudGWHO3epz4+ET9oaLNjk=|VwgU}@THfiKn(@pELU&~@CbJmVKWX2B~WtQ^X0J5gefx5N@bG%CpsT7@t%!&aDnM*;wsFer zyP~NcDhcLPb1JT=S@XN_h>#F~>#lG8{#BGud-c5c`zN17mn?32#X+c%^RqOd zX8aJfzQ5{945|}?!6+(7Jm+a-yrv@xR;=11}Su1ahjMeON*z+rw#K0 zOq5+E(!BVF!I!HjI=(Cn9%ZCsOApINfniN=(gc?Q2%cCY8(mhx6C4iAqo)Fx&ydln(n;H^= zijKLHW22Jf5hE3tJ1G<{sls!ysIo3B4Kd!B2-P=TCKs)6sojq0Zl*%VMrD9uNyz(6 znox#KI&oq8KVMh9J@Mu=Z*2-VL461>kT5eTczFTZZ*@ zWrX-6iVqn_T?DWpN(J7jC&EsICg4;Q4I9>bvgTocdN1EN1+&Bs{NI)>??+L7mQ|lO zwF;G@G8^0A9Fr38hNb#Zb_pyh7B!^MssdHj^95h2n7d; z@h){tk|jy1f(_8r$t0O#sUQgs8jp%kP*7+nt{-AaYq;aaqtt?4Me@)!>$f5y8UV|= zV08+LDA?{}Jc#J~h^AuEjs^AC5NJLXxWIID7<}<52WlsK2SksJh-mpFy0C&K;Ox&* ziaj3rK$0w}7ECKok}fz$T6IA+5+Lfd?|J4<=qog@3Hl0yPnNW>-ZipuUn9F_Us}o; zG4+Ozk#XtgcAnFKcpohrk;@o^i-qV0dim1q_$(7&0|NyDPH6e?YrQkZ_cb7jKhHzZ z;Cu!VE1M4InsAK2;tHn|Es!Sta4Ao-nSTH7iU1jlBf+bx21jCvgxNGUn{^y^7>@B_ zSr}Zmbg4O|?tQ44Hr{pHGKEh)7mAr_0|LuBKvu+mqHHKW7Ng#mA3&=U99+Hl0gM`7 z^9VGb`f4`jBza@D)^#<$Y4JPqY0a9=o1>*1_BF1>Z!%GZw;Pr-n^nsr=G-;( zs~f7508v2lyy?BBSgRF-l$I``ThNtd=~AOcjXwCnYTt9kKw2;W9}YXu~g+$!Thu&zEnY{t6C3dZgB2aP<*3FusBK8~hXeuKCJ+-A~kjc{)4#VoW`L<)|`Qs()tit?!tg7ziiQwCFt zsQ?ujn=L#X1%{MTzh2w6_?^T1pzG4IHl$}rFNJTrc$X0%Dc+R@t5?vRN3|0mz$}qi z`pIIkVcPBX4T>*(qSqn`Rz4IVHSflOW#B|Fqi+j9)PRI5rimIFFF^S0EdH2lc)F3c zBE}arO#ZycQej{Mk=@UirYF+ucsjlsGT$+Aznjh0b@q77vby@}o}2Oe1_z_&E_Jfo z>^N6YlBoa%3{jhN`4(rYn5g1Cv24X-$5)tqA!|PCWPf3&&${?^Vg_iUK_! z`Va_gFPi>bq!4NM6-|c7^8rH@;Zq%dis(Q4luQ*oulR z?T9;NyR7U}#!Yje)he^k^g3adOpx_DE5F@5UL}0KgJRGNgmr@$c ziq28WCu74EYIgj2&Nr(QFh1xAJ4itT)|KPIYwqO@77H4Tzrjjfme9r0;m(`Q77J?V zK@(cF!fYkGy;dzu*Hy;<1S=h{cdj6|GF!ES_qhr2PQqv!8$1D@%bH%dZj;wggKg8M ze}6AOoI4;>H~xbuIQ(?(0>1Lar=n#L`0uRaS9V?y9IvW;Dikoje&^2P`0?P0N=*blLEU6RcBwraXs%L`Lw-{8s?UAqowH0)Nuw8}1+&{(mcpF`CY zNQ#tCj|Y$eissbZ^DFvd-5p&WkdNg4uGe5L{_c6Bs6Nh;>greY;5meLE8E$Ip&r8k zWz%VDz^|>&XqPD`&7L>%Z-(d`13NLAre248fT zrNi1KQ*`!O=3C!I0a0(*?G32lxGJJ=qY=2T(I@<4x=*dqyT;eFgMHlb3?_R>F{T#g z$LRHu^sQVHiy1%D7iWI?<;ySMoVRIWW!- zyems+ii>=_qF|xF!9Si3U#_C)i0a3IX^Qp@;gg&Ef)>YB^E-D!pD}HS;mRCn4xC$x zrE#-yL6-r%u2_7o0wt?(gTt;QgVd;jd^_&yt2^c6K(huv-*Ou8{ej|Q;>KHOdoD&N zoYTrzFkTSb&|)kcJrSSk1V?q{Q%=BG*5V2tw0}vfzwHhb7?wIeUimg!BDHGOx)-wq zYfg=rO26lt;7vhjnP8F!x?0tN(U%)80|BCeHONjT9AJi7T0t13tXT`^0Jg2Kbx-Xd z=m+jvyLN-0vB5TK7!!jUZb(RzH@tIiDK0L7&(~Ls#8=Q$1JAI&e6~D90)(gIi!P(X zYhWTeeEogU(YX+~-!Z6+X^ufb4QJnYBMOdIt$KWg4Y1bTwSK^ zzd;77`&0W{6<_7%Ca)`b`vo|zfI;UX-~|I`f#@b_RKXaPt&J>d5WccK*!3FY`=TR& zRu2Zg!CfRBO#|iVSkt}ZIqVrVCN*e)$IY8}T!s6HDYa`Wnt1o1uatEW(!2{mY1t~5 zHR#)kC9!I3#O&>eP=mE}3GE&BHNKz5zo1LcWUjHb#be4igRz!#ru)`Sb;AeSc}tlc zb8B~N;4KNR!}ZChtXx&)Q~volIu?snS=hzDWmE(WsH9!#^ADW`( zEBDdxcvl=B#1zpno4p;O-R^LNWMVpQg9hzB$K%$mAK8f}|FzfNa}Vxo*T(7BEotGC zutA!}+Q)gPwI(TLnb!Kqk<+J3O8hS$C>%L*>eN5glf7S)$vd*%Y!1x~%|w2r?`b;n zYs;2hx*$KdYW3iQ_ga<=>&>TxpJu3 zpzGUiuQ91_+4GEd32>vuBNM1!| zLbz0@`g37jG`!WH-?R{-*a}Za zG%Yqyhm}|7ERyoQL2oJ6lyB-p_gyUGLu-0x2Ec|!NKjDy`gGqZcoQ}_^ZL+6HNR7) zpqUyrRY`B0f=j@fQ-hU(b*5O_gx4z#uru+-I`Yago%J729DBa-CFRdYVYUC)U24#J z9xE)Qe~j=|QcA{=^(^bm(m6!QLW4Wywr*-UOX-$dtV`(oDm9J0J^?2cjTqKqFa6zf zqW8hdYD?|I6M_Q(2^0j(3N|YXSBN`J&y7udODu9NZ69?yhhGL*Wvr( z_dxL}i%~MD*GVQ*Dq0ApPL{R7I16rm&{qu~MvK9*vF=awI4>lm(QL|>>A_oqP=Is| zyE|-`GLn2#$W)9;1y8^MtR|D)I}?Ir?rh$oW>@_SEDj!*u?3<*9l|tRW;1qp zrcT}wp;l`|1a@rp4fP(VzYRwUH)zm+GLU0q{h#a4!q`c@nN6E0Q%^L!!K*Fb z^}ZKeI@@lqza8JJeVo_gI43x+jO&m(S1f-LBD8W3v?Q2rHs{N8wAT;kq^y78U-CLCK<7;aAeVrL++) zy(?Q>ce?LHmqF<$oU&WCx|$c$4p~kw*>&s~y-}`fW#Lk~-{`JaG?eb0?is~{FssJZ zq3~t8kMm@gyg|>~JfWox@Osb0QmV;=)iWM7PDqC&`5V+2Ay-K!j$xW0A&RRfN$O#~ z7wKYNk2fm~8xrk+OqO+cf0N02Kq+0<`W!uWn6_ERDO1Dr3&sIx>E={BwY*4@sXwO6 zLYgf-xG4O^(W7TxL>Ey+M9@U+ z0ILd)963F-WVrHY1BffrrCxqb_P!?4$!fLYdrq|kp};p;?QYu?%6B$b2bYWTM@C75 z5-O3*EeW~1%d6y$i*F$*m`YXcldX6kO+VWaQKBze=tC9CZX+ud}ZX3j*xL>WI8lRju2 z*Fz`uyZjr}Zy%_1Z(TXoL=P0y75zMkUXz>oifOxY;X**ABT!IyJVnJyLmX4A>}A=d z2n_dVssoQu1jtD2!05gd&*L%fA;~kwtz^M?JRW61AvSQ!yN(GJ53=T~PEzi#)`RJ9 zyemNSwW_}>MzmM+!!t=tu&4uEQ*q?KmUf%ub;V#z!y62*Tp#hRw?;WR-tMyWMz}3IsR)?i#HqLX?XY#U|0^ za*sl;D=G2vbIAx4Y?RNHa(G_h+cEU=Q3`*%O1=A03O(dwH*Jf5;iDl61>89MLdM0sPqBYU~jTVRq%w?cSRooNFlwwUpO@wNE z6OirglN~tOV!GEtp$)38(on{`XS-)(b1I#U0>|U=Hdxw#M=2Uzkf*U%K)6S{8{;u; zpkurON)ad-^sg}rJ+?4beNcjaP#*;f?@MMb0y&Y)@|GhFyqX+6J=@#Rlm-_hd4tgt z)P=dmOO2I1G0ibI24xLq(`(9cBNQZLf~m1`>@YR-u1U`tmZVNv=$+Gv3Wf+T9cipG z3+`CrAQP1P+RhUY$uJhiR{qCh`0A_Qe!~uW@l9K|{_!|K@2xl8)abQKcYhwAeDZa# zeft!_;jCD}!JuVD5lB%i>ojkpHYb{uj@%k##g*?&s-Q`i$H?KTA~Q|lzXGOh$&~-yUcuv;rSNS7Z@KgNnTm({ zs({gnj|=kic$J@t^*jQ+Dm_(1&sb%P0?26)*Li^=u4F2^lU0(r^GQ(G(R=H_s-zTcfVg z?$ib*=6Gr-{GF&Q+~$<~%HMf^SNMJ$J&%fzRi5UR5US-7C)ZZ^+3Ay?a{yhj=~VOo zUUhMK`F5(J2*r@8%D~~S)UvIKPbuX~la&}}zEndIG%5I8#EedAdOwqttX!W$))P$9 za3V!~UUli%vkQ-1p5u%v8HNk1@}RoJFlR~8$Z{3ely^Ng%)gITriO5$_ZLvGM9WST zNLmQd=`9JMp2-#5$ElS{R{YA|W6XQUE0WYJlc)euG*xBj8ftn;iVMK$tsiZejLv1% zkQzJ`z7^MvNy@qF8=PFT*_*X~2<};V_uJk7(8AM0>HU&Fx#@==s33Xz_@@}-s>V?G z7;?OPBIkPfge0?-3^k69_PSmv$0_5ZwBK3IR{8iDbMf$ulXm?IeJW7$)N)RR-!*#^?A9#6j z?AVzz82g&nd~N4n`_q2bx$VKf-v=lvDlK(KRb2fI7$_5r7>EG_6^EjiOIM(e{)_hC z!TzTJmTmvO{(gGC@0_;ICj9{V?Y#Xr?-5^C-nELya=*YA(hJ#3!#JD!LKv2(?X+JIBt z+z7p4AKm}cAUOjDE^`=}%mxe?FkqluFa(GJ0|pEjC>IO?V!(g_0|v?kLx31CV8DQZ za-s4C$TH{$<2P=s^!pevV8DQZONvStAh##CeMnB}v6=LgUMD>}jDjWbB$@ZhHjqIk z&+K{x_y5n{dB8<+bOHRmJ&K~S#1ea@*ki%2cVN2%6-(5ZsL|MsiU^3(-vr(*A2z>cV~qJ(<4@7q1Z7>u8az@g56f9!3Uoq2nE%-fka^Bze5uft~s zgTY|@Kc)!v>6FxoP!EQndzc&d6#cRHp^kZ7>>CpayY*bWe81Lg{>~kaBc(>kZh0+$ z{VLzV8vklHbq#n2zIMMKVJ*l}K4=icLI6dW56kQF84L#FlYyWaz~9z*56|PejhkpR zC}8`B4aN3WK3V3_!I{Cqefrd`m+3|`KX^ld$hAs|+9hTM*wbm6e!VJA;lj8+k&!eN zjnQqxhVTR9ou#sS_wq`h?%ytSit;ovO1;fTVB(sAG=`Sb?C#y+7#xM8dFh0L!C){7 zC{|DlYQ+!XP8zAX2d$=rMLYS(8s4dy+r{+my>%-Qs9(Ie9d{tQ<{c=9=g7TH8`T<@ z&9Z}Qt7lLDstc=krLDJ#&|9dcO{q(b+k$G@1IOfYn$1gi*98l}Ovmf^gar9|<)Z!yxE6TMmVx5EKec$?b9&3YOlMy zKI{-TXU@mw$6zoRpBl)64s|_ysv=w`+I0B+_nhX_qvNur(cxvwCWrq0cgDb3M$iS2 zHVwV|uIo4gEyp$35w^$GT_!vKUDk1<*Cf0_3#;7_6oLgfeSk!w&#vhlmuUrePfJfv z8kaQAIbFWY=YZNqqk+0O40Rjs8ZW?K(0j*|T_Mhn(snOg-amijkP{t5Q~r335Q}M@ z89NTU#>K%f_#U2|J`LxEme2#M&2R+PQe1=WdNgcPfz1mWwKDek-*^C+9O@ zNuRQm%%9|s_V1TGB-t`Oy5$H#ad^X~_Yajtfd1fE<$C7c`B%qZDG-`SHQ}%FfiU-d zvwRCkGij!Y3H$*^0XlYsKWHdHN5~iqK{&+W35ek_;k)-&Ao)czaY+h+hImLazlDp* zj-pz#?U$E@^d3>gx+uTxWvZt3O#}R+R+^a5xzrS>RX>8H!~m(>8D4hM)A)p2gDZg26(0gMrzH|uM;gl3N@Ion=oGF10@D21k@f9_OQBd>h4>(GU z*%tGo=-db_|yrS_k$v>UebQ~1V~8+k|G5yo2GgLte$e%3CKKo57X0c-W`mWtS$6qNBcoogPb_#h|9(3=l7caPf0r=E=+lAr3@{w`;#RAbNjETaaX=XsOdG0{R8U zIylfY{F;h?_ZxchofgBgw z2UCmt3a6_HZIFD7VqGv0ex95@ewu*@+v_;Gwe;z@%)Kq*N_aEcvL*A)s9!(*zAb>4 zrxq@LBpjtcs54@?IHrMIY6KbTJ{XMm11AIg?TSQCf!}C_ z9JdrHB!o{z;=YQKg{#NANt-9RzU5+7zKZ%E=#tP(Qj`eHfY`TUE=nO+~@WSr!9S-35;D_8$;{`h3^ZsGs zjzw(0OH0dkRfs`k{Q!*2bm9-1&hvuF|Cf=;ydq>{uqg2d$%<)Q)=h&wU#ggYh45T8V^9x7r*w zZhT4EjT>`d+^bW&;5);~Ww&FYRAW?m6(7Jm@L^V)M9T;ITP46Fh=49uo5TCNgxd^r zY+yJE3l{hX9>QCHXLSeuhXRSFd9XKWg5DV1E}y0Q1ke@b68Q2)2jLFMVciHT%Cr*& ziYpSDuv)8(s-ihu{=JV@-SF-Z;X90kW+%FW6wcB2Cw-tRazIxraFMW9R5(T3p_57c z#f!oFoQJd;p#2YXeJ;~YP%a09AAz5+-MfFD7nfsdf*ch$s^CMc2fG)44bNyk7$s~X zL?htE#urQj`ATvF3!WG`A5uUAtcrkzUL~n=!PRvJW)$w9F;ZwK@rt?u^ z2Pp7FLVjXNG9f=sJTJ&eVtV0PPtuVM>BJWfu@h2%UM7_1rO(e>pPz>ykx(w#2=^)x z((A7mwq#J0T!1$_hW4-n?ss2Ab>Svea42TjhxKm4_KkOz$#2}q>vFo;Dd%dUOyy}2 zu$Jc=JONwySwA{*9X!Remctznf-nTD&$7M9{&r6T~plO5sbi%3tw5BhJ7gT3GQ{;ZvZZ zXw(y`mTujIYDj;Ym%~7D>p9VrwBD(v@@YOAwfk8)m_r7npHSjPI7ORd0^yWc6<)n+ zT!NEIWG7FC#Ex$+HG1?Yr()4Up^{qsys>_OL_u_2*--54cv7D`hr3bLToo4PQeS5K zu2uH@!Gbnel3okv3PYXJX`wkSLt5wS6}n5-gMi4T`}=r`)`()g{z>NtGwFF z-a8-hD!usjwl3S*pjY`t{Hxqe*~;AvnfLdS)vFbu%5hPV{rl4dstl5#&(`K;-(lh8 zs6FM&>m2#7ai#SO3=mZMD9d})7g~a!)o^G8wc(8Qu2eT#&9|=C7}~=Sh&KLb#`GX4 zMUC}aQ(ze!6Y9A)`tcd>2B(oTOidUL;_rR$KgVB>i9R3T{(a$7Y=bZblGlh65f2x# z6MoXiX?=6?6U3fF${Yjd2aPjp`E=sj^XQC+z}y-%ZoelP&Tmaq6~SD|fu(_PlV z!K266_DM=Ic#VvWGp@X zy=RgZcpRV{`Q2p$IKEI)xa8yvlbt(h5I=|yTDcMyL#E;=pm4@C5vOL^9KQgx+;SZK ze-sG$8};W>uC3CKnrN9CmcP>dA3Oyu59DEJF&KGFMW_o^v~3M727^%$AurMDMp5}+ zFti59Xk}bd;x1Vp^JDhYuez|p)Q(=#t{D;X!#)?)HfKbmWEgq2u*+X*--H`w99Rf_ zi}OwyOVawDnTAS*BBnXge+}^^>n?_ofBQz=#BT3X}m{oz42c3rX(8gF*6;a-fVB1DT#jHQ#9UZ z8TZAU^~U?@f&^Z7YO2Cr-E7)zuWx{_nDHL)890w-f*Op4=aw7uK-xkZXrr47X;1>~ zq6imb47A-miW+fo)I3U7Y*EE3GWqr2a-pOTqXj&~f#=SJOdmI*&F!?q*-sl~KY;!4 z6g)dxm@G(tb*{03ra>>$Lmy!!zhycN@gf6>#ah41R-a^jpK7xpxDMf`Gp6HEMqVP;4sCHW7ZMVpaco zicBBVLiG<>Uf*6juOB^^Igo(USLPBDR0>?7tf2+dU*?DK@4*IMVnwgdL0rcO`DC5d zs|F!2)E~+8HPlC6j`zQ$%1W*OdntDhc)b%+pI*GNy)Vs_+dugGVH9vWfD1HySO;`i z5>D^uPywqsr+uE>a)~`n+!h;-S7Weji_2mZyrthkcDS&8t=u-bd!qypPB*2p&Sq z6K{0_^M=>MPohTBF3*j>s^TsZ+0u|ECMJS{xmP0y z1|o5T`YeUAcnE)=ZVMy960ELX&1*Rr48|8g6Ld%S#6N(C&bTx*6uY7YI!~}Rx&T{o zWVN5ei@H{oJ#cdq6vsHd;>aTo5A$8DSu>!2rs61G{A2S&xuguvJp5K4d~dWs!qS{& zwq34WlaKHTQCnR323EjT3as_uV+DczAWq)W@Z~|xr-V(CmseJeIvCLe2f#*54QnA$ z!Bxr7ZQFKla2eb-;lan3_mYrZu1ebA|`h)&TTYSlA9_mEW)w2-ZjhX^M?9Cu165GE2|u& z8Cm5zzXu}8<@=>z1=XN+R|im13;L>|B4OKW(^}u)tqKHga!F8q?OLeJ7X$FzmuV_Aej_Gs zu7SdhACO33in!AO#5>`4cBn{YpqsE$@vzy+vH0lLPm1b7iy?CBRy4dux2Yg$JT4@)tr@8##`QUYK`uU?=O+7!xf zzJpNmgd+M&#K2JLne}n*gBDN>mBGJ+1-OimdE9^J1l6~8*{D*SXV`?tuSdP48!U5I z%p9-}me7)_YsiwGl4L?M&+&F(eDb8-7Ug42wcSaIeZFNib_1>%T1*Cm!FU^9o>4YY zHXLWC@SU&O+o{v@I(N4G6%^f(1`vYLfdep*MpKE=k6tQ{d>`~fS22-Vg{Hi3`givE zb4F;4H1WMN%x`Eltf4jb$7vq##=EVnAs_3rK<#jOsr(ORHFX_NQjGGQpw6hZ`J>BO zpSG48Xf{7LWM(iJ1(eppa;)&tK~+}|5-a+gW+=tHqun= zdeWi(l8FbmnY^=Wj+Q|pzw4*#`Ed(*0iMRwpn9|oYT-<DlzCV3&NhCtqC$!kk*`YhOx<=xImJ$;kNSR0AldWb6n;{f)pG(PU>}XBIw&9R#&3GOfAGe27fN-jWU(Td80Q*5hzcqNO-@ecQ;3w+G zum2I!{L-3G`)9Wly_8qf`1^HO1tlQr&*!)Tw*&vY5x;^e!<|+UG>l(OQoSwcpgwN- zCx+^g%VwLo7yR|^+~>9w-8Je%Q`&#CsGE9E$sW*{m!iB<9G^izH!H=Gub^V8Sy(_C z-GLtF8{iT)gA8HcjGUlcr8tNKTZ*j|3uS0#kmCS*@3riF>dN z#HkAfAJN;G_4A!L8NEU0C;Flr{~?!uupvfKQ)#VU=lq<^sV`Mle)XZ(Gjaz6oQac` zE>(rQJhM46dbFYB=se1A_knq(d+D5XV|9lG1v8FDgHxqA5*I>ig3$%)jg<{yBg5u5LDxJVd z!u}6X6H3N!fQncFCd9^~1=fQ#v9V>oE8Vu_xOnrRke@uhwa%E5r#JZ@DCA00^}bW5 zgqxp5*r-u{m;c2QAp8=3a8C_4cm2WU{=C8;dii^|K(e69Tp!LVFc3&by5zZ!^L%s` z<3ABzgQn2zCQU$$6JfvrV7r%%>)dwYqiy;(F3^W7ae+Txoes{7>8>ZUyHqp_UdZYr z#yMRiqA}6tFmX*x@*`B7UR8d{z&1+0RFa8Y24YNg8iL*}rTq?Q)K zuXh`)wY8;VbcJ8xoN2Uu!`CY#w-H`X`Xd}Ug7MrMZp?&C7bPDt5AvfMjEbSY#ndx8 z8Pjck8ckNE>ASS{BWs8j7+yMaYeONlD`6wFf<&wy6AQm%Af(5}VtLd+T5Ltq&OqZ7~k%1thR6}s!TlWC`H` zX&4T`z7}^uL5Z}bQh!*2rO~r`^{l{XhQ6OKmSNBammiUrU0Zff$q7J)|(51HMjC-e4@<92?*Ev;{;d$H$y`)3L-$g zYj@G^MSB(6>%_!&WuuV$Dx>yJol3wHa5HA)hvrIE6wL?&>a; zy?Z`|ebWH{sI5hd@?BH=a(}izK-Tazb?9u5ex!t|%~hoDy=c%NKV)YV9PkDvbK^XC zRg8;=?A#1VuIHcI8QQm7wD^Fg;!2&3wu5fw-bjdsP?~J@(KEprpD6_6aNM0cFcVbz zc?Y|&4syef~uU@#bBm(`Q) z*p^$$m2A;cHP!isjAAS1RbhE<>{jgX1&w*@)^v`K<}XA>!eMbKR4A{@WiS|wF9vs< z1n|NcpJN#;+oh|jn{$Fq-Tiq!LoCk&D5-ingDfsO8mn-_@kTFyy}$X^8I$w6Tn2-| z`0S|%V{p%YTN5Qsh8H!0@=I}Kk?+H8=-3)8rfT)DyPcDHpt)AsSbdxjFn;1m87@xJrb>pR=i5FV+QK4v+> z;llQYmW#n)FbWJU#U(Wrd*U4&(Dxfv1DC!w!8@NDTC6;`fxHVodTyovaoOOtBg{aoAZ;X6&|0IN((5O+6=y9Xt@{+1|!elQOZqQw=O)wrJ3wt z!Jjy5@Gh*k5xUpe#a0m)hck`Oat+5i;uZA5W$T9+S}q2I!N_g!KHkPVo9-DGfe6m` zmpX=)=Y1)#Es(dN7^OU+{&|==eM3<+VDZ;*SRB1o=%}IPVlWtt_l9sHPE1V1C-4|H zxvNwsTuRu~T;A8vVtptDwgvJwRLfkfZC0<0<1S+vPSVh*m-`fZsa2q!9 z@WA<~Bj1)SKUc+(#b?(7c^isIcs;xbhyJVPWIlr5&F)Hne#8#TTPMvSSyv@Rp{m`Fg&Xt};zr zFdwFaFE#Fd*3fb>7>okUJQ$4gLK<@_?ilCeIw8#6Ss|?#^P{1~G8A8|0?CddOzEr{ z-L@?yKp^iw^8j3<5P0$JGcgVxoGf14(DE@DjC{meT%JFNMsN%}FFJ$%kWQ0U4N$3F zr`p=xzHMmn3JOetyahXj?`%zY&6>Q9cOy5A1~^zmiz?<>WG@DTQ2=m;@i_k8J@An% z;{0V%;Su9qq-|pR8CtA@3R58Oz}`;j6QwFuioZ!!ajw%->IPqv=jgg{T3DduIYZ0G zU@$&{m!qYiHEx1dn}%a=901=hETP)#Jl>|mqiu#3ub{&e$OmHIbm6S1twoFSj=USL z7-mlE=rJ_!yF&OTZ_)H7O@z+_a6lq4w44kE<2Bj}iXWq-qC8)!+fLkjoMqi z{VASG(Fr?y=tN$yw1Wg9;T%Pl{oc@WG8msUgs$lNa4QUh`Y>R_2K*KhG5XhQDodB! zvfzss4K3d14pSicOpi|fD~}#3JTK*kwB;%30sgd^ejxgpjp|@9J^&>A0WqisrW=QF zFGh|EQ#+27c1?COv|L{rOo12}`@+h(8m|To_!PK8rM_QA>!>cwY3B_$gqN!ujsAo~ z!ZSK#YHDaX8H{|Tl{ir^Jsi5gS6Cyw75<1OaAxZ$D$DKSF7DkIeqg+_RA#tX;EYU| z0x6($>FVcr;9&9M+B9ut-9U#^G=^NEPL~C67$vZ)<7_xZ^J!nnl7^O(!N?J!cUmbC zw1qZkes&R*g~#yhs2SGAD7bp~5ZBCjvC)p5&qE72X0#dk><>eW%lL1Y0{O&nsJ|-U z;7m#T^sXDkqoy?GOO zaE0o}=0RQbfvaIHjHE`h&|lSJ_uX;NWS#EUGPIbCoWT^xXGZVd0l!2ANF*;-rcC5& zHFJYLxRtP(8x5dgu(F9Wd<84vbc;!F5o~BFi#5;4A)bO_@DN%MJD@&AU9SwKzzFUf zmV+gZz?+egxD>~L?&$o?`4m?^*?1R>{|{3jUnpHV_)R~UVPT;itu@otcYI9Ch-g{Q z^J08Qf(jK3Egz#`AygEO=y$SNDgWrC2@2c%_|iV6qzbDv#U zfX^POumDM+K4@_CjT^88xmv)8qugjA#2wZVuM!m7G;F&=C{TWt`pggBB~ZiGv43au*q z2v#%)iksI2KcU(>Q!$Pyo?OBMJpgo5!J86sT*3(03W>D)+OLA5*Wt)(*SJs|501Bk z`0~(@B$xWYa6HY8y0My@W>n1d?B!))R~=WhFk{1C899R~5JtYzbNgbyBS%b4Q~h~9 zEwNlVUZPFoxyqGEi5%x%x)(elj+B*FVlUhayDHfYUfloy0WnELK~$`SQnU)rmgz;o z@D~`BE)9QU8#r3*G{lo9lqh`xih(ozT6zf-!a_K?STQi6*O(<0H zx=5G|8IX|@2D51vBt3S7rqB?QpErW4U;)n_)q^u=2X>FfVkGT@zY?7g(Ft4=5~zxh z()i&vasvY8-JzH!Pd#q6A8KEpldN{ABdtc~etvHgG5@T$rCM z4lpfT7-o<+fQbnTM*&h(h01vvU|O1Ro+n*O3O5sg<5E%xg)J^E4SA3t|KI`cfofdL zlP85OO}CkrzJGsP%%~04-#s12DtN}{$o~QW0RR7%#}#LZJ`C9a0000