Caromel · Henrio A Theory of Distributed Objects
Denis Caromel · Ludovic Henrio
A Theory of Distributed Objects Asynchrony – Mobility – Groups – Components Preface by Luca Cardelli
With 114 Figures and 48 Tables
123
Denis Caromel University of Nice Sophia Antipolis I3S CNRS – INRIA Institut universitaire de France 2004 Rt. des Lucioles, BP 93 06902 Sophia Antipolis Cedex, France e-mail:
[email protected]
Ludovic Henrio University of Westminster Harrow School of Computer Science Watford Rd, Northwick Park Harrow HA1 3TP, UK e-mail:
[email protected]
Library of Congress Control Number: 2005923024 Library of Congress Control Number: 2005923024
ISBN-10 3-540-20866-6 Springer Berlin Heidelberg New York ISBN-13 978-3-540-20866-2 Springer Berlin Heidelberg New York ISBN-10 3-540-20866-6 Springer Berlin Heidelberg New York ISBN-13 Springer Berlin Heidelberg Yorkor part of the material This work 978-3-540-20866-2 is subject to copyright. All rights are reserved, whether New the whole is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadThis work is subject toon copyright. areother reserved, whether the in whole part of the material casting, reproduction microfilmAllorrights in any way, and storage dataor banks. Duplication of is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadthis publication or parts thereof is permitted only under the provisions of the German Copyright Law casting, reproduction microfilm in anyand other way, and for storage in data banks. of of September 9, 1965, on in its current or version, permission use must always be Duplication obtained from this publication or parts thereof permitted only under the provisions of the German Copyright Law Springer. Violations are liable forisprosecution under the German Copyright Law. of September 9, 1965, in its current version, and permission for use must always be obtained from Springer is a part of are Springer Media Springer. Violations liable Science+Business for prosecution under the German Copyright Law. springeronline.com Springer is a part of Springer Science+Business Media © Springer-Verlag Berlin Heidelberg 2005 springeronline.com Printed in Germany © Springer-Verlag Berlin Heidelberg 2005 The usein ofGermany general descriptive names, registered names, trademarks, etc. in this publication does not Printed imply, even in the absence of a specific statement, that such names are exempt from the relevant proThe uselaws of general descriptive names, registered etc. in this publication does not tective and regulations and therefore free fornames, generaltrademarks, use. imply, even in the absence of a specific statement, that such names are exempt from the relevant proTypesetlaws by the usingand a Springer TEfree X macro package tective andauthors regulations therefore for general use. Production: LE-TEX Jelonek, Schmidt & Vöckler GbR, Leipzig Typeset by theKünkelLopka, authors using Heidelberg a Springer TEX macro package Cover design: Production: LE-TEX Jelonek, Schmidt & Vöckler GbR, Leipzig Printeddesign: on acid-free paper Heidelberg 45/3142/YL - 5 4 3 2 1 0 Cover KünkelLopka, Printed on acid-free paper
45/3142/YL - 5 4 3 2 1 0
P
U
#
U
!
!
!
!
+
+
#
Y
F
!
+
#
Y
%
+
!
#
6
G
%
A
#
A
#
M
G
!
!
M
F
M
M
6
!
O
!
O
O
#
!
6
%
q
+
#
A
#
5
+
A
O
F
A
M
O
O
O
O
s
O
#
G
+
y
M
F
#
O
O
A
z
%
%
!
Y
#
k
o
+
?
M
n
#
<
!
<
#
A
#
8
A
+
!
M
9
j
8
!
i
%
#
#
u
A
#
!
+
6
#
A
%
#
+
A
%
+
A
%
%
#
g
\
+
M
M
M
6
A
Y
#
#
g
M
%
+
6
6
A
6
g
G
#
M
M
+
Y
A
A
A
#
M
+
A
M
%
F
A
#
F
6
6
6
A
5
!
#
#
!
M
+
+
\
F
#
A
#
+
!
+
!
+
+
%
A
F
F
Y
!
%
A
0
g
!
6
+
%
6
A
M
M
%
!
G
A
M
#
F
G
F
A
.
!
#
!
Y
F
G
M
Y
+
#
Y
A
!
+
+
+
A
F
G
#
G
+
G
M
#
\
+
#
+
A
A
M
!
A
A
M
%
!
Y
M
!
+
!
#
A
M
6
!
#
v
%
Y
!
!
#
F
P
A
!
#
M
F
!
!
F
M
A
c
+
+
%
F
F
F
!
#
A
!
!
A
A
%
U
+
F
!
A
G
A
+
+
F
F
Y
A
U
A
!
U
.
!
%
9
Y
+
8
+
<
#
<
A
v
%
O
#
A
O
"
*
,
.
"
$
%
5
*
%
2
6
'
"
8
4
6
"
6
;
0
A
.
!
!
"
D
$
@
"
'
)
!
)
>
.
!
)
$
!
A
)
,
.
.
.
0
1
.
)
.
'
>
6
>
!
)
)
I
1
!
;
)
$
!
)
,
.
>
.
0
@
)
=
0
A
.
0
!
!
!
K
$
)
1
!
D
R
T
K
)
A
)
!
"
!
K
1
!
>
>
!
K
@
1
'
1
K
'
@
!
>
A
.
I
1
)
!
I
;
D
I
@
$
1
.
0
!
=
K
.
1
!
"
@
A
!
'
K
)
1
I
!
"
)
$
.
!
)
)
,
1
.
R
]
)
.
.
A
.
I
1
)
!
!
0
.
1
!
>
>
0
1
!
.
.
.
K
K
R
@
_
.
>
!
!
A
)
.
0
.
0
)
K
)
@
!
=
d
1
'
!
)
!
A
)
>
>
A
>
!
K
"
!
)
.
)
=
0
@
)
!
A
)
>
>
A
R
6
.
>
!
K
;
!
=
d
1
.
>
,
.
I
1
)
!
!
0
.
@
>
!
)
.
0
K
!
.
1
!
"
!
.
)
!
l
!
0
.
.
)
!
)
=
d
1
.
;
R
m
K
I
1
!
1
0
)
)
!
K
I
1
>
)
I
)
I
!
I
0
K
!
@
$
"
!
)
)
.
0
K
.
!
=
1
!
>
K
K
I
1
!
>
0
@
$
'
=
I
'
1
.
.
I
R
T
.
1
.
!
"
.
o
.
q
.
r
"
0
0
K
I
1
>
!
K
=
)
!
.
=
!
@
)
$
.
1
K
K
@
0
@
=
0
K
!
)
K
I
1
!
1
.
"
!
)
>
K
'
@
0
)
)
K
A
0
A
.
;
@
)
!
0
.
.
)
=
0
!
=
d
1
1
K
1
0
K
=
.
A
R
]
!
$
)
;
.
.
u )
"
.
!
)
>
>
K
_
K
I
!
)
A
.
$
0
K
!
"
)
0
)
.
;
"
0
0
)
.
.
)
=
0
)
!
!
0
.
1
!
>
0
!
=
A
;
!
0
)
K
$
!
)
I
!
.
"
1
.
K
)
.
0
1
.
;
=
I
R
)
x
!
)
!
A
D
)
>
>
>
K
;
A
>
.
!
)
$
1
1
!
!
.
.
I
1
>
0
1
!
>
.
;
$
!
.
0
"
)
!
!
0
.
D
1
)
0
0
.
0
K
1
!
>
=
!
!
)
K
D
K
!
.
0
!
)
.
I
!
0
'
'
@
!
)
!
0
1
.
)
@
!
K
!
@
@
0
@
d
R
.
@
1
!
"
1
=
K
@
1
!
1
0
)
)
D
1
0
!
R
@
{
.
>
K
.
.
l
0
K
)
@
=
I
'
1
.
.
I
!
A
)
>
=
1
!
>
.
A
K
I
1
!
1
0
)
)
0
)
$
'
@
D
1
0
!
;
I
.
0
1
1
!
1
0
)
)
1
I
!
.
!
K
$
I
.
>
K
I
@
>
0
K
K
!
0
1
!
>
.
)
!
@
.
.
=
K
R
m
!
"
>
>
!
!
A
)
;
=
I
!
"
!
)
>
K
q
!
!
"
0
1
1
)
@
.
1
K
1
!
)
=
0
!
.
!
"
@
1
!
!
A
)
>
>
A
>
!
K
;
.
@
!
"
!
)
)
>
.
1
K
0
!
1
!
0
1
!
"
)
!
A
)
>
.
R
@
u _
.
>
!
!
A
)
)
.
.
.
)
@
>
K
.
0
>
=
K
!
=
K
>
.
=
K
!
A
.
"
0
'
@
A
=
K
!
1
,
.
$
)
A
1
!
)
)
1
.
)
=
0
)
!
A
)
>
.
R
6
1
!
.
'
@
u
0
.
.
A
1
.
"
!
)
$
)
;
@
A
)
K
q
A
.
!
>
!
"
)
1
l
0
.
;
)
!
K
)
K
I
)
!
"
"
!
)
>
K
q
A
@
=
.
.
)
!
!
@
0
A
.
!
K
"
!
0
.
.
!
"
)
;
1
!
>
A
0
$
@
$
1
'
@
!
"
!
)
"
0
)
)
.
0
I
R
_
1
l
0
.
@
.
0
)
K
.
!
)
I
)
@
1
1
K
!
K
R
@
>
=
)
A
;
0
1
'
)
'
K
K
%
.
"
.
1
3
"
1
3
6
$
%
%
'
(
*
*
*
8
+
'
6
3
6
.
<
'
>
6
@
%
6
@
A
C
1
'
3
'
.
1
6
1
$
.
H
3
'
6
8
(
+
J
.
%
.
>
$
'
1
>
3
K
1
$
K
'
1
>
8
8
8
8
(
*
8
+
3
*
1
J
U
%
R
6
'
'
T
6
X
W
Z
[
<
;
[
[
[
.
c
^
*
B
[
%
'
6
c
*
C
*
1
=
3
'
6
3
'
%
*
%
3
=
$
$
"
%
)
f
$
*
'
$
*
*
%
'
$
%
]
6
$
'
'
6
$
K
]
$
$
%
%
%
U
3
$
%
$
a
/
b
;
b
;
;
>
_
$
*
'
'
'
_
/
/
[
K
%
$
-
5
*
*
3
-
^
H
*
-
3
*
`
3
%
5
$
$
*
'
$
*
-
$
^
)
]
"
]
`
B
A
'
3
K
$
3
3
$
$
%
*
3
*
%
*
3
*
%
$
$
%
C
6
5
C
-
6
$
*
B
$
'
$
B
%
'
]
%
'
-
"
$
$
'
`
5
^
/
$
;
^
]
)
C
[
B
Z
U
[
(
.
,
.
2
!
,
!
6
2
#
!
.
8
8
'
.
6
4
%
2
(
(
;
<
=
?
(
2
@
2
.
!
B
.
, !
D
F
2
.
, G
.
.
H
'
;
,
B
@
?
2
2
.
J
.
2
.
8
%
,
8
8
.
(
W
,
!
.
.
.
2
6
.
4
%
2
8
V
?
4
(
(
(
Y ,
6
.
4
, !
4
.
.
4
O
J
6
?
,
!
!
B
.
@
<
R
.
#
H
.
2
!
2
.
(
"
$
&
(
+
-
(
(
(
+
"
#
H
.
!
2
!
!
!
2
!
!
!
2
.
(
(
Y
2
!
?
,
4
.
1
F
=
!
!
.
8
.
2
!
2
.
!
;
"
3
5
"
(
"
(
+
(
"
"
(
"
$
2
.
2
;
^
.
G
9
!
<
(
*
!
2
`
2
&
"
!
O
1
8
(
.
2
!
2
!
2
`
.
!
$
!
=
O
b
F
1
:
=
.
H
(
&
#
+
&
(
(
(
(
2
>
2
b
.
D
!
H
2
R
?
=
F
!
=
4
W
b
2
2
`
?
.
!
G
D
#
2
%
!
!
=
!
B
<
?
.
!
'
;
(
(
<
.
%
<
.
!
`
!
#
#
#
%
%
&
$
(
%
$
+
(
&
(
,
(
#
#
(
&
)
-
%
%
-
$
2
$
+
&
7
.
)
4
&
(
(
#
+
#
#
/
(
(
&
:
;
<
#
#
/
?
-
)
)
$
,
-
@
E
2
#
A
4
&
<
(
(
C
H
#
(
6
&
(
7
#
?
?
L K
(
C
K (
7
@
;
J
/
D
?
)
-
$
O
Q
(
&
H
&
#
-
$
(
(
#
-
-
-
$
$
(
$
-
&
K #
U
#
(
(
&
O
K
Q
(
(
&
(
(
#
&
H
K D
7
#
[
=
$
_
(
6
]
7
(
&
#
&
,
@
A
-
_
_
C
;
-
J
)
=
c
]
7
^
#
(
=
,
_
7
#
/
D
-
(
&
-
;
/
$
$
D
-
7
(
#
7
$
%
-
D
=
7
(
#
O
c
7
#
$
%
-
D
D
_
$
<
_
<
@
H
(
@
;
_
(
7
@
O
c
7
$
%
$
)
-
J
=
#
#
#
(
K g
7
(
C
+
Q
#
&
&
C
#
-
?
-
B
C
D
C
4
.
/
2
4
C
4
F
/
?
?
=
$
O
C
c
(
2
-
)
D
-
?
-
<
&
&
D
-
/
/
2
4
C
4
F
/
_
#
(
C
H
+
(
D
-
-
$
-
_
(
4
#
@
(
C
^
+
(
C
Q
&
#
+
#
(
D
D
D
J
-
D
(
D
(
_
(
(
#
#
(
C
(
K
#
(
C
7
#
D
D
%
%
#
(
/
*
6
(
9
#
(
:
<
/
<
0
1
*
3
(
*
*
?
@
<
3
<
*
/
0
1
?
*
E
<
E
<
3
5
5
3
5
<
F
#
/
0
1
I
5
<
J
6
6
J
*
#
6
N
5
!
"
&
:
6
/
0
1
?
6
5
S
*
U
*
? E
6
I
5
6
*
6
?
6
3
5
? 3
6
*
<
W
5
?
*
*
E
E
? E
6
5
6
*
:
<
<
5
5
!
+
&
.
1
2
&
4
5
3
3
<
#
?
Y
U
*
? Z
U
E
*
E
#
\
3
3
[
*
E
8
(
<
*
\
;
=
>
"
_
.
:
&
*
"
&
8
(
<
*
&
&
@
A
;
>
C
;
@
@
(
*
:
*
3
(
[
(
4
*
A
&
#
#
/
0
1
a
<
*
E
W
I
5
*
;
@
[
#
*
:
5
#
*
*
F
? <
6
6
<
*
(
#
/
0
1
3
5
*
6
E
5
H
*
&
:
E
*
1
*
0
E
E
:
*
U
&
*
N
f
:
<
<
*
:
Y
*
*
(
(
I
I
3
5
#
*
*
E
9
*
W
6
*
(
#
E
E
*
(
3
5
*
*
E
8
E
5
*
8
a
<
$
&
(
)
,
-
,
-
#
/
)
0
-
1
2
0
4
5
2
0
6
-
1
-
-
2
/
"
#
;
<
=
?
-
2
@
0
$
2
0
?
2
D
#
$
/
F
(
0
)
4 $
)
F
'
F
0
)
?
*
1
D
*
1
?
0
1
?
0
)
?
,
0
0
0
2
,
,
J
,
$
/
*
0
0
,
-
1
2
;
-
-
0
2
-
-
-
$
D
F
,
2
D
0
P
0
P
;
;
;
;
-
-
2
2
0
0
$
1
#
0
$
,
4
-
2
3
0
-
?
-
5
D
D
$
0
3
$
D
2
D
2
2
D
@
D
0
2
2
5
0
0
/
4 #
)
6
4
'
*
*
8
(
#
#
#
-
4
#
)
(
&
,
<
B
-
F
>
D
,
?
2
<
=
"
?
D
D
?
(
-
)
4
<
*
;
4
)
@
<
-
@
#
?
-
2
0
)
'
D
,
?
8
"
,
D
2
)
)
&
2
?
D
(
'
4
*
8
"
*
D
D
E
$
$
2
,
?
,
0
4
&
-
D
0
d
D
2
,
0
-
D
,
,
-
4
D
D
-
,
5
?
0
D
?
?
2
?
,
-
D
C
?
$
?
5
F
0
4
?
2
#
/
*
,
2
0
2
D
?
D
=
=
&
D
,
D
?
<
,
D
2
D
2
0
,
5
F
5
3
)
0
)
5
2
?
$
-
)
6
3
-
5
2
0
2
5
1
#
$
#
#
$
#
#
$
#
$
$
,
0
&
d
,
0
4
,
-
?
D
,
?
0
,
<
4 -
i
0
;
D
1
?
-
<
k
2
0
;
<
5
=
"
F
?
0
8
'
4
#
$
$
/
F
$
$
-
$
2
-
6
0
$
,
D
?
F
-
2
?
@
?
-
2
-
2
@
?
;
<
=
?
-
@
P
5
5
,
-
<
D
,
-
,
$
$
$
$
E
/
1 #
/
*
"
#
!
!
%
)
#
!
#
!
!
#
!
%
'
#
#
'
.
+
%
)
0
0
2
!
6
8
!
)
9
:
#
!
'
.
@
A
,
%
=
#
!
?
0
6
8
*
#
'
%
'
#
+
C
)
#
D
=
8
?
F #
0
8
#
!
0
6
)
=
#
?
0
8
#
!
!
8
#
%
+
'
*
=
#
8
V
M
)
9
0
0
#
S
!
0
6
#
.
+
-
/
3
5
5
5
F
X
%
X
#
8
5
%
[
X
0
0
,
0
0
#
?
#
#
!
8
S
#
!
8
0
a
_
!
8
?
#
8
8
F
%
X
%
!
F 0
%
5
#
5
V
#
C
'
b
%
%
.
.
%
.
%
.
%
.
.
%
+
5
%
F A
8
#
!
!
#
)
c
9
5
5
3
F A
C
=
0
V
8
#
0
!
!
2
#
M
!
?
8
9
!
8
#
?
#
S
c
!
#
$
!
%
&
A
'
C
#
<
<
>
?
3
/
-
<
D
<
<
G
3
/
< >
G
3
/
H
<
<
<
<
<
!
!
!
!
!
!
!
,
'
K
9
)
,
$
4
$
'
[
)
;
)
K
'
1
'
'
G
4
9
,
'
$
'
Q
T
T
!
E
Q
!
)
!
!
P
!
T
'
)
)
P
$
$
!
7
)
'
'
$
)
V
4
F
$
)
,
,
)
$
?
'
$
V
'
$
9
)
#
)
'
,
,
)
)
F
F
<
)
)
,
)
)
<
K
'
'
G
R
!
;
F
9
E
!
$
9
& #
R
)
$
G
4
$
'
)
$
T
!
!
?
!
!
!
T
)
'
#
!
)
E
h
$
'
9
Q
$
$
)
)
;
c
'
4
;
;
4
'
$
'
9
4
E
V
4
'
$
)
?
#
E
<
9
#
?
E
E
E
E
E
!
!
R
4
<
4
;
1
K
$
j
;
$
k
;
<
7
T
R
T
R
!
$
$
$
;
<
p
k
K
$
)
[
!
T
R
E
E
j
;
c
'
'
K
)
)
$
)
<
T
& E
!
F
G
4
$
)
,
R
F
G
$
$
$
'
)
)
!
4
$
r
;
<
R
!
h
)
)
$
)
<
'
)
4
4
'
)
R
F
E
h
4
$
r
K
)
,
F
)
1
)
)
$
$
R
F
G
<
)
,
K
)
,
F
)
h
4
$
r
K
)
,
F
)
R
)
)
[
$
;
<
7
$
$
$
7
7
)
<
)
,
K
)
,
F
)
1
7
)
;
$
1
1
R
$
R
$
)
R
G
R
)
'
'
'
P
4
)
;
Q
K
)
)
;
'
c
'
P
)
Q
T
!
&
'
&
(
*
+
.
2
'
'
2
4
'
4
!
:
=
'
.
?
=
F
!
+
.
H
?
B
D
'
J
J
"
#
'
(
"
)
$
J
Q
F
4
O
.
*
4
'
F
.
=
F
!
4
.
4
!
4
4
+
?
*
*
*
.
4
:
X
4
:
!
4
X
Y
!
'
'
&
'
=
&
J
[
4
4
O
.
\
'
&
'
&
=
.
\
4
4
+
'
'
=
Q
(
H
Y
:
4
*
4
!
?
.
4
?
4
!
'
'
J
F
!
4
4
*
4
O
!
?
4
'
'
?
4
!
+
.
.
4
!
'
'
b
b
'
c
F
c
b =
[
H
g
4
4
4
O
4
+
!
4
.
.
O
4
4
+
!
!
'
'
'
'
'
=
'
=
'
=
J
'
&
'
4
?
*
4
\
!
F
'
J
&
'
&
=
h
4
?
*
4
F
'
J
'
'
'
'
=
'
F
j
b '
O
[
.
!
4
O
?
F
!
?
O
.
!
?
*
.
4
'
!
J
'
'
'
F
*
.
'
=
Y
!
!
:
j
4
!
'
!
4
!
?
*
4
*
.
4
:
j
4
!
'
'
'
F
4
:
4
?
*
.
j
4
!
'
'
'
J
F
c
4
*
.
4
!
4
'
J
'
4
H
4
O
4
*
4
!
'
'
F
4
H
4
O
4
4
*
4
!
'
'
J
'
F
4
:
'
J
=
4
'
&
!
!
4
4
'
'
%
)
!
+
-
!
5
6
+
+
+
!
;
%
!
7
%
9
9
6
7
%
%
!
!
!
7
7
6
%
!
5
?
7
%
%
%
6
D
+
%
6
6
)
!
5
)
H
6
%
6
9
5
D
+
%
L
D
N
O
!
%
+
+
9
6
N
!
)
D
+
+
9
6
7
!
-
-
9
6
7
!
5
?
7
7
+
%
%
+
N
O
%
!
9
6
-
6
6
-
6
N
6
6
+
+
+
N
6
%
)
Y
Y
!
6
-
6
6
9
6
6
N
)
Y
Y
!
\
^
7
D
6
+
+
+
6
-
6
6
!
Y
6
?
7
?
%
7
D
+
\
6
)
6
6
+
+
+
+
+
+
6
\
6
D
%
D
6
-
N
%
+
%
D
%
N
%
6
N
^
%
7
9
6
+
N
%
%
6
N
9
)
Y
)
Y
)
Y
)
Y
)
Y
)
)
Y
5
O
%
D
6
!
!
D
+
9
6
)
Y
!
6
9
6
6
N
)
Y
!
5
f
D
+
%
%
D
6
9
6
)
Y
!
f
D
+
%
%
D
D
6
9
6
)
Y
!
f
D
+
%
%
6
9
6
)
Y
!
6
D
+
N
%
7
+
j
D
6
!
9
6
7
%
9
; l
)
)
!
7
7
6
m
L
^
+
)
5
!
)
6
+
%
6
9
-
p
-
7
7
6
7
7
6
)
!
6
+
6
+
!
7
%
6
?
7
%
%
)
!
7
6
7
%
6
D
6
L
6
H
%
%
6
9
-
)
)
Y
!
5
%
%
9
H
%
%
6
9
-
p
7
7
6
6
N
7
%
%
9
%
)
)
)
!
t
j
-
7
7
6
7
p
+
-
7
7
6
%
6
7
!
7
7
6
7
)
)
!
%
6
9
%
)
)
!
\
^
+
p
N
%
%
-
D
6
j
-
6
j
N
7
%
)
)
!
)
%
L
-
%
-
D
D
6
D
6
6
7
%
7
j
N
7
%
%
7
H
H
5
%
-
6
D
6
9
%
7
%
%
9
%
L
6
l
D
6
w
7
9
9
7
7
6
%
)
)
)
)
)
!
6
!
%
H
6
H
+
+
+
+
l
9
w
6
+
+
7
+
%
%
)
)
!
)
+
?
7
7
%
z
7
6
9
z
!
)
)
;
+
9
z
%
6
9
%
)
!
+
%
%
%
6
9
%
6
%
9
6
?
7
%
%
)
!
!
!
%
)
$
*
+
-
/
-
$
*
6
8
$
*
=
/
8
!
!
/
*
)
>
1
>
-
!
/
1
!
3
%
+
)
-
!
!
1
!
3
+
$
@
$
*
$
-
>
$
*
$
3
$
-
8
%
@
!
!
$
+
D
D
6
8
%
-
%
$
-
$
@
I
$
$
@
+
K
$
D
$
+
#
%
&
2
&
'
'
'
)
%
&
#
#
#
/
2
2
4
2
6
/
#
&
7
&
#
'
&
#
:
&
:
2
=
2
?
2
2
2
4
=
2
6
?
A
A
&
/
'
&
'
#
7
'
&
'
A
&
&
A
&
'
'
'
&
'
#
'
'
#
:
#
2
2
2
I
2
L
N
2
2
2
4
P
2
6
I
P
'
'
'
/
A
'
A
)
#
&
7
)
#
&
)
&
A
'
A
'
N
&
&
X
A
:
'
'
'
&
%
Y
=
=
2
2
'
\
2
2
=
/
#
&
7
2
=
I
2
2
?
4
6
/
#
&
7
)
)
#
#
&
'
'
=
I
=
2
2
4
6
/
#
&
7
6
c
#
A
&
'
'
=
e 2
2
&
#
'
#
6
#
:
#
f
&
h A
'
&
&
'
'
#
#
6
#
&
'
'
=
=
=
2
2
I
h
\
=
2
2
2
2
4
2
6
/
#
&
7
l
'
c
m
&
'
#
N
c
'
N
?
I
?
2
2
2
?
=
2
2
2
=
2
4
?
6
/
#
&
7
A
A
&
'
&
'
'
'
?
?
?
2
2
)
/
#
)
&
&
7
/
&
L
m
&
#
'
'
&
'
&
#
&
'
'
&
'
#
:
&
:
?
=
"
#
%
'
)
"
#
%
'
)
#
*
-
/
0
"
*
*
0
"
5
*
>
"
5
"
"
"
0
'
@
:
0
'
0
:
@
-
0
B
/
0
?
@
#
B
"
"
J
*
"
)
-
0
'
@
0
"
*
"
"
"
@
0
M
P
-
)
/
0
0
)
/
0
)
/
)
R
"
"
5
*
"
"
U
'
"
*
"
*
"
X
0
0
0
*
P
?
M
0
"
*
"
*
"
0
0
@
?
M
0
'
'
*
)
"
"
#
/
@
"
*
M
[
0
0
:
0
0
'
B
'
0
:
-
-
M
B
J
5
> )
)
a
"
`
/
#
*
0
5
*
>
:
0
-
/
0
?
@
#
B
5
& %
'
(
!
"
'
*
!
/
(
2
2
3
!
*
'
6
(
!
!
*
!
"
!
2
9
:
(
(
'
<
!
*
!
"
%
*
'
6
*
6
*
6
!
!
%
A
B
D
/
*
D
'
!
!
*
B
D
J
"
M
!
O
(
'
Q
(
*
%
R
O
(
B
<
D
J
'
"
M
!
!
O
O
(
(
'
M
(
Q
'
(
!
A
*
2
"
!
"
A
&
*
M
"
Q
A
*
& %
*
A
M
"
Q
A
:
(
(
!
*
2
B
9
B
D
J
D
J
"
"
M
!
M
!
A
M
(
'
A
*
%
A
!
<
'
!
Q
a
a
9
A
O
(
!
M
b
!
a
%
b
'
"
!
a
A
b
'
"
/
*
f
g
h
g
h
a
A
&
2
Q
(
'
"
/
*
f
a
A
& 9
*
'
J
J
(
(
!
M
(
'
"
M
(
J
(
(
(
M
!
A
*
R
O
(
<
'
"
M
(
J
(
(
(
M
A
*
R
O
(
<
'
M
Q
l
M
A
o
6
!
M
M
(
'
M
(
'
A
A
"
&
& a
n
n
(
(
'
'
Q
(
!
f
q
%
%
&
%
$
)
$
/
2
%
&
%
%
&
4
$
$
2
2
)
9
%
$
$
2
$
<
$
>
@
B
)
)
$
$
/
$
G
$
$
/
$
/
I
)
$
<
)
G
I
M
I
N
$
2
$
/
/
)
I
)
I
$
/
2
I
I
)
M
I
I N
$
2
$
$
$
$
R
S
X
B
B
B
V
V
V
V
)
)
$
/
$
/
$
R
S
B
V
V
)
Y
S
$
/
$
/
B
S
B
V
V
)
$
$
2
R
S
@
)
B
V
V
V
)
X
$
$
)
)
X
@
)
)
X
)
X
$
$
$
%
X
$
c
$
$
c
c
d
c
/
f
V
d
)
)
B
&
)
c
2
g
f
V
G
V
B
V
V
V
)
h
/
c
g
f
V
G
2
d
c
c
c
g
f
V
V
g
G
@
f
V
G
f
B
V
)
G
V
@
)
d
2
c
$
<
)
V
d
d
c
c
$
$
$
c
&
)
V
)
n
V
B
c
$
I
X
d
d
c
c
$
/
$
2
)
X
<
$
c
$
V
p
B
f
V
G
c
$
V
M
$
N
c
$
V
V
B
V
V
V
)
/
c
$
V
M
N
/
I
c
<
V
c
$
g
f
V
G
V
B
V
V
V
)
M
N
c
g
f
V
G
B
&
S
f
V
G
)
<
c
<
d
$
I
Y
V
2
"
!
"
$
6
4
%
)
'
%
)
%
)
%
)
,
1
1
?
/
%
%
)
1
?
)
)
,
,
?
,
,
%
4
1
%
4
4
)
,
,
E
E
E
F
E
%
M
I
P
J
,
S
4
1
%
P
%
F
F
F
"
"
1
3
1
3
4
?
L
(
A
-
(
M
)
N
1
E
(
,
&
(
(
)
,
9
;
-
(
&
3
?
1
A
(
9
(
(
6
1
3
6
(
&
(
(
(
4
&
&
3
)
3
9
1
3
3
&
9
3
N
3
(
(
N
?
N
I
9
(
9
E
(
9
-
6
;
N
U
?
3
?
&
3
U
(
(
)
(
Z
(
(
?
6
?
3
N
(
)
)
3
)
E
3
?
-
a
?
?
1
(
3
-
9
Z
(
U
)
N
3
N
(
3
3
3
U
f
(
!
?
N
&
N
&
9
E
(
(
9
&
?
c
(
N
3
U
(
6
1
3
1
3
E
9
&
N
?
(
)
N
E
&
1
3
3
U
9
3
(
)
6
)
3
3
U
(
E
&
(
-
i
(
&
3
f
3
6
(
(
9
6
(
(
)
6
N
E
M
*
N
.
(
+
+
(
o
(
3
(
3
4
-
)
-
9
m
(
(
1
9
E
6
U
(
A
E
N
-
&
E
N
3
3
N
?
(
N
?
?
N
U
N
(
f
N
(
N
(
6
N
N
*
3
E
(
?
(
N
(
9
3
?
?
N
N
(
N
9
-
3
3
3
E
?
U
1
N
3
;
E
E
)
&
3
)
3
c
r
U
N
3
U
-
&
f
(
(
n
)
&
(
E
&
(
(
N
U
1
q
)
?
(
N
(
N
(
6
&
9
N
I
(
9
(
6
6
3
(
1
3
f
6
v
(
-
3
E
1
9
&
E
N
3
3
9
3
&
3
f
(
&
N
3
3
(
N
(
E
6
E
3
U
9
&
(
3
1
f
&
(
(
&
3
3
6
U
N
&
)
(
6
9
E
N
)
N
3
U
(
-
6
1
2
9
&
6
&
N
(
1
(
E
3
3
?
N
(
N
E
U
6
N
(
6
3
1
f
6
v
(
(
3
(
)
(
3
U
9
?
N
N
3
U
N
1
3
U
(
(
f
3
6
(
3
U
;
-
N
(
(
(
(
)
N
?
3
1
&
?
3
U
9
(
(
(
N
f
6
z
&
3
3
E
(
&
&
E
(
)
(
(
3
N
)
)
N
N
3
3
E
f
(
?
U
9
U
?
N
(
(
N
(
?
3
I
3
N
E
E
6
3
)
N
-
{
)
U
&
9
?
N
(
3
3
U
N
(
E
(
(
)
(
9
(
f
(
6
&
&
N
N
)
N
3
6
(
)
(
U
U
(
N
(
3
3
9
$
&
'
'
&
C
'
K
'
&
$
B
4
6
$
F
:
&
'
$
&
&
'
B
>
&
&
F
&
@
B
&
&
K
4
I
'
$
&
&
U
&
$
V
B
K
@
F
B
4
&
$
F
F
F
&
@
^
'
&
4
6
B
&
&
V
'
'
B
K
$
F
K
&
&
:
&
&
K
$
C
B
@
&
&
'
&
B
4
b
'
&
K
&
&
&
C
C
F
&
d
&
'
'
C
&
F
'
f
&
&
&
'
&
C
&
&
$
&
&
4
'
:
B
&
B
^
&
B
4
U
h
'
B
'
F
K
F
@
C
&
K
B
l
$
&
B
&
'
U
k
4
4
K
@
k
4
4
K
@
l
K
$
&
'
$
&
'
F
&
&
@
$
&
U
'
'
B
F
@
'
4
d
p
:
U
B
&
&
'
$
&
F
'
F
$
B
B
&
&
&
U
'
V
&
B
K
&
B
$
&
&
4
@
K
B
@
B
F
:
&
'
&
'
C
&
&
C
&
4
d
F
V
)
*
,
*
4
d
$
&
'
&
&
U
B
&
'
C
B
r
&
F
U
:
k
&
C
l
&
'
4
s
C
K
U
'
f
)
*
'
'
1
2
4
&
I
&
'
&
F
B
C
F
U
&
B
F
B
u
C
'
&
F
&
C
&
U
&
F
C
$
&
4
B
F
K
B
4
&
F
V
&
)
1
C
$
4
B
)
&
&
4
V
@
6
$
6
$
&
B
&
C
C
$
&
B
&
K
B
4
4
K
p
F
&
F
&
@
&
$
$
&
F
F
@
B
@
B
r
B
F
C
U
'
&
d
&
&
&
u
&
&
B
$
'
&
&
&
$
&
'
B
&
B
V
>
,
B
9
$
)
C
<
U
U
&
4
k
&
6
l
K
&
@
&
&
$
C
U
4
&
&
'
F
4
d
&
'
4
&
$
&
&
B
U
F
&
:
K
&
:
$
C
'
&
$
@
C
$
&
&
&
'
'
&
$
'
&
K
&
&
'
'
&
B
&
C
&
$
)
)
&
K
'
'
K
F
C
&
4
b
$
B
&
&
&
&
@
$
K
F
C
&
&
&
$
$
&
K
C
&
K
'
B
'
C
&
F
&
&
'
4
6
&
$
&
'
&
F
&
K
w
x
x
K
w
y
K
F
{
x
B
&
K
$
F
1
+
1
3
)
)
$
(
:
)
(
"
+
$
+
(
(
+
)
+
)
-
=
?
+
(
"
+
"
@
+
"
(
+
+
@
+
(
+
:
"
(
+
1
:
(
)
+
)
1
3
)
+
"
(
)
(
+
+
+
@
+
)
+
1
:
(
:
+
)
+
+
+
:
)
+
+
+
$
(
@
+
=
@
+
1
+
=
K
L
@
=
P
(
(
L
)
@
@
(
-
@
)
@
@
F
@
+
1
+
"
+
+
@
+
)
$
+
S
$
(
1
L
@
$
$
+
S
$
(
)
:
(
:
+
)
=
Z
@
1
)
(
+
)
@
)
)
1
:
+
@
1
+
@
=
]
+
+
"
)
(
@
+
)
]
K
+
@
+
]
)
a
b
$
(
)
(
(
@
+
(
)
:
+
+
@
(
+
"
(
+
:
:
L
@
$
$
+
S
=
d ?
(
+
"
(
1
+
+
S
:
f
(
(
$
-
@
)
)
=
d
K
K
K
K
K
"
+
:
+
)
(
+
+
@
+
@
+
"
)
+
g
)
"
$
+
S
(
@
=
@
K
)
(
$
"
+
)
(
)
d +
"
+
"
$
:
+
)
+
+
)
+
+
L
@
1
:
=
k
+
(
+
+
@
"
$
+
S
$
@
(
(
)
@
d
+
)
+
1
)
+
+
=
K
+
(
+
$
$
)
+
"
+
:
L
@
)
(
+
+
1
+
1
3
)
+
:
)
(
+
+
1
)
+
+
)
L
@
)
+
)
+
(
+
+
)
+
P
+
)
+
)
+
Z
$
(
L
@
n
(
)
)
=
:
:
f
@
:
)
)
+
1
:
+
"
)
)
(
+
=
+
n
)
+
=
$
?
(
+
(
+
+
1
:
L
+
1
@
k
:
"
@
)
+
+
@
+
+
)
+
"
+
(
+
)
f
1
+
@
=
@
+
+
"
@
)
@
+
)
@
"
@
(
"
=
"
+
K
)
+
L
9
:
0
'
g
%
_
'
8
P
%
d
"
%
+
"
8
%
%
0
%
:
+
J
8
%
3
+
M
%
%
0
0
%
0
'
'
:
'
0
F
'
%
+
8
3
P
8
8
8
%
O
G
%
"
P
8
9
'
%
%
8
F
%
R
F
_
9
O
8
P
J
%
%
+
%
O
+
%
q
8
%
:
%
%
'
0
'
%
%
"
%
F
_
9
8
:
O
%
%
'
'
M
'
9
+
^
"
%
_
J
:
'
R
8
+
n
"
:
9
'
'
%
+
F
+
"
%
8
+
8
l
%
+
%
'
+
'
O
'
%
/
%
0
+
:
'
7
:
%
+
_
%
R
8
d
9
9
%
'
F
"
'
"
%
O
%
9
+
%
-
%
9
F
+
%
'
'
'
l
+
J
0
O
8
'
0
'
%
0
+
"
0
O
9
%
9
:
'
+
-
9
9
'
9
O
+
+
'
#
'
+
%
:
0
9
R
:
%
n
+
%
8
+
F
_
"
P
%
'
0
%
'
J
G
%
O
9
:
%
+
'
+
p
R
%
P
%
%
F
9
9
_
+
^
8
%
%
"
O
'
+
9
g
%
%
"
:
%
+
d
+
'
d
9
+
'
%
%
+
%
%
0
:
"
:
%
0
'
%
'
%
8
0
%
P
%
%
_
%
+
%
'
%
'
0
%
%
d
8
_
d
'
F
+
%
8
%
M
W
0
V
+
0
P
V
J
8
%
%
P
8
8
S
G
8
'
T
'
d
8
S
%
9
9
%
d
:
+
3
'
%
'
%
M
'
O
9
R
:
+
:
M
+
%
R
+
_
%
F
:
+
"
'
O
9
'
8
+
d
0
%
+
r
'
"
8
+
r
:
'
0
p
%
+
M
'
P
8
%
%
%
0
R
+
%
8
_
+
%
9
_
:
'
+
R
O
'
_
%
P
9
9
"
%
"
%
+
%
:
0
'
O
-
O
+
8
F
%
9
M
q
R
M
%
:
S
V
V
s
'
_
%
#
%
5
%
3
7
%
0
#
;
%
%
'
%
*
%
2
A
#
;
%
A
%
F
0
;
0
*
2
2
#
3
2
#
;
?
I
K
7
#
%
N
3
7
N
Q
2
0
;
%
S
T
U
%
%
#
'
3
?
W
2
;
A
#
5
2
?
I
2
?
3
;
2
Z
%
N
%
I
?
W
2
W
#
#
Y
S
N
%
3
7
#
5
7
%
%
?
N
2
%
[ N
0
?
%
S
T
?
U
5
?
2
2
?
;
%
#
2
0
%
2
?
%
2
;
2
K
K
K
W
2
Y
7
'
%
;
%
'
;
2
%
'
%
2
#
2
#
2
;
W
;
?
3
2
%
W
2
;
2
%
T
^
2
%
2
[
%
#
N
i
N
2
K
K
%
I
^
0
;
2
0
%
T
Y
S
N
;
#
[ I
;
N
%
T
c
2
;
2
5
[ I
T
Y
#
S
N
%
?
K
%
?
%
T
)
N
+
N
N
S
N
[
T
?
W
0
?
0
?
0
7
?
2
?
?
#
?
%
T
?
^
;
#
?
Y
j
T
W
?
;
0
%
#
;
2
%
T
^
2
%
;
N
%
#
2
?
W
2
;
0
0
;
[
T
?
I
;
Y
#
T
0
0
'
%
2
?
Y
i
T
m
S
N
2
;
;
2
5
;
A
0
0
#
3
?
[ I
T
Y
)
2
;
0
?
?
N
S
W
2
%
?
;
?
0
0
;
?
T
?
.
.
,
/
%
%
#
%
(
%
2
%
;
*
%
#
2
7
3
;
'
'
2
p
%
#
;
*
q
2
2
0
;
2
%
.
%
#
2
1
.
2
%
T
%
U
3
W
;
2
#
2
%
;
N
%
%
0
%
;
;
0
2
0
2
3
;
2
2
;
;
%
T
"
#
%
;
A
;
'
#
;
%
2
N
%
%
?
;
2
A
2
;
#
%
N
W
2
2
?
2
W
%
;
?
2
0
0
W
%
#
2
W
2
W
%
%
%
N
%
;
%
A
2
?
%
'
;
0
Y
t
j
N
A
;
Y
i
i
;
N
2
%
%
'
%
%
p
;
;
%
A
q
%
2
2
;
;
%
%
0
%
;
;
'
%
3
;
N
W
W
2
q
%
;
;
A
%
2
2
#
w
;
;
%
?
p
;
;
%
T
?
U
?
2
?
N
[
%
%
;
#
N
Y
0
N
t
?
N
%
T
q
Q
5
;
;
A
2
N
m
%
t
N
Y
Y
N
'
q
B
B
B
-
/
0
2
4
2
4
#
B
/
5
B
B
;
<
=
;
!
$
%
#
B
-
<
;
@
4
;
@
&
$
!
B
5
=
2
5
<
/
;
%
&
%
%
B
2
<
;
@
&
/
4
;
=
!
#
#
'
)
#
)
*
*
)
*
-
#
/
:
1
*
3
*
5
*
'
#
*
5
!
!
)
#
#
<
#
#
5
#
-
F
)
5
*
A
#
*
'
!
<
!
)
)
/
C
A
3
/
5
)
#
*
)
-
!
!
#
*
5
#
*
)
A
)
/
A
U
#
*
A
/
#
*
#
#
'
#
'
)
#
3
*
)
*
!
)
<
5
S
)
)
A
*
!
#
*
*
A
!
)
*
#
/
A
#
*
A
)
)
*
A
#
*
!
!
6
,
,
$
2
2
,
!
#
$
6
!
!
@
C
$
!
'
)
,
E
>
!
)
F
K
#
K
)
2
6
$
,
2
"
N
"
M
5
K
@
"
,
(
,
'
R
4
N
$
5
6
,
,
+
,
,
6
6
/
K $
1
"
"
2
1
L
!
#
)
!
)
)
M
U
'
)
5
M
@
K
]
R
M
K
C
$
2
,
,
,
,
,
,
2
E
T
$
W
R
6
@
,
,
$
#
$
)
)
)
)
7
!
)
Y
'
$
!
)
M
N
W
9
)
W
6
)
2
N
W
N
K
F
#
M
,
@
C
,
$
$
5
U
,
d
,
6
,
2
K
,
4
a
]
$
K 2
6
R
@
W
R
L
,
R
,
$
#
$
)
)
)
R
F
F
)
f
L
$
$
#
6
@
,
7
g
)
$
$
$
[
!
L
$
!
!
!
#
'
$
E
[
9
)
$
#
!
'
)
L
!
)
[
)
Y
!
@
E
6
>
f
]
2
2
$
2
K
$
2
a
,
L
K
@
f
2
M
W
$
E
6
W
)
5
K
N
T
L
6
)
K
W
7
#
#
[
$
#
!
[
#
$
!
'
>
h !
g
)
M
E
!
[
$
#
!
$
#
#
$
#
>
K
,
$
5
N
$
d
R
>
i
d
@
>
@
>
2
6
6
2
>
L
6
$
,
,
,
,
2
2
@
2
>
6
2
,
)
,
@
,
6
,
>
6
$
,
2
K
K 6
2
R
,
,
>
@
2
7
)
i
d
@
'
2
2
2
@
C
>
s
R
,
,
$
6
>
6
,
N
,
@
,
,
)
t
,
,
L
$
6
N
>
,
2
,
,
6
@
,
N
,
@
,
!
#
[
)
>
W
6
,
2
f
R
f
R
>
U
)
)
$
2
,
$
w
,
$
6
2
2
>
a
$
R
@
,
C
$
>
N
$
]
$
)
Y
)
>
,
6
N
,
N
2
2
N
,
R
2
>
$
a
2
,
N
L
,
$
6
>
,
)
5
,
L
!
#
$
!
!
$
>
6
,
6
w
6
,
>
>
!
'
$
>
6
6
,
L
>
R
>
>
6
>
C
)
$
#
(
*
#
+
#
+
1
-
+
(
-
.
/
1
9
+
#
+
(
1
-
+
+
+
+
+
(
-
=
+
(
-
A
#
F
+
-
-
=
+
(
-
.
C
.
E
F
+
+
#
-
-
+
1
-
F
I
<
!
!
!
&
)
+
+
!
-
.
7 -
&
&
)
3
-
5
6
+
!
+
.
&
-
3
&
)
<
-
&
?
!
&
+
-
3
)
-
B
.
5
7
!
.
3
-
-
-
.
.
7 C
!
-
5
6
+
F
)
?
.
-
+
&
3
H
.
F
$
F
(
5
L
.
!
-
+
F
)
!
-
+
+
&
-
&
.
3
F
&
<
F
-
+
<
+
5
.
7 Q
<
-
-
.
V
F
!
-
<
+
!
-
&
+
.
!
!
+
+
-
-
B
)
+
+
-
V
-
-
-
.
-
&
+
-
-
V
-
.
.
7
-
&
+
V
3
-
5
!
L
-
&
)
)
V
!
7
-
5
6
+
-
)
+
+
V
<
a
-
)
5
7 ^
.
.
)
+
/
<
F
1
V
F
)
)
!
1
V
&
!
+
V
-
3
+
!
8
-
3
$
F
1
$
+
(
<
V
+
-
+
.
-
!
F
+
-
+
-
-
.
!
f
-
.
-
V
-
f
5
5
F
-
!
g
5
3
!
-
-
-
!
?
+
3
3
3
-
!
g
-
&
3
!
)
-
-
!
F
3
-
<
)
-
Q
-
)
-
+
-
<
-
V
$
F
V
!
V
B
F
!
B
+
3
H
5
!
)
-
)
+
a
.
!
;
.
.
7
.
-
.
7
-
)
.
.
-
.
3
.
<
.
.
%
'
%
)
@
8
(
C
-
n
!
F
.
&
0
+
)
5
0
8
9
&
5
)
)
+
+
0
6
&
)
@
B
+
+
+
D
6
@
)
6
0
+
0
6
6
6
N
0
8
M
&
+
5
6
0
+
+
6
0
.
+
+
6
Q
.
+
@
+
6
&
+
.
.
6
0
6
)
.
@
6
&
)
)
)
6
.
)
8
W
5
5
5
+
5
[
5
@
6
+
)
0
&
0
8
6
N M
0
0
N
5
5
+
6
0
]
)
0
.
+
5
5
6
]
6
.
6
0
5
0
8
&
.
+
0
0
0
5
8
0
+
5
.
+
&
@
+
0
5
@
5
0
c
6
&
.
5
+
&
6
.
)
&
0
)
0
5
5
0
6
5
@
@
e @
8
0
5
5
f
g
.
+
5
0
@
8
M
6
@
+
@
0
0
.
+
+
0
0
0
5
.
+
f
0
+
g
)
@
5
+
8
5
5
h
[
5
6
0
.
+
&
+
+
0
0
@
e
i
W
5
+
)
D
0
f
i
@
W
0
W
D
f
W
g
g
+
&
@
6
)
&
+
0
@
5
5
+
6
&
6
8
N
0
.
5
&
0
6
m
+
.
)
5
@
D
8
M
&
5
6
&
0
[
&
.
0
)
5
6
D
0
@
@
+
8
o
5
@
6
D
@
0
+
6
+
.
&
&
0
)
6
0
)
+
5
0
&
6
.
5
@
5
0
B
+
.
+
0
0
&
&
8
9
5
f
g
]
0
.
+
0
@
5
6
0
@
5
0
5
8
o
)
6
.
+
Q
@
5
6
)
6
@
+
6
.
5
0
.
+
0
8
+
5
6
p
0
+
)
8
0
.
6
.
0
]
6
-
0
!
+
&
(
)
&
-
%
5
6
+
%
&
(
%
,
%
,
.
!
#
#
4
!
$
$
,
0
5
$
4
;
?
?
$
0
$
A
B
C
!
?
5
C
C
5
4
5
?
$
A
J
;
$
5
?
!
;
C
?
P
$
$
Q
5
C
4
C
R
!
5
U
A
J
;
5
A
$
!
C
;
?
U
?
?
$
!
5
5
,
5
4
5
?
;
$
?
C
5
5
5
;
0
U
?
5
5
$
5
$
`
4
C
5
0
4
5
!
C
5
4
$
$
A
d
;
!
,
5
$
!
5
?
?
5
5
5
?
C
$
5
5
4
4
U
,
5
;
$
4
5
5
?
?
$
P
!
?
?
$
5
A
g d
4
,
$
4
5
,
5
C
5
5
C
A
g h
$
!
5
?
5
5
5
C
C
5
$
P
4
?
5
C
C
5
4
!
5
5
5
$
!
?
U
4
?
;
$
;
5
?
k
5
l
;
5
5
?
$
0
g 5
5
5
5
$
!
U
g
?
5
C
C
5
g
;
!
A
h
5
5
?
?
$
5
5
?
!
5
C
C
5
?
g ;
A
$
C
;
Q
,
R
!
5
5
5
l
0
!
!
U
4
p
!
p
5
5
5
U
5
;
l
;
!
l
$
5
r
;
?
$
4
A
!
,
;
k
5
g
t
u
v
$
5
?
5
5
?
U
;
A
r
$
5
$
$
5
5
5
,
s
5
U
s
5
t
t
;
0
4
!
B
!
t
t
l
5
5
A
4
5
5
5
l
;
;
U
5
U
4
;
5
4
U
A
C
;
!
'
(
;
P
4
$
,
!
4
p
5
5
C
5
k
;
C
k
A
|
?
$
4
$
!
k
;
5
!
k
U
0
k
5
4
5
5
5
Q
5
!
A
R
A
d
?
U
$
!
;
$
5
C
C
l
5
5
;
5
5
C
P
%
'
#
#
#
,
'
,
#
0
#
'
,
0
#
,
A
#
'
0
D
#
#
,
#
A
A
#
!
#
,
.
0
2
4
2
8
2
4
>
@
2
2
C
2
H
K
@
2
2
8
4
8
K
C
#
,
8
P
Q
>
4
.
#
,
K
>
2
H
H
2
K
H
2
,
8
8
W
K
>
2
2
4
2
[
,
@
^
P
K
K
H
K
4
,
@
W
K
P
0
2
4
2
K
K
>
2
2
K
2
8
8
C
>
,
2
8
8
H
K
b
K
2
2
4
H
,
P
@
2
,
2
8
K
4
8
@
2
H
P
f
4
>
8
@
>
4
2
2
2
K
K
i 8
K
K
2
2
8
8
P
8
Q
H
k >
8
8
K
,
W
K
q
K
m
K
n
>
o
2
4
H
,
K
@
4
2
>
K
K
8
2
H
8
H
2
,
4
2
K
8
8
H
P
f
2
H
>
t
4
H
,
K
2
K
8
8
H
P
t
@
2
2
K
[
P
P
>
0
2
K
m
>
m
n
>
2
K
n
>
m
o
^
H
#
8
2
4
8
8
#
K
2
"
y
#
%
'
8
8
z
@
4
2
P
2
2
@
2
8
2
2
4
8
,
.
2
8
4
H
P
)
)
+
'
2
K
2
{
4
,
@
>
"
$
$
&
"
8
H
P
i
+
4
,
8
8
,
@
W
P
y
2
K
2
>
8
8
P
2
H
,
4
8
4
>
8
K
8
2
,
@
8
>
K
,
W
4
P
0
2
K
4
K
2
K
2
!
#
#
%
%
%
)
!
#
#
%
<
*
+
%
#
4
%
1
>
%
#
#
%
:
%
4
8
%
4
>
%
#
8
4
*
:
+
1
%
%
%
4
4
%
#
:
1
P
#
4
8
K
L
1
4
N
#
8
!
N
4
4
P
#
%
4
8
4
8
:
*
*
:
8
4
>
*
U
K
%
1
!
#
#
8
K
%
8
%
4
#
%
%
L
1
4
#
#
%
%
:
8
#
%
%
#
L
!
1
%
%
#
%
8
%
4
%
4
#
4
4
8
)
+
%
#
L
%
%
4
#
L
1
%
4
%
#
1
#
%
1
%
%
8
4
%
*
%
b
*
*
b
8
4
%
%
1
c
%
%
#
%
N
L
d
#
4
L
1
4
#
#
%
h
%
:
%
#
N
#
4
U
%
!
K
%
!
%
e
U
g
*
%
d
%
%
d
%
>
4
%
1
4
#
%
k
%
#
#
*
+
%
%
:
N
%
%
4
%
4
%
#
!
%
1
L
L
P
!
N
4
%
%
%
%
#
%
4
%
#
%
)
4
N
L
%
#
N
:
1
N
%
4
4
%
n
N
N
#
N
8
4
N
*
>
%
%
4
:
1
8
%
"
$
#
%
:
L
1
N
L
!
!
*
#
%
L
1
N
L
%
)
K
%
4
%
*
%
%
%
%
N
N
4
c
%
4
4
4
%
p
4
L
1
4
4
#
N
e
g
*
q
4
%
#
>
N
%
4
1
N
:
%
#
N
#
*
+
%
4
%
:
e
4
g
N
8
%
:
%
%
K
%
4
<
L
!
*
t
%
#
%
4
1
%
:
#
d
!
U
:
%
4
%
L
u
1
c
v
:
#
N
%
4
1
%
%
4
8
%
#
#
%
%
%
*
n
!
4
4
1
N
:
#
1
%
#
#
%
8
%
%
#
d
e
4
d
g
d
)
%
4
8
K
#
%
%
%
%
N
8
%
%
h
%
4
%
4
%
)
%
'
'
%
$
*
'
1
:
8
%
4
4
*
+
%
b
{
{
N
#
%
1
K
#
4
%
L
1
N
L
%
#
8
1
4
!
#
%
#
%
*
u
%
%
%
%
%
4
4
%
%
1
N
N
:
%
4
L
1
N
L
%
*
#
8
:
N
4
*
1
#
%
L
8
%
%
4
4
N
*
|
8
!
:
#
8
K
.
'
#
#
'
/
:
;
<
=
/
"
$
&
(
&
*
&
&
&
;
?
7
0
8
#
1
/
(
A
3
"
1
&
/
/
'
A
#
#
A
;
?
/
6
#
#
!
"
!
%
(
)
+
+
,
!
/
!
(
"
"
"
/
7
"
%
+
%
(
+
"
%
,
(
+
7
/
+
"
"
(
+
?
B
!
+
"
7
,
(
+
+
)
(
(
/
(
(
"
+
%
(
?
(
(
/
7
(
!
,
,
(
I
/
+
(
+
,
+
(
,
7
I
"
L
L
%
+
%
)
?
/
%
(
+
B
(
!
+
,
(
7
S
+
/
+
(
+
"
$
%
(
)
W
O
"
Y
,
!
Z
/
"
7
,
S
/
S
(
7
(
+
!
"
+
)
+
,
"
+
"
`
"
/
7
(
!
(
(
B
B
(
"
+
/
,
(
"
)
a
+
!
!
+
%
b
(
Z
c
(
!
(
/
L
(
!
!
+
"
(
I
(
(
!
I
)
B
)
(
+
+
(
c
/
(
B
B
(
(
/
+
,
!
/
(
B
B
(
"
/
(
,
7
(
!
(
L
)
d
(
?
7
`
!
B
+
/
e
/
(
!
(
+
B
+
B
%
"
+
"
+
!
!
,
+
+
%
+
'
(
)
+
/
+
"
"
7
+
"
+
B
!
!
,
+
+
,
+
S
B
(
7
(
+
!
+
"
"
)
k
7
,
(
%
(
,
(
'
)
,
!
,
+
(
B
(
(
"
(
S
,
(
(
!
/
k
!
(
,
7
(
/
+
+
+
,
I
)
B
)
l
Y
L
,
+
/
+
7
%
+
B
,
B
(
S
/
(
b
+
B
"
m
,
/
7
!
!
+
+
B
(
7
(
!
%
W
(
?
!
/
+
(
+
)
%
,
!
!
(
e
,
7
+
B
!
+
,
+
"
(
!
S
(
+
B
+
!
7
'
(
"
'
(
"
"
$
o
7
,
(
+
(
,
(
7
p
+
"
k
a
,
,
/
(
7
(
(
"
?
+
B
,
"
$
)
+
+
(
e
"
(
7
(
+
p
/
+
"
/
/
(
(
q
e
/
/
p
/
O
"
7
I
!
/
L
(
!
!
,
+
+
!
+
"
!
,
!
/
(
(
(
7
,
(
!
7
/
!
+
c
(
%
+
,
(
B
)
(
/
+
(
+
+
,
+
"
!
!
,
+
!
c
+
+
)
W
(
+
+
,
,
/
!
Z
,
(
/
/
+
(
+
,
/
+
(
+
,
%
(
+
"
e
,
/
+
(
+
,
d
a
d
l
(
S
(
,
"
+
B
+
B
"
/
+
(
(
/
+
,
)
O
,
%
7
(
(
"
7
(
(
/
+
(
+
,
%
7
!
,
!
,
+
+
/
B
,
(
+
+
!
/
+
+
S
'
(
W
"
'
+
(
+
"
,
,
!
"
(
b
$
)
%
"
(
+
B
7
7
!
!
,
+
S
+
+
"
?
+
%
"
B
!
+
(
,
(
+
"
,
(
/
)
k
/
+
S
'
6
9
#
$
#
'
1
$
$
$
;
+
$
7
+
$
$
$
A
$
$
$
!
7
$
5
+
$
2
$
+
0
+
5
$
$
$
$
$
Q
0
5
9
$
<
$
$
$
%
;
#
;
$
$
$
+
$
+
$
U
#
$
2
!
$
S
2
$
$
;
$
+
$
<
$
0
7
H
0
!
P
+
+
$
$
$
+
$
+
5
$
$
$
M
$
E
A
E
V
$
+
$
$
+
$
<
7
$
$
$
A
$
$
$
5
A
;
$
$
+
$
7
7
;
$
$
E
V
$
$
<
$
$
5
A
;
$
A
$
$
+
$
H
$
0
0
+
<
$
0
S
a
$
$
$
A
$
$
$
M
;
$
+
7
$
$
$
$
$
P
<
$
V
$
M
$
E
d
e
f
<
5
7
$
+
$
9
;
0
Q
$
!
;
$
V
5
Q
5
7
$
+
$
9
;
Q
5
2
S
2
U
$
$
;
V
Q
5
7
$
$
g
$
$
V
$
0
2
5
$
V
<
$
5
$
V
+
$
A
7
$
;
$
5
+
5
V
l
$
2
M
n
M
$
V
+
+
A
$
<
$
$
5
$
$
$
;
$
A
$
<
+
$
+
<
+
!
$
V
5
$
E
V
l
$
!
$
$
$
V
$
$
$
;
+
$
5
9
;
+
$
!
7
$
+
$
$
+
$
7
5
$
$
;
A
A
$
$
M
+
$
<
A
$
+
7
$
$
9
;
7
+
0
$
5
Q
$
5
$
$
$
+
$
$
A
+
7
$
;
$
E
5
0
V
$
$
$
;
$
<
l
$
$
p
$
$
A
M
$
$
$
V
$
;
$
5
;
$
$
$
5
A
+
+
+
A
$
5
$
0
2
S
2
5
7
$
$
<
$
$
$
V
$
$
;
$
5
<
$
$
+
+
$
$
M
V
5
;
$
;
$
$
+
;
V
U
V
$
$
+
$
E
V
$
$
0
2
5
<
7
5
V
A
$
A
$
$
$
+
$
<
;
$
0
;
7
$
+
$
+
$
q
A
r 0
P
q
$
V
$
$
$
$
r
0
+
$
r
5
$
<
$
5
5
;
A
$
$
+
$
$
$
!
A
;
$
+
E
$
$
$
$
;
$
A
<
$
$
$
+
$
+
$
+
<
$
A
$
s
<
+
5
$
A
$
$
;
$
$
$
$
$
$
5
a
$
$
$
H
9
0
$
E
$
$
Q
+
E
V
!
V
$
V
$
$
$
$
5
l
$
9
$
$
+
;
$
+
!
$
0
t
7
%
$
%
;
$
0
<
)
!
+
)
!
!
7
%
%
V
!
)
!
$
;
$
5
$
$
V
5
+
$
$
"
'
)
+
,
.
0
,
$
0
3
6
3
9
=
>
$
0
>
H
>
+
,
"
"
$
J
'
3
$
M
N
N
,
M
>
,
$
0
0
"
>
>
M
"
H
.
H
0
'
Q
+
M
$
"
>
>
>
H
M
.
X
X
+
X
M
"
>
>
H
X
"
V
N
"
.
,
H
H
M
"
>
M
>
X
M
,
"
"
'
!
N
"
+
M
H
"
+
+
0
>
0
`
0
.
.
'
$
,
H
"
>
>
.
"
$
H
V
=
'
>
.
+
=
$
b
M
$
0
>
>
>
V
"
"
"
,
$
>
+
M
+
'
b
$
H
>
"
,
H
"
>
.
'
d
.
"
$
+
,
V
+
>
H
=
>
X
$
k
"
'
3
X
>
=
$
>
H
"
>
"
$
,
"
>
'
.
X
0
"
M
"
"
N
.
,
$
H
"
>
>
"
.
M
>
=
>
$
"
"
J
>
>
0
>
>
X
$
"
H
"
.
>
o
'
,
$
0
k
"
p
'
b
$
+
"
"
+
>
0
'
b
.
H
V
M
>
"
0
q
M
'
Q
+
"
>
>
X
H
+
>
>
.
.
"
>
"
H
`
$
$
$
M
M
+
#
%
'
)
-
'
$
3
N
"
"
)
H
)
%
"
'
0
)
-
,
V
"
0
)
M
)
X
H
4
)
+
0
)
X
0
M
=
.
"
X
"
>
M
Q
+
"
X
'
9
X
,
H
V
0
$
X
0
N
H
>
6
"
'
,
>
.
M
,
$
'
$
$
$
$
+
$
Q
M
>
>
+
V
"
+
4
0
0
"
+
"
>
=
0
H
'
u
0
,
$
X
k
"
>
0
)
#
0
)
X
+
$
.
M
>
"
"
'
3
X
M
N
$
H
%
'
)
-
`
+
>
$
0
.
"
'
$
>
X
$
-
"
=
"
o
+
M
$
.
'
3
$
q
+
M
N
$
+
,
$
>
N
"
"
"
>
.
X
H
H
"
$
"
>
'
>
M
X
H
X
"
V
0
'
>
M
0
0
N
M
>
6
'
M
0
X
'
H
X
"
"
>
+
.
w
9
.
0
.
,
!
#
#
!
!
#
#
!
#
(
*
*
&
#
&
#
#
2
#
4
6
7
&
#
(
*
#
,
&
#
#
#
&
C 4
=
#
!
@
!
#
!
#
*
F
(
#
#
,
&
(
!
S
=
!
#
#
*
6
J
T
V
#
#
=
W
#
4
#
M
X
V
!
6
J
W
P
#
,
#
!
!
#
,
&
F
(
W
#
\
#
(
(
(
*
4
#
&
M
2
#
4
W
#
\
#
#
&
*
J
F
(
F
!
#
#
c
(
(
#
(
F
(
#
4
F
!
=
!
(
e
W
!
W
6
J
#
#
=
#
6
*
*
#
&
&
(
&
F
*
6
#
&
#
P
!
&
#
*
#
!
(
W
#
#
&
=
!
#
(
(
F
4
#
!
&
*
!
*
(
#
6
*
=
#
&
2
#
4
!
#
!
&
W
#
4
!
,
&
#
p
&
=
#
*
!
*
q
q
T
q
=
#
#
!
&
(
2
#
4
=
!
#
*
6
7
#
4
#
W
#
#
#
&
F
W
(
2
#
4
W
#
\
#
!
#
#
!
W
(
&
6
&
!
=
#
!
r
(
F
=
s
F
*
#
t
(
F
!
#
(
&
(
2
#
4
(
6