Any Hope of ever modding?

Trying to further the development of the Android on the Revue? Talk about it hear and document it on the wiki: http://www.wiki.gtvhacker.com

Moderator: Revue Mod

xor007
Android 1.0
Posts: 5
Joined: Sat Aug 27, 2011 12:02 pm
GTV Device Owned: Logitech Revue

Any Hope of ever modding?

Post by xor007 »

It seems the Revue is very strongly protected with CDEK/REDBOOT based hardware cryptographic bootloader.

But there is not a lot of discussion in forum about its security features and possible ideas to attack it.

Is anyone trying to mod the Revue stock firmware ?

Is it impossible? If it is impossible, why?

What prevents us from booting an alternate kernel?
Logitech Revue - Rooted (HC 3.1)
Toshiba Folio - Rooted (Various)
Desire HD - Rooted (CM7)
cj_000
1.6 Donut
Posts: 121
Joined: Fri Jul 29, 2011 2:13 pm

Re: Any Hope of ever modding?

Post by cj_000 »

xor007 wrote:It seems the Revue is very strongly protected with CDEK/REDBOOT based hardware cryptographic bootloader.

But there is not a lot of discussion in forum about its security features and possible ideas to attack it.

Is anyone trying to mod the Revue stock firmware ?

Is it impossible? If it is impossible, why?

What prevents us from booting an alternate kernel?
Well, Yes - and not quite possible yet. The issue lies in the fact that there is a tiny bit of code in the CE4100 that will load and verify CEFDK. It's got an RSA signature to it, which is verified by the CE4100 itself, and then decrypted.

Now, CEFDK (which, was signed, encrypted too) has another RSA signature in it to verify the kernel. If the signature doesn't match, it fails. Of course, its a bit more involved than that, but that is it simply.

The only real workarounds are either, finding a flaw in the signing mechanism, or figuring out a way to run code at a higher level than even "root", since the kernel itself has built in limitations.
xor007
Android 1.0
Posts: 5
Joined: Sat Aug 27, 2011 12:02 pm
GTV Device Owned: Logitech Revue

Re: Any Hope of ever modding?

Post by xor007 »

Well, thanks for confirming the worse...

Some other reading : http://www.aminocom.com/download.php?6f ... 439435363/

suggested that the CEFDK would need to verify then boot the redboot first, then, RedBoot would be able to verify then boot the Kernel image. Now, the interesting thing is that it may seem that the redboot block is all 0xFFFFF in this image,

according to this http://forum.gtvhacker.com/revue/topic92-10.html

and this: http://gtvhacker.com/index.php/GTV_FileSystem

This would mean that RedBoot is not used: 0xFFFs cannot be encrypted and decryptable meaningful data, whatever the key/algo.

If RedBoot is not used does that mean that CEFDK is able to verify the Kernel on its own or may be on this release kernel is not verified?

The Amino doc is a Meego doc but it talks about the same Intel platform. May Be it applies to securing Android for DRM on the same platform?

Answer: Someone has played with Boot Process and described it here:

http://www.gtvhacker.com/index.php/Startup

Short of it is that the CEFDK is able to use security facilities of SoC to directly verify the kernel: The kernel is verified and will in turn probably verify rootfs...


According to : http://gtvhacker.com/index.php/Logitech_Revue_Kernel
The Kernel Verifies modules: they must be signed before loading and protects /dev/mem. The Kernel could also be protecting other loop holes...

But this is not true on the second HC update: I am able to fully read /dev/mem. Have not tried to write but I suspect it is possible given the displayed permissions.

# ls -l /dev
crw-rw-rw- root system 10, 63 1963-08-01 07:53 devmem
crw-rw---- root system 1, 1 1963-08-01 07:53 mem

Also, it seems the lsmod gives memory addresses for kernel modules:

# lsmod
lsmod
alsa_shim 8709 0 - Live 0xb9bf2000
pvrsrvkm 143566 20 - Live 0xbcd52000
edl_audio_dac_drv_linux 8669 0 - Live 0xad538000
edl_thermal 5413 0 - Live 0xad31d000
vidcap_ce4X00 61196 0 - Live 0xad40a000
zvbi_intelce 21103 1 vidcap_ce4X00, Live 0xad402000
ismdavcap_shim 42152 0 - Live 0xad332000
avcap_synthetic 11991 0 - Live 0xac27c000
avcap_core 7811 7 vidcap_ce4X00,ismdavcap_shim,avcap_synthetic, Live 0xac278000
sec_kernel 59607 2 - Live 0xad0e2000
ismdremux 37537 0 - Live 0xabff2000
ismdbufmon 24554 0 - Live 0xabef4000
ismdaudio 6699739 1 alsa_shim, Live 0xbdb56000
ismdvidrend 174825 0 - Live 0xb9b82000
ismdvidpproc 889004 1 ismdvidrend, Live 0xbd357000
ismdviddec_v2 454953 0 - Live 0xad201000
ismddemux_v2 380071 0 - Live 0xac202000
ismdclock_recovery 13405 4 ismdavcap_shim,ismdbufmon,ismdaudio,ismddemux_v2, Live 0xabaf2000
gdl_mm 54080 40 ismdaudio,ismdvidrend, Live 0xabae2000
gen_timer 1016 1 gdl_mm, Live 0xab62e000

Another funny thing is that earlier command output for lsmod (http://www.gtvhacker.com/index.php/Logi ... vue_Kernel) had "(F)" flags in them. What is the meaning of this flag? In the latest HC userdebug, (F) is not there.


We need to closely look at the userdebug leak. Might be weaker than initially thought.
Let's keep digging.
Logitech Revue - Rooted (HC 3.1)
Toshiba Folio - Rooted (Various)
Desire HD - Rooted (CM7)
xor007
Android 1.0
Posts: 5
Joined: Sat Aug 27, 2011 12:02 pm
GTV Device Owned: Logitech Revue

Re: Any Hope of ever modding?

Post by xor007 »

Are you sure modules are still signed and memory still protected in userdebug leak?
Logitech Revue - Rooted (HC 3.1)
Toshiba Folio - Rooted (Various)
Desire HD - Rooted (CM7)
malac0da13
Android 1.0
Posts: 1
Joined: Tue Oct 04, 2011 1:13 pm

Re: Any Hope of ever modding?

Post by malac0da13 »

I don't know much about googletv and how it works with the exception its a branch of android. I also don't know to much about developing for android cell phones but I own a Motorola Droid X and there was a similar problem with custom roms on this device until the development of 2nd-init. I don't fully understand the process but from my understanding it allows the device to boot up then hijacks the boot process to load another custom kernel. Here is a link to the guy who brought it to the Droid X and a more in depth description of what it is and how it works. http://cvpcs.org/blog/2011-06-14/2nd-in ... w_it_works
pcgeil
Android 1.0
Posts: 26
Joined: Wed Aug 17, 2011 3:15 am
GTV Device Owned: Logitech Revue

Re: Any Hope of ever modding?

Post by pcgeil »

what malac0da13 said is quite interessting:
you find the sourcecode of 2nd-init here http://and-developers.com/2ndinit

does anyone did something similiar to this approach?
during recovery mode it should be possible or?


Maybe http://xvilka.github.com/2ndboot-ng/ is also useful!

[Question:]
Is it possible to load custom modules with HC userdebug?
cj_000
1.6 Donut
Posts: 121
Joined: Fri Jul 29, 2011 2:13 pm

Re: Any Hope of ever modding?

Post by cj_000 »

xor007 wrote:Well, thanks for confirming the worse...

suggested that the CEFDK would need to verify then boot the redboot first, then, RedBoot would be able to verify then boot the Kernel image. Now, the interesting thing is that it may seem that the redboot block is all 0xFFFFF in this image,

According to : http://gtvhacker.com/index.php/Logitech_Revue_Kernel
The Kernel Verifies modules: they must be signed before loading and protects /dev/mem. The Kernel could also be protecting other loop holes...

But this is not true on the second HC update: I am able to fully read /dev/mem. Have not tried to write but I suspect it is possible given the displayed permissions.

# ls -l /dev
crw-rw-rw- root system 10, 63 1963-08-01 07:53 devmem
crw-rw---- root system 1, 1 1963-08-01 07:53 mem
Two notes before you get too excited (sadly). As you found out, redboot is FF'ed, its all rolled into CEFDK. CEFDK supports booting directly to a linux kernel image.

Furthermore, try reading /dev/mem (actually read it, say dd if=/dev/mem of=/tmp/somefile.bin). You will get access errors depending on the location, even as root unfortunately.
nikescar
Android 1.0
Posts: 11
Joined: Tue Jan 17, 2012 12:53 pm
GTV Device Owned: Logitech Revue

Re: Any Hope of ever modding?

Post by nikescar »

don't have any experience and knowledge about boot loader.

but any chance to hack bootloader with following links?

-worth read first
http://forums.boxee.tv/showthread.php?t=44277


-iptv solution that uses intel atom ce4100
#logitech revue
Intel Atom CE4150 1.2 GHz processor, with a 400 MHz GPU
#boxee box
Intel Atom CE4110 (Sodaville)
http://www.boxeeboxwiki.org/hardware
#snoy nsx-gt1
#Acer Revo 2
#Fluxx media player
#Iomega TV with Boxee
http://tv.iomega.com/#home
#ADI Engineering Trunk bay
http://www.adiengineering.com/products/ ... design-kit
#source-intel atom smart tv devices
http://www.intel.com/content/www/us/en/ ... nside.html

-boxee box gpl violation discussion
http://www.reddit.com/r/linux/comments/ ... and_boxee/

-intel atom ce4100 dev kit
http://software.intel.com/en-us/forums/ ... pkw=CE4100

-boxee box boot loader
http://boxeeboxwiki.org/wiki/Bootloader

-boxeebox boot process
http://www.boxeeboxwiki.org/boot-process

-optatining root on boxeebox
http://www.boxeeboxwiki.org/obtaining-r ... -0-1-16319

-boxee box kernel nand dump
http://www.boxeeboxwiki.org/obtaining-r ... -0-1-16319

-(process of bootloader signing/ p.13)royalty-free bootloader development kit from adi engineering
http://www.adiengineering.com/wp-conten ... ebinar.pdf

-meego tv discussion on bootloader
https://bugs.meego.com/show_bug.cgi?id=7841

-meego tv discussion on Sodaville intel atom ce4100
https://bugs.meego.com/show_bug.cgi?id=7779

-unknown intel cefdk binaries
http://www.2shared.com/file/fN_xusWK/ce ... 610161.htm



http://pastebin.com/WVKKThxM

http://pastebin.com/K1jDfmxG
nikescar
Android 1.0
Posts: 11
Joined: Tue Jan 17, 2012 12:53 pm
GTV Device Owned: Logitech Revue

More Details about Bootloader

Post by nikescar »

From : http://www.google.co.kr/url?sa=t&rct=j& ... XLb62civow

Code: Select all

7 Boot process
Secured boot sequence
 The CPU or System on a Chip (SoC) does provide a hardware integrated secure boot operation which is the origin of our chain of trust. Note: The assumption here is that we use an Intel Sodaville (CE4100). While using another SoC is perfectly possible, the same level of secure boot feature would be required to implement a MeeGo TV fully compliant “non-connected” security model as required for broadcast PayTV.
 At the reset, the secured CEFDK program is activated. CEFDK is a small software module very similar to a BIOS on a PC.
 The phase one of the CEFDK is validated by the security processor of the SoC before execution. This phase is executed entirely in the RAM of the secured processor. If this phase fails, the SoC stops booting otherwise the entire RAM is cleaned and the integrity of the phase 2 of CEFDK is checked before loading.
 Validated phase 2 of the secured CEFDK is then activated. This configures the various hardware and activates the extra security feature of the SoC, although this is only possible if phase 1 has not previously locked the security sub system. The integrity of the next phase boot loader – Redboot - is verified before loading and activating it.
 Redboot is a boot loader widely used in the embedded world to extend the capability of the CEFDK to support a recovery Linux automatic load and activation.
 While the Redboot license is based on the GPL, it does allows the addition of code at the end to enable specific functions, without extending the GPL license to these extensions. http://ecos.sourceware.org/redboot/
 The secured Redboot checks the availability and the integrity of a valid Linux default kernel and a recovery kernel on the hard-drive or Flash memory. Any other file integrity checks are done by the loaded Linux kernel.
If a valid default kernel is found, it is launched otherwise the valid recovery kernel is launched. The recovery kernel is only capable of reinstalling a standard default kernel from a pre-defined known source.
 MeeGo TV's Linux signed kernel includes the following modification to limit malicious activation :
 Provision of a Validator-init module to support early integrity validation of critical files during the boot process (init script, fstab, initrd,) using the security processor of the SoC.
 Provision of a Validator-module to support for the integrity checking of files during loading using the security processor of the SoC.
 Provision of a Token-based Mandatory Access Control (MAC) which covers:
 Loading of binary and scripted programs.
 Access to file
 Access to kernel services
 Access to shared libraries
 Access to D-Bus services.
 Provision of a symmetric cyphering-deciphering function which uses the unique SoC internal key and the security processor.
 This will be used to decipher the STB key wallet - private and symmetric - which reside encrypted in a predefined Flash or hard-drive zone-file. These keys are symmetrically encrypted with the unique key of the SoC during the manufacturing process and can be used for many purposes.
 It will also be used to encrypt data which should not be used on another STB such as PVR content.
 Provision of a SoC unique symmetric ciphering-deciphering read-write file service which is transparently activated for every file associated with an “encrypted” token.
 Provision of a trans-crypt service which can read a file encrypted with a key present in the key wallet – either manufacturer or service provider - and re-encrypt it with the unique SoC key. This is required to protect secret file during manufacturing, upgrade and recovery.
Boot sequence in development mode
During the development of applications or kernel modules, a non-secure boot process is used, but the developer needs to be able to work on a final hardware which includes the secured boot feature as these are the only ones readily available on the market. The burden of going through a certification process for each test of new code drop is an unrealistic proposition when enabling a community of developers is a key requirement.
The non-secured boot sequence on a secured SoC on Amino's MeeGo TV is aimed at that requirement. In this mode, the security features of the SoC are deactivated during the boot sequence and cannot be reactivated without a reboot via a full secured boot.
 At the reset a development CEFDK program is activated.
 The phase 1 of the CEFDK is validated by the security processor of the SoC before execution. If this phase fails, the SoC stops booting otherwise the entire RAM is cleaned and the phase 2 of development CEFDK is loaded and launched without checking its integrity.
 Phase 2. Development CEFDK does not have the capacity to enable the security sub system of the SoC, as it was deactivated during the phase one, which will then run in restricted mode - for example - no SoC unique key cyphering-deciphering, no HDMI, no capability to read protected partitions in Flash or HDD, access the unique SoC key.
 Users can take control of the development CEFDK via a serial connection to alter the boot sequence, change hardware configuration or re-flash any part of the NAND or NOR ROM.
 At the end the CEFDK launches a development Redboot without checking its integrity.
 Redboot load the kernel without checking its integrity.
With this model, developers can develop whatever they want - including low level kernel drivers (such as device drivers for a camera) - but cannot access the protected section of the SoC. which prevents access secret code which is encrypted with a key unique to the SoC or activate the video pipeline to play protected content.
On the Intel video output is limited to analogue interfaces (HDMI deactivated).
Note: The development of applications which need access to the security features will require the creation of a unique key associated to the SoC which will be used in the STB of the developer. With that developer key, signing of a module for local installation is possible but execution of that test code will only be possible on the associated SoC. That unsigned developer key will have to be signed by Amino to be accepted by the system.
The key delivered to an approved developer will be signed with a key which indicates what class of application is allowed to be created. The application class concept is described later in this document.

Covered malicious actions
The proposed boot strategy ensures that access to the secured feature of the SoC and the encrypted files where the critical code or configurations are hidden cannot be done by a Kernel which has not been provided by Amino.
The potential developers can load another version of Linux if desired with the help of a development CEFDK-Redboot, but they will then only have access to the raw Sodaville hardware without any possibility of accessing or enabling the security feature of the SoC.
Once the kernel has booted, the correct critical configuration files are guaranteed to be present and the required MAC to be activated. This means taking control of Linux after boot is almost impossible as the boot process can ensure that no back door is open by patching the configuration files or changing the MAC before the boot.
The use of an encrypted files and/or partition on top as a traditional file digital signature, if required, provides a strong protection from external attack by hard-drive replacement - which is the most likely model - while allowing qualified but unchanged applications to create/change protected files locally, such as PVR asset and updating repositories.

8 Cyphering model
Both symmetric and public/private key models are supported by the Kernel special mode.
AES 128 is the preferred cyphering solution but the model does not impose a specific solution. It is very likely that the supporting CPU will have a Crypto core processor and the chosen cryptography should be driven by what can be supported by the hardware in preference to a software solution.
Note: as some files are encrypted with a common manufacturer or service provider key during production, but need to later reside encrypted with the SoC unique internal key on the target, these files will need to be transcrypted during the customisation phase of the manufacturing process. A script will read the predefined list of files caring the token “To Be TransCrypted”, will transcrypt them and replace their token by “Encrypted”.
An encrypted Keywallet will carry all the keys, including manufacturer, the service provider keys, CA, unique to SoC; private or symmetric. As the encryption is unique to the SoC but done during the customisation process, it does not create an inventory extra burden (SoC dedicated to a single customer waiting to be shipped one day) while it provides credentials which are unique to each SoC.
Note : If a service provider wants to prevent the STB from being used with other service provider networks, the key can be flashed in the One Time Programmable (OTP) area. This is not a security requirement but a business decision.
Last edited by nikescar on Fri Mar 09, 2012 4:28 am, edited 1 time in total.
nikescar
Android 1.0
Posts: 11
Joined: Tue Jan 17, 2012 12:53 pm
GTV Device Owned: Logitech Revue

Bootloader Differences

Post by nikescar »

It's log for differences among bootloaders.

1.logitech bootloader from update(b55579 and b61925 are same). logitech_ka5.cefdk

Code: Select all

TYX+"
@,AqM
+Z{t
nFn$Z
SZV8
g?ry
$sC)d_p+
cbRCG
Z{P8
M4l\
5+V~)
jD#S
v z}
0w[ 
]QQ5
J/4}b
,E-T
H2_VQ
[k#W
'SKM
@tz/iDd
&k?l"
Mw#	
M`db
iy-(
eY,p
"N0-
:KDo
V>ra
*YlP
6TBP
]oZM
J!AD
,~}5F
n=c'
oMP!f
GsE4-
@Cl	
u32xd
!X{T_
2UmW\JW
u` 8
Z41K
_.\x
	h4c
x)3Gj
|rrunw
Wl%$
I*)-jn
heQk
r/$!
y[!A
%>I~
	XLY
ShqDa4
FH=N
Y/J]U`5
#`Av
{jxCf
dv&[
D<(1C
L= \~^
}7boN\
S~\j
D2*t
1oBj
Ex"h&z
z`Dnp{
J}q<*
p+}7
l)'@
F}O^}
-44YE
2W6q
m#sTe#
;2t<
[sa:1
,+ik<=
C8/a#8
.8yJ
p;Hl
=O^.
6d:>a*
sZk".
Vne7
,tIh
=v)7M
q9o%
fEbb'
fRReX|o?y
ZkCZ
q(1Z'	
	qpr#
nA#Hl
Knhy|
lyz:
tU#.
W+KE
pa/]5x
 "7+
;G3_*{
f{~*PW
:./4
HtB(o
IB8(9
i<~kv'r
6{TBI
?;Phk
}&BiBP
di&j
-G0kh
{dRf
f~m([D|
fZ],OT
2<{u
SwkN
lggR|,
dsa)l
mch	
1Z6!
7IWvw(
Vi^y
agN:
NKxC
6$+zI
VP0q
:o)V
%\kC
M /+L
j=#v
((9z
T'FE
S$[a
:0b1R
 7dh
Ky)+
IY2K
"Q?!@
4mtJ;
6z(f
J	Z\
)MUE
cgU~
@C+C
aa"rW
675=bB^
 p2=@\q
0tnbV_
=PTP
uP_r
{)':"
p)UJ
3.U=
2`]8
=TIp
u8l\
"+~$
^]\r3
kYK%
St*	
 "45
;$):
0yg7/
K-HIDZ
-U~Q
}vcH
lI~scv
OW2Jb
ba3?1 
!MP%a
JLOE`
@M0u
v%bX
5=!(
TTc!
Se=%(9
uuTf
=QkN
cbzP
uKHh
%:hl
w*yS
I:+\
d54Tk
l7Cz
 tK3
.x7A]
p+Q37J&
J$#g_
*v=[
L>ss
pgGE
Tu}[
5@m+b
v2-W~
;-I03xF
\Kh-T8
ahOeU
v=<0D;
4DOo
^idU\
 C @
U'>q
AGrEq
UXlT
u?*X
i;"d
PXSV
\8(J
s:D'
n+uo
8-LV
2l<<
		~\
XBIL
3,8Na
WP 	
#%^8C
~c(@nb
XRN/
JD'(
8[|C
"a6B
=jaL
<:o+
}A|+
&\'e
dqz*/
n,[=R-
9SV8'
*z,~
B}F;
5)ES 
wD/)
PE)L
?iN@
8x{S%
4@&7cg
4n6+
L'2rd
~J};{
!I*3X
jONI
KNxjB96B
DYI6
8.2bm
'@lM
]	Y]
-Wh(
GdkLH
B}	D
$c<fKx
'y/fj
E-9##
A_Q=fZ
8TLH
,6HB
/}9p 
~_8]
EGb!V$
>jR8c
,cA"
(KdH
Sxqd
q63[
oIp]
:+m~L
_.oQ~
FBhS
tmaS
g+No
A_!}
Dl`'
H"\[
HY]-
@[@u
f`MX
uGx1
|e>S
H*C7
p5>y
-*5O
.EoA
|E=v
"lLo
p=wr
U'~x	"
:7Eex
Oi&Q
11hOlM
[?{OQt6gm
x$6;
+f3:
mz+G<
.( dQ
FJ9p
KGsy|
q6eK+
lzeJY'Y
2)DH\*
^\Dnr	r\
f4)G
{a/:
#*	y
J\:K
R~oc
Z^-tlTPt	
Q+	"
&NC1
z	rLW
#s])
>x)}
:P-K
C#R 
RcEkh
&kzs/
e3we
Nh<xl^;
.cNSx"cH]
}0;,V
~A6q
Lerm
z5VN
:OQu
`x4fC
3kLE
{zV-
vXz~g
zi2{
u+f	
K(k_6
tS$_
s%J.
>[pf+
jm>+
}^]!i
\.+`
i9T{
)OEwP>
*@5a
l`:k
8#[_
MBdx
|":O
G!tY
W`Q<
?X9{T
s1&yv
uJ>7d
.JdC
~jUt3
:{4^
%h[X8R
<,	8U
b+']
n;Um
l.Iv#
~.$5
)Na0
|7vb&
\VWa
WqBm
\[1$c
/[C7r
G/J:]
+y0 %)
Uw1qKf
kO*0$
_$eN
4}\>
PS$s5
3WgVA
/H1"!g
j8Sd
49%w
T$c<
4W`B
jU@<
k"Y5
PxgS
y	{SM]
Um	;
H~l?
l,tR
"Glt
]`>2
`|B'n
:I~3_i
y#G#
2UJ9g
Wk&^~
ZF+/
/T9X
\gydU
'V!5(
M,_bKj
+qWp:
o|ZO
3Y0aI
MopT4
;VbJ|{
o)Z4
VOp4Y(l
<`0OWAa
a|92
VW(0
UK8{o^
+:friQ
,rrw
+qh[*
tU5[>
+8w{mDI
@7Xm^
o!dQ
YLyB
UiO$A
.;zz
4b@&
fiK[d
7iq%
m:sq}
z	C={7
kBp+&Q
O^z9/
_wL>
,2wY
z 6?
@J":
KUb!
T~Rj7AXi
}G*zE
5(o~iL`
8In8!3
qF"M
x9pK
``Ps
M6sPuY
+T?6
vU}V
kjvJ
|cq?/
Bzdm
qb(=z
4hZ#
s8Nc
 KZc
OB#x
I[$f
JkU!
(.o2
j}4J/SO5
MR8}
\Z9+
(_JX
Hvv1m
#*]<'
`r V
HIBM
?S9O4
?r;	L
(>I9
I6?7
:3Vr
obK8Y
E6W>
vDF(
_ q*
.oW!
$R^]=
^./i{
&u8a
k0O@
l3F*aZk2
nQSA
hVSy
Y<FUAK
.&-wIm{
DZ\S
+$c~
?d5Y
!<?0N_
6N?1
}Xrc;
=R~I
mvp6
#QU<
aUSbK
?R|T65
U!;lW
~s9r
IO1}|T
_yv_
*Lwy
]RJ3xP
Rp	u2
,@pe
0ro<V
`^DM
~},2:
'2y;u)V
V>*?\H7
Mm=@
znkB]
xVIg
30g	
':cp1
6MPj:4BUP
V^>H3
{Li>
!`ad.4
2`@PZ
<'6A
"'<h|
;xlS@8\QK
T*^L
GRgr
u>v5
sQNI
]h=3
|}XJ
G;E^m
?d(F
1u8:
3sc?\\
|AoB
pG!l
xl`nXG:
piqu
P'M:
k#fe
j/)#
--T2
!:xX
fy71
Fi*%0B
m;uZ/
q[j&+
OrL>N
'>o	
Fl4\+
o~tjS*{
gj8e
AIJh
*ro_
%9b=
4OBZ
[%tu
;l-Kz
)->9
$ &2
b!r-
|nI4
C:*C
ldT4
;EO}
%YQX&
WtER
em	o
}P|l
NJ7g" u@tG
w SO
?G\>
?8('
rbN~
+6r/
P|Ng3g
y\2WR
!YHb
gf[H
iMKe
$Xi`
}2?O
CFMl
S?Me
=oh$
F HjeZ
vpy;
mW	k
%Z=1#
[WO]'F
GBpM
wvF~
U+0`o
^Y &
)nHG
*j6C
R8;Sy
XC'h
tB9^
?XjCO
g*m~
e<hg(\
5"pJ
2	( 
3To4
XqtE
*'uCd,
R	;Jj\
)P8Zy$	
o3Ad
)!/kP
Uf;Md4
7+{A
m1nK
DQn,A
[?cN
Eqlm
'/}h
# ~y
n(`l
^n4.
ltin
~3rM
"Osh
F_l=
aiB,G
~%,'
g,YS
=q	]
Qtbe
;gN$y
Ohl&&E
uB"Y
vrr1
1n8]8
>/e|
h@Eh
U*.'-
`Bdp
`XH:.P
fZX7[
a^;hO
Vg`"w
epu|
&3y;
c7~('
,[@M
Dm2UO 
Hk\*0>
MT6!`
'vKwp
:Pi*
V|[#_
R5]u
G7[\
&FD+
,r2:
2X6X
OWIlo
45Qf
ISAi
;*s<G
O	Ut
DyVM
dU]`
|:!i
T< |
niB?
Cn0F
oV=&
P"EG
?N}7a
:0lhY
^0xi
uO`FTl
@3Qw
P$Bz
y*SH
Y^VM
peE'H
k-ahyu
'k[GUc
ce3,
MYJr
-p	0
K Fi
$y|^
 emSe
XaTg
yzS6
oYgT
ZP8p
~@i 
ihk>
wr+!Z
emkR"_
'^3]
E9lH
DCTv,
s$.t
+ab==0
(Qmu
LC8j
C0I)4
t+`)8
gp^O
WT%=
'tNK
n$XP
mfNT(
RH""
8:X:
j|.|
uYYC
hukH
	h-T
&xE!
8Xam
}P3H@vl
$RJL
cvZFH
3WIwi
_\a"->
?LJf
HUU8#KV
V2d%
Y@@:DF)
rVwO
7x\_\
LD	=
Ll?ifuuF-C
kCI?"
b'jP
q`xP_
^~9"b
25TaMo
D7yw(
++jD
DGfy
~$><k
9TO%
4SCCa
fj$h9
r,"+6#
]tC`M
D,{J
VzxvO>
.>0;
OJf 
Kdu hb
<WaW*
!Q<#
xcD&
VJM7
tP/0
*T)3[#Q
~rtQh
dKt+
5Kiob}rQ
FRmm
2z	P
pd`\7y
a>D2q
Ej n
!7iC>+
Ey|n
8a?a
v#Fr/
S| =|
E6-(
a(^l4
',`)
@wcL88
0A]#t
%RMb
wN`Y
B~To
Qbnrp
CxNx
%OiY
m:H$F%
d;J/
^G:^
}Z=1=
=!E o&>
~gfFm
lzen
$o1*
}4=(	
,`[8"p
|qdW
`)e_
]f%DE
~F+9
9nHn
|SIf
j<R)
>DNM},
NPPjM
G$D.S
;}]P
~wV}
xio*
Oyht\
l*qg
ZqHF
9")?
v:@n%
l5k_
kfMi@
6D<F
!#'w
WG3E
	L&<
P2*\
jE*x1
C>O`
\Y8;5
(<^'
3mD3>
[QmW&j
J q*
	mrE
u,2;
tT@"H
H^_&
?=dA
5w]6
9n>(k
8X:Z
W+hdR}
ju4cg
zuSFxh
#JOX
+W<M	
5iL8
pHy|mc8
BUo	49
+(#6
[`#'
5Os1
[Jsn
?6[`v
EAL/
hm,M
$MK7WY@
!2bb
nQHKP"
bz=D}
h6|k
^/-]
3NX-
tiQau
\B*gJ
5T|C
0~bD
	sW$/"vcp
D^*y
y6f,
v{9af
$r[9
KqeN
AMtm
kbxC
T0]0
Q$HoO
Qm0=
W9o~v
	`X@
|FA#
odNq
Z-ds
)NaMy/
/hfB
K=17
F17U]>
hD= 
+,u$
,PK+
UQT*X
0>=h
+P?]T
V+:#
/30|'-,
OvaP
L:)L
Jm]!bz
nD5P
}Gl#
|2Wo
pZu=
C:y]
iG\y
q/;5
rYfXd
>+0U
}>-A
nw/8
wj|[
't;f
.~N:
tk4qa
w[:"
~N_W<
.+@C
gZ/Jr
Y|\3
m<b_
:cAF	
?0SW
A5KX<.
z:{7
UF[4!
MY+p;
qj|}
/(>Y
Q1s4
q&=N
$lyB
<C9T
&*s{
lnKl
R"05-
)1r~
^o4Zv
m	W"
BNZw	
>U&].
]p_T
QafT1
$YF1#$N
!!hM
O@rB4
SbFf
tz3`z
sjfbd
dhmS
GaZv
RbvA%
EMb	w
!q]j
a(r`9Q
[/,,n
itZR
`9Uy
}V	p#
Yamc
bWaR
X@2{
*tDR?
/oA(v
r;[8S
O[SL:XM
eVd]
 _wG
w^o&b
_lbs&
~	2S/
zc.o
C7=J
J"%+
/SUM
UiN]kZ
5^la
8h/U
RN_by-
:fka
`$z2
i9pV=L
e=~Lg
[{t/
Pgy{
];8HZ/
#RP8
`dS~
fP<]
oplBx9WE
9QrR
tlY4X
M{:^
k>?3
O;t]#
5	eX
4}$F
<ow@
Phra
1viC
oJp2}
a#o5ku
'#Lg0
	G:U
6U|9
U4/{]
8}WW
~1t!
ldS9y
6+"`
si!F
@dT#j
L39 
Whu'$
e(CV
qrc!
gJ^ja
t;Z'
\*^!Y
!zQ\
Zl%,
5">7
+Bb;
Ts	p
MLP8s?
wU858x
i/GTY
QO""{
("PW
'ioU+
2>Jd
ROX`:
pho=
J\Z 
;/jb
FeKbrK)
e)YD\
C4[.
BacX
-8lO*
`{(S
W4=C
JB:J	
CMXv0
8)i=xR-
G2Qn-
++%}8
*k[7
O"e.
W#cK
s1J<
E5Z@5
`)dC
VP,a
\Pr 
zjdr
Cyuy
w %*i
6o0>
e,])
{	*D
|NLE
H['w
tv%`^w
Ait'mar
B[,"
}s[xt
?o9)-
mO$#$DP 
R5R]&:
	\wi
|\Me
eV/)Py
.}"Z{o
[@Al
$`q3A?6]
Pjpj
t"Ok(It
H{ x
D&'X6
oxLL
xYk 
/p.%(
KX:)
VE1_
sJb7
(KA=m
 +sc
\QdSY
8=PE)]
3#5#
I#	.y
F=M&
|.!cv
[8"2
}L2Sg|Q;@
,RZYH@
G}>e
EFOa
!]55
4c!,
v =B
\5aA
+T;T={
Rs.Z
hv(49i
=^E3
9.|c
_3V/.
ec#'
nb*W
/eS~0
h%;K
dz"F
8G%7
jOQ%
}ytp
L#js0"xa
vWu&|QD
S6fE
fbab
hO#%
Jm"~
bt6#
( I?
~}X2
V0djf
c`eL
G[D`
1	),_/"
<%qahr
l,t(
02=m
?>(:u$s7
]?:-j<}"Q
+.(9
Zj7.
Y`"v
A12O
nnB1p
mW2.sVLB
=FO	;
W8GQ/
yWlX.dk
E(YrN
}B]_
fzMN
u)7L
&n>#X]
4+X.t
hU7.
R<z{
8@JD{r"
WY6N
x25s
GJ\@
w-3B
9;#A>3
E)d5
uSpJ
sH'?<
Qia[
mub>
Q`bV
	uXV
\[WO
@^80V
<_$"zcZ
H*Td
lKmg
]cTWM"T
un~4
]](T
5b)O
j3	O
]6;0
:4iq
Q>!fHv.
*JS9Dl
]oDEL
4N$,
p}+ZK
{3RJ
JGZh
!"]@4
q<\#
xU 7.
#mu5
*nP5
hlT#
iV;l:
3;}V
(]&gjl
|]:`
'G*d?
=TjA
M4\5
{	?5T
jRa"
 iMs 
F|9O
F:r]A8R{
&fkh
>1wY
*OPl
$`i*
1L?cU
^;@$
rtgR
p{+s
j|3 u_
v1&a,J
BcjH<
zO=|
.IGvV!T
*O@H
m_eH
f7;4
[n0n
@)^gu
CUY]
I]@?
K{,n~<
0@/`j
,sN9lx>_7
]]PE
|K.2
$cP;
i{J*
}f7\Mv(
9'u-
/">E:
&$5wEX
kE?t
qYZz
Q_+?
7brt8
=0kjhO
`43U
FAW"=
J8P7
0'H	
Jl=M4
>CRnB
i_"<
+wHQ\
c~SA
4(Uh
%"vJ
BiC2
G6g>v9
8wK"
FT9=
"Tes}
&,(o*D
(i_i
~J//
'KPu2
6u#4
bQU:
$l-f
Tyw7
I0'y
KJ{5	
%o1g}D	
K4*)'z
P*T8
U'Zh
(YZ4
zP\Wm8
+jWtNQW7Yy
NS^O
Yk=ZK
i+|[;k
]WY*
`>6\bz#
+*e!6
Ja9Z\
td[*
ot)"BXhB
R.a(%i
`LIz
<LxuyR
$JPB
h!ja
4g;.w
{z0ji
kA(K
o2Y_
Qk:6t
qWob
5LA6u
? M%s
f6lu
m9+#Sc'
#JQ;
$m.[F
Y0\lmK
\"a8,
Y]7]
!)l!
/5?[A
qo#O*9q
+NeS
:fBQ
`5iB
YJD%%
P*ZND
J]sz
TL4G
9%/u)
i=TX
(Cx|]
2)N]
u@;6
T~5=
>2FD4
 14z
KNG0
Fs ~
,fi1i
S^8z
/SNG*
yHmi
2J*#s
}6$}
G EC
$,g9m
x5Dv
a1ik5
uwEQ
Mdy>{
+	ZK
\/F5
*FGCE
qf`MgL$
`Pfz
:$nH
=:tE
LBeI
8	q3
@%$#
13V@
6[Oj
69,	
Asq)
>sQ,).a]
Q757X
O9j]
$Y3[j
}1ms
Gn7%L
]cBy/U
bq#a
f.LV
MHz0
D\=6
pk8=R
Eq[T9
0 s}
va3D
Qvf%
jPz7hEh
aY>'
P4$%\
`mliR
Spl?
b3;~
m^G~
_`hi
KEQn
C#p!
?CFW<
knN2
RS{}Z
@;&eM
{qa=I
(N"_:K
N&/H
]u8u
x	JPC
9Rv'
][m{8
_Gg:v
g%v<eq
Da!H6d
Z+h(
orLCq
&I[L
.{NU
ZoE<
Atv9
~;_~
Q`.d
+jl]
F`\]'
^;"0?
RL1_
Lyz6{
!)EcP#"
>\5/
'[Y-
FhBM
Qf-#bVx$
Er7r
gd$3
Z|(yZX
jLt|s
0l*Z
w)$7
S\gf/X+
#k-0
i+a8!
C@-]P
x{$J
PjYZ
cSyL
mX8+
9v+4
TKHjQ\vJ
S>rTZ8
xzF6z
NZH0
c;OZt}h
JQKk
4]'W
p/CMP
9l9Vc
utW"
,4e.
	x\~q
+imb
*b>m=
@B+i
e9+g
y(E=
24-!+
^Hmr
-?%T?P
3@X	
Aj<)r
;)b :@
j}8]
^s22
b#V[
vu2<x
Iy4 C
M;7|
#&"0O
"0$K
E)Ui
.c8C
g9)r
DCJJ
P6:H^
vO|@~
z }e
W+O}
>lEH
tbf=%
|]Zf
ad/C
<o]Y
5"?lH
L=Gt
`&9%
6f~J
{Bi8 
pST&
4/s^X
f2sl
{4>[
VaGN
yq{O>
'`$h
GLhK
<41	
M{_xZ
B7"/R$
=mv_
|	sC
Ky-H]
Ukfr&=E
^?/G
SmCF
^2qar4z
IMyo
T^8N
2X*"$}
<:p";
P)~l
g=OWT"x
J-ILGn
+c~C
S-i~U
f9,4
F~BIX
wN~v!;
7%,i/
zJWM
Xru"h
kPpIA
cySR1
3x)@
Yw'D#
(4Fy
po'5
184D}g
w;n't
\TJ0
f<O>X
_KEU2
KtIf
sff!
>\?\Gh;
0[IaB
m~f	w
+AkO
L?i[-Q
_s-r8K1
Veh,
nKmS
+ si\
0:5n
*Ff`
W</r0
;GFJT
%vqs
>rS]/
dd(y
%E;7
v~y[
7Z.I
{]!8
HjxDZ
S j-
4C1kp
R5N-
>m4b
U~b{
:Q*s
OW=&K
T,Ln
wlwsb
EV<b
-},D:
I	0b
u+HN
;+*Y
0XT(
.7&n
uJMw9
N w9c3
FAw;R`
Q8v.
h>Hz`
6;-_
mxOBl,
cFD(
C@-G
IL<_
fCAe3
Zl0[
xJQ	
0aJ>
}AG^
#-<	
XHt0
Y@l2
4"Af
P<OoE
'2cC
sKJF
T7CERJ
K<eB
vr-%Y
HIu'
~#O1dD
"Hxu2w
Y]MX
^N=&#
Mu=U
hts/
b`yU
Ei|Q
~<b4
3!h_
:zC/
s4#d
z-*D
T+I'
bA.S
/8&I
/!*<75
'eVJ<f
%y3Cc
S-.X
BgNqw
M4r[
D'\*
lc@,
bG?|T
G Ta
O/B4
:`Y0
l1`Wm
/hmaE
C!R^
NW]YZ
q4}o
3,na/
!QF|
MYEC
K/W:19C9
3K.u
mdq1v
="}/8
J[qb
\D.P
'!*{
?!FM
Lky:Z
3xb"
,/\[8
'kGFAg
c%Xs
c(*-
+6Eh
_sO~
_Z9rJ
ZA8c
R.+Z|
M$2J
KAY.
`}R	
C6Qts
7R r
>qYvUD
{	7X
%!vHo:639t
H4;"v
@]mK
['=c`M
d($:mz|
!&	+
tY.1
[FPD
Pm-{
rEdWm
>_Yb
y_z9E
.mpP
Ok-C
=:k0
An	b
M3+-
qb  
po3<
#'m@
$H8~
Zp&pLo
C 9D
S#i>r
&!F*
ZFTHsZ?;,|
'y~BO
	,pV
 ]$'J
bChf
;t{u
/s~0
Z8k8
yn54
Jp9S
,4b$F
-+!h
=[@U
&JN,G1
H=zP
.OPj
Fa8 
Va'E{w
3/(E
>l>/
jIH$
57qj9
1;^c)
k0ZT:L
Z6dVk
},~E 
O6qs
llsPHT
3	w"?
R6.kjz
J.5y
[Ege
[G#h
xjB$
B_{XB?k.V
CzN/X
0@cl
OwShuE
0`E"
ocST
-46d>
;J%~
&'j*nH
>$g[
c3.EL
%CX'
]oIOqPj+j2
"e9I
FkeY&e
h-2z
w~WqZ
"e(G
{Q(V
R4W~
|g!J
BBj-
HK$u
[_O"v(
s}2IU
><	#<
jD;.
-Bf{w
tk83
FT+^
aX$d
j!|b
o5[*k
[?Jq
cxPA
7h4~
c>'J
Wtsj
i1	G
s"ub
TH}A
G:7v
BK l
mYfc
9O}f
i$*Y
(lHp
G4t-
hl?G
*skj
ar !b
]Kgh
%Kl(L
E{"ICQ
i{$C
v`kL
QQ!#
~36i
[8Sg
	~sc
:0c2{
+&(F
=it[
WnDb
*bM)
hFQo
lj.f
)5{t
mU`k
m"!;cT
-V1r
jSaZ
'SSY|
|1hr
PED%h
f'Eu
rc~s2
z/wn
x8@&
:oa.
GA=_
>PDg
IlME7
~_!C
%"K|
Tgqw
MrL%
eW-X
Lgc'l
BB#y
IyNl
'XWR
q,0*
1/AM
;4#I
f*/xB
HcQZ
)#A{z
%ATW
PbV[
pPdT
zyYp
q;O"'
C'f+
`7ah
$b}=
MQlo
y4HgKr
'#bUM*1
E-iyQ
Q~&_X^
@RF$
\aZi
!=ZJNW
39M0gwzT
>=.vH$
Ytwi
bEEfnf
`c;a
pbhi
a{p?
(b.(
D&n/h
9t_GS
_%f{
Vnv2
RvoO
JXC%
~Eg	
2ElX
`;f+
k}{=31`,
?VZM
`>nK
k9[a
qKF 
maK|!
qT/>
r"<s
`Zdm
=?l,[gj
c>5(
vub5_
vk:*
")DKq
xkA	
oQY-
jK4|c
{ATZ
Zicx
=s5ZN[
x'3c
e;H$k
%#NsZ
RB_UZ
rr4iE
wI-hS
2|`3/c5
Xc{q
_Jsz.go
s7$e
7rP[
nUs4;
;%SK
RkJV
p2,L-Iu
zRDPL/'
fgru-alN
>y	x
Bb-O
&CxA >
S:Mn
~U17p
N^7b
5~b}
SVq*-
O75hJ
J1uGd
_WD{
yo$ t
OO9i
%F8A
L)AM
xvnG
!!fE
>,$L
;Ep0I(
/&lJ
C*Sx
_sI%~
rHR9
#XTH
GT<A
m*Qm
0k5b
Ns>EH
L%..
'|F+
(LO'
aFhN
6q>OZ]
!WfE
C(@dl
d2c#~"
GpS$
Pyj6
.$b9\l,
:#Bd
N&SW$4-
!l{)Q
D2xF
2V|S
po7)Ty
F|5	P
U!JeN
$b7n
lb,^}
cx|+m"
Tz5-gy{
|?E<m
K#5]
E2b4
xU/+
8hO\_
3Cjf
$u<I
k.sVa,pu
f	5z
yb[|
:U~KR
Ol_e
B:8t
TK0mo!G
@M,P
YyXe$
;.-M
b,uu7
+Z{V/
K!`Z
AIre
)G#g<
*H%v
	(V`X
sH* 
7hPXi
ppL$
tmNVx
Qo\(T
Zj	*
uL<mD6
)7@I
f4cx
o/gkI]
J"%7
]/+La5M
@%@Y
[*2h
N1:\U
=`:p
Uw-w
6uRB
5ZVx
^$;J
zw.~
P+/	
R<V*
/O#T
O%	]s
!%4[*
/%:"
LLu7
[DpDS
{2c?HCO
k.(1
'@|D
9\lB
N(|&
zAog
!B*l
lM*[
>^-\$
<w\5xY,
qy%Z
@<+R,
/C1'
ZBz)
pB}!
]ZdS
02TX
 7GY
CgK"
C^}Z!
r;v7
<#on
*Jj_
1+Y\
Z2ql
KQz&
2dD_
WYwo
:Zx_T
]ok%
.5Yb
DN8m
2E]-
<1x'9
!6	Ro:
TY/s
Z+w3Yt
	>K]
?+lw
h5j5
WksFv
Aa)1MFT
b<\H^
yye\
	>Cc>
2dsG
oSey
Ds8!
)Gm3Oi>;
ZC*@
RK8_
z{	E
6;SU
YsEtJ
UW.[
'b'l
V[\I
0d >
zH\ 
Y^QR
}Knt(
=h@:R
k3L[
! 0=9P
n%jp
p~4C
xch:y
m.dL<
aaz~
W^<([(3jB
_ppS
;TT+avGW0
R\zv
>}=9
9o#Wl{
b@(>
mY4'
lR<]Q
REo%
i=uZ
3Q-!
!eVY
lR;-
8XIW
d]cC
U8HN
4AP}
hT;bY
N(Ayh
Br56w X
,yjL
zafc1
D]>7
Ye766
@lgd]
M(e6
~)89P
=|n6
waUYsv!
:>d'
O4GW
_%&q
g(a'v
"h~JFr
yn\j
Iv+E
5uOS
:<c9
CK<J2
6`f	
05#7
y%I	Af
YWdf
eKI@
SrE?
Y)3V
{1s6
n.'O
!e?K
R	73Z
|a?U
H%fd
~Fh\
}]J^O
+1q4
@|~C4b
@fm8
,Z`h
Fi8?
OK']
#D'm+T
4Z^[
i]w.
6,z%jT}
+*ZU
)O=yCW
fU9j
=Y=j
|-R=
hi4X
eJQ8
y{(;
6!4 Sk}0
l%Ga@
U|\_
zu?_"
vwR!
R`'>
o-v*
j+3.
7[D6}
nJ8z
@!*O
gogc
G;oe
OlNb
?u!8
Su9K
N75w
s:,H
W|p!#m
i_'vdi
 :;(
uKl`j_
MMzw?_>&>
:AzD
'TZNkv
g.l)
,_f 
6,h7
jnA.
3?y0
 W})
hSKuB3J\
W!x0
dDQJ
|X1J
76_ S
fIhq
],^hn
7dTI
E_AN
8&e+u1
T#OA
;KocyP
DDVL
Zz=iK
4GZT
Y?'d-
!Pu!C
j?D(
o&vz
5U$r
`Qv9$
qQX$
B7*	>
a!cTTL
yJWb
uwaj`
k36!
kvWn
]OaA
v#1oc
#:nl
m5A-
`a*AEa
ND Z5	
|1buUU
&9pe
xO5&E
i-fC,8
 sG^89Jc
ptIh
v6 &
T|Q*
<80.<
(",-
;UrlF
I 'f
f6o8
{!W\t
<1Ke&
8i,y2>
K}}w
*2M/
)i5pUI
L7wK
`S3 
 4XP.
a9`5
BjGM
768.
sRF#r
o-*rv
D?WQV
5:dI
[1r	
gAc/<
cw}W
3HP/
zLzP
E[SA
/[3)I89
_A -3
ERUg\
+2/lp
ep_*
\H*4)
q3cl
jA>p
1RB|
PkwaD
!dn&
OJ"D
$+Lc
#Dph
$"')3<
*6x9D
XnTg)7
rDQ,!
%~|;
Ea@l"
n<&"q
7Q6,
Ov/V
XIgF
dmcv
*22W
4eu/*+:
&K)e
[+Cf
mQ7)6a
21P1
	h6s
 'za
_cjtM
=}>zZO
Z8[!y
?S#U
K/n$
s\wn2zy*,
n[6\:
67o=:
?,F-
v?0B
rWh=}n
>*=u
m%D$
Ru{k
v]V1
Oiaa
L6^\#
fW}X
4L#?U
OEza^
BBlI2
>B:F?
l-y5
L{7x
}4E\
\/8)
[zB D
Gp+'
!C'Jh
sEF-
'xgw
1;4,
oEX,D
A.xtm
J-Sk
'@<]
UUtA
:u.j>V?
Y1+tj>
J.-@
7-&N
~EnU
{jV2
CQEm
E<g7
cw&pf
1B^_
)>`:
d'Av[{
Z:^a
;>Hh
dZ*>1
JpuNf
#.5X{
:J?s
w=`v
tz<u
={`n
gDnv
oTy]
q5AR
Q9Pq
@}nf
i(>m
{0Nq
t!1K
sv2^
R<SD
a3CC
Ayp(
.}oY
'mA5
'?QSA
q2:2
DP5n
U9#L
lhW,7
"1|x
prKWG
x_Kfy
vhEG
V|7=m
{<@m
F\b,R
kOB\
@Iq8
Z)|_
f::=
,Q7S
5&jry
uFg/kO
\aV"
:N;J
cV5|'W
) "Y
O`v.
y/Du\
AZNI8l+[v'D
NcTSiv
<HOQp
Gh4s
2D$	
]Z	{
QSVe
G9@j
"	G&
)^Oe
,fP#
\>td
UFb5
mj(%
Uvf-
|}Hz
~zv3
*Z'3
uBy@
S[_N7
?etl27
F	QpE
yMO2*&
p\B0
]l%3=
2;WDbC1j"]
aSkZ
W-B(0\
UA$-}]
1~w'
0&YX+#
<l16I@
Wlbf
,KIaY
!9^@
y.w|
)G14g
zc'A
oMVLM8:
?1BDy
PBIw
c%hS
\a7B^0_D
YU*,X
~D5P
+yrn
loFG
.L2$
Vdle
.')N
p!@$
8{1-uR
	@\m
*M41{
>Em	
R@Ix
F>WYV
 exD
r@nm
_Y~@<@<C
WvnSSnB
wg<z
@ 1MB
K4cTd
xDlB
`"3M
k?W	
ZMBGp
NNp}
aL5M
fP&V
|p	1
>vwh@
!zM^
8S-?
Jr.,
\Nji|
0u+.
7-Y<K
;9c~Wy
xjf 
__z?L
Bug:
5Hs.
&tQPL
0q+X
w,oHu
+`lb
DVU=`W
FExmG
{LLm
U 1*?sr
v]"7
k0Co
kX;f
JY|^RhU
5BT?
YyFG
f}S>
E{a 
	9#a0
dx3;
z5Gt
Rrtk
e>_S
]5\$
B+T.
K/Rb#0
H={m
<NK)
bLDb
e&^W
UY@5
$NR.
"``6
=27b
v:dU
>@}b
|#K2
N_PY
@R`v]
u$9P
 qFh
Azs5
"gI@
vlW4
c}9i'3g
Q/T	eLd_k$6
J/jO
(rpc
H^?}
oL45o
oZ,u
s\B#^
[e5>;
{&;]Ni
.>8	
G!gj
]i6E
/).3M%
rZCUZc
75zmJ
\,W(
]1!R-
ZRPiK;!+h
6}rd
	Dnf
s6XRp
,m'}
!tY&
[Er,
H4h:H
KUZ%uY
epe.
k>md
6QUXJy,+kA
5AQ]
@$Q /
=UJ?yI
6Bv9
\?l!
e",'4#
v	t$
;sxL
>MW;Tkgi
Gu$j
C9,!\
W5Ys
*\ZR;
e<v?5
!`:|$ 
y>yNs
6)Bpg
Z(~5
3@mI9
s12:
,g*M
>0dR,
=Dehf
{068f
@W_J
jF.&we
umd/
Mt\Cr)r5
cJ[C
jF/`d
:q"Xe
0<Fy
~F@:
lk8[A
\?[,_
5gRl
:(AW"
28b^
x?'a
0goV`w
!\xU%
)!]xo
nfp<_
r5>D
kB\9
C$Rv-
jvs	
I6?t
Ssym\+
K?b[|
R0Z|
zO_R
&5>6z
4U9Cr
"I-%
#RJT*
T	oBoz
/lA-q
A.([
UJ5=w
% G'C,
V;dI
P(@d
iOfd
0zS-qG
(pio`
rr_V/e7
	W:q
n/`O
PU)F
C8K!	
9u6~tJ[x
\brrD
4MdNGd
rd/c
IfA1I0
5H!}e
=\Vr
"fm8RXI 
F6j{
Z0Fe/
]i'[+s
5&{~
tjz#
Meq*
{E*@`
95h>
~m4L
!Tb*
%MQy
"hk6
f/71M
&twBG
3'A^$?
Lg9V(
4heO
fI,!k
w55(
JZG2
t=y3
cv7!5
xw16T
$^\'
Ii(H
za^9
qPfG
Pk#+
ga@{x
>6#]
:	[$
agu-
xB_c
Tr/Me
hJX3
:rV`
HNA~
_[Sx
ZgLV
o\,SD
9`W,
*9o	v
cwkI
MgV2u9x
2{Wcnn
q#|v
S3kk
5{&g
G:Jd
o;	L
	49$+
'YZCx
hw2?
tSMQM
B&* 
u7AYu
jIvKh
Q*W0A
'-Bp
w,wG
0A-d
<ThH
F!ByDL
wb5-7
(~QYN	
PR?z
3=0l
4s<Z
C?{Sx
/8q^i
+D<uB
KKuy
9r5?}
T G;
^eVc
#|!;
r`vpRd3
%;?P20A
_L+L
0;q8&
.[\/
M,b:
zF=>
co	K
qFW<
Fk',
99#wIC
m:+?
4oix
hvcq
)k#y)
9lFWd%
gs7n54
Fpze
|L'%
Uo=}
f!sx
9.[$
<k]+o
"^Vt
^U7t4
	z@U"
:^hCvL
RAM\
&E#-
c+nX
w2]PR
Q\$87
gTMDK
(=t|s
~Nr,
>u#e
R{@5
gY~(Z
oTth
)5%x3
=HVD
sF@E{gy
I`{9
kHe~
JcoP
:r,k
YF-J
Qh$%
JQ^s
o4zS
cGvx9
{$yI
C#YYL
2~Q[u
CDF	
MKk)
BUJQBW
WoJe
Fk2 
,V_>W1
W~A".$p
IsI89
9[W4X
,?Jg
xDI&
NT6	
*e4*
bs(9
5B Fs
D^}U
-:oZ
qxbv
e5CN
Wp`Sw@
HeG.U
1{6vFM
@uBG
H.Cy)x
]HN7
PkRuv
EC@"
5^Et
5Z,&
j`0j
2Rbm
`+^p%
0Oz~
fIgw0"
Hv}s
b{}`
I?+H
-Gj-7
4*F_
^{9Z
)`?_~
ux"=
m, i
#0"dK
WQl3
x(LduF
W=2x
E7VW
4	"O
o`_.
yOKv
oX?p
lfu}
lu@*
P)81\
MsPk
)Hnj
_e}up|
rx*3
rQ*eD
{ggX
RC+U
LFk<
7>c#x
ebde4
OnCF%
]:In
bDfq
\R4f
gfzt
9u)"
SW!U
'.&=
,zg}
sjI	
eKz$
yA?1x#
j_~*
5 f$%5j
}_W)
EU;_
j;74
LcQm
D@un
~<#qI.S
\QW$
mqwW
I'!x
0M9(
ro$FC
EY!>d
f8#S
'B^g
k>*!
1;`w
0[r1Y
f#f	
9Le]
Yr.~Q
LTOq
	C-m\
6'dP
YzxCR
R8q3
N0Fx
vYT}
G?{&
r% e
xy,&
~`IL
5a[j
hrD-
RUZ]
,Tu&
^ /Y
*MRT
n+k?D5]v
pKY`R
(%n6
#C!`
Up,[
'P:Q
0|*3
4ok[V
A (*
e2[Q^
 t)$
?zFY/
"wGx
%<un
Phoon(M
9[`V"C
nwmNe
j9:V3r
bCAF-
Twx^
'L[d
sT;?
6d;<
I|6V
gCae2
GNg{
(^	q
D~0V
gn7n
3Q'nH
Ah[=
%	O 
G<8e
.\saH
QgGg
	Wj,3
iu+0
GI]H
bOB+s
9NJG
6j4`( 
r!;Gw
#z+m
B$6<6o:
0H{76=
oLI%
SNT#
+%>7
vno:'
@\A(
pxhh
v!|\[
&)"6
Z72~\
Gxrx
w[TK
e0TPI
4;LP
0?FO"
1[=$
j#6ow"<_
Tmqe
?`)]I4,
P;@kx
gQDt
2"_J
b=+7
	j$d
z(@/
]IfrZ
Y{L$
&W4T
z,xST
6gM_x
"#M^^
jHn&Xt
yd/L)
>cj3
mI/[2}
7rKd
Goog_
?Lh]
 	hK
[|C^
B6x<
RZg}>
'FVY
OJAQ
Tg$S
qkT6
wot:Q6D
tNHp4s5
t0c*
yL8S+
3M^L
IOn9
Q\Ga
f}:h47
hD**
sQdw
YAXGp
CjN~-
}\CE/
mt{4
VNC5
'00[
#!Q&
ap>?
A6&	
Dzon
DzD/
<R(*
*sKc
FFg<
A5>zy
-	d7
#8Mv
u/?1
O{W-C^%
)6yUtt$
/r]9
+pcN
j^v|
Mi`X
rfM$
lc~,
3.1'
	I$ol
?<-Z
,3tg
r"QO
x4-hh3
	qtt2
AUB0
ioSp
Wz76
oE#I
^y-<
7g+f
<X$//
gK@	
WC,u
q9/f
_)4\
oY%z
F=>3
G7NLU
Rz`S
6BX%
*WgQM
%`$o
P3"F
UhYeE~
}Dp;
h;|2
\5H&
~|;w
HSj~!{
rY];w
?eK3
'`v.
UGs:
l4.g\
-ZWi;
KK-H
15a7
)-INx
uI$D!
sS6L
*zu%
g	y16
	tI 
KE-TlJ
0ez@
'6TH
V9n[S
TVvM^
()$8
 s~&
Qx4Tz
}unt%
,?,j
j3-.
XjH%
SO.5
9*[$
t3~HN:
@ZV%$i
DGkN
60MW
<kQn
`h("
QcOE
!2st
p\z  
GUYp
~"VwK
9HeZ
1V!I
oYG{z
{*ux
j+}m
(=("B9
cWow
<:4I
T|5.
-Xbs#
"5%iL*
O$5x
O[3L
)o/*h
=K8I.FP
?hV7
t#j| H
{zH>@
kHhU
8ymnk}\z%Zk
L)c,m
Wt9%
GirU
F|.F!
Hh?`
!Cu#
d:n2
i]B/"
A{j}E
e%m8);?
8]9?
8jfSl
i9Bq
T.*Xkj>s
;7*O
E\se
$K{M
1P&.
H;Cl
jVe:
&EaN
K72w
5'Gv8_
/bq&
]#$)Yq
2pD}
''no
hZK]B
>Pxh
T4w'
%zvA
qGL~
g9C+
OnUf
Shb@
D5e(
|8y1
k`[\
J[1Xa\
;x|E
!=0y
LXv@
m3cBQ
RB{D^
xYz<
>7K^Kz
IH\uJ
UD!}:
2hu@a
+rV9
Dn!\
dOT/
CwK%F6#
VL\-Z
W?bk
0eB;
oC<i
W28e
Suhw
?-U%
(r4}#
?dee
-tQ7
>i!Lx
@m6A2
F9bc
"Y&s
@F1\c
d47	
%;,\
fi7P
M%Y5
s*~CM
gTmx
=B\WC
1hP+D
7;};
P}[,5!1
5DBqep
.{<1t#w
[P@'+
rU>7\
&m0z1	
Mr?g
VU7f
&nTo
viKM
)>~qw
.-'g?
w7C/U
Rtin
$2Dw`
\llb
pY/8
Kt1E
~JOh
JtCvF
nW9`
rLR"
o6;#
Ymg8
kNbl
nJyx(
<-PjL
iVf*
qv)p
F9@+<
hGa4#
ca 4
U9cN
'}tMWE
'aPK
}.-H
tIvHF
3]Rc-c
)7#'
oBSw/
>cqBJ
cN(/
!r56]
RV{'
/n(W
LTI|L
=]tj
N($V
RYTg
CTSE
hz*HQ-
c[>1
E[2-
=Q0g
]C #
|wq"
 #_h
u/i\
\/YB
s1pJ%
v+[.
yJE-Ih
Rb!RR
dh7(tC
h~XmGY
qXE-u
G83t
bt1C
euv 	
U	6t`
`zNi
v[E4%)
4V-I\
}k3bb
?jl/
<y j
?BptG
BE5A
i-;7h(cW"
tYVkB
I!qF
i{1&
 ,-H
m.F>
uJz,
5h^y
|={8
FF$F
Nv5liA
D#<V
6L?}
M`89
	a3\B
)~\	
;Jz6
WWO7
c89`
S)3l
+7T{V
QEV4
sYDh
18CP
?\YU
&s?C
+ipU
OUS/M
%r0T
1m<{M_
2X#b
HO0(
jM.[/L
9}6^OT
K5*w
?8*D-$
$J_O
OX:1
v^fT
^lbm
(7bp
d?zC
u;#'-pi
LCR/N
$CMb27
oX+H
G;S}
kp(b
_>#9
%3L+&=
9n+PJS
X/;`
$zqn
1q<{u
RKft
q%0A0t
Pm!1
F$tDh
C`S|
]	j?
*,CA
{@ c,
Vd{$L
KeO}
&DZJo
Jbl[
jx'Q
3)\^Z,	
C6DR
o$)@5
]E9&_
PKs,
P1p#
%.$T
 +Mz
kc:w
aDt{_
,!tc
Xj\m
WRc?n
.@pU
_=RZ
-fW?
i$<`
]Oe2
\##z
Q?;$
fTBW
PStC
NL>x
C0GP}
:Qx=
7fk+
kI6=
On{E
l~(7.
*>$i
B	Hh
xdF-
HzM5
"r$ 
OCD/
xYbf
vTb&
P0,)
bS]n
2!.0W
/,!}
ou4:
%TUv
_7jd%U$cJ
f6=!
5f>q
6iD[v/"yZ^
)5z.o
9FLZ
!x|2p
jgR-xw
7(oq
4VNG
%Tc(J
BT90
sEZmR
*fk6
S.x(
phVZ
5/.b
IUHi
Pgl 
qUdE
kZ%?
[[w~
0hs#-
Ox~sq'?
97{:
Wlp*
LdQc
'XE+
u_/l
oPWl
{zD!
UksE
SZsrC
X09f"lu
 Tty
RsQ3
)8S7
\]?a
&N(k
,rZ&L
y';-
W(OV
3arqyY
j' -
+%4q
[O`e
*}/TL
u#}Ia
vy`NF
VTi9
J lr}_
V~DpD6P%Wja
<Yv.d]y:
Q.qX
4w>b
U*o<
@kZe1
^L@E
<|kR
gSWL
C4ch)h
C@T@!gg
A9"?
desH\
!}At
Yvs;
 b@;
^!K	
M"_7>
1m.I
_$?6
F'TF
izdeG
,@*%
 oz7}y
TX%DkE
bnyM
l`\42
|vb+
QLfw
||P:
]Z>}
KNQL
_DFX
x(`?
lv5bK
|f.8
!C>6&
lD.a
0k%'
6}j7rY
;\dib
R'^|S
RNQ'N=
w]Ac
zSBq
J'N:
Mw$1
w@mq
		J/7T
f8@"U
5v#qK
5Q|uB"
{<)P
;[3*LH
<(~r
Ro?W
POLhf
gP+#M
#OOZ~
2e_t
noirv
Y)I36
K,1rP
\@rCZH
=Zl'
=EKr
'&{-
z'|l
Iez|
.Ea;
]>Ys[A
KtiYOK
jxPD
}}S 
^2&0
nw7k"A\
r	CT
v2{p
BE)LM
|!aC
bf6t
jF(|J
~dAl
xEqw
" ?eJ*(
1|Dou
0v2YCb
dP;M
8IZ_;/s
.(F8wO
6Ac&
&NxC
rlhw
3Ifz
<,dc
:e+p*
JFwv
IT:	Nu
	^@7!
<*'<V
=bfogU
D&CAN
=Wt]`5
4<0Q
N-R<5
.-Pef:|
:BO+
$B-D
E_>b
]o8o
?Y1B
t`{r
{)8CdeCL
{E6S
abvA
tD_H
Rx@Z
S)pBg
?$9J?L
\'Q>
M@nP
yxyp{
$ikAV
VKW1
k<LO
 n,N%cJ
-v{.
"?u{p+
ln",
5:xK=];
1St69 
)<V4D
s+U0h8cx:
*o|>
	,;#+
>'@3
??"i
3'l^3
m^)MK
,?Fe
(dL)h
S;JF
^p@72
vOZ=
Vi|An
,t"wV
ztp0
L~1%G)
?zvn
5o2r5
d)u&^
_	2 x
iH]c
i\[\
'?#s
y}fY
/WCa
3	1O
tE_<"
W5#iH
{g(_
}$qv
?~si
'T]7
SE=I\!
Y]6P8
wE?xC
mSET
!Zt6
};_G
czhF
m	D+y/
TK'W
ZQVq2kH	
geCKQ
8TBy
:lG91
57Xw
LyZt
~/s;
i<N5
3(S:
H~/]
X^Oau^
eH32
SyFE
#%6?
`u.H
]mNI
Tirk
@.rY=
a:Bb
jfWX'
X*S^
h0oy~f
*C)3
9V_C
Ua?xw
pghu
p[<{
TZ@$}
2=[V
XKC/F~:U
IHV	
%KsO8
BI;"
bZ>BcU9
EZo%
"kuW
gl1#?
8~9a
mywm
9|n<
^=u:y
%wm=Z
_`8Dt/
A+Rm
Dm+!
G_zv@
Z-,Ir
,g$>
1y%R
P8R\
l5^P
TW)0
Q'<	
qU9J
^f/&T
T{c|
2P)&l
cPit
j}{M
"4p^
m;PJ
z7u\B^v
(+L\
Ls3Z
7	N)
n?]wo
M7!;
3/4{p
G=L.
g]xfv
yKH]
'v~O_dU
q~EH
{vF;
	X[cn
ceH|
=Nc>e_
Fni;
|8`L
D71s_
(MC->q
Y: g
,)EV<
*r	1
X/PK
e5I0
Q;VM
m~G0{!-
||tI9a
\68DR
M!4#o
-kg:
V}`sT
q:Tl
Ie\7*
E){;
w_W/I
HmQC
tYxp
b+6m7
1en2B
3dku
@B^h
mqi)YAY-F
\	(`
<9u5
7SNb
bIEZ
i[y 
qK1V
Bqj\
CQ3R
]$\pK
P:6se
8JYg:
7>\\
6}&y+I51
oob!
c&,s{X)2
bqe4
 ~or
"gS]
$\IP
JlQU
Vgdb
6P}F
x-`C
p5/nCN:WW)\
"CRT>_
Tn5"
k57^3&,
f(R=
=rI|V
grM}
2[ndg
+LTv
O}n	
r]nR
2MX:+
`"Mei
e/5,yCBa
>!b'
Uo3(P
 "Ejf
um`y
02cc6]G
"dQ9
0`Ii?
)"o0c
B`ms
vG!42
B*la
"43=d
r3dI
B%aR
F.T^
~L*7^R
e))$O
|/GQ
-xh_
7)g[
"Ux<^Y
 IeR
i_gi-
>n\pVV
(]<~p
j:Mo
5t|f
n?]K)
lIC	
K'Z:
<y%[
k;{|Yi
H5S/
kc1Z
8\iS>P6L
22Bx
tGZI
ixZg`
ds?T:O
xu94
(>@(
/hZmbP
{^fD
z;Dn
	T@_
O95%
YT r
wSu0
 nlB
_:|:n
eb`>
!bDw
::ziK
o)*E
\wbZ
D?Qi
NGa'
vs]6m
h^$ 
3L@p
h8{4,+
091_
>*"c
V7i,
j-p-
URtN
hK#P$
?ZN&
;ipj
@1LW
q@oOX
&0L\
Ef^Xw
G^	'
c\$ll
kM`}
E9zb=
>{=~\
P}4U
9X'>Zn
>-+%=
&{D"
"YtG
&c8&
_aKd
8*@h
6,YY
=@'Gw/
?z"N
zi4J
l'OD?p::<@#$
ynLhE=Th
1ejG
n,$h
VoUO
i)M#$y
@]w5jbJ
CH#l
KtiZ"
N>IM
&80S
#nVB
x[%$
8.U@
k.Mq
]4e&
PN'+5
L}BU
nn}F
n0aR-
_Jm=
)o2L<
oeak
j+!\
]1l^u:
X*2p
FAJj
*MIQ
_'UQ
V<F~
gt`G
GZ)X
hkCY
^ZF	
>g K
i	4H
M[fP%
xF]>.
wy JW
<(J8w
}@+>Q
[email protected]
?|a$vr
P+:Yg
H-o:
'6N0%ii
y2gy
oqbT
<S\zJ+
DDk{
H](Y
,ej&
8'TZ
c%\p
+wBZ
8VY$
9`Qk
)^%$
OJE/?>
gplT
<oR;
!A9R
(4N.d
ms<%&s)
|E,>
<yH	G@}p
g@U'
*]\O
xJ'G
(J#*
c:GC
J9LC
	%AC
nJXh
(^ O
m79SH
*nhs
J#VhFz
>8#%&r{
	S<Q
2(ai
Z(J.
EcZf
mcGM!
W`RL
u#6b,:
<<Qqn*
,!03$
'AT|
vMBy^
WHm5
)Te7M
F97\
$xNxc
{S\<7_
9l)L
mwWnO
pX;0
_{l_
8uo#
^ h+
Ih:[U#
RtcKo
ATX'
i6:@
8^_v!K
S9ZU
dv%O
;"5@	>
GepZZf
7/3p
m>1O?
X2P@\
##m9
evsK1
dk!G
Pdc3_
Z,KnC
T;w#
J36(
1Li|
1QF4I
F|c'
D/	Y;
L^hq/w
g</ 
e2r[_
+f>$[
eEO_K0
(IgO8	{#
Keo;
NwX>
"9`^'0nv-
B= d 
Sd`[
.le*^u
hrtX
KtEa
GBFd
tqwd
CrCXL
3xY-e
+)<W	x
2B7ZM
POHq
8nN6
y.=U
53ob
*CVv7\7
FE4V
pDhC
5De+"
'A_@
yK[I
0CDL
	h:a
hx%i
rJiN1
I{B4'
(R@}h
u8yD
KTFbG,`
cBGt1
6aqmD5
mZOa-
HK]e
iO<<	!
)I0F
`'n[
D'd\
ts12;,
aVCg0
)dr0
[y]k
i`,B"I 
ChvU
cA)u'
Hd\iC
3*~T7
-rRkyGji"!.,$n\
jRfpOv
.J3p
V#,z
,^9s
K qW
D'PQ
6i5]a
zTn"
Dfr:
XvREzy
SY$_
iCL?
cBFY
s:(~
_ux7
>{v@.?g
j]Vq
(<0]
Qy@8
Mf*I
U{O	
jCV7*
.>bl
J*D+Gk
3 7d~
{'$/u
6<cM
mU'>
^niuU
O~_0.
PE+s>
f0W 
VqxrO
)?p	
/ YA/w
rwT-
@FhF
~a(Xa
^g+Y^
	13.
IVeKj
ez?)
BSR}
>F2e
7\;f
Gz0{
03LZI
fd'(0t
'9?6F
4OG]
Zd)%
:~287
D]|rL1
{KJ,
/fI.
,!?K
qa|,
W:,n
z*`W!
.7s!u*P
YXtWD>
Q~xq
*uZ9F
/Egj
&M+H|,
gMHHd
Q3TU
u~*#L
S_Pr
8Ln(
Hvf:r
mk O
jzl87KI(
Cc,A
7<*l
X$D@Wo
5AOW
HHS`
,UJ0
l,2o
3mPd
Xb\Q"
,-)*
\`@@
JFw1
 <1p
RRjF
O1'b
mbJw
FQB')6y
H2"?1
oI}.D
UG`c	
e(N"
\c#+
e+W=
^	7M
[7&:y
$yW>
8fD:
bFKW]
{;x?
#u(%
;O#]
ym,[+
Wo#]h
U^Oi>
[[ E
5e`^
>y*g
VY6#
}H4|t
bv:MC
qn|=
=yt@
~<~y
Vek?W@
Dt.z<
nY71w;
v}tn
F`2W
Fr-]
+Z@4mL
]?]1
GiBP
 >V"
.XMH
5Y4s
\cY'
(I"_
8p^2g
|.*4'
eC {y
-#>G-
(\sA
&~[+ 
s\8v
3" [p
1Ilq
-fKf
q@=`_~/
X]t{~t
tTV6b
IJ8!
	=xJ
Qq?F
U?N)Qy'I6
|$ipp
E*V}
c949N
D\[/
FYH+
u;E|
QdfAh_
~.'	
?C[=
kaCP
/Ub~/V
k@lL
Ane'B
!g%=
!(K[q
JGaT=
<7Ev3DP
 MHZ
sx[=
Xb^z
aOrJ
'r7o0
;{OR
5<?$
43T(
"Gq_
bbPZT
g[Q6
	xo5
EWi#
)6e!
Qfyt
UoQQ
miGe
vYLT
1HI3
lPb"
%XQ'
Q$X%`E
IlU'A
=./p
yE=7
r+Bm
D^)l
k}@y
G$bj~
5F y
	3_Zi
c[jo(
{9}N:F
Qg]UXj|
R&KKuZ
1CTA
Rrcp
>_\+
YbiAu:<>^
:cn]Es
!{` Zxw!
BP*m
Kq	;
POf#[
$D'8ed
C'>Jq
O@C[GY
oB'\
|usn
[fBtQ}
Cj(zE
RMRS"
LqY3
zf+n
fqI:
7@iU
r?3%;
hBV=
];(_5
yU4h]~
l> L
y]9B
Lyy)
rj!%
v384
zulGBR
A<tT
nH4%
ea?9
_?F0
>Tqb
S("5
^Y}=
G/y7U
\Q?j
>g/x&VW
QNOAy
0kJY{
L%{v:
RTDB
z:.0
1[WC
w,5CU
a!XJ:
h{j 
}E({V
{NMr
nX(3
{x/+
ja*3
lj,`)
|C8i8
A<cHZ
W7{wP=
\peS
`?-H
	0J'
>|i>
>4S_
W*Zk3
18Bo
Maa-
V!\fl
8P	&
8_og
L@Nv
By	'N
	F*sy
'<68
0/(^{
c /,M
)t6[
K//3
Y?%@
hjf!C
ycTr
*)6D';
`=r}
+	v)
J8LK
K8/"
KDR<%
9RLk_l
Ys{K
uWNcNC@C
Bh;6Q
]nkneV9
\iG(
]*Ie
BU%uE
Vh(z>
|*i{
GJ3z
08Eq
vllD
`exN
V!cjB\
 js]
M&H.
QmQn
Hy[;*
NOt_
=Qd1
Rs!C
c~}[S!
qWn'
S61pa
bBa0
V|-\
4A>w
/D@T
7j~H
v4[!
$x/f
V6a+
cG6O
B$^)
PX,y
dw"q
T^>~i
SK	a
Cgu+/R
]&^X
QL8}G
%l,e
 P]A
Rh|1
0MfUd
2Cjp
2Fd%
kNzO*V
H)8~W
dyX5
|Lex.
$~>UC
Ih6C
uzk;ma3
TfBx
=?9n~
/nB_
Z\OQ
Nqcm@
ge#K&
Dpe~~
1@c<	
Ce<~
jX96
1od$@X
L#.9
$odP1
vimE
nP/A
>[~M
1b(]
Tj1jz
3$LK
%BHW
Zf5	
zI!j
qs~T
^A8H
6kv+;J
OKuI
AtMJ
1,7/%`
WN#61
?*7jQf
Z+sS5
fzk;L
2}^x
e}s]s
/G.JD
^RC<
P%QbP
0fL>9>
F= V
P=0q
 u/N
qM#z
v?nQ
ua: 
@:!V
[@: w:
uzz%
lFBA
m8+WZ
Y.5>
,!jp
`>\$
kS|\
b *JF
]=Hg
O55B
x*+c
A4<{(
4VTOrX	
ru6J
JTb0M\
2_MK4
#x%x
Xs@Q
7/P,6
40\\
L'+5
{X>6A
nst=>1
YX(=
J?Pi 
Y(WfZ
Sprs
9"TB
1Wk2
E6 jg
BwvUB	z
S{{A98.
%CD!
l]C2CFA 
~Hz)
J&@M
Un+.1sL
RmV3=
['	7h
[c9-
vTi$!&
Af!R
@P632
-6w'
k<q.>
`y%bK
5\&}
+LM{
zt)Uia
ZF;yb
W,M<
8&^tf
Fx7V
o/!`
fv(U
+{>A<o7
@N3H~
;ud7
\GiM
k(XcX
j_^,7%
~Tx+@a
2dn>`>v
6O{m
5D(5W
o<.13W
<;i/
5\r"
#h}=
v9	!
1VA2
w7vM
HP+S
x@iI/
H	/U
n$!By
35W<
h:44
2-V1^
_,nI
N(Q,O,
VRm>
u-b%
yyCfH
'kO 8
"AY0
`lnCg|(
eMGY
]10-k$
F)x>
_<]&S
)KmJp
|8%,
|gO*
"~uq
7?s}
*>,}
$3<_p4k?
GRC"w
GeG"Q
lQ[-4B
fv [
P$XD
U6{An_^_G
}(q 
?OyG
2lk[
Yieh6
sOg6
>:e{
_-dl
M%lm
Gw+N!95
f1;(
SNGB
>VH^
:^2yen
^Jual
ND0l9
`19S
O,M)y
Jo<n
!]?yI
%Cio
o_&4s
Nw)d
h27/B
sllka
KTg3o
q>4\
n@cv
79j5
	_En.8
pYaX
~WTp
gjpi3
NE{Q
;Nme
yz,0
J6]@
Px*U
q|245
oTj9
zyAJ
:Hrv
-hA6";}
_M=J
&k|_
12ESx
Ek5/Na
)]RUf8
C#uM|
o39|
%5}-
[6qLqI
(3my
nPVXgK
w`FQ
:O%*ZA
U3m@
( K_ns
u)1zBa
fniI
k6mAP
fvG9
=RRS
w$U;
83vW
>kP=~T
tuGJ<
bDPE
`oTD
W}MM
~a[u
v^cp
}n7in
<d6c
|0E3D
RG!p
tKM)o
izwei[
[OFIK
@	ww
8,"|.
IXT`
7PWi,)
`PIi
,&;~O
xliG
8zOp+
X]Y,
A:5R
iBr*hx\&
Qplq
6#4]G
#v%(
/Z9l+
=tx*s
C#D~
N*svB
K(]6I
2evf
<	!3
~Sd*
H\%P
2$kZ-x
D~$;
9.<9
Xg@~".
Z6b0
@6JO
j,I*F
XYgr
u2HsN
RcXG
<~68
C&%O)
YtZ,-:)=e
zcP7
' WcPL,V
m^8`
CR%i
2_w"
v$>4
c <85
5=}\
y	i=
IV&	
4i=1z
&Aa@
>ImQ
x[]N
8`}:
eZOw
Usg o
/VyS8
jV	U
{pLh
?pF|w
?_fVY
 >z{
#W'?
7Om+
$#(o'
D8c=
~sez
0Vvl
69RI1u
YRbI
Ho)m5G
{r"pl
Qc]h
c9t2#y
O1dp
j96r
!d*Y
`c2H
q8]X/}R
AI8c
m~ZW
[$y} 
K># 
[pJ~9
7>:/
a.ul
dj8h
$xf|&
WdqZD
MiSz
+^*2
~nra|7
Y=  #
n[+5&
mdP%
*h=cs!f
__j}c+t
Tpne
Pah7
^B(M
/6mI
HXs-
$V<:
.nF&
	wEH
 l$4
%)$A
cmz@['e
"9H?	
!~@N
QvdU
^8nrc
81TT\
;6*|y
(>Wr
4;K"
@SgYj
GCD6
t})}&MZ
C; pU=k
qBjC
8[5tjW
u6s]
v68K
hFV'V
h8/Bi
(VL~
8I}c
]{OA
2ns*
zB^l
!292
}<f2q
HaE'
Aa|1!
Vz`d
G\0.
CCH%Q
@`9c
c3"NPH
%Or{4!
XIAY
	x[f
i$,B
{X{#
xaD^h
.zQT	Z
,hB=
O*@;He
A^YJ4
,oL2
W1t>_W
6[Zs
z/1R
SE0o
vkcI
9i%'
Y9`l
8c?^
.WP4
`vR+/
7i"*
V%]4
K(;G
H8Ln:
;d|0
lQ_?
N>hi
Y4-|
>V%Z
S,jD
~PQKtM
vAPiG
c9SI
loP.
Qdn@1e
f}mB
b7n1x
*L.sK7
tj>k
"fJv
|yP=
cyj;
_FHz
A<dk
T/+0,c
zrj9
xgGZ
6|T;
;Y(h*
/zTB|
*6Q13
Td`?A
0j\f
J:\D
vsX	
pHuu
net[B)
m7}FY
]k%1PN,
AbuE
\x:N
5>_^8
ySCEB
I+p$
@0|V.
1yU>
uUKp
>qSb
J.XR
*)i>a
_ v[
"9L<
G=*!
'WsZ!
KsPo
(b'G[
s"@#X
$L0a
)=/};
x.)iY
%Kqk
MOrt
I(c3N
kj>i
YZa`~
y}NY
Y{rH
3uK P
--aE
5;V`
F^iE
5|aa
J2(M
y~}C
Si]5
TnhAS!
Bmd:
;J-P4
	r-8C
4tkr
#JDR
(HX`v
3M"K_
2_%9
u] c
iX]l`
DLc)U6
MZR~7
DHZ:X
;\N~
B&#> 
Gf4W
S4<@
{wqH7MRw
RnLP*
[zqZZ'
Z`rE!
 	{3
I*4X"
w[$o
bCw>
<0=h
98.{
?|y[
Ud@;
|c;`
(~`q
#B`U
wpCF~
;80c
U1IK
}7voOu
0u&l
~4z;
#S_=M	
'w\`<
aqog
),)p
W~ro
(~u@
D!E(z
~jkA@
pnk(7}
~U`8
0vG,q
x@J}
)Aoq*]
a)y6^8\
AnwqT$&K
+Cm'
3Vz&=,<
 "CZ
Y'$""c
#//o
vsVj
.3("X
E5M!,
 'SFQ
Lp	05
-LO1
A g{
Wy4k'
WJar
^Hdv
PpYt
?SFc%<f
vP@s
X0PG
n2bJJ 
+oaK
J_}>qr
3dT(
>$E\
g"tE
#apf
Q_'8w
i%N%
iT^9
83Pr
;m8o
%$)Y
Si<,
d-fw
'WoR
!zf~zE[e
.><tK
Fw)I
@QvxM&
9,f?i-
o[+:OD[
xFL6H
1#7Jh7c
0c5P4
Lq-h+
\.x0
{nAZ
C%J(%
:;b,
D_dK(
/lLw
kWlPC
WbJrP
,ZCK
#0WSDn
_}Qt
PJXt
YFq5
7z.]+v~|!
n&q1`
O`?EAS*
o-tE}*q
+#!'
z,a>
gXf 
6?s8`
H6T]
&\MW/
 a=a_~
"tDKW
0Se>X$=
;/nv
w<`E
T`~b
"PQz
ZYU9%0KWB:p
}.*9
JR&{
2O,\


2.Boxeebox bootloader which has CE4110 chipset. source : http://www.boxeeboxwiki.org/bootloader

Code: Select all

GOOD
Genu
ineI
ntel
Verify stage2 FAIL
Verify stage2 PASS
,:Intel Lincroft SCH Microcode Version 000.064d:00000000:Apr 28 2009
:10:46:28
;ASTEP=def;
LGI_POWER_OVER_RIDE=def;
ENABLE_DDR_RCOMP=def;
USE_DRAM_RDY=def;
CSTATE_TIMINGS=undef;
DPSLP_INVERSION=undef;
LAB_DEBUG_MESSAGES=undef;
ENABLE_DDR_RCOMP=def;
CSTATE_TIMINGS=undef;
CLK_RATIO_12_TO_1=undef;
CEFDK - Production Release %s
  core                      : %s
  cs_gen4                   : %s
  MemType                   : DDR2 
  MemType                   : DDR3 
  MemSpeed                  : 800
  MemSpeed                  : 1066
  MemSpeed                  : 1333
  MemSpeed                  : 1600
  MemSpeed                  : Unknown
  Channels Enabled          : 
  Channel Mode              : 
Hit a key to start the shell...
Attempting to boot Linux from NAND ...
DENALI_FTL_Page_Read FAIL at 0x%X.
Kernel not found at 0x%X block in NAND.
-----fail read block=%d addr=0x%x
console=ttyS0,115200 root=/dev/ram0 rw mem=exactmap memmap=1M\$0 memmap=639M@1M
console=ttyS0,115200 ramdisk_size=153600 root=/dev/ram0 rw mem=exactmap memmap=1M\$0 memmap=639M@1M
CE4100 Stepping: 
Unknown revision
Board:  GoldenBeach: 
Board:  ChesapeakeBay 
Board:  FalconFalls 
Board:  PowerHouseLake 
Version Information - 
Memory configuration - 
Linear
Interleave Mode 1
Interleave Mode 2
All A/V devices use IRQ 4.
*** Recovery ***
*** RMA ***
--- Normal ---
*** Normal ***
Can't PP Block #%d
PP Checksum fail %x %x
 === Upgrade(%d) ===
FTL Lite read MAC data fail.
FTL Lite initialized failed
Use Recovery Now ...
Load Kernel done.
Load Initrd done.
Use RMA Now ...
fail read block=%d addr=0x%x
Shell exit
Please restart the board
CE4100 4.020-DSM380 v1.8.0
0606
0606
0606
bad reg address
bad dev address
success
not initialized
bad op type
tx empty timeout
rx full timeout
unknown error %d
!!! I2C WR: *%08x=%08x
!!! *retData=0x%x
I2CWaitRxFull
I2CWaitTxEmpty
!!! IN %s: stop=%d ISR=0x%08x mask=%08x rwm=%08x
!!! EXIT(%d) %s: count=%d ISR=0x%08x mask=%08x rwm=%08x
!!! EXIT(%d) %s: count=%d ISR=0x%08x mask=%08x rwm=%08x toTick=%08x%08x roll=%08x%08x procTicks=%08x%08x
!!! IN %s: stop=%d op=%d ISR=0x%08x mask=%08x rwm=%08x
Usage:
i2c 0|1|2 <I2C dev 7bit addr> [<PCI bus> <dev> <fun>]
i2c r[ead] [<bytes> [<dest addr>]] | w[rite] <byte value> [<val2> <val3> ...]]
i2c w 0x4 1 0 0 0xff 0 0 0 0 0 0 0 0
i2c r
Error: First do: %s <bus> <dev addr>
Bad arg.
Usage: i2c r[ead] [<bytes> [<buffer addr>]]
Bad arg.
Usage: i2c w[rite] <byte value> [<val2> <val3> ...]
I2C buses read and write (SV ver).
i2c d[ebug]
 [<debug msg level: 0|1|2>]
Example:
i2c 2 0x44
STATUS:
I2C Bus: %s
%d (0x%x)
I2C Dev: %s
PCI: 0x%x.%x.%x
Bad byte count %d need >0
0x%02x%s
I2C error: %s (%d)
Read %d bytes
I2C DEBUG @ %d
BAR%d:    %08X
ICR_%d        %08X
ISR_%d        %08X
(ISAR_%d        %08X)
IDBR_%d        %08X
(ICCR_%d        %08X)
IBMR_%d        %08X
IWCR_%d        %08X
ISMSCR_%d    %08X
ISMLCR_%d    %08X
IFMSCR_%d    %08X
IFMLCR_%d    %08X
IDDS_RATE_LB%d    %08X
IDDS_RATE_UB%d    %08X
Unknown arg.
writeCount = 0x%X
Done
Erasing block at 0x%x
Data = 0x%08X
Rounding up copy size to an erase boundary.. Copy Size = 0x%x
Burning the flash using the write buffer
bootkernel
Usage: bootkernel.
root=/dev/ram
Boot Linux kernel from NAND flash block %d...
DENALI_FTL_Page_Read FAIL at 0x%X.
Error booting Linux: Invalid or missing kernel at block 0x%X.
Error booting Linux: Invalid or missing initrd.
Boot Linux kernel from NAND flash.
console=ttyS0,115200 root=/dev/ram0 mem=exactmap memmap=255M@1M
Usage:
address of src buffer
size of src buffer
MD5 sum: 
%02x
  md5 <src> <size>  -Calculate MD5.
Calculate a MD5 sum for an input data string.
Invalid or missing initrd.
mem=
Error: No room in IRQ table to add entry for device %02x:%02x:%02x
pciIsBridge(bus, dev, func)
pci_alloc.c
Assert failed at %s:%d (%s)
Error: Link %d for PCI device %X:%X:%X exceeds maximum (%d)
Intel(R) Consumer Electronics Firmware Development Kit (Intel(R) CEFDK)
Copyright (C) 1999-2010 Intel Corporation. All rights reserved.
Build Time (%s).
07/09/10 16:18:43
{%x}
exit
help
%10s - %s
reset
shell> 
Error: Missing ".
Error: Invalid command.
Displays this screen.
Stops the shell.
Error: Unable to open redirection file: '%s'.
Invalid %s: '%s'
Last edited by nikescar on Fri Mar 09, 2012 4:25 am, edited 1 time in total.
Post Reply