* [PATCH v3 1/1] Drivers/ASpeed: Add ASpeed AST2500 GOP driver
@ 2020-12-01 15:59 Nhi Pham
2020-12-01 18:27 ` [edk2-devel] " Samer El-Haj-Mahmoud
2020-12-02 13:57 ` Leif Lindholm
0 siblings, 2 replies; 4+ messages in thread
From: Nhi Pham @ 2020-12-01 15:59 UTC (permalink / raw)
To: devel
Cc: patches, Nhi Pham, Ray Ni, Leif Lindholm, Michael D Kinney,
Ard Biesheuvel, KuoHsiang Chou
This is the AArch64 binary provided by ASpeed for AST2500 Gop driver
version 1.10.00.
Cc: Ray Ni <ray.ni@intel.com>
Cc: Leif Lindholm <leif@nuviainc.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Ard Biesheuvel <ard.biesheuvel@arm.com>
Signed-off-by: KuoHsiang Chou <kuohsiang_chou@aspeedtech.com>
Signed-off-by: Nhi Pham <nhi@os.amperecomputing.com>
---
PATCH V3 changes - changed files name per Samer's suggestion
* Changed the origin uefi_2500_800.efi name to ASpeedAst2500Gop.efi to
conform to EDK2 naming convention.
* Changed the GopDxe.inf name to the meaningful ASpeedAst2500GopDxe.inf
Drivers/ASpeed/ASpeedGopBinPkg/ASpeedAst2500GopDxe.inf | 24 +++++++++++++++++++
Drivers/ASpeed/ASpeedGopBinPkg/AArch64/ASpeedAst2500Gop.efi | Bin 0 -> 42880 bytes
Drivers/ASpeed/License.txt | 25 ++++++++++++++++++++
3 files changed, 49 insertions(+)
diff --git a/Drivers/ASpeed/ASpeedGopBinPkg/ASpeedAst2500GopDxe.inf b/Drivers/ASpeed/ASpeedGopBinPkg/ASpeedAst2500GopDxe.inf
new file mode 100644
index 000000000000..34b508f53e13
--- /dev/null
+++ b/Drivers/ASpeed/ASpeedGopBinPkg/ASpeedAst2500GopDxe.inf
@@ -0,0 +1,24 @@
+## @file
+# Component description file for ASPEED Graphics Controller Driver.
+#
+# Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 2020, ASPEED Technology Inc. All rights reserved.<BR>
+#
+# This program and the accompanying materials
+# are licensed and made available under the terms and conditions of the BSD License
+# which accompanies this distribution. The full text of the license may be found at
+# http://opensource.org/licenses/bsd-license.php
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
+#
+##
+
+[Defines]
+ INF_VERSION = 0x00010005
+ BASE_NAME = ASpeedAst2500GopDxe
+ FILE_GUID = 7F81D838-F91D-4C44-8552-8FB912122FDD
+ MODULE_TYPE = UEFI_DRIVER
+ VERSION_STRING = 1.1
+
+[Binaries.AArch64]
+ PE32|AArch64/ASpeedAst2500Gop.efi|*
diff --git a/Drivers/ASpeed/ASpeedGopBinPkg/AArch64/ASpeedAst2500Gop.efi b/Drivers/ASpeed/ASpeedGopBinPkg/AArch64/ASpeedAst2500Gop.efi
new file mode 100644
index 0000000000000000000000000000000000000000..4b36e189b3a15abe2c160b948a1e221d4b0fd8e8
GIT binary patch
literal 42880
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
literal 0
HcmV?d00001
diff --git a/Drivers/ASpeed/License.txt b/Drivers/ASpeed/License.txt
new file mode 100644
index 000000000000..3dc49d3aff4f
--- /dev/null
+++ b/Drivers/ASpeed/License.txt
@@ -0,0 +1,25 @@
+Copyright (c) 2020, ASPEED Technology Inc. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in
+ the documentation and/or other materials provided with the
+ distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
+ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
--
2.17.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [edk2-devel] [PATCH v3 1/1] Drivers/ASpeed: Add ASpeed AST2500 GOP driver
2020-12-01 15:59 [PATCH v3 1/1] Drivers/ASpeed: Add ASpeed AST2500 GOP driver Nhi Pham
@ 2020-12-01 18:27 ` Samer El-Haj-Mahmoud
2020-12-02 13:57 ` Leif Lindholm
1 sibling, 0 replies; 4+ messages in thread
From: Samer El-Haj-Mahmoud @ 2020-12-01 18:27 UTC (permalink / raw)
To: devel@edk2.groups.io, nhi@os.amperecomputing.com
Cc: patches@amperecomputing.com, Ray Ni, Leif Lindholm,
Michael D Kinney, Ard Biesheuvel, KuoHsiang Chou,
Samer El-Haj-Mahmoud
Reviewed-By: Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com>
> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Nhi
> Pham via groups.io
> Sent: Tuesday, December 1, 2020 10:59 AM
> To: devel@edk2.groups.io
> Cc: patches@amperecomputing.com; Nhi Pham
> <nhi@os.amperecomputing.com>; Ray Ni <ray.ni@intel.com>; Leif Lindholm
> <leif@nuviainc.com>; Michael D Kinney <michael.d.kinney@intel.com>; Ard
> Biesheuvel <Ard.Biesheuvel@arm.com>; KuoHsiang Chou
> <kuohsiang_chou@aspeedtech.com>
> Subject: [edk2-devel] [PATCH v3 1/1] Drivers/ASpeed: Add ASpeed AST2500
> GOP driver
>
> This is the AArch64 binary provided by ASpeed for AST2500 Gop driver
> version 1.10.00.
>
> Cc: Ray Ni <ray.ni@intel.com>
> Cc: Leif Lindholm <leif@nuviainc.com>
> Cc: Michael D Kinney <michael.d.kinney@intel.com>
> Cc: Ard Biesheuvel <ard.biesheuvel@arm.com>
>
> Signed-off-by: KuoHsiang Chou <kuohsiang_chou@aspeedtech.com>
> Signed-off-by: Nhi Pham <nhi@os.amperecomputing.com>
> ---
> PATCH V3 changes - changed files name per Samer's suggestion
> * Changed the origin uefi_2500_800.efi name to ASpeedAst2500Gop.efi to
> conform to EDK2 naming convention.
> * Changed the GopDxe.inf name to the meaningful
> ASpeedAst2500GopDxe.inf
>
> Drivers/ASpeed/ASpeedGopBinPkg/ASpeedAst2500GopDxe.inf | 24
> +++++++++++++++++++
> Drivers/ASpeed/ASpeedGopBinPkg/AArch64/ASpeedAst2500Gop.efi | Bin 0
> -> 42880 bytes
> Drivers/ASpeed/License.txt | 25 ++++++++++++++++++++
> 3 files changed, 49 insertions(+)
>
> diff --git a/Drivers/ASpeed/ASpeedGopBinPkg/ASpeedAst2500GopDxe.inf
> b/Drivers/ASpeed/ASpeedGopBinPkg/ASpeedAst2500GopDxe.inf
> new file mode 100644
> index 000000000000..34b508f53e13
> --- /dev/null
> +++ b/Drivers/ASpeed/ASpeedGopBinPkg/ASpeedAst2500GopDxe.inf
> @@ -0,0 +1,24 @@
> +## @file
> +# Component description file for ASPEED Graphics Controller Driver.
> +#
> +# Copyright (c) 2006 - 2010, Intel Corporation. All rights
> +reserved.<BR> # Copyright (c) 2020, ASPEED Technology Inc. All rights
> +reserved.<BR> # # This program and the accompanying materials # are
> +licensed and made available under the terms and conditions of the BSD
> +License # which accompanies this distribution. The full text of the
> +license may be found at #
> +http://opensource.org/licenses/bsd-license.php
> +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS"
> +BASIS, # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND,
> EITHER EXPRESS OR IMPLIED.
> +#
> +##
> +
> +[Defines]
> + INF_VERSION = 0x00010005
> + BASE_NAME = ASpeedAst2500GopDxe
> + FILE_GUID = 7F81D838-F91D-4C44-8552-8FB912122FDD
> + MODULE_TYPE = UEFI_DRIVER
> + VERSION_STRING = 1.1
> +
> +[Binaries.AArch64]
> + PE32|AArch64/ASpeedAst2500Gop.efi|*
> diff --git
> a/Drivers/ASpeed/ASpeedGopBinPkg/AArch64/ASpeedAst2500Gop.efi
> b/Drivers/ASpeed/ASpeedGopBinPkg/AArch64/ASpeedAst2500Gop.efi
> new file mode 100644
> index
> 0000000000000000000000000000000000000000..4b36e189b3a15abe2c160b948
> a1e221d4b0fd8e8
> GIT binary patch
> literal 42880
> zcmdtL3w%`7wLiYkIg<w@gdrp$glHxKHB3cf2qCdT&P;fz2<arKRcmJQfJBfy2ns^
> w
> zB%#$Bt3>ey-
> e!WL5`Mi}3dQtAfY$1@wIx{F+xFJU1GS}BMO27b^8bF%BRLsDtG)OC
> z`TRb=k>fdg?X}lld+oK?UVH6*POiUM{L4S>UoJUZuxNo06&=bj08bx?D@2Tph
> ew47
> zjyJM2q*cPqp9^<h;Xm!UVZ4~|%nPKQ7l4lj4m}H=kdci0{?QQrMc5S$mFpW=7
> H!ts
> zY29t~TtfJ-
> s0cI!0Ha*g$A|AWG@%O7bwz#U>Y8$cSBq!f?LXjo?dgBzd9Ya=Jyk4r
> zpNkO#A1R{aDIvC<!u|W=%z?l~5zcg>4uq71j%|R4l!+bZV$^|C#p-U9Ywc1>-
> yA$*
> zlxJD(go3V6J3rni?LMVQ9hwk1>CtLufe@>XM2Hg7=>d&w(9(`8S-
> {N?DIzB{IfCT|
> z0y`Z}Wr;e_`?P2!u3r?q`7!8@PZHZiswj5JA}3Kk^MmD9S`s-zyx47}gQ$<`#{W{B
> zy-
> H$71n^vcR<aI_*Sa%8N^K|+ZJ305&I~%G%Z1)9@^c&bVLcy<Ge59+ya_O9b;4
> {#
> z>rNCOd>8^fw)^9ap517((RNdIR(mOfIjEDgdQq31=gcskt+d5+&+iPLe~)s(KPk0
> 6
> zsaki_AC%hfBTXL3*FKZ>Yhkn}gweLr7H#Rb2JJ&A*Y%%Dt>+@Gd*|<z+NW%
> ^Z%a1%
> zeV<8NgRIv=)}LB+nX<Oh7VY$I(w^AS0X$1S!8euKcGS`IhEhvCX-X6cR-
> UCd)Sd50
> zB0&hPTh}8+KKk)3((cE`L^vtGE}41;y_`tBlsY0GPzRn)qAp4uy?vs!@j-{PA2NxM
> zHD4F>L{-il2&Jh59-
> ;XnlGOnjcSY8^`xU7*h<xhwEa}XFo@RA}Uv2hLCr`zA_BIOW
> z<-O{Lv}m>Nl=8@S*1Hq+IJQDhS{zQwy$_cL8q|Ni9k+PEmpU-0$mST3j-
> D=;cb`Tb
> zLe;v-
> H`_9>O4)sGsu<{*DF)6ca>r@P2spt>VxOz({%&pTb07L;G4P2L;bgs=BgFvQ
> z8JejMZ19TKKJekW*8%xX?&wE3tF6?tM6@p<>C6HDSaqOBNpw4|*4x}&UM
> 5<}D{&GM
> zjeN>P&j)V`<Zb282K=LmXAZFL#ztf8vF_exsnu`N_$dC&0oN;vQ^HvN6g1l%A}
> 3E4
> z`z1;14m~ZkK9L}{si1@Bd_V8cN%_L1`CQ_~`cRGNwD1l<M?<r~E6PM+T!ob6j!I
> K+
> zyM&mn=K)qWNo@1a6X-vYuo?HVd1#j;_8kI`lz-X-;>@&X)B(1mXQRVu^-
> FT3*v2-q
> zO(o-
> ?3&1UiGGK4So;jc@YJL#B`$10~EA}z}V(`u~r*XH&Y65hAZkWzn>7Zp_en_29
> z==g7z`<dblTn78{6Q%YQq$$hvyB*GG@L1L>TKyTKb?TiCXGNLRdi*YjbHz@!U
> +Wf9
> z!JE_2M)k+K&CJ)p8+po}VDQu(##3?_PgdIEsb{~z6M66-
> M1Q$4{$5gQpGLYLawlIE
> zUg#J2YF`JvE|*%%nndf7I)^g?{B)W9-
> 5{O$!DR5Y*R1~|jFBL0K^OQ8Tn?H)RcaqZ
> z9t?H@X;Me2vlWqs-
> W~!y>T85#j7!Ql0=PNQ7mRCn0&FS!R@Xhq`j{;CQHS6B3wT05
> zAB+@rhcG6ouVrzDZd*D_9q^-
> `X&9Tms5h|2;p_u_>Hv9>rWrcoLYm|DV~kUd*VE-*
> zjKxBXMU2@ak}+l#NuT#PPHAIkb7*J0lGyJ*?$GBW%MNh-)9&=#Zs=PT_}5-
> A`b~`x
> zIj8y@PCx1oAfK}EV=kkuqMf3RS^%A-
> d_O_|YB6UH++xbM2lh&XUCq#LJ!9E}QXx)+
> z(0=uMiZlHx*y-
> ;pS=qop1zgH)R!AIWTPvW)k<T0QXkX!QQrF7Mhx_sqw1@h%W1`qL
> z9p%JsgWpfad-
> kePBB%Jz2G8V^Jog^qoGZc3By_Y_IGlE#LlI{VTw(D%#pGGsb{@~c
> zJ>Yqs)-C_Lk`+OofvfYZ89es{98QPHGj-
> 4ESMvG;*|1gYbM}2YWHyxldxvfxt^O#7
> z4m92deF3kd^}T>Tv)+)B6lSl@zQ?@n^&7h5IOcHf!gXq+*c}=#1`1)5Xrn)b+$@
> _g
> z5qg?uw%=vWgH}3d+Jv4bjd}20l=D9gIb4ge@|0401ZnNx48JI&+u>9lqSKGNfR
> 6Nh
> z74k4`S*YBw+pPOoSlyGu>bBBW-O^)5-
> LJB)HpO}9I_S+4O6@a9QwL6MwE1hM&jSC<
> zEyZcRL%({uo^z$;|Fw-
> 3+X&A{)_mUBiEhf6IJ2t0<$D5okBkY{TjiMdJn<a~@v@j0
> zFXXB@YcYO%pufbi%ECWze+zig=#%twgE{uRX24yjpZ$e?^Krb=$F%$e-
> 1TvKA%54g
> ze$=(oc|O0Zkr&SICgOh%e!m91(fGX)@PEW_BX}7s6h|qu-
> oZ8>^@@FZ4azl+r%Wd5
> z^6YJk&Yn+R&}PE64-P)gXZ9)6hmlSbX{&mo+EOqs-
> FhDu3f*>HsE({r>i801q(|C~
> zpy|h4OF75u<6~k6$Js{02M6_fJxJe$bO`;#asi~*GT%&-&JLu>TL`?3;42dSh<>oz
> z?-
> jv%tNmlxR?G>#xJZ}sDHG4sD}+Z4!+HlBedopi7OnZ3qFaY>y;nPDodLWNaQQ1
> +
> zhT-=;Q~x3H$Jl7}DcS!`+%VX?#2Y(|CyN(-
> eS~@JFwOU8!U{*i{*$ozBVlh4wqPXe
> z*Muz`3HuMimXCz}oUj{4!nz1sY=d>Z==%|1jU!-
> NeLo=HH8wo7<9mQnu8n}RPjvk|
> zB4wj5T06#w1SuB%a>UTfo#;c(dzODq{k%a6`huYG=yx5?1dR1<9Oo!QI;8vW$k
> T+#
> z-
> G=e)85}I34=4GDd3YB2X(H)%A!F>L9LvzIu>AeV3vzzm1m6pO0Ow~5hxz2E5je
> er
> zgOga!nz!j=TRa>F4%c0Gp)G6&`TrQ>qS35_b2!_>wlsrQBi03^ozQS`JZatoSX0$~
> zK1tr^^JYF@pLA=o4lf5>e&?GyzmmMyclg<7>u)1&<u^>&_k7+<cGZ8Cc)iUg>
> _y+<
> zr=PAb0gUuWe+8Z!LEi(~X+m1n2pb4lWxrXr+&zi10&U{m$}*_$5b7Dilhd;I-&S-
> i
> zR>%9Ej^`si@Zdq+!+0Wl|GdR;nMA_=i$(mKa-
> !aT(uF_jW_xF%oRLm)+t(_VJSf9U
> zAw$ZIwv}acJ;3^(vdckv_-
> sRTncpNQWKSkPrmRWdjkGq{mdocRIVt;`85gi{Xuo4o
> zPex#<9-sWc!4Y*iNYk_#q{F&sGq$0gzekI0Zy-
> &0586guIs=%9*L>UJ#e^>8waH?Y
> z1YINzTY2Amz>~xlpPcxpPd>U+r$O595*{~fI|h)JwJkm&y_73m4*ZHHUk2*8X
> #I)#
> zo3{8Q2lD)Thv07lu5L5taO$)cYv{Bk18eSTjJaR8h0?DfL-23e!k1CLG5UU;XXa&4
> zu7F8nhG9GZdY|vd!~?7hx=fykdjK&1*5SIv8(T4+f**2BvA(i%Z9}-di-
> PrgNMr0U
> z-CoR3&jQANG25y4OFLjz`ulhm=6pceTJ{8e!}hd37L73o-
> J#ylXSVvh%y0M+)T3{M
> zMw6^|N+$1=|9yl-s-4tDOUBKFjRl@E47-
> Q0IKUjkunmO8qpS_qKv)uB5yN<1k(|AT
> z@D!A{=|weQlB)R*FE_?D`N_B@SYHl!Bj6T48KTK|8)29e$^wl;aQVj_^*51*cN
> kX|
> z&-
> jV~Yq}Ub*x*YE%Rv3N4&z=!*rmX;!R8a@2Hw|(@d^mL0(dsqRfJ^&@3vvQ*
> @Wc+
> z&j!mP>?+`u4&!|ZFv*8GQyPZJa<Kjq!fzUe9fl6N0Aqh=V2oMv;CM^{oavf#gO
> 4|P
> zL4VqC{zR4m?ToE0!)2B~Uq8;IRrcYdBgRw|;q%l^(t8l}c>gcl8*TkhUjL4@JM*kD
> zMIV8E)|;lqb9{Xq1sycka3gfEO!EzFRP=d(F&WMie+8{@T|7=$m@bA03)96v5*
> DV5
> zZxR-
> !i$@6?MHgQqJWLl~2JC!Ye7?R5aO$EghILeSwb%cUaL@VrxQ}#fdPjYH0kCj=
> z>>w;mA9oQJrjJ3w!t`+mVPX3C7-
> 3=hh@i%K`uG50VfuJ4V58|{BjAnD$EJJl9nvGY
> z`MLUy#Q!SB?IC0Cr4E$E2J6=mpSqg;s4oe+OI^{&H1u^1^3Etp?$fvkKOHG%r;
> QhN
> z&qs<9>OAodYt6pNC|3^LMEI1amC0`Eu|-El-
> mR?L^krCvup3z~_+ffyMxsvN2N=se
> z_jl;AjYfvn;=9hw`}8yDI@XTT-
> 9}mBf0gt%MHge88P7RhY;8;_P{b<mJ7FjMhXKsP
> zpCGo!`5s#Zv-
> bmjP?qZseL7f@93>{a3V(^bFczq{DI>`}6Eshw%mA)4xL%47vkTDn
> zD#YK3cREe;ktXx(ys~XB@)OqHDS#cmExFi|o7a(+P2Lj$=l%9k+8k%*{e*4CdS*
> ~g
> zT6Oy2$5IaBPQLeNJeI;XJ%Kj8i8j3@OLgsM2TSsi_XgW!lOg%~6tTT<zCH$Qr#va
> f
> z>kt#Xo1|jztp<<eiLxM{e*+HF9`G1$w~ix^^@Q84w+M$`h1;$FB;2%He$XS`7u
> fbN
> zyY*|cPRobYV^13kcaN}Niq!h^Ncdn8!~Ox=Y54~~WnDI3fO(yON%6zJ3&;9C;*
> Ega
> z=X-&8@Np;u^4Nv6OMWT0aXfq&XK+ZrcM-
> mHbU(uGBeBf(Fq(Ui?h>!)G%b0{;y&M2
> zz?p6~<<n)}?}i@OdD;QIpy<+l$3xin;5^`fKCmqJD*j@YTZnSn-w`i}9&YyoD4T)t
> zN|-EU-
> REVwI=~yHVZ0`!<%WoO3+5G$Y|3OM@gPr&@AbrsZ1)jnr}s6$r3uiF1x-V^
> zhvjGLZv>p{fBU+ZzEI=cT6gbwExvE87H{?AB;c|hJud?DRs_;DB0p54=DVakz5Q0
> +
> z8C#w@I4Aca$^&?QC2Nl5%UV3k@M&j*c18d^!>2~ObRM(J`fkViobs`Bpn&i+
> (TV+$
> zPQryq$!5A2X^Un$aP&4|ZtYTxeLeCf$Duvk&)CR4J<;(x`8+7{dk(7kVzTCIk8sYh
> z{6Er~20EY*dzQ8;5x$y`(O2*n_RCs|#m^MrNLOI*0rt&;CF$iR>gD7=eZ$xF_iy@
> |
> z<3)U9?t)|6<}E$u6<W$iuq7&FPrrXR>|<M;sMC;E@ytF+j}{X=o1`i7*D-!K$y2;)
> z+6007{=3tPUC~`B!F$9Mu}LXbvccCTWr_qmCHhcGZ>$z?^;0?WccYEm=i~Z`>m
> ^Gb
> zf%S;<qaMb}D3d|Rfik&+GC|ut$S*^itIf1sC$`yOhhwz(X3%-
> af|+!uqU`;EbwQ6p
> z2cRbhAY<%%rmdIjsw7d;i?qe3g7TYL-
> oz2GgT(z1_H*z@DElL`Y^<oOhJ5_M4*}i>
> zxJBbI+P#J}zz^%&_Y=jb$!b3NCNAsqf~IQHCXQ9!k8;|@YF^rBN?qXGV2MSu4
> Eiz^
> zb=^d|mhO+!;uYB1V!-;OVOh&#wD_ffvAzsE6F-
> ;bO#bQXvrR%s?r`3TUjW=*j4P|2
> z%UBkD(hJ=zair9@M~jj&?Da8U`sLHUo&UAJekJQejLL*z?G^Nu0miXz!MK+G
> 8e!%d
> zl5pxN$K8#D+w3dm)orTs``kulc#Q>n9e+LGjlu@QI9SZG(lCr`yh7sHU|j3XBh7T1
> zZT`9$GZ}@SS)>WL#p8UW(;T9%9eqNZZ^32J?#pCd=9nh@j}AlDdVeE*7_xkm
> Fvu_j
> z8HR*wj-
> AE~gZ7o}&?ig3gt$1{>Mxh%9AVRr*l78Y7YUnYm)&I03yPO=hiP4;)3S8T
> z;`Qe`pK87u>6}BppTT@#^$q*PYU2mMqrJCmip2IJEw8^g-
> h#bDTA)GN)Sc}%9$j+Y
> zkgc`T{R40$8{HE~L(hGL+2@Sk0NxleTz`+5mK)-R>i-2`R{dodcXu;w={tBb^j(aQ
> z1M#+4<)XKC%j!>kPnzk+APXV5=WNE!hwRnx{?_S@vTnQ6vcy2zO`<a`5BDn0
> 2hjOB
> zqEl$N9}ydbANOB~4KB>Dq1VI)mFwpnQohFcY@3uHj5T!<^(jHb=&`pwco{D2
> Zx3SM
> zcW{rC-}MmoBKolJiFia1dtKa<4`9D00{b1k$FQdj-=}}7u_qrKi~Koir++N=f3Y{`
> z!oI8vwj%-bKgQky<31Te_|k-
> Yy9S;67&sqYrVhkGkJ=?Mo4DL}w)B_%c`4+Qj`0nf
> zF&5?OB*Y^Jfx|M~kLYQZT4SLXlrzUk&))}2*4++S;Cu(_>zEUV_{vpc!1edR{pl!!
> zwMF;3GP$)Rs5rTvAWjH0ICdIkbpz?3j-
> 19wb;BX}_oUefTYW$lov@`F_WML@P)>VE
> zLq2`opcl_$)eXTW{oWZooc0p^{lSHzZX5Q*B=B?RwPJvM>LSl*uPVg8B=VJQJ
> Wn*A
> z{eb(gQU}H(9m2j|g5E~N%gUwJ-
> a@IBI>Ws+>@n^SeF^(b*xUEtEIQAPBQ4{+kNErG
> zzI8X#4@h#SL!QrI{y^QnHr%cF;pvTD%!86K55m_ur+~j`b>KLBg~(X!$8Pc-
> JNV1A
> zmpriX^i?r8b$6lv&neIm;Bfxrl^zXwAurt}zLI{mC@%1ey8F<td{%!YJH`6I8RBIK
> zb%U!y%`X-
> 4b;2RO;>Wt}KJ;U$h_35$h>~c?w^T$hucTCstdquy5;;Qa4t%IMDYH^7
> z*2ojiIu~)o*t#Cf1;p|6D^4^JI7xMw!wgz#VqK7UHzn5jb^L@nmm*58BA%L3rv
> a~2
> zTwE8_@005q!A~0Ubb4<nPQ`pqhwmyJ@{So+`d5ncGsscL`<CJyFrRzAqc}gob
> Gk#_
> zPyk*f@(wv<VE=Rq%4Td)oZN$FIqA6KJYkk=e@=0}Yn5}x4VOc`<AC40S#jdbo
> KX(v
> za{kN04LOH!y*-
> MPYp=t=717cTJ`462<PKlQ*b|4ZhuAvyhE(0Z=`rV2`Zw8%X}|Ey
> zzAnf0HNZG#gK|QPaA4j5{yv`RppS_0A;gqy!upVgUp_&%e<;5U<q#upZHpHtu
> `gJ{
> zah!qqkNG*Q$DD@<7s(>tqQQLPVXZt|Z-
> Sc7dE1V|a=BI=E5yk|rk~>3sC9oR8}x_x
> zUO!x30&lG2G;ruk@R_hvNbCIi#7X)*dVOZz-
> ;hUnSh(*Z&3c&r9iGXTMOTJj69R0g
> z?pKEEri@tT&<3qL%HsV}gLi#A+RvZa`in8Jk8#F`ZSKW<LBF)mte5@J1OJ9Lk$h-
> ~
> zQ>85tbz?A&Xp7QPMIHU=q5g_a9qKRgV$mc$J`>i9b<S%x`t6uYhUk-
> ~D~zT<+`!a<
> zA)27^I%tpw`qF7vi#qNfy$fDgz8%j)JPDCK5xSbDiaI~|PScQ&`*8k6+0^~vbXvB
> 4
> z&IoNcbns%R?r?rMFHMly9=6A9uZ(oxIK;|runfX57lN;CmJFwZ#~|WpAt^ey5j
> v7#
> z>cAG3Lz~DC;RX-
> zZ)`Fk?t{QPuV0(bpSw?^e?LP1GKTYsBDLy$f*20@tp*LA0b_iq
> z>-
> O}#gDXTG_eC`D6$P6ti7D{~SdU2}HU3>^Tgo>P_hkAZ#yZ8M_;&#N7Gm{;G1l3
> G
> z{`j>R9}^=*#*CH5$6Wq(rTBeGj`<bVMsbL>r(-?va;li{`h>QW2NK0src2S+rEgLu
> zzAHt?ybPT0Mu@LmE5%(GjjI{4&j+Dzt3cyn#K|w+6gj2wB2nC<NcpRP*N*3h5
> KHZe
> zlJXBD9YFeZNr~}Aim&v<NcqRdh_4(0{C!+Y<+zw~5f#%f<e2xRsOzSK<}akEnD
> @qe
> z@~0y|eS(O8eaw{jYXMIeaqepY>lrWQdsyE@DgV7mp8RO!MH5$=690O{l=yg
> *IW$JX
> z+!ycenIz@6!(R1F0dATnza6si;Y#1+C{B;{xnGx3<F5c+k4TPx{UVRM-L?4GAxUzt
> zAx`vC_jje__y>{qK>Ffi=?P2S4@|xudCBps08dXwdct+?Yw_HZCgtBh=2~|&c$
> hwU
> z;jzD-
> 68V|q7Q5d)E%KeQg~v{UnRgOId{8)ZdoJ_jr~4;or<1SCq<p6DV|_@cuTP0j
> zcP@4l9$<c<l>hD`PyRc2jvkj9-
> xDk1(?ztqXOWb@EA!f89>BdKDSp>9ue;|uDgVV(
> zr@IlbEr2;P=DW*rZ%!?AzfT@-
> l=5qw%iQS~i{f`2pmmFs|4u}d`<=5Q{}Ah1Cgs1J
> zv-nsK^g%dM;@=(=`T9ETeXPIUH*A;(djG6s*bK|A{}kyEa6-
> VL4(oOu={~az@m>WE
> z^&CE#`^fG7Je=j#^_=*Jkw-nZbiD7BQ5W;dU{8LC{Jzt}FfU;H2|GIs%K+>}!Ul(7
> zy;x7~0n8fzTwgxIw8<-G$#_0<Oa;Z_T=Fl_FC5o|Tl|v`mVE+cU1-AyAFA2(p-j6?
> zT#jkRSoD|zZ1$b36E<QS;`Ov0+aeQM{31D5JZsF`+VhGtK_s*^W1VjC+8d?CZ$i
> 1|
> z$YI!F!0sX~)1Ea&Yw@KfZQVvfH&_qjIIzF@>1c;skrMC0T3a|$i{VF|H<yw|8E9D
> T
> z;@*rsK5`s3ig6JMb5{xI^(ql=eP15!;y%nez#hYuZt}(XGaa}W4W$$H^yH!R$US
> W0
> zvc3s8H%wo}eug0fz9oI#QqDV=7be0VsetYpXQz{}Kkjh%;d&FXF`Q9q-
> 7Gs!(nhi^
> z^z%#Mw|8OQVfjY*eu*y4H*2NgSEVPwHX@E9K(}DAsN;UYez`4WmS1r)y;g4
> 9&bfu~
> z;uiLg)_qV;ST!BKd>Q(w9Q{%O8S85YoJreH9^ynReF^%3@V|!iL_b%IHro9$OE
> +9-
> zBj<U}jX}<lD&|1k1=eYdpEA~_`*U2s+2$F2Y%q?8GwsbQhIPaX*n5QehG7|i{R
> J=$
> zwpziwp*b>#*7S!F$6<W4hh^f2%j^XFPlS1gVNHPjjxd{^mI2mHm`zW;fc=Uv$j
> 8#v
> z48UFi%u35hH^-
> ^@R*abKISklA;8^>ELweYZSgbh@TX9&(Xj^DAbbT}Gn4<Uh*dC<&
> znCAE}@%I34L=1EkS`XT3p)AKuI{aIUo<$3L8zX6joj0X_#x;}|eb4jiQ=v2cXGJUf
> zHyyB`Fy4Lm4bDi=#<<LPAChohN>7{T5Un)yA&2iiv@e%&{x-
> 4WWt0n5$xhD!t=oH(
> zT-
> %Pcp??!QzJs_rpE+LG{%4Tp`By$4fo}5N13mo=aQ3$@BgmZb?J~5BWmyN|zeT
> Lx
> zo_-ba2&24#b7NS3{1AO3e-
> YBybKTI0wKB`$^&jlNs2e22aha|F54_(GJdO>^o?`F!
> zy!9wz3muVMmu|*78ZxARH4Sp@f-
> FPmYx{bXG5hd!EX(iwEG;j*>^~}}*NHVS`)udm
> z($=%SUYtu}og>P@URiNt#JxNCe#~2FlW4*^46zZ(b~Y*iyTDil_V*s=IHtX3yY2S
> 2
> zJT<x43%w}A9>^bIL#(}U+C<u1%hp<Tg-
> B~q<R2fT&L?#2lq1Hnp2M>2{>kT%t+m$I
> zWyH09n0!aH)h64aK3OYT!^<Ex)EQpRJX7N4enX@94&p$vyJ?<NU(fuBZGbLFf
> U|FZ
> zk96Za%)fxqN3i_pbX9F-
> +~GHr3wW_;k`8HF_Vkr7dOx$#v+RmR>ow4VyeDA1Pe`x5
> zC|-
> r1>)Iry=ysZQnCCnj$86QtM+ZSm<iy2?rie}p_CpJXy%!6{xj@IW!Co8%wr3RB
> zvo=_0irVS=?43D1xKpltzlD3MBkWnBV!o$>v+RXZE9Ii=%M|1Nlq;}~pl$JU?T&
> N*
> zshCqfDpXoS2iNb_9-MTBb7~0X62-(8D_(}P8r?jLLR$hGw9lAZWqqyvKIb+k-
> qV1s
> z2+$tMVt_b=3B-_iKAZEV3pDW7;D^@O=AP*}oE;xT-
> IVV%#Df%EGWxttD61A@ex8Qd
> ziGqviSFi?iq^kK-
> @vhls;aIg8>GV{!Gaxc^6_=WS1h%pfzO*t;%_ogQJ)NAZWE$xs
> zu$|PWM&Zg8fFW+Us#iaEE4x|0tkIT;4YD71huFaV$BbyP!OQap$s)fAYr>3FkzX
> (k
> zS0?=6Sg{ZFboW7b9aUv{UI)(R3r9?;kWZFFz5)0hk*Kc^aZkJ~+1i5VUPW=ggX>
> *f
> z$8q)J+KRpSSnN^FK>k;-jvE^+T@U4-
> 9r>Hmyth8WzDtxSLHrH#qMHBmrU_GCy;>BP
> ziZQFa+BZ`oqOo^_bT;HWK2(~gbd~14eMf419O5%8oRMzjgVMZLkuG<RagPD
> L_s5C&
> zYsdU1B~6N4H9dX2+xPX@DbbDJOnFs|i5Y~9-
> _e>=u8Dg!1+g^Hzdr@*tqEgM?{u!$
> zQ1&3|U78-}-
> lcsjWsQi7nU3<)$GxuOwTbDgwgCRBP_8Q&vv5`PT&yX;8~NLniuDIB
> z%zwWBhA%S%GK{<&?TJl`f2#^-
> O$mccu~w`Ti$!bC>A{jqfvcboGtnoP>HQ%#T!Ma>
> zhCZPG^EUPsLrSFHck~m}g^1U69X5sba2ED_W+SfrG2-
> t1`hHk~9^;VVw}X%P?_v(4
> zk3l<0SgRgmH~nSe!ya>-
> q>1!Z7%L?_^WF|$&$2&5zDU@d&$=h#d>QJFe++FnDB}$E
> z#K%%XSX1@u>yu$Vn!!g)7#}=;h5eRz)=gX9!!oev;k@9ygTc$tduqdT<&d31``9
> +x
> z&aaZLbN;c=Mxn3CEO@a6hp$9=Sn%sF0AF+gxF-
> zGI!WuxHh9lQv}N;fTO`=75MZ=l
> z0`jur$htkZY^{x_OwvkNa9$fSEO=NOQZE2cx&Yi62DjQU)&~DVZGi3NJVc#1rk}
> Sn
> z`u>;jm#9yTun|LZz8OQe<}zz9em3;rBj}NYi~KCWe84+m#E-YT-
> $<d}Gku#0?=|n~
> zz`x3TMvVAztV6!i7AdYgWa$lKj8>f(KST2b&sc+B*2(p`Rqtgct^dHCv{|Reg#FyS
> z6Mm8T+=Y7*#sTqe!Lv2zV1J~Jwvq5}5)S@_>y4B|k?6MSiZyAxfV;&v&O#S+u
> 4BBw
> znnOmcqYA}QmbY~OEc%Rfe8;3k-
> V)8{CvC8kCf+s^MjA2Z^FubgcT7Bet}PU;_tEbN
> ztMkt$4*J#fVQ`+=gl)3Xdc%b2?_hvO^7ftytGD6(hY7RlTs2Cah<EFCRoKe?(S(%
> (
> zM%t9a0TXt!iO2rbWe*!^(bxT)ur}>B%Pld>Q9egZ82x(EW*u!N%%Y`^!YlVNiJx
> yP
> z_o4~QvB4e)qcwxHprh8=8~QWcyP&<YzY~yyab>l4qe<gp&?V2T_f8Ww888d4
> &V(hH
> z^^+e<SGi{AJ`c-
> QnfX144^J|m{|$HIcG=#WahiFLnRy|cZDRSGO!y&`k20UXZQ^u&
> zHkiYB0`WM0;AdfOo7h46Ke#<7k1>R{bCMp*Ae_9yrsz1&;hC^~=cN2w@yuA
> qXyb$L
> z7I&p6&NjY#NZDZx1>dEke^OhDJXvv0G~c<P9k6`oj}!&#KdIw5{KPW64}55s>_
> nVo
> z;BdR_?4KkC{u4f7AKtb1<DKi!B*nQ|7AFFD&y#bi<y-GeR)E`<!uj%3oGCvJK0-
> <a
> zVn`#`I_zJ|23dRA>|@5xPJ@q66h}uS&ksS~*c-
> ?R$iwd@!Vf;tg*jUNM9OM(AU5|G
> zDeKSJ|D~U>wn-
> fI_b$qZFFJd+BK9TV!k*8*H*p0P;#@!8A5UK*cBDV0b|U8ANtm7v
> z;@q`8{S4yQW_lLz{T*s&7t+v?Zod2K2OZX@B0a*-
> )%R7+SPy&!>h5WrS=QwYpPaUq
> z@3@?XANdLV!83}({Y!K2`a<m#?@L)d(O84_NLkO=+F5q3@op@2sZEwosMy
> Pt(5{0r
> z-c`Y#r-U{Q;yInqXb;Y0t~vxiTY4UQMT)d4fM@@ws_wrBV)1?>)~xAx-
> `0h7F83aK
> z&9k-#^!2)MZ~jyaT#i2R<Br(HKFU&CDt5?EKvvKd>ScO@-15V-
> v^83H!$L8zxi>05
> z8gimeiz3mASly&9tPLo;3$77{;sElnjzETd_x|i!$L@1qGURv``tlj%_$l;d0Q&MV
> z^z0KQ5;_#sak^L?ICG;qu<oD8*3~a%N%7$4cTyJ5_gFgAhV!+H=ZKP=Ibz==T-
> qo1
> z97|KuP9%#bwzoxLPP23g@k1B%gR<_GC%2Re>4Z?_)~eZ}q)|?3VcUoElZNwi
> n4j1p
> zV)b?1iFap-5|7|sH{P#B?4f54_TwR6m3=V>{ahdh+G23FVG-
> dtCkOugPTavu<782?
> zAN(cWn6yJX=Q-
> AR&U<X5lGqaZvKZ(o6a)E6(rc&Xq?SiPk86jGF)1x?%9CIF1o=~H
> zChtf=U!4Z;k0HMZaacdvCYB`bpe}K3Jhk@g4^w{%tCSrso*Ua#c&q?%%JNMZ
> 7a0G5
> zl@w^$pTd4TV>Ok~DG%%t)=NIVd)$RKNT`Fhr5t%>iqukG6?jQ-
> 4RveLvBGGPPk5S0
> zI6-*%)r*f6Iz)aMU|yulR;A~qJ4I_c_GjTwv~E<ATi%i<oybs<TAs$a>1)7qKqPeF
> zjKRaKzfp)etiS)uc<&hPO}Ftv-pEgnGNpq$%6jE9n~#-
> Om95wLaVEx>Z;GBcbp%gk
> z>&p|S0Ip1&3cmC<0N-
> 1CQE|q6k=Fws>krWDGVtJas2`d<pg+Mwp}_;%kM*F0HDE$V
> zI1ffU{dwN1De+i?n(an9`r>%Kjv-
> n2^T?yOB1Ny4@}f+Bgu2;hjp#pViL@gFeN~G7
> zpp7g=KS@nbb|-
> 7NCN^%TekX5vvRhJC?JZRjPvm7iv0YMD?=4W0^yinv^SL)iiKEz$
> zIeN2_(6S%<|1XJPF3xcuh3t>!E0dr*ldxC8x)j}xa@_YpU%!iSe-`tUB#d|o`@aIP
> zjRj6Ko-
> +mSpl$6g1&n1R3Fn@Ga|_bszYlue2$%x8Wf)JyDZ}_KHt`R8;WNrxyO){i
> zjKUOmBhuHI>0WPwTT-@mFEZ1OQCktWOLiBU=@#67iuRY8V^_tv6_8Z`-
> ;rS4UBy`D
> z9&~vW;`(^@#~{v+Gw9{2a0jr5($gk76H%V|dR_w7ZO)70%b^E;mvD<%k9#cg
> ^*qFq
> z1o~4Xd)(#dM<En9=d#dB8Q;>tTs}wIAV4<+n)?wy;dta2d;)UCrdtASEBR9}25C
> >)
> zyi-r~psyX+w?MpM0?q+V*n&DxcYO1vr+4(<<JhrfQ-
> VGo8y)Jy<(rar@Ep$}d=iOg
> zco<9D@|pM8@wIX*dHfm1Ncs@mbL{vkxs_u@GGWJ8;yWl9C-
> rQPZV!@md*Fb)ESo?c
> z3QH8!TX?K|6Y2*K0paM#z!;!i2tbD9f%RK;lO}YjwLqD4;xO7f6=UbCs6!vSz->4A
> z+VYvf(?`&4@<cr$PaklcfgkUZq#g6Y3&&0y`YauD-&DjwrXfaR^qIqr7*jrCH15Ln
> zF5TAX;{|p^f*g%DC5_r9w&w`i#Wv}71?^$m*rs;aI=xNchi&3mW_#GKn_-
> tiusLj7
> zq?p`N23(IarA5Hb90T8N&@sy75|hte(4VQ`aSL>47j)<um&3g!w$MF)y=(m&z`
> q1-
> z(c1)^UC<?-
> V}2$Xd%Do4Ezqa=Rjxd&&n8*2YozRSzC6chk1U(>J3RL+;=GQSw3Bm*
> zF~^fH#_CkuNBA)2w>8eLosYSe=e?i{3eFN?t-
> $qG`rbh&{g^;J<|0kB9(oDiUUG<m
> z#>2Qr3q5XL{;b+r0iP*=`M+!@?%zQikNyCBhabXkr~I3s<MI-
> DhX*?Dg^qij#+bkT
> z6T^S7))so*&GONAVGAsO%JK#1S7GiPpicnX1Ajp3pg%zWk^aCLn?EoBf1nQ
> MZ#WL$
> z#rIQ!^edZ(ztcg#QlNjjc1g93Q?d8_n3RRMB)%OnrGxmoZ_p=>ri~MInYp4QAs
> 4>o
> zY{NGwfNwBaJh|OJ9`hLDT2mY<&I-cUq#api`3J-Ef2KbF8~(v?e)5oikO_al?jJm#
> z4P81YkMIxJZp%j?f4ZN5IX!KR;U~aHD<Q8c`~>oJC>dvi;2+Repg%!BVfKy5JIE*f
> zgs0#$yeTKc4kfp21kYK}jhj#3bL^^B@GF4xl#<etZ2A(+pU-
> )>ZP*?Jp8MbP5t_cB
> zkI-
> cE5%4}z>r=|)mNebQB)9azN0@gZ9|2?G!ahRk{{=pR!NdQCkH9{puF0^QcK<-Y
> zKbQ>vAb+B!`v;TZAGl2aU~<-z+g<Pv-
> jb6~@VRpo|DY580eu6={V08dWcUcIi#kI6
> z;5`29z~JMbh4}_w1MI0G-yl`@4Q>L=?i-
> XKUG}s=qY2}m{=qU6M=mt{f$PllVXxs2
> zEHcxUKTv3<4S!&=yTDA}i~CE^aZ4`r1scPAfhN-
> z(BKR3eKarTY@VmEd;#X`d8RKw
> ze@(^wZutUwp3N7aPbaXy_m6x5@-
> u*a6v}UojlX~07fAkJ@dfSxFYM0>jPuXy1GN7G
> zA0UJ^i41#!GoL5Cm@nxIl%Ni4J`48+_#TYi7kCfpGVl_>987&ag!#4!b89pAN%X
> !_
> z+|8Ify_hRAY(Bsi_y8XG0Hd|#AI<%Zqs;wWk8tj%z2TZ95^EC9`~8YBZn2*^i9R^
> z
> z{cnJ`Ch*32U+2r5_jkHvw-@t1cwEo9`WwJ$Ca!JX-
> <j;y=Y72`nD>7LJWEdYd7t~n
> z*1XTUN6h>1O<dshi_ZHv*XO3cUn)eWODMX}On=$W`2})E+(JLw$ul<aC46cu;
> v}iK
> zJ4L64cPZ5bd>;vLp4WGo`K8D!1-
> vv_bdCXhsGMli%Zbm7av_!nj*9uTG?jF*{)Eqq
> zG1jU31z~X{#@=z3lJOPn$15G{aPEj>P2>Jx)5y6#g!Pesg;d*vy-
> WE<tp9<_cN93!
> zKiVsf1`$UJB93$nF{A^yG<?TO2*y#wstmMML+t5Ylz|)uLX3wXjr#!OCLF_R32Z
> HV
> zn*hF(LLWZEA&h7EIj(5YSq8YV=bGeZTu;Cc<M~!U%5qMEOt3zJ%)<9l!(vSKI2zl
> }
> z_|lwz((d4GQf>ProFiE#WsL{!DYM;=pxtbzgm!Yjn6acLtn1kxzJq)k@g6_M+i9=
> d
> z`bmap4Px!mcsJsN@GaBL*b#laE}Tad4fh;_k7dM*BE`O5oK0;{U`$cQUh~9`tkZ
> ZG
> z6m=y+E_$5~tj$r*Wly6FWySnP$d~@*HaxTZqmk;sW5DOR6`XBx-
> vAlXN2mTfRQhY!
> zuk9198g!ogzX{&kfq(c}V?L42;G7HIWyuJ6&ZLLbGqCF|jd5b29d!zvRng$zGJYjM
> zXVg7y_QO!D%7|yuFHQ)FR`tZ7(|<Aivr~gk?(O(9#K7`8+1a%l@Jq30&Tr@7T>!
> ;}
> zc!*a5kDAZVvFSK-
> fO%zZd=C+MY%}w`F5~?hfp22^kr%j@?Zmjka}T~rB|&Co864lB
> z1D+`Z_5)+HD(DhVHhoer)|H+xpZnXVOrINZTK#*d&9G|<eEw#mT~>@3d+C
> V(V!t1K
> z^~UY8Q)B;wU#ssmwhMZ|`dn-
> eWH%K19fc<KmFH%#NYck?2>bSLV9ok{&<$NDInyKY
> z-LvbZtQE*_GI0dPGTQYT<ImVgED2sKIXx!ct-
> xWMc}CERNps)pYK$YRE$k2DY(4A7
> zSxx9B-qk<Rg*9ZgSw|Q6z`A^Ya0%7|QTXoLQmGc7Mcx*$<?mzubr?s;-
> ?>!Enu|QF
> zW%YKrz@r~NQI9gagS5$~daYD@2)G$brJ`)$Ej<r6X9zd67<LJ`y`Xy;@T{{L{4VRz
> zd#q>|<BOJz?fnMb_u&vyg4ZFA%0g~Q6Y`06@E~JOap6*hc#Zw*5MB9Gaq-
> MWI`-)V
> z;!EkcxbEgzBne}p4}G*5ZO~A@Od$S+e7*yt>xUA3l<Pv`;Jd6H$05&9A=cO`ct?
> AA
> z9%}{GP{FUtV280c=nixUwDv(C8J}!bp(mjXiTU{6s4MqH>@yha(#+iN;kyI+c_Q
> Eq
> zD$%-
> 5YUu{9z+R%x!;zSyR^L)jd)G<>eRoL%{Tn5m8<Pg!Zk7h#xmVKnWkbzlS|P8w
> zp(A5jF-GQwl(DUl)!b0wSbn>3Zm4-
> I;vmc)+lp^!B0r`T=Q@xdgU?}TbE&I5cf~mc
> zZOMV2?pNnaMbrU#p;Yu^<nbL3#2Rk*V~z+F#<qs0VjSX~x=?dWYY6Mq5Z-
> AE-6A?e
> zd?&aR_o(^1*{`7}d3Pvk!R|ivYbZ+D&3Doym)89W&hP}6T|j=oq5SM)Z16~oE+;
> kF
> zl#|1AjB*Mf4LjWlef%rG^QOzrHog;<$XM6o8_%*B(B~txF@!d17}G(tv#UVL3S
> gXN
> zc%|AVv@_v4+4%@?pEBiP$Mw&XveF@w!yd`WeNR8$b1S(9_5%1@N5KzW
> EoJHYu1Zeq
> zd+Kwcy-gOc)F*k7?DRsH3SD^ru-
> veVD!%hPh;KcHu>Q86KkI>BY8VSAp|4i_f^Gb7
> z)PXkbqn)tg41YL>_v83oMd%vqv&!o4Uz>6=_UZXvj&O6Y>T70Ox*#Xo1MSO
> @@gmHt
> zS4g$o_grq~hubXmD%dRGHO-
> TpGl9c>Zu0UAKI?q(Eak|t{x^IdhcdB`bB;U2mGw6E
> zz~ABiiq+0Tb4Sk0oSUvR`SIiIX)(Tm$-bd3(_Zncsg;Io^fcauz}eG@9hU)*ve9xR
> zXJ7@|=a6bCCxQCxGPCM-
> U9JukUnM(H&j9x?SqIvc<2Q9Fm<RiY`Oo`hsrG&D!E&Ck
> z$=;$vo*icSE|lkZ>w@gs$3eHQmWo0s3!3_w67r+#3G9(|F5qKxf7dD-$^-
> xK_j<3A
> zijJ~u<b}(=9adJ%k(`YaG0yX)qQfjZR<urseG*rT;tTQq+b|j-$geR8_2)`O-$Ne#
> zm_D=*a%#B{jh}_l=*oufq@evdQc=*PvCouI+GkQ-
> 2>Y)WqQyGxw#%OdS>n6iW!X~E
> zw@q3-pe3Qd&?mk_kU4qO&ng1OZv&i1-
> #in=eNOA_A^VN*H$56wU+8klc?fo)X{J=m
> zy?E|j(&zsDhr-Evev7)3s4IBBK^C)VThe01NxTnLascB38+0x3%UaXKq!X`T-60gU
> zQv;9KuV_8!b)CSw3?(d!cU>PR4=13XEu`TTC&@ScYQ7gsznbmS#}m#}4V_O6^
> XIJd
> zJhT~Qwzll!Sicmqn})VzN=5UKce9z#v4q&@QU73DH)D#N`(2ly-N4-
> m+*!cWpgS1v
> zZo7~2U3@>ruJ;RV^-=G|RLLo2LjNw2iZYPLcCw!(%$-
> e;BlW+JG;B7V{*|9)k&nPb
> z0_ME#ZIB0bfIdIYZRq`L8~3wGcbO@_0mzSOo-
> IQ0*K|F#_VSyDeMH)2ervY^zDf^l
> zF#2SlWru$UyJ|h_<MW8&Q|h{c^G7_VPWcAGC*D^(p-
> qvTE~gQTg8uEd`p7!}v&3vi
> znb{7sZ#LVP0yueP8?7@)M*9*w=7BHDg85&@Gtaha&?Vs%NAIGX&kbTONQ
> 5m-=y(`=
> z+~f&*b~Fea+GVWiI{2L$`eEVx*xO|J$r9erPD5K<iIUSFuWcXd=OdyuRp%4ub
> <y^I
> z)ZL4^z(;E@&RCQn-
> 7^vM+9W+by{`s!lJ66MZ$Nv=KhNglyOR1hjp^%dL7vfWV}4*=
> z)_KLRqyL`3^)#;E;j*78?@vSAd`SK>*3Am`&LcXWM|__8(T}xJ2xIFQ`k*UOD)L+
> m
> zJ26Qr;<td9w+`zg*4sE%b|yU_pMh^Num%0@{jDg%{G6YGIc6KvZwSuU`Msb
> u?HRNU
> zWzt(Eykl*Ax1RlWsR<8km7GT&ko3O;Fa~hFe78|v#<;TZ(jStX&A@|?*4+jFhq
> #$0
> z4bOv;^XV4J`HlM}=i87E{I+g>o1ONc&TN|tyzv{*2duO?|5<71Vh-
> oSL$3;b{#yyW
> z;5ezMhx-
> D*6t!NY*>>xjP`YlKwu8E;>jcLk_Dgy&E_lX+;{rUmxexvd(pbN&8nUI<
> zSQ_PgDbK}lox(cpwp+x)*TA>Ad*dYM#mKwioTPtKoBA600OZ_fymQb8o#no
> B1l}d0
> ztW=!e>B2lrJjYh{2jBa!{Y?a{`}tjuMy#17oZ;sBg|Ps{Vz!Uaealwbc;+0yZ}nMY
> znm!WG^E?TCaz%-K3N8<Ig5NIy&0N%DtZi_n$r{gyx!j3&sZL?c`Q@(sE}XX-
> I5()<
> zCE9JyNy%d3YaGK;LRVhF-
> w<Cj&lnnGIJpDwgKmRe*dM(8OdfT(3v|+mhZrMcc3i(~
> z^NQ9jki*Z;4(`*i2GVp}=s^6(@fvl-
> qOHPygFfnaVC*G!oWwU6G|+BD{GkW_4bKDh
> zLzeG@rb=B4JNG_-Z-rTL0`*52>F~jI{U{uMCs;q%hB^_uf^R8f94Z|z<J^s{zjK2z
> zQkG{5{O@s6?M~!vNy0aQv7ggFN!h(6$+KJU=Shy;)XRR@85w7WI6hXvR*ZPh
> rqDb)
> ztT>ML)d-vmbF}v1Y*HWWL0_TL+K2T@p9AlOT_-yG*NTDTcOi|nO8=z7-
> F?ddn<VY-
> zpEQ4WU!iEF-
> G6(d7<gwhY{4XLZqF2LF23hDw{NO8xBoJ2?(r{abKjn+&3$JU(v#%f
> zd>2Wd3s5Izu;R1D$MD|qMDj^JgI<&z#9DPM?pOonw>iW~%0CikAcSzV?84gf
> 6UbSY
> zpE-}PujrR^Tv6XJuJZRsOHSBHcklN_YYh4e-
> ^u7~zdeu_xLD+2PS~%HU7U%fK3leO
> z@Q8A>e-
> &)<5v8>s@}Pa}hdlZrkA4O1r#vVJ$ly5SMtQLPmOS2utk}kW$c62B2Xgyo
> zGJ!v0tZz}L(WVHT8H)g44)`RIIP(;RGf&aG&s_&vkh6w0Gj$}?ECv|k{MfYFPr~*-
> zk*s#AV(r6+MOAL^Ms?sVIqihk*|xnG<zk?tx$DKgD@~o^nCJt})6ipW41ALr@
> J(J3
> zwXr<wCExup=Pu~7Pb9RZ^aC$6RqFg1#%&1pi+epu&ZHfmKn7f=<4pGezJW
> Gyqpapm
> zHtA!0%<hH%(+ipKyaC7f2Ur*TA$t)Czv)W&{;^W+2RM__2fRMu-
> 2j<Q0B*F6Mt>UK
> zp|jCoUy=s;+S#5B8ZnadEuQZHUI=)(pwS-Ll^?{Kpm%CSt8ihjW-a2co76{KLfn6r
> zytavfLG*L)O31Vgd5C9i#{O-8jXKbWb#dQiQs-vHaiR};cLZ`eHPzF3x~eL-XBA>v
> z(Z{yeDDa~)w{)lFh?A#f>HeUK`1dw(5^XL?%M>RO(<q6TMFP)N&BXO7^uU7{
> ?tbid
> z>@;~3i23)Ld|^N6{<MAKq(GeYdFXxG^YB&q40=H)VpEzp8N_=b6Cs<l{{uWcr
> @e@A
> zfjeXBY5n44G|T-
> =oa~Lo{UveIk62b(7wE)@656M<Ea{}+H%?xZPBP9#8KiBMPHN-v
> zy%fgrmq;gr7m1Qr%r*pZ_KodRagOa}?471<LAg}G9*|DDT)6vzkGc*r@0ZA%V
> tjWc
> ztqU|!XWA>$N&gJop8|dc&ZiOY4Zx7soC$acW$=xc7XUvkuiM*+F@0KA_a4yi
> oA=@!
> zDx~k(`+fcX^}XNI@0<3%fcx*{o93LB@7kM#GpbLBGjlQuIL{@!*-
> kN4On~mL`Yzf*
> z_+RmNOTPNS*B_>y_BN{n*LLN#Tq~&qe?^~Ap3SiTedhDON^cqHox!-
> ^8S#feZyVy`
> z-@tR9yzb#%dE?&A7)v*b$G1}-
> L>JBvOcN&;qra#RH!IQ(ODFoM56}zhD$Wbt|1oF)
> z=e0RE8||eY)d0r6Bm8~XJ-
> q*&&=sjYjBk_NKS|oO_cZGJOy01U^W<mBq>dkpyg5&u
> zz31Vll=>mqy~?JCH_5I!38wtgFCag{DZhMEetnSN?T}xwq;+yF@rbN-
> Qihh?J}({o
> zy`}-TPREcN`{of-ZklqBZhIo|Jrzya{O~S($AY%Vk8cv}!uJ9<;d@^9jxRj6665lz
> zvv)tt@pTHZpFfG(IZr8@_nuNFzUIYP+XZ|~v<X7KuUk{Z{egSbhtr(uN#@NGk8
> G#E
> zcrR?<F_c}4JlNp`8U7A@MIU9y=Md}%eWc^JV1Bz%47^_|2Fl@Uzh8>?QEyQJ
> QwM55
> zgZ;V|wy|fWI*=ly*ZfEq$8>F98#%G182r!<N$^)T!yYdbDJ`>{k8J-T@KJxR2YcrD
> zj^Xy3712_OHsS1DE53`-`nb}t_X_ZG^`)7)sh5g5pIx#z_bCPXbQjJ$!B#C34{gUm
> zJB*z>hsMF@m483ve?R2E(9~PX|C^@#5oh0j`qOm}U;1a^JO%yzUD{1^-
> oZNcJzU3e
> zy$^ZBqTZ4(s5{o!^GNCjj+LILg?{cr!#lzpFCnD)E+X4wukURoqV)st_eFKgYGbjj
> zjh2p`!r$uR{LlV8gV-w0%DerDDfE|fT#0QFSBqkQifCoOe-
> G(MrY}|VS7zXSCPm+K
> z$?q@6JQ9QFE7W}ILTDnMv(@}V*stOHq5fR`Jw)gbp0C3Dif@Wq#C|*d^FU)3
> V!qIc
> ze)#Oy{R?gTN8{)F6U07$lJRYVO1xjc0`gsn_xg3dz&m2yx?cAk6Hd1O2zYS+3p`l1
> zV7^Vh^rhLC)A0AEv@`0%680VnFn8StTZfU@+W2GPymY<)4DEDVf;h>!CIo*t
> a(%@a
> zj-9vQ|9LQ{P&VY3yq5o36p_y-
> !6)@&gl+(jW3dYKXiM9zd0)4ql4(cf`}MgF^RmEv
> zLmIT5b~=~-
> LKNK?M#Heh77fLqf%!0mIhW<J*OM@+zV<m<=ZDeiAHk1fh#wX6@o4;f
> z3f=tXVNsM7M#t{U;JYkCJPDjPAWs)xfG5&>8+<YDU~l)^2Sx4VaM({pZGuV1jy
> rx7
> z*f)P7oV25CgB_RkJ&V59Z8PSqkbLKd9^j-
> Wv~BOX7k&rqc@O<H_<b&+Z4W&pu#ReY
> z_<-=w!8@KfzlXmE2-`znu<u^X&x-O|AIj05_hQ}HgL!YNqbncrhWviyr@It)-
> $S@#
> z-
> YgKxU%5^QLbqs3OO^2_nsL^HF?>F|RD7ds>O<Q@m@oU~wGY4F0{$K+Pth
> m)H;aMK
> z;OnJx-
> v)M;{+=wxzvgkI?&yKPSOJ^YcbTVCLF}LhzG4XH0u|^f&w9{SybV3&Jn<gv
> z$bZ0xJqtc*8{USFa;|s}HiL7^+0E)ee~UV>RiwOzZ?)$99P~n{3*WLB5F)iDgu2pE
> z*A$#7u<Cg_RedA_G7PWl1Jv~b>iPh*SqJN4ovgbTH2XkP9-F$O7c>zY-
> 2X@Hby_rg
> z6=#Qn{hV-
> `J4WF>6MXlB9^U61aKxwX;5sRUzW5`2=MnTqk;lED7tUK8+ER(Xk4G8z
> zf@V6}O&QB*_gNcFwwY}wkCuGbn*3RE<@`l@#}UK9oY_6j<dyQ=0=ne&2-
> f#q)EUsm
> z--aCcIp)}xg=oQE-
> R$=e^Lk54If1#oBpYR?3=ZzY8SD6d=u|n*a+O1`tTy62@%>gm
> zSp2ZRmzq4WkFB=84V}Y#pRJqYuqOCyu;k}s5Th0;CpccpkPdJA;j@Dy`keJNV~-
> @f
> ze`c9=okIKU`t>^M<5|^T;@<bTI<VOheNuvN-
> w$05wHW%`B!sTd)C<ZR?_BRcOW!3-
> zpHs{_>~?iDJNDvdgOi@ZISMOI@gw*T0&gC-<GVf?H;CHx$m<1d#`-
> +?#sK3aY!}Cl
> zggU-
> $mUW@;CP`VjTuZ_S*@p4EziXRt9>P0+Wo@E%1@M|i;?5y1d?+2)|A=q~@N
> K@b
> zps2kCc+9(75wEG^kLlm>d0$EC2!hvB#q+U8u>fo9g;-
> lJ!rFQ<*4B)dMi}dFGj?w7
> z^SK$vVoagjth)<7+V`=x)m{`?`u^2k;VfW%Sl_}|bTfWz-
> =F^k`ox(2U=+qn6#4<W
> z#W=k^eqqJI8RxymR?j}jAozmFYD~mBw^3wWf;`X2{M_Kbi>!9!%P-<h1msb-
> KFJhL
> z?e4YfyCBow%4+9w+-I5PLg0V1clL>=VIRBx56WUMD&qxF8;5-
> AD($2m8^N9kV<T3~
> zUFR3=V7#N7aXQ3d1m2s`V>!0=uq~(fPT@o&uAgY*cR$+W+KoD&#NO52BI_j
> 1|B&Cu
> zrV3~9_EUM}_YLq{f_u~mesgqw)#p%lJKFkFQPhjFpO;^ph1dBF=aqa~vS%!jXF
> ?cf
> z72xS`gxL2s>Y!c=@Wby~{0(%dm*Q!W6~H%mdVemmx`6Yi5qQ|QHSxOI(RaX
> W`nhoa
> z061!@a3&)5$Nu=WS;p#*-RKWB2%Q3c2IkHV<a5j%y1g$?la-
> bp^jj02OU=JSRSx-Y
> z786fMJhK7YmM+9~F4(CN@!2D$o>8aG_v^oB)@$nVetZ+S)&m=JI8W4m8+
> m@jP58|K
> zf26T58p1pF7)$zhmMDvKe51xCgd2NIBgTuhPc{p_@)Nc?sKZ@|D@kJzUz#my
> 8(0V4
> z?bZ;Z^WPI)tVN1^?pHwP^!L1n=t9>lp10WOVeIW!Ulz3i{C%d3S)$gDJnAd=%>
> !c%
> zo?ZC6azkT`ZKpoQ81D?$h0zKf5w(Y~r+YX{)Lw7WVjMbwK0o&85O;W7^NJDs
> bQ}vj
> z6A4?o58s;KUam<y3UL-
> o;F)=WjZ@yx$BS9FVN3LLdAco;9b(@ylMmWG$N=YrW(}SF
> zaUBv_681=YFBe6bz?**_?(mtSu7g59XR&jJ$hru4o8?6P9R|w8+Rw7vqe$2zeS
> BN7
> zPqQDnPf30I3-oX^;;$k2?9-~s^Bh%E^QdcQVHX&ijTAD@1Hm4`x8Lj#-
> wOhtc$Gqa
> z?Ppb&<b4V}wtcLpxOjoDq;$c;Yf2aRe9L^U%;JVX!@9Muxvop<r;imgt7`73oVl
> UA
> zw7jZv&CJS*RoOGIuc$0qwQ}Z?>azMk{f3##D_2y{udlwdvVOsuhWZUfHPvex
> W`+Z<
> zC>QDH)iGWFBkGzYjNfIrjTP{`Y`;PLkUt6+-
> gVWhD`qaMZK$qU<Ey!Y9QhV3S>P#N
> zP`aqFFeh)O$KxwpoSQQe#Zz3gV8Q%F^?}-
> |>hiVo*H_LwA2NS|cln~3o^=g1iz?TE
> z@$)cD{zhSH1Uu)I3#$vHGc&!*mVxP|(=)T?&b@N_bW!MYRRz|%ynzZ=arM
> eI=!$y8
> z8}#25Pni#2@K$Y>v+iH8`2QOEGbSJZQ@LGVQ&G8={Q{F;Bo^Sm`NAa@iFy$b
> wW3N?
> zi*m6RkRnkiuEE_SD)gKNQ3)LJPs_~*R<*d(#I9Vk^2?QL1a6~g;TP)g<tqd8>jQU
> z
> z_5Y~|maS{3UDq%=p|IiU4XmxazVeQm`VAPcGjFb}uR-
> cY41n6odJss@^sZa6qO#sK
> zcdjcl^Uj*;3YUAjD{H#z(o0=S(CCIL*E}SJ`Fu67veqvQ`z>Fx#5Kc}x%`@?B}=E9
> z^uFY}a{6fP{D<rn*4$AWs3*U}9L}#?+fa>xfN^e;P9MptD6UyoUtW2E%uJK>8
> Q{nD
> zIoLn1y6NJJlCbkL9p-};)^$lB^OB0`SK<D-jcR4tx|Qg(;)aR^_4PC7n@M!q!kYR!
> z0u8QkIgFxJVbZ3p_SV!i6j#>YSzTVawj@xtx{`Wvp$t^E@|rsWD=QZV)>N#nJg
> >@?
> z#U<y%yv66iJ|Am_o_bcVt|{01o1BdT15-
> s{X)SBX5}BUWFqC&xu4!;x>ar!+;nS(s
> zS;AKtSZ$P;=hE+DxQ^oLyDLABUbw!PUQ?jHb!!@`@2DJA*cZs7yrC@NJ*(T`&
> 4Y-3
> z<M;VwIlq!UToh=iq7;Wy%Nwd!S2tAa7IY~r>3MYxqn?*#4TO1fU27q>niZ~0P
> U`a)
> z+;C0dg3=;S$>P!?-?EZrh0B&e^spdSfva6v>$9@5uEYgfqKiDdiJz}kmaZE91!scQ
> z5SfwkR<Eh3UbFH%uD=*%)BuY5z*w{n)-
> aq;J?A`VQGHEAO?l1gQHw0CX{cVYVd1(p
> z<uqdFmGxDwtX|ttuWS5ynM(tAoZm$T!IIk5RNPrtiX}DWtIjJ~R9{_FU)`|5hBIT
> H
> zj)^g`U_~__eU+;#F+Wu36wF*S*vwtNrg{xjC9oQOJpyHzfTz4}U3EQjN8^(kFq
> %LJ
> zzag-C-T4i3j}9(gS6f?C-%wexB(P@XI&0|Lr>oB~C^!*9CTkj~L)HVjIy2LpxOCUI
> zzG2x4W294qskWFlbR%NJGwg411E{V12WX?yu@^qC(>T7fuFRg5Gdp)qUcSd
> $IDf&y
> z)^8Ik#FOUz1@r#0dH<7n|Jb}oKWN}jH1C&~_bbhNzlrBD)7P2zo6LKadEa2(?=
> $b)
> z%=^EY_dVu)zj;4m-hXZ0|6tzx%=`Q1ebBr|J!J41Z{9C5@0Xi*k9jXK@3)!vRpxzz
> zdB4}ZKVsgWG4KC;+>fdf*Q{x%tX~tLUAeKk0{+j{u332^bK&a1%C*pld*J_MU
> Fq6H
> z)yUIt*;)E6FUy*4GKY|fW2nz`*QQNyuq-
> NB>w&K8)pT+7nsuvJyI=vJP4mP!F>b60
> z;^Z;Ud|nA#gzv33)a%AGGqZ59$9H8eeKkX$rc;%&glBDeb@dR|h^$Mp^48C|
> Br9j=
> zf7$CV$;xKRcnH4>04iph|I4Xxx%hY$|A(Bsn>cQUTSLR1m6c<)$!P5mA2x26)m
> N{C
> zH@Dgx8#>qUutulFCPAo_+{lKFPNjHVIeeP6;>JKdEZ0ic@-
> ?g0)ZDekwP^K*+NvSw
> zeAv8(O4q_b^=huIEaV$uE6<0TlYU7}jjQ;M!0OdQ=vXDg9hx6#2*7q?u?7#Vre
> 0jL
> z=1y443OE_{u-nihv3$*1%XkSc>P&*{MFBJJf@@N-
> K^SwcNyOlUGfHJSY@UF#@4{5;
> zt6Z!5xogD@HLKTQRw%5guU}W&U?mqqi$KzKePu;;K<NK>;WIsJR?<47riC@
> @)>H_O
> zE+W_b$~DzGoMdZj)~qErt~;<QfZ*_Y70B1DYtYNBZ3xix!ey!_uTWGoU8b94a
> ZTa%
> zMJDGZ3rnm=YeF0nOgUZqhHChmt{W=r*J2_R#g*mj^cm`g>YCO1^oQkdp;=
> <VnhLhs
> zXbqTz$68t8%FNE64tLH<&4M>!A}*|6T{$FwYn~8XP}JAlQH?py=&a9Y6m*xV`
> p)IK
> zIqPR-`zr4Uz_rkqOY^JmtX^AFZw$82PYWXfa@8jrW0B-CAjS-
> 13?6Hqu~u5H(v?N!
> z6{QQS*H>0}8uV~SDFD|8)>q%L?hee&<?wzCGDZ<-
> (a=iiyoqIKlCvY}^V`VU&ABks
> zjyA((tZ1fVDToSD8>UKK7cp{;_Lym`0&NBV1^l_@qSLnC{K8@Yi-
> wV0SY5xi!H|$?
> z9*44^dNpe*M&v=O)~#;Pmjc66{XMW~SlPM_Ogt{REbB6uq?xWOp?bqbpcj
> U+z{cw$
> z$<3MW8ojXV^02ZfVR;}%32O#gT)DomDo|fivm9OvWNvbS>gUaK<xCfD#Ok
> P5V9QV*
> zGG}ATS6o%Sq5*uJ&(uGw0!*TU&!>u(X$B{zB3epe(*^K2tVC9cFQiGM7P2^;`;
> SM9
> zRrWj<U15r@&s2GwR)@HqOPx0qDop7iR!+k<bhOge=F#-
> uZP0*Ik+mMnp|A<tSBZGv
> z8r=yVeL}ZsbXd_58XcB5f~QgZgc0Mwl9k!y%0PX2)d+<1)Q(ygR?4srhMBaK+a
> @g=
> zL!VnQESrM@!(z7)g0vAA8l4aK(0bMIn-
> FL<RvK4hEM^ToXRQw)o?ztAHm*R#2)DrJ
> zTwQS1@YLTib2<DQgd{2}VDLZR9AN}GSiZ2PcEgD9mk^)i#HMP;KJ^5zx&Jq-
> Q&x1e
> zuDNkc!5!Tb9?TcPSF7v4eC58sEv`S?wP1I~M>m~w#Qb*f*1K>2&v$E={qPU#_
> GDf1
> zdcqCP2Y!;<_P6;DKmY8k&5awrdHG#;J9~cn#)Rz)#n#IT4qY$ye!S$Rs$EOI^S8b
> 8
> z3X0_If8Oog`lqRR*FJXk?mz!V`^xPt(=UJG(~n;Byp(rWN7X|w<p=JaeCzW`)k`1
> 0
> z{9A8sC^>V{o-2dNh5J&j-_;d6=F*GX>e{cIa!c8x;IF{o&+zik|NkpSI74i~K_mY1
> za7ab}IT7(6<(GH8zv9V=>gfUp39Mi3#mTaY#54jX3OOi5+!PTfA`ZPYJK8ZO8fSH
> P
> zh_Pzi%msB%9;zb}KEAcoU;gB$cmG9f)$57I9;tBR!n;5Q9n=s6om9|?1f8hJ=x8y
> <
> zptHb6XS^eAko0P!g;23!qvE*>S1)M2NP2iCtK)I8X)fStQCQ#c8P_ork2omK7Y@
> X?
> zka&U#$b@*cxZJ=aj}|?=Q>4?g@K|o^D0t&cye^ZTigXZHRv5iFz{sD<en4I_Zuj
> B3
> zl#JoB_yham5U#9$f=61!bD4PL&(E|;&uRzGo9k`zn|N6!US=2`&cy3@njDf`c)l7}
> z8ZMlP5?A1IkRX08<tEvMJM%Bam5GZq9oCkTLntn!nNPR}*Oj=e@*+YwTu3u
> t#kCq2
> z&Y2A5tC24b<>Ne{*okYFEnjo^b^6RJ#KrPoHuGJ$-w-
> ie|4gKp<I2ay`lsQpMs6A6
> zZw}G{TvwU-myeQvr<E^b(;3fNRNfGOUZl6-
> %EM*R7ZI)@`fOJTuGwZj>4)bpvhq#(
> z!H8l0NcXF_@LrHkpXI~zS6TUH`K^&DBlx=u`D`coWBKs>N349aycRVq|7(%A9T
> (ee
> zwU1*^gZ`?3X}GpPkNmhmUf?ETaZxu{A|;nDD{5NacrZ;Y8%O;YPd)fhX4+$&P
> Y()7
> zRvZxtQF-}SefjFS^YF)~##8YzJmbV*pEO=X8bxE~=@lX4FD-
> 9nigz4+=M|Ooq0h1r
> z;|HgrXdH`{Xv0PS`oLS6>N^gr*2t*nF=Jz5$Hn1OFXm7E*NgrSYGqN~rUfI6vEl+
> d
> z-
> +>S*Q_7MiB?%YpRV{29@rsas0@t%)c=3Q;gNr!AMsE)AT)6O0r<aI3>1{Rb)ncS
> I
> zT=?$P2)qe^k)Hl@;~QSW?dJdVoBjw&1;U*u+y!oYzg`r$-
> HC2@fdH5(WCDPE!gLgT
> z<-
> R}^B#MFpcVePDvA|uB=q^ASC4hxOKqN(w(~Bko6?jC_OQIOdfDB6mgak2=t&
> >bl
> zOf0~Ei3K3aC){w2!awQ*Yy6Fl9}y7|9UUDL6B8E~H(|nrgoK3T<mA-
> URF}&&ZQ3-f
> zBWBE)k)55LmzSs0FK~*2G*K`UT=3t_0+CjLb5LlDEyD&KJtHlx;Ig!WnP~-c(h3Ur
> zZ%#ql%!0Jb3PxtwprdEZm{D-$jDp-
> 51y{`|DB!=V3TEUM%(${(WQGkodIrv3Mv2ro
> zk(ww{Q~56uGj*znN*$SDgN~jN7neFAE;TVOH90OdmH(1c;}TQjCZvwcut7)9N
> JvOc
> zN=QvkNKHvdP36Co)P&^JgrwAw88+zX8M+tZj26yV;dJs}EdER|{;IKaWQGkod
> Pa1#
> zb8NITHrg2%?R4^AoHIJs89mlHGQ$QPJtHQ@85`pq7vmfs<8<=hcxTKwXH2Yf
> WQGko
> zdWJbt&%eP|bNtia;8?GNoxceeZ69vBUEs6J#N&Lf;cBqqAxrQg9(_2{<J`0!7eA
> 6n
> zdY9mtCWV)s9^|UqEPK5uP7|f$C7bkINUON+veipGm^~ejZlsEf(**sBali{9jhlY
> q
> zCQjoDngGs2^Kp&lU;P5`ED)v*BrO-NJn)f%i*>RMlW@^acA-
> MzRU!Q%E>9TVM8Ie#
> zL%>mO^z3$=ZKWSYdMfA<?<S<5$7Q$U#KZgF|4-
> Om>WGHEKy!s3*J%B95^&YTqn>2q
> z!uxl6zoKjPzF>C}58s~E=@C!G^$`%*|8~4X%ro(*pS=DahKFq3Z+-
> %dY0v@o1N|bL
> zzt(jCH(fUqa34ct;J~NU>#Rj`3Sqc-LpSQ<ivG^!?<kL!DJ#pRJIkf_R!U7}(#sXn
> zwlYbp5F4@GTqZV^i3iKXs$y+rhPXXLT)#xydY6`YjW*{REp36eXtj1prIzRSX0Oz4
> zzeDr53PF><{}sA7NhaO-
> Lv;B^(mAHsP8HW^;~h;GZ#Uw9_`PJ_jnwe}=X;IkD)au|
> zCSExFuO{50r(J*^_2rBH&=m0`uAFC$YpM6jEIW-+!UO-
> mA8ZRh0(V6PHV#JnX+rn`
> zuMIvQd@-2SUe!_CvA#p=xUXYt#}ggFj^{gG?0Bi8tK*f9-
> *o)GBh>M3#|Ir}I>esn
> zJ<dJJdt7@m_hjwK+oSGTyr*c-O?&)%s`k|GS-
> (fybKjn=d!E<>!dqdpaZ{gL{9Ms<
> kcnBIcPuq3huHdfccfGjlrCnXSUfK1VUBBOj-1C0_AJBKq+5i9m
>
> literal 0
> HcmV?d00001
>
> diff --git a/Drivers/ASpeed/License.txt b/Drivers/ASpeed/License.txt new
> file mode 100644 index 000000000000..3dc49d3aff4f
> --- /dev/null
> +++ b/Drivers/ASpeed/License.txt
> @@ -0,0 +1,25 @@
> +Copyright (c) 2020, ASPEED Technology Inc. All rights reserved.
> +
> +Redistribution and use in source and binary forms, with or without
> +modification, are permitted provided that the following conditions are
> +met:
> +
> +1. Redistributions of source code must retain the above copyright
> + notice, this list of conditions and the following disclaimer.
> +2. Redistributions in binary form must reproduce the above copyright
> + notice, this list of conditions and the following disclaimer in
> + the documentation and/or other materials provided with the
> + distribution.
> +
> +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
> CONTRIBUTORS "AS
> +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
> LIMITED
> +TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
> +PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
> COPYRIGHT
> +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
> INCIDENTAL,
> +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
> NOT
> +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
> USE,
> +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
> ON ANY
> +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
> +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
> THE USE
> +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
> DAMAGE.
> --
> 2.17.1
>
>
>
>
>
IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v3 1/1] Drivers/ASpeed: Add ASpeed AST2500 GOP driver
2020-12-01 15:59 [PATCH v3 1/1] Drivers/ASpeed: Add ASpeed AST2500 GOP driver Nhi Pham
2020-12-01 18:27 ` [edk2-devel] " Samer El-Haj-Mahmoud
@ 2020-12-02 13:57 ` Leif Lindholm
2020-12-03 2:23 ` [edk2-devel] " Nhi Pham
1 sibling, 1 reply; 4+ messages in thread
From: Leif Lindholm @ 2020-12-02 13:57 UTC (permalink / raw)
To: Nhi Pham
Cc: devel, patches, Ray Ni, Michael D Kinney, Ard Biesheuvel,
KuoHsiang Chou
Hi Nhi,
As I commented to Vu:
please generate a separate patch set, adding
--no-binary to the git format-patch command line.
Then make the commits available in a public repository referred to in
the cover letter.
A few minor comments:
1) Please use the edk2-non-osi prefix on the patch line.
If you run edk2/BaseTools/Scripts/SetupGit.py in your repository,
it will automatically set up the correct defaults for format-patch
to do this.
More below.
On Tue, Dec 01, 2020 at 22:59:28 +0700, Nhi Pham wrote:
> This is the AArch64 binary provided by ASpeed for AST2500 Gop driver
> version 1.10.00.
>
> Cc: Ray Ni <ray.ni@intel.com>
> Cc: Leif Lindholm <leif@nuviainc.com>
> Cc: Michael D Kinney <michael.d.kinney@intel.com>
> Cc: Ard Biesheuvel <ard.biesheuvel@arm.com>
>
> Signed-off-by: KuoHsiang Chou <kuohsiang_chou@aspeedtech.com>
> Signed-off-by: Nhi Pham <nhi@os.amperecomputing.com>
> ---
> PATCH V3 changes - changed files name per Samer's suggestion
> * Changed the origin uefi_2500_800.efi name to ASpeedAst2500Gop.efi to
> conform to EDK2 naming convention.
> * Changed the GopDxe.inf name to the meaningful ASpeedAst2500GopDxe.inf
>
> Drivers/ASpeed/ASpeedGopBinPkg/ASpeedAst2500GopDxe.inf | 24 +++++++++++++++++++
> Drivers/ASpeed/ASpeedGopBinPkg/AArch64/ASpeedAst2500Gop.efi | Bin 0 -> 42880 bytes
> Drivers/ASpeed/License.txt | 25 ++++++++++++++++++++
> 3 files changed, 49 insertions(+)
>
> diff --git a/Drivers/ASpeed/ASpeedGopBinPkg/ASpeedAst2500GopDxe.inf b/Drivers/ASpeed/ASpeedGopBinPkg/ASpeedAst2500GopDxe.inf
> new file mode 100644
> index 000000000000..34b508f53e13
> --- /dev/null
> +++ b/Drivers/ASpeed/ASpeedGopBinPkg/ASpeedAst2500GopDxe.inf
> @@ -0,0 +1,24 @@
> +## @file
> +# Component description file for ASPEED Graphics Controller Driver.
> +#
> +# Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
> +# Copyright (c) 2020, ASPEED Technology Inc. All rights reserved.<BR>
> +#
> +# This program and the accompanying materials
> +# are licensed and made available under the terms and conditions of the BSD License
> +# which accompanies this distribution. The full text of the license may be found at
> +# http://opensource.org/licenses/bsd-license.php
> +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
Not mandatory since this is edk2-non-osi, but it could still be
helpful to have an SPDX-License-Identifier when using a standard license.
> +#
> +##
> +
> +[Defines]
> + INF_VERSION = 0x00010005
Any particular reason for this old version?
/
Leif
> + BASE_NAME = ASpeedAst2500GopDxe
> + FILE_GUID = 7F81D838-F91D-4C44-8552-8FB912122FDD
> + MODULE_TYPE = UEFI_DRIVER
> + VERSION_STRING = 1.1
> +
> +[Binaries.AArch64]
> + PE32|AArch64/ASpeedAst2500Gop.efi|*
> diff --git a/Drivers/ASpeed/ASpeedGopBinPkg/AArch64/ASpeedAst2500Gop.efi b/Drivers/ASpeed/ASpeedGopBinPkg/AArch64/ASpeedAst2500Gop.efi
> new file mode 100644
> index 0000000000000000000000000000000000000000..4b36e189b3a15abe2c160b948a1e221d4b0fd8e8
> GIT binary patch
> literal 42880
> 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
>
> literal 0
> HcmV?d00001
>
> diff --git a/Drivers/ASpeed/License.txt b/Drivers/ASpeed/License.txt
> new file mode 100644
> index 000000000000..3dc49d3aff4f
> --- /dev/null
> +++ b/Drivers/ASpeed/License.txt
> @@ -0,0 +1,25 @@
> +Copyright (c) 2020, ASPEED Technology Inc. All rights reserved.
> +
> +Redistribution and use in source and binary forms, with or without
> +modification, are permitted provided that the following conditions
> +are met:
> +
> +1. Redistributions of source code must retain the above copyright
> + notice, this list of conditions and the following disclaimer.
> +2. Redistributions in binary form must reproduce the above copyright
> + notice, this list of conditions and the following disclaimer in
> + the documentation and/or other materials provided with the
> + distribution.
> +
> +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
> +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
> +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
> +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
> +COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
> +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
> +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
> +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
> +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
> +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
> +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
> +POSSIBILITY OF SUCH DAMAGE.
> --
> 2.17.1
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [edk2-devel] [PATCH v3 1/1] Drivers/ASpeed: Add ASpeed AST2500 GOP driver
2020-12-02 13:57 ` Leif Lindholm
@ 2020-12-03 2:23 ` Nhi Pham
0 siblings, 0 replies; 4+ messages in thread
From: Nhi Pham @ 2020-12-03 2:23 UTC (permalink / raw)
To: Leif Lindholm, devel
[-- Attachment #1: Type: text/plain, Size: 34890 bytes --]
Hi Leif,
Thanks for the feedback. I will send PATCH v4 per your instructions.
On Wed, Dec 2, 2020 at 08:57 PM, Leif Lindholm wrote:
>
> Hi Nhi,
>
> As I commented to Vu:
> please generate a separate patch set, adding
> --no-binary to the git format-patch command line.
> Then make the commits available in a public repository referred to in
> the cover letter.
>
> A few minor comments:
> 1) Please use the edk2-non-osi prefix on the patch line.
> If you run edk2/BaseTools/Scripts/SetupGit.py in your repository,
> it will automatically set up the correct defaults for format-patch
> to do this.
Thank you for the instructions. I will do in version 4 of the patch.
>
> More below.
>
> On Tue, Dec 01, 2020 at 22:59:28 +0700, Nhi Pham wrote:
>
>> This is the AArch64 binary provided by ASpeed for AST2500 Gop driver
>> version 1.10.00.
>>
>> Cc: Ray Ni <ray.ni@intel.com>
>> Cc: Leif Lindholm <leif@nuviainc.com>
>> Cc: Michael D Kinney <michael.d.kinney@intel.com>
>> Cc: Ard Biesheuvel <ard.biesheuvel@arm.com>
>>
>> Signed-off-by: KuoHsiang Chou <kuohsiang_chou@aspeedtech.com>
>> Signed-off-by: Nhi Pham <nhi@os.amperecomputing.com>
>> ---
>> PATCH V3 changes - changed files name per Samer's suggestion
>> * Changed the origin uefi_2500_800.efi name to ASpeedAst2500Gop.efi to
>> conform to EDK2 naming convention.
>> * Changed the GopDxe.inf name to the meaningful ASpeedAst2500GopDxe.inf
>>
>> Drivers/ASpeed/ASpeedGopBinPkg/ASpeedAst2500GopDxe.inf | 24
>> +++++++++++++++++++
>> Drivers/ASpeed/ASpeedGopBinPkg/AArch64/ASpeedAst2500Gop.efi | Bin 0 ->
>> 42880 bytes
>> Drivers/ASpeed/License.txt | 25 ++++++++++++++++++++
>> 3 files changed, 49 insertions(+)
>>
>> diff --git a/Drivers/ASpeed/ASpeedGopBinPkg/ASpeedAst2500GopDxe.inf
>> b/Drivers/ASpeed/ASpeedGopBinPkg/ASpeedAst2500GopDxe.inf
>> new file mode 100644
>> index 000000000000..34b508f53e13
>> --- /dev/null
>> +++ b/Drivers/ASpeed/ASpeedGopBinPkg/ASpeedAst2500GopDxe.inf
>> @@ -0,0 +1,24 @@
>> +## @file
>> +# Component description file for ASPEED Graphics Controller Driver.
>> +#
>> +# Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
>> +# Copyright (c) 2020, ASPEED Technology Inc. All rights reserved.<BR>
>> +#
>> +# This program and the accompanying materials
>> +# are licensed and made available under the terms and conditions of the
>> BSD License
>> +# which accompanies this distribution. The full text of the license may
>> be found at
>> +# http://opensource.org/licenses/bsd-license.php
>> +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
>> +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR
>> IMPLIED.
>
> Not mandatory since this is edk2-non-osi, but it could still be
> helpful to have an SPDX-License-Identifier when using a standard license.
It will be updated to use "SPDX-License-Identifier: BSD-2-Clause-Patent".
>
>
>> +#
>> +##
>> +
>> +[Defines]
>> + INF_VERSION = 0x00010005
>
> Any particular reason for this old version?
No, I will update this INF version to 0x0001001B.
Thank you,
Nhi
>
>
> /
> Leif
>
>
>> + BASE_NAME = ASpeedAst2500GopDxe
>> + FILE_GUID = 7F81D838-F91D-4C44-8552-8FB912122FDD
>> + MODULE_TYPE = UEFI_DRIVER
>> + VERSION_STRING = 1.1
>> +
>> +[Binaries.AArch64]
>> + PE32|AArch64/ASpeedAst2500Gop.efi|*
>> diff --git a/Drivers/ASpeed/ASpeedGopBinPkg/AArch64/ASpeedAst2500Gop.efi
>> b/Drivers/ASpeed/ASpeedGopBinPkg/AArch64/ASpeedAst2500Gop.efi
>> new file mode 100644
>> index
>> 0000000000000000000000000000000000000000..4b36e189b3a15abe2c160b948a1e221d4b0fd8e8
>>
>> GIT binary patch
>> literal 42880
>> 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
>>
>> literal 0
>> HcmV?d00001
>>
>> diff --git a/Drivers/ASpeed/License.txt b/Drivers/ASpeed/License.txt
>> new file mode 100644
>> index 000000000000..3dc49d3aff4f
>> --- /dev/null
>> +++ b/Drivers/ASpeed/License.txt
>> @@ -0,0 +1,25 @@
>> +Copyright (c) 2020, ASPEED Technology Inc. All rights reserved.
>> +
>> +Redistribution and use in source and binary forms, with or without
>> +modification, are permitted provided that the following conditions
>> +are met:
>> +
>> +1. Redistributions of source code must retain the above copyright
>> + notice, this list of conditions and the following disclaimer.
>> +2. Redistributions in binary form must reproduce the above copyright
>> + notice, this list of conditions and the following disclaimer in
>> + the documentation and/or other materials provided with the
>> + distribution.
>> +
>> +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
>> +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
>> +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
>> +FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
>> +COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
>> +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
>> +BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
>> +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
>> +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
>> +LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
>> +ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
>> +POSSIBILITY OF SUCH DAMAGE.
>> --
>> 2.17.1
>
>
[-- Attachment #2: Type: text/html, Size: 38746 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2020-12-03 2:23 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-12-01 15:59 [PATCH v3 1/1] Drivers/ASpeed: Add ASpeed AST2500 GOP driver Nhi Pham
2020-12-01 18:27 ` [edk2-devel] " Samer El-Haj-Mahmoud
2020-12-02 13:57 ` Leif Lindholm
2020-12-03 2:23 ` [edk2-devel] " Nhi Pham
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox