520 captures
15 Feb 2015 - 03 Feb 2026
Nov
DEC
Jan
31
2019
2020
2021
success
fail
About this capture
COLLECTED BY
Organization:
Mark Graham
Archive-It Partner 1028: Mark Graham
Collection:
General Crawls
Archive-It Partner 1028: Mark Graham - Collection 8332: General Crawls
TIMESTAMPS
T
h
e
W
a
y
b
a
c
k
M
a
c
h
i
n
e
-
h
t
t
p
:
/
/
w
e
b
.
a
r
c
h
i
v
e
.
o
r
g
/
w
e
b
/
2
0
2
0
1
2
3
1
0
5
5
4
5
3
/
h
t
t
p
s
:
/
/
g
i
t
h
u
b
.
c
o
m
/
a
k
u
l
l
p
p
/
a
w
e
s
o
m
e
-
j
a
v
a
S
k
i
p
t
o
c
o
n
t
e
n
t
/
;
r
e
f
_
c
t
a
:
S
i
g
n
u
p
;
r
e
f
_
l
o
c
:
h
e
a
d
e
r
l
o
g
g
e
d
o
u
t
"
>
S
i
g
n
up
●
W
h
y
G
i
t
H
u
b
?
F
e
a
t
u
r
e
s
→
●
C
o
d
e
r
e
v
i
e
w
●
P
r
o
j
e
c
t
m
a
n
a
g
e
m
e
n
t
●
I
n
t
e
g
r
a
t
i
o
n
s
●
A
c
t
i
o
n
s
●
P
a
c
k
a
g
e
s
●
S
e
c
u
r
i
t
y
●
T
e
a
m
m
a
n
a
g
e
m
e
n
t
●
H
o
s
t
i
n
g
●
M
o
b
i
l
e
●
C
u
s
t
o
m
e
r
s
t
o
r
i
e
s
→
●
S
e
c
u
r
i
t
y
→
●
T
e
a
m
●
E
n
t
e
r
p
r
i
s
e
●
E
x
p
l
o
r
e
●
E
x
p
l
o
r
e
G
i
t
H
u
b
→
L
e
a
r
n
&
c
o
n
t
r
i
b
u
t
e
●
T
o
p
i
c
s
●
C
o
l
l
e
c
t
i
o
n
s
●
T
r
e
n
d
i
n
g
●
L
e
a
r
n
i
n
g
L
a
b
●
O
p
e
n
s
o
u
r
c
e
g
u
i
d
e
s
C
o
n
n
e
c
t
w
i
t
h
o
t
h
e
r
s
●
E
v
e
n
t
s
●
C
o
m
m
u
n
i
t
y
f
o
r
u
m
●
G
i
t
H
u
b
E
d
u
c
a
t
i
o
n
●
G
i
t
H
u
b
S
t
a
r
s
p
r
o
g
r
a
m
●
M
a
r
k
e
t
p
l
a
c
e
●
P
r
i
c
i
n
g
P
l
a
n
s
→
●
C
o
m
p
a
r
e
p
l
a
n
s
●
C
o
n
t
a
c
t
S
a
l
e
s
●
N
o
n
p
r
o
f
i
t
→
●
E
d
u
c
a
t
i
o
n
→
In this repository
All GitHub
↵
Jump to
↵
No suggested jump to results
In this repository
All GitHub
↵
Jump to
↵
In this repository
All GitHub
↵
Jump to
↵
S
i
g
n
in
/
;
r
e
f
_
c
t
a
:
S
i
g
n
u
p
;
r
e
f
_
l
o
c
:
h
e
a
d
e
r
l
o
g
g
e
d
o
u
t
"
>
S
i
g
n
up
{
{
m
e
s
s
a
g
e
}
}
a
k
u
l
l
p
p
/
a
w
e
s
o
m
e
-
j
a
v
a
●
W
a
t
c
h
2
.
2
k
●
S
t
a
r
2
7
.
1
k
●
F
o
r
k
5
.
8
k
A
c
u
r
a
t
e
d
l
i
s
t
o
f
a
w
e
s
o
m
e
f
r
a
m
e
w
o
r
k
s
,
l
i
b
r
a
r
i
e
s
a
n
d
s
o
f
t
w
a
r
e
f
o
r
t
h
e
J
a
v
a
p
r
o
g
r
a
m
m
i
n
g
l
a
n
g
u
a
g
e
.
V
i
e
w
l
i
c
e
n
s
e
2
7
.
1
k
s
t
a
r
s
5
.
8
k
f
o
r
k
s
S
t
a
r
W
a
t
c
h
●
C
o
d
e
●
I
s
s
u
e
s
3
●
P
u
l
l
r
e
q
u
e
s
t
s
3
●
A
c
t
i
o
n
s
●
P
r
o
j
e
c
t
s
0
●
S
e
c
u
r
i
t
y
●
I
n
s
i
g
h
t
s
M
o
r
e
●
C
o
d
e
●
I
s
s
u
e
s
●
P
u
l
l
r
e
q
u
e
s
t
s
●
A
c
t
i
o
n
s
●
P
r
o
j
e
c
t
s
●
S
e
c
u
r
i
t
y
●
I
n
s
i
g
h
t
s
m
a
s
t
e
r
1
b
r
a
n
c
h
0
t
a
g
s
G
o
t
o
f
i
l
e
C
o
d
e
C
l
o
n
e
HTTPS
GitHub CLI
U
s
e
G
i
t
o
r
c
h
e
c
k
o
u
t
w
i
t
h
S
V
N
u
s
i
n
g
t
h
e
w
e
b
U
R
L
.
W
o
r
k
f
a
s
t
w
i
t
h
o
u
r
o
f
f
i
c
i
a
l
C
L
I
.
L
e
a
r
n
m
o
r
e
.
●
O
p
e
n
w
i
t
h
G
i
t
H
u
b
D
e
s
k
t
o
p
●
D
o
w
n
l
o
a
d
Z
I
P
L
a
u
n
c
h
i
n
g
G
i
t
H
u
b
D
e
s
k
t
o
p
I
f
n
o
t
h
i
n
g
h
a
p
p
e
n
s
,
d
o
w
n
l
o
a
d
G
i
t
H
u
b
D
e
s
k
t
o
p
a
n
d
t
r
y
a
g
a
i
n
.
G
o
b
a
c
k
L
a
u
n
c
h
i
n
g
G
i
t
H
u
b
D
e
s
k
t
o
p
I
f
n
o
t
h
i
n
g
h
a
p
p
e
n
s
,
d
o
w
n
l
o
a
d
G
i
t
H
u
b
D
e
s
k
t
o
p
a
n
d
t
r
y
a
g
a
i
n
.
G
o
b
a
c
k
L
a
u
n
c
h
i
n
g
X
c
o
d
e
I
f
n
o
t
h
i
n
g
h
a
p
p
e
n
s
,
d
o
w
n
l
o
a
d
X
c
o
d
e
a
n
d
t
r
y
a
g
a
i
n
.
G
o
b
a
c
k
L
a
u
n
c
h
i
n
g
V
i
s
u
a
l
S
t
u
d
i
o
I
f
n
o
t
h
i
n
g
h
a
p
p
e
n
s
,
d
o
w
n
l
o
a
d
t
h
e
G
i
t
H
u
b
e
x
t
e
n
s
i
o
n
f
o
r
V
i
s
u
a
l
S
t
u
d
i
o
a
n
d
t
r
y
a
g
a
i
n
.
G
o
b
a
c
k
L
a
t
e
s
t
c
o
m
m
i
t
i
z
e
y
e
F
i
x
t
y
p
o
(
#
9
1
5
)
…
f
5
5
3
8
d
a
D
e
c
1
9
,
2
0
2
0
F
i
x
t
y
p
o
(
#
9
1
5
)
f
5
5
3
8
d
a
G
i
t
s
t
a
t
s
●
1
,
5
5
2
c
o
m
m
i
t
s
F
i
l
e
s
P
e
r
m
a
l
i
n
k
F
a
i
l
e
d
t
o
l
o
a
d
l
a
t
e
s
t
c
o
m
m
i
t
i
n
f
o
r
m
a
t
i
o
n
.
T
y
p
e
N
a
m
e
L
a
t
e
s
t
c
o
m
m
i
t
m
e
s
s
a
g
e
C
o
m
m
i
t
t
i
m
e
.
g
i
t
h
u
b
C
h
a
n
g
e
t
h
e
c
o
n
t
e
n
t
o
f
t
h
e
P
R
t
e
m
p
l
a
t
e
t
o
a
c
o
m
m
e
n
t
N
o
v
1
4
,
2
0
1
9
.
e
d
i
t
o
r
c
o
n
f
i
g
F
i
x
a
w
e
s
o
m
e
-
l
i
n
t
e
r
r
o
r
s
M
a
y
3
1
,
2
0
1
8
.
g
i
t
i
g
n
o
r
e
A
d
d
.
g
i
t
i
g
n
o
r
e
M
a
r
1
1
,
2
0
1
9
C
O
N
T
R
I
B
U
T
I
N
G
.
m
d
R
u
n
m
a
r
k
d
o
w
n
l
i
n
t
F
e
b
2
,
2
0
2
0
L
I
C
E
N
S
E
.
m
d
A
d
d
e
d
C
C
-
B
Y
-
S
A
-
4
.
0
l
i
c
e
n
s
e
M
a
r
2
7
,
2
0
1
6
R
E
A
D
M
E
.
m
d
F
i
x
t
y
p
o
(
#
9
1
5
)
D
e
c
1
9
,
2
0
2
0
V
i
e
w
c
o
d
e
R
E
A
D
M
E
.
m
d
A
w
e
s
o
m
e
J
a
v
a
A
c
u
r
a
t
e
d
l
i
s
t
o
f
a
w
e
s
o
m
e
J
a
v
a
f
r
a
m
e
w
o
r
k
s
,
l
i
b
r
a
r
i
e
s
a
n
d
s
o
f
t
w
a
r
e
.
C
o
n
t
e
n
t
s
●
P
r
o
j
e
c
t
s
●
B
e
a
n
M
a
p
p
i
n
g
●
B
u
i
l
d
●
B
y
t
e
c
o
d
e
M
a
n
i
p
u
l
a
t
i
o
n
●
C
a
c
h
i
n
g
●
C
L
I
●
C
l
u
s
t
e
r
M
a
n
a
g
e
m
e
n
t
●
C
o
d
e
A
n
a
l
y
s
i
s
●
C
o
d
e
C
o
v
e
r
a
g
e
●
C
o
d
e
G
e
n
e
r
a
t
o
r
s
●
C
o
m
p
i
l
e
r
-
c
o
m
p
i
l
e
r
●
C
o
m
p
u
t
e
r
V
i
s
i
o
n
●
C
o
n
f
i
g
u
r
a
t
i
o
n
●
C
o
n
s
t
r
a
i
n
t
S
a
t
i
s
f
a
c
t
i
o
n
P
r
o
b
l
e
m
S
o
l
v
e
r
●
C
S
V
●
D
a
t
a
S
t
r
u
c
t
u
r
e
s
●
D
a
t
a
b
a
s
e
●
D
a
t
e
a
n
d
T
i
m
e
●
D
e
p
e
n
d
e
n
c
y
I
n
j
e
c
t
i
o
n
●
D
e
v
e
l
o
p
m
e
n
t
●
D
i
s
t
r
i
b
u
t
e
d
A
p
p
l
i
c
a
t
i
o
n
s
●
D
i
s
t
r
i
b
u
t
e
d
T
r
a
n
s
a
c
t
i
o
n
s
●
D
i
s
t
r
i
b
u
t
i
o
n
●
D
o
c
u
m
e
n
t
P
r
o
c
e
s
s
i
n
g
●
F
i
n
a
n
c
i
a
l
●
F
o
r
m
a
l
V
e
r
i
f
i
c
a
t
i
o
n
●
F
u
n
c
t
i
o
n
a
l
P
r
o
g
r
a
m
m
i
n
g
●
G
a
m
e
D
e
v
e
l
o
p
m
e
n
t
●
G
e
o
s
p
a
t
i
a
l
●
G
U
I
●
H
i
g
h
P
e
r
f
o
r
m
a
n
c
e
●
H
T
T
P
C
l
i
e
n
t
s
●
H
y
p
e
r
m
e
d
i
a
T
y
p
e
s
●
I
D
E
●
I
m
a
g
e
r
y
●
I
n
t
r
o
s
p
e
c
t
i
o
n
●
J
o
b
S
c
h
e
d
u
l
i
n
g
●
J
S
O
N
●
J
V
M
a
n
d
J
D
K
●
L
o
g
g
i
n
g
●
M
a
c
h
i
n
e
L
e
a
r
n
i
n
g
●
M
e
s
s
a
g
i
n
g
●
M
i
c
r
o
s
e
r
v
i
c
e
●
M
i
s
c
e
l
l
a
n
e
o
u
s
●
M
o
b
i
l
e
D
e
v
e
l
o
p
m
e
n
t
●
M
o
n
i
t
o
r
i
n
g
●
N
a
t
i
v
e
●
N
a
t
u
r
a
l
L
a
n
g
u
a
g
e
P
r
o
c
e
s
s
i
n
g
●
N
e
t
w
o
r
k
i
n
g
●
O
R
M
●
P
a
a
S
●
P
D
F
●
P
e
r
f
o
r
m
a
n
c
e
a
n
a
l
y
s
i
s
●
P
l
a
t
f
o
r
m
●
P
r
o
c
e
s
s
e
s
●
R
e
a
c
t
i
v
e
l
i
b
r
a
r
i
e
s
●
R
E
S
T
F
r
a
m
e
w
o
r
k
s
●
S
c
i
e
n
c
e
●
S
e
a
r
c
h
●
S
e
c
u
r
i
t
y
●
S
e
r
i
a
l
i
z
a
t
i
o
n
●
S
e
r
v
e
r
●
T
e
m
p
l
a
t
e
E
n
g
i
n
e
●
T
e
s
t
i
n
g
●
U
t
i
l
i
t
y
●
V
e
r
s
i
o
n
M
a
n
a
g
e
r
s
●
W
e
b
C
r
a
w
l
i
n
g
●
W
e
b
F
r
a
m
e
w
o
r
k
s
●
R
e
s
o
u
r
c
e
s
●
A
w
e
s
o
m
e
L
i
s
t
s
●
C
o
m
m
u
n
i
t
i
e
s
●
F
r
o
n
t
e
n
d
s
●
I
n
f
l
u
e
n
t
i
a
l
B
o
o
k
s
●
P
o
d
c
a
s
t
s
a
n
d
S
c
r
e
e
n
c
a
s
t
s
●
T
w
i
t
t
e
r
●
W
e
b
s
i
t
e
s
P
r
o
j
e
c
t
s
B
e
a
n
M
a
p
p
i
n
g
F
r
a
m
e
w
o
r
k
s
t
h
a
t
e
a
s
e
b
e
a
n
m
a
p
p
i
n
g
.
●
d
O
O
v
-
P
r
o
v
i
d
e
s
f
l
u
e
n
t
A
P
I
f
o
r
t
y
p
e
s
a
f
e
d
o
m
a
i
n
m
o
d
e
l
v
a
l
i
d
a
t
i
o
n
a
n
d
m
a
p
p
i
n
g
.
I
t
u
s
e
s
a
n
n
o
t
a
t
i
o
n
s
,
c
o
d
e
g
e
n
e
r
a
t
i
o
n
a
n
d
a
t
y
p
e
s
a
f
e
D
S
L
t
o
m
a
k
e
b
e
a
n
v
a
l
i
d
a
t
i
o
n
a
n
d
m
a
p
p
i
n
g
f
a
s
t
a
n
d
e
a
s
y
.
●
D
o
z
e
r
-
M
a
p
p
e
r
t
h
a
t
c
o
p
i
e
s
d
a
t
a
f
r
o
m
o
n
e
o
b
j
e
c
t
t
o
a
n
o
t
h
e
r
u
s
i
n
g
a
n
n
o
t
a
t
i
o
n
s
a
n
d
A
P
I
o
r
X
M
L
c
o
n
f
i
g
u
r
a
t
i
o
n
.
●
J
M
a
p
p
e
r
-
U
s
e
s
b
y
t
e
c
o
d
e
m
a
n
i
p
u
l
a
t
i
o
n
f
o
r
l
i
g
h
t
n
i
n
g
-
f
a
s
t
m
a
p
p
i
n
g
.
S
u
p
p
o
r
t
s
a
n
n
o
t
a
t
i
o
n
s
a
n
d
A
P
I
o
r
X
M
L
c
o
n
f
i
g
u
r
a
t
i
o
n
.
●
M
a
p
S
t
r
u
c
t
-
C
o
d
e
g
e
n
e
r
a
t
o
r
t
h
a
t
s
i
m
p
l
i
f
i
e
s
m
a
p
p
i
n
g
s
b
e
t
w
e
e
n
d
i
f
f
e
r
e
n
t
b
e
a
n
t
y
p
e
s
,
b
a
s
e
d
o
n
a
c
o
n
v
e
n
t
i
o
n
-
o
v
e
r
-
c
o
n
f
i
g
u
r
a
t
i
o
n
a
p
p
r
o
a
c
h
.
●
M
o
d
e
l
M
a
p
p
e
r
-
I
n
t
e
l
l
i
g
e
n
t
o
b
j
e
c
t
m
a
p
p
i
n
g
l
i
b
r
a
r
y
t
h
a
t
a
u
t
o
m
a
t
i
c
a
l
l
y
m
a
p
s
o
b
j
e
c
t
s
t
o
e
a
c
h
o
t
h
e
r
.
●
O
r
i
k
a
-
J
a
v
a
B
e
a
n
-
m
a
p
p
i
n
g
f
r
a
m
e
w
o
r
k
t
h
a
t
r
e
c
u
r
s
i
v
e
l
y
c
o
p
i
e
s
(
a
m
o
n
g
o
t
h
e
r
c
a
p
a
b
i
l
i
t
i
e
s
)
d
a
t
a
f
r
o
m
o
n
e
o
b
j
e
c
t
t
o
a
n
o
t
h
e
r
.
●
r
e
M
a
p
-
L
a
m
b
d
a
a
n
d
m
e
t
h
o
d
h
a
n
d
l
e
-
b
a
s
e
d
m
a
p
p
i
n
g
w
h
i
c
h
r
e
q
u
i
r
e
s
c
o
d
e
a
n
d
n
o
t
a
n
n
o
t
a
t
i
o
n
s
i
f
o
b
j
e
c
t
s
h
a
v
e
d
i
f
f
e
r
e
n
t
n
a
m
e
s
.
●
S
e
l
m
a
-
A
n
n
o
t
a
t
i
o
n
p
r
o
c
e
s
s
o
r
-
b
a
s
e
d
b
e
a
n
m
a
p
p
e
r
.
B
u
i
l
d
T
o
o
l
s
t
h
a
t
h
a
n
d
l
e
t
h
e
b
u
i
l
d
c
y
c
l
e
a
n
d
d
e
p
e
n
d
e
n
c
i
e
s
o
f
a
n
a
p
p
l
i
c
a
t
i
o
n
.
●
A
p
a
c
h
e
M
a
v
e
n
-
D
e
c
l
a
r
a
t
i
v
e
b
u
i
l
d
a
n
d
d
e
p
e
n
d
e
n
c
y
m
a
n
a
g
e
m
e
n
t
t
h
a
t
f
a
v
o
r
s
c
o
n
v
e
n
t
i
o
n
o
v
e
r
c
o
n
f
i
g
u
r
a
t
i
o
n
.
I
t
m
i
g
h
t
b
e
p
r
e
f
e
r
a
b
l
e
t
o
A
p
a
c
h
e
A
n
t
,
w
h
i
c
h
u
s
e
s
a
r
a
t
h
e
r
p
r
o
c
e
d
u
r
a
l
a
p
p
r
o
a
c
h
a
n
d
c
a
n
b
e
d
i
f
f
i
c
u
l
t
t
o
m
a
i
n
t
a
i
n
.
●
B
a
z
e
l
-
T
o
o
l
f
r
o
m
G
o
o
g
l
e
t
h
a
t
b
u
i
l
d
s
c
o
d
e
q
u
i
c
k
l
y
a
n
d
r
e
l
i
a
b
l
y
.
●
B
u
c
k
-
E
n
c
o
u
r
a
g
e
s
t
h
e
c
r
e
a
t
i
o
n
o
f
s
m
a
l
l
,
r
e
u
s
a
b
l
e
m
o
d
u
l
e
s
c
o
n
s
i
s
t
i
n
g
o
f
c
o
d
e
a
n
d
r
e
s
o
u
r
c
e
s
.
●
G
r
a
d
l
e
-
I
n
c
r
e
m
e
n
t
a
l
b
u
i
l
d
s
p
r
o
g
r
a
m
m
e
d
v
i
a
G
r
o
o
v
y
i
n
s
t
e
a
d
o
f
d
e
c
l
a
r
i
n
g
X
M
L
.
W
o
r
k
s
w
e
l
l
w
i
t
h
M
a
v
e
n
'
s
d
e
p
e
n
d
e
n
c
y
m
a
n
a
g
e
m
e
n
t
.
B
y
t
e
c
o
d
e
M
a
n
i
p
u
l
a
t
i
o
n
L
i
b
r
a
r
i
e
s
t
o
m
a
n
i
p
u
l
a
t
e
b
y
t
e
c
o
d
e
p
r
o
g
r
a
m
m
a
t
i
c
a
l
l
y
.
●
A
S
M
-
A
l
l
-
p
u
r
p
o
s
e
,
l
o
w
-
l
e
v
e
l
b
y
t
e
c
o
d
e
m
a
n
i
p
u
l
a
t
i
o
n
a
n
d
a
n
a
l
y
s
i
s
.
●
B
y
t
e
B
u
d
d
y
-
F
u
r
t
h
e
r
s
i
m
p
l
i
f
i
e
s
b
y
t
e
c
o
d
e
g
e
n
e
r
a
t
i
o
n
w
i
t
h
a
f
l
u
e
n
t
A
P
I
.
●
b
y
t
e
c
o
d
e
-
v
i
e
w
e
r
-
J
a
v
a
8
J
a
r
&
A
n
d
r
o
i
d
A
P
K
r
e
v
e
r
s
e
e
n
g
i
n
e
e
r
i
n
g
s
u
i
t
e
.
(
G
P
L
-
3
.
0
-
o
n
l
y
)
●
B
y
t
e
m
a
n
-
M
a
n
i
p
u
l
a
t
e
b
y
t
e
c
o
d
e
a
t
r
u
n
t
i
m
e
v
i
a
D
S
L
(
r
u
l
e
s
)
;
m
a
i
n
l
y
f
o
r
t
e
s
t
i
n
g
/
t
r
o
u
b
l
e
s
h
o
o
t
i
n
g
.
(
L
G
P
L
-
2
.
1
-
o
r
-
l
a
t
e
r
)
●
c
g
l
i
b
-
B
y
t
e
c
o
d
e
g
e
n
e
r
a
t
i
o
n
l
i
b
r
a
r
y
.
●
J
a
v
a
s
s
i
s
t
-
T
r
i
e
s
t
o
s
i
m
p
l
i
f
y
b
y
t
e
c
o
d
e
e
d
i
t
i
n
g
.
●
M
i
x
i
n
-
M
a
n
i
p
u
l
a
t
e
b
y
t
e
c
o
d
e
a
t
r
u
n
t
i
m
e
u
s
i
n
g
r
e
a
l
J
a
v
a
c
o
d
e
.
●
P
e
r
s
e
s
-
D
y
n
a
m
i
c
a
l
l
y
i
n
j
e
c
t
s
f
a
i
l
u
r
e
/
l
a
t
e
n
c
y
a
t
t
h
e
b
y
t
e
c
o
d
e
l
e
v
e
l
a
c
c
o
r
d
i
n
g
t
o
p
r
i
n
c
i
p
l
e
s
o
f
c
h
a
o
s
e
n
g
i
n
e
e
r
i
n
g
.
C
a
c
h
i
n
g
L
i
b
r
a
r
i
e
s
t
h
a
t
p
r
o
v
i
d
e
c
a
c
h
i
n
g
f
a
c
i
l
i
t
i
e
s
.
●
c
a
c
h
e
2
k
-
I
n
-
m
e
m
o
r
y
h
i
g
h
p
e
r
f
o
r
m
a
n
c
e
c
a
c
h
i
n
g
l
i
b
r
a
r
y
.
●
C
a
f
f
e
i
n
e
-
H
i
g
h
-
p
e
r
f
o
r
m
a
n
c
e
,
n
e
a
r
-
o
p
t
i
m
a
l
c
a
c
h
i
n
g
l
i
b
r
a
r
y
.
●
E
h
c
a
c
h
e
-
D
i
s
t
r
i
b
u
t
e
d
g
e
n
e
r
a
l
-
p
u
r
p
o
s
e
c
a
c
h
e
.
●
I
n
f
i
n
i
s
p
a
n
-
H
i
g
h
l
y
c
o
n
c
u
r
r
e
n
t
k
e
y
/
v
a
l
u
e
d
a
t
a
s
t
o
r
e
u
s
e
d
f
o
r
c
a
c
h
i
n
g
.
C
L
I
L
i
b
r
a
r
i
e
s
f
o
r
e
v
e
r
y
t
h
i
n
g
r
e
l
a
t
e
d
t
o
t
h
e
C
L
I
.
●
A
S
C
I
I
T
a
b
l
e
-
L
i
b
r
a
r
y
t
o
d
r
a
w
t
a
b
l
e
s
i
n
A
S
C
I
I
.
●
A
i
r
l
i
n
e
-
A
n
n
o
t
a
t
i
o
n
-
b
a
s
e
d
f
r
a
m
e
w
o
r
k
f
o
r
p
a
r
s
i
n
g
G
i
t
-
l
i
k
e
c
o
m
m
a
n
d
-
l
i
n
e
a
r
g
u
m
e
n
t
s
.
●
a
r
g
s
4
j
-
S
m
a
l
l
l
i
b
r
a
r
y
t
o
p
a
r
s
e
c
o
m
m
a
n
d
-
l
i
n
e
a
r
g
u
m
e
n
t
s
.
●
J
a
n
s
i
-
A
N
S
I
e
s
c
a
p
e
c
o
d
e
s
t
o
f
o
r
m
a
t
c
o
n
s
o
l
e
o
u
t
p
u
t
.
●
J
a
v
a
A
S
C
I
I
R
e
n
d
e
r
-
G
r
a
p
h
i
c
a
l
p
r
i
m
i
t
i
v
e
s
f
o
r
t
h
e
c
o
n
s
o
l
e
.
●
J
C
o
m
m
a
n
d
e
r
-
C
o
m
m
a
n
d
-
l
i
n
e
a
r
g
u
m
e
n
t
-
p
a
r
s
i
n
g
f
r
a
m
e
w
o
r
k
w
i
t
h
c
u
s
t
o
m
t
y
p
e
s
a
n
d
v
a
l
i
d
a
t
i
o
n
v
i
a
i
m
p
l
e
m
e
n
t
i
n
g
i
n
t
e
r
f
a
c
e
s
.
●
j
b
o
c
k
-
T
y
p
e
s
a
f
e
,
r
e
f
l
e
c
t
i
o
n
-
f
r
e
e
,
a
n
n
o
t
a
t
i
o
n
b
a
s
e
d
c
o
m
m
a
n
d
-
l
i
n
e
p
a
r
s
e
r
.
●
J
e
x
e
r
-
A
d
v
a
n
c
e
d
c
o
n
s
o
l
e
(
a
n
d
S
w
i
n
g
)
t
e
x
t
u
s
e
r
i
n
t
e
r
f
a
c
e
(
T
U
I
)
l
i
b
r
a
r
y
,
w
i
t
h
m
o
u
s
e
-
d
r
a
g
g
a
b
l
e
w
i
n
d
o
w
s
,
b
u
i
l
t
-
i
n
t
e
r
m
i
n
a
l
w
i
n
d
o
w
m
a
n
a
g
e
r
,
a
n
d
s
i
x
e
l
i
m
a
g
e
s
u
p
p
o
r
t
.
L
o
o
k
s
l
i
k
e
T
u
r
b
o
V
i
s
i
o
n
.
●
J
L
i
n
e
-
I
n
c
l
u
d
e
s
f
e
a
t
u
r
e
s
f
r
o
m
m
o
d
e
r
n
s
h
e
l
l
s
l
i
k
e
c
o
m
p
l
e
t
i
o
n
o
r
h
i
s
t
o
r
y
.
●
J
O
p
t
S
i
m
p
l
e
-
F
l
u
e
n
t
p
a
r
s
e
r
t
h
a
t
u
s
e
s
t
h
e
P
O
S
I
X
#
g
e
t
o
p
t
a
n
d
G
N
U
#
g
e
t
o
p
t
_
l
o
n
g
s
y
n
t
a
x
e
s
.
●
p
i
c
o
c
l
i
-
A
N
S
I
c
o
l
o
r
s
a
n
d
s
t
y
l
e
s
i
n
u
s
a
g
e
h
e
l
p
w
i
t
h
a
n
n
o
t
a
t
i
o
n
-
b
a
s
e
d
P
O
S
I
X
/
G
N
U
/
a
n
y
s
y
n
t
a
x
,
s
u
b
c
o
m
m
a
n
d
s
,
s
t
r
o
n
g
t
y
p
i
n
g
f
o
r
b
o
t
h
o
p
t
i
o
n
s
a
n
d
p
o
s
i
t
i
o
n
a
l
a
r
g
s
.
●
T
e
x
t
-
I
O
-
A
i
d
s
t
h
e
c
r
e
a
t
i
o
n
o
f
f
u
l
l
c
o
n
s
o
l
e
-
b
a
s
e
d
a
p
p
l
i
c
a
t
i
o
n
s
.
●
L
a
n
t
e
r
n
a
-
E
a
s
y
c
o
n
s
o
l
e
t
e
x
t
-
G
U
I
l
i
b
r
a
r
y
,
s
i
m
i
l
a
r
t
o
c
u
r
s
e
s
.
(
L
G
P
L
-
3
.
0
-
o
n
l
y
)
C
l
u
s
t
e
r
M
a
n
a
g
e
m
e
n
t
F
r
a
m
e
w
o
r
k
s
t
h
a
t
c
a
n
d
y
n
a
m
i
c
a
l
l
y
m
a
n
a
g
e
a
p
p
l
i
c
a
t
i
o
n
s
i
n
s
i
d
e
o
f
a
c
l
u
s
t
e
r
.
●
A
p
a
c
h
e
A
u
r
o
r
a
-
M
e
s
o
s
f
r
a
m
e
w
o
r
k
f
o
r
l
o
n
g
-
r
u
n
n
i
n
g
s
e
r
v
i
c
e
s
a
n
d
c
r
o
n
j
o
b
s
.
●
S
i
n
g
u
l
a
r
i
t
y
-
M
e
s
o
s
f
r
a
m
e
w
o
r
k
t
h
a
t
m
a
k
e
s
d
e
p
l
o
y
m
e
n
t
a
n
d
o
p
e
r
a
t
i
o
n
s
e
a
s
y
.
I
t
s
u
p
p
o
r
t
s
w
e
b
s
e
r
v
i
c
e
s
,
b
a
c
k
g
r
o
u
n
d
w
o
r
k
e
r
s
,
s
c
h
e
d
u
l
e
d
j
o
b
s
,
a
n
d
o
n
e
-
o
f
f
t
a
s
k
s
.
C
o
d
e
A
n
a
l
y
s
i
s
T
o
o
l
s
t
h
a
t
p
r
o
v
i
d
e
m
e
t
r
i
c
s
a
n
d
q
u
a
l
i
t
y
m
e
a
s
u
r
e
m
e
n
t
s
.
●
C
h
e
c
k
s
t
y
l
e
-
S
t
a
t
i
c
a
n
a
l
y
s
i
s
o
f
c
o
d
i
n
g
c
o
n
v
e
n
t
i
o
n
s
a
n
d
s
t
a
n
d
a
r
d
s
.
(
L
G
P
L
-
2
.
1
-
o
r
-
l
a
t
e
r
)
●
E
r
r
o
r
P
r
o
n
e
-
C
a
t
c
h
e
s
c
o
m
m
o
n
p
r
o
g
r
a
m
m
i
n
g
m
i
s
t
a
k
e
s
a
s
c
o
m
p
i
l
e
-
t
i
m
e
e
r
r
o
r
s
.
●
I
n
f
e
r
-
M
o
d
e
r
n
s
t
a
t
i
c
a
n
a
l
y
s
i
s
t
o
o
l
f
o
r
v
e
r
i
f
y
i
n
g
t
h
e
c
o
r
r
e
c
t
n
e
s
s
o
f
c
o
d
e
.
●
j
Q
A
s
s
i
s
t
a
n
t
-
S
t
a
t
i
c
c
o
d
e
a
n
a
l
y
s
i
s
w
i
t
h
N
e
o
4
J
-
b
a
s
e
d
q
u
e
r
y
l
a
n
g
u
a
g
e
.
(
G
P
L
-
3
.
0
-
o
n
l
y
)
●
N
u
l
l
A
w
a
y
-
E
l
i
m
i
n
a
t
e
s
N
u
l
l
P
o
i
n
t
e
r
E
x
c
e
p
t
i
o
n
s
w
i
t
h
l
o
w
b
u
i
l
d
-
t
i
m
e
o
v
e
r
h
e
a
d
.
●
P
M
D
-
S
o
u
r
c
e
c
o
d
e
a
n
a
l
y
s
i
s
f
o
r
f
i
n
d
i
n
g
b
a
d
c
o
d
i
n
g
p
r
a
c
t
i
c
e
s
.
●
S
o
n
a
r
J
a
v
a
-
S
t
a
t
i
c
a
n
a
l
y
z
e
r
f
o
r
S
o
n
a
r
Q
u
b
e
&
S
o
n
a
r
L
i
n
t
.
(
L
G
P
L
-
3
.
0
-
o
n
l
y
)
●
S
o
u
r
c
e
t
r
a
i
l
-
V
i
s
u
a
l
s
o
u
r
c
e
c
o
d
e
n
a
v
i
g
a
t
o
r
.
●
S
p
o
o
n
-
L
i
b
r
a
r
y
f
o
r
a
n
a
l
y
z
i
n
g
a
n
d
t
r
a
n
s
f
o
r
m
i
n
g
J
a
v
a
s
o
u
r
c
e
c
o
d
e
.
●
S
p
o
t
b
u
g
s
-
S
t
a
t
i
c
a
n
a
l
y
s
i
s
o
f
b
y
t
e
c
o
d
e
t
o
f
i
n
d
p
o
t
e
n
t
i
a
l
b
u
g
s
.
(
L
G
P
L
-
2
.
1
-
o
n
l
y
)
C
o
d
e
C
o
v
e
r
a
g
e
F
r
a
m
e
w
o
r
k
s
a
n
d
t
o
o
l
s
t
h
a
t
e
n
a
b
l
e
c
o
d
e
c
o
v
e
r
a
g
e
m
e
t
r
i
c
s
c
o
l
l
e
c
t
i
o
n
f
o
r
t
e
s
t
s
u
i
t
e
s
.
●
C
l
o
v
e
r
-
R
e
l
i
e
s
o
n
s
o
u
r
c
e
-
c
o
d
e
i
n
s
t
r
u
m
e
n
t
a
t
i
o
n
i
n
s
t
e
a
d
o
f
b
y
t
e
c
o
d
e
i
n
s
t
r
u
m
e
n
t
a
t
i
o
n
.
●
C
o
b
e
r
t
u
r
a
-
R
e
l
i
e
s
o
n
o
f
f
l
i
n
e
(
o
r
s
t
a
t
i
c
)
b
y
t
e
c
o
d
e
i
n
s
t
r
u
m
e
n
t
a
t
i
o
n
a
n
d
c
l
a
s
s
l
o
a
d
i
n
g
t
o
c
o
l
l
e
c
t
c
o
d
e
c
o
v
e
r
a
g
e
m
e
t
r
i
c
s
.
(
G
P
L
-
2
.
0
-
o
n
l
y
)
●
J
a
C
o
C
o
-
F
r
a
m
e
w
o
r
k
t
h
a
t
e
n
a
b
l
e
s
c
o
l
l
e
c
t
i
o
n
o
f
c
o
d
e
c
o
v
e
r
a
g
e
m
e
t
r
i
c
s
,
u
s
i
n
g
b
o
t
h
o
f
f
l
i
n
e
a
n
d
r
u
n
t
i
m
e
b
y
t
e
c
o
d
e
i
n
s
t
r
u
m
e
n
t
a
t
i
o
n
.
C
o
d
e
G
e
n
e
r
a
t
o
r
s
T
o
o
l
s
t
h
a
t
g
e
n
e
r
a
t
e
p
a
t
t
e
r
n
s
f
o
r
r
e
p
e
t
i
t
i
v
e
c
o
d
e
i
n
o
r
d
e
r
t
o
r
e
d
u
c
e
v
e
r
b
o
s
i
t
y
a
n
d
e
r
r
o
r
-
p
r
o
n
e
n
e
s
s
.
●
A
D
T
4
J
-
J
S
R
-
2
6
9
c
o
d
e
g
e
n
e
r
a
t
o
r
f
o
r
a
l
g
e
b
r
a
i
c
d
a
t
a
t
y
p
e
s
.
●
A
u
t
o
-
G
e
n
e
r
a
t
e
s
f
a
c
t
o
r
y
,
s
e
r
v
i
c
e
,
a
n
d
v
a
l
u
e
c
l
a
s
s
e
s
.
●
F
r
e
e
B
u
i
l
d
e
r
-
A
u
t
o
m
a
t
i
c
a
l
l
y
g
e
n
e
r
a
t
e
s
t
h
e
B
u
i
l
d
e
r
p
a
t
t
e
r
n
.
●
I
m
m
u
t
a
b
l
e
s
-
A
n
n
o
t
a
t
i
o
n
p
r
o
c
e
s
s
o
r
s
t
o
g
e
n
e
r
a
t
e
s
i
m
p
l
e
,
s
a
f
e
a
n
d
c
o
n
s
i
s
t
e
n
t
v
a
l
u
e
o
b
j
e
c
t
s
.
●
J
a
v
a
P
o
e
t
-
A
P
I
t
o
g
e
n
e
r
a
t
e
s
o
u
r
c
e
f
i
l
e
s
.
●
J
H
i
p
s
t
e
r
-
Y
e
o
m
a
n
s
o
u
r
c
e
c
o
d
e
g
e
n
e
r
a
t
o
r
f
o
r
S
p
r
i
n
g
B
o
o
t
a
n
d
A
n
g
u
l
a
r
J
S
.
●
J
o
d
a
-
B
e
a
n
s
-
S
m
a
l
l
f
r
a
m
e
w
o
r
k
t
h
a
t
a
d
d
s
q
u
e
r
y
a
b
l
e
p
r
o
p
e
r
t
i
e
s
t
o
J
a
v
a
,
e
n
h
a
n
c
i
n
g
J
a
v
a
B
e
a
n
s
.
●
L
o
m
b
o
k
-
C
o
d
e
g
e
n
e
r
a
t
o
r
t
h
a
t
a
i
m
s
t
o
r
e
d
u
c
e
v
e
r
b
o
s
i
t
y
.
●
T
e
l
o
s
y
s
-
S
i
m
p
l
e
a
n
d
l
i
g
h
t
c
o
d
e
g
e
n
e
r
a
t
o
r
a
v
a
i
l
a
b
l
e
a
s
a
n
E
c
l
i
p
s
e
P
l
u
g
i
n
a
n
d
a
l
s
o
a
s
a
C
L
I
.
C
o
m
p
i
l
e
r
-
c
o
m
p
i
l
e
r
F
r
a
m
e
w
o
r
k
s
t
h
a
t
h
e
l
p
t
o
c
r
e
a
t
e
p
a
r
s
e
r
s
,
i
n
t
e
r
p
r
e
t
e
r
s
o
r
c
o
m
p
i
l
e
r
s
.
●
A
N
T
L
R
-
C
o
m
p
l
e
x
f
u
l
l
-
f
e
a
t
u
r
e
d
f
r
a
m
e
w
o
r
k
f
o
r
t
o
p
-
d
o
w
n
p
a
r
s
i
n
g
.
●
J
a
v
a
C
C
-
P
a
r
s
e
r
g
e
n
e
r
a
t
o
r
t
h
a
t
g
e
n
e
r
a
t
e
s
t
o
p
-
d
o
w
n
p
a
r
s
e
r
s
.
A
l
l
o
w
s
l
e
x
i
c
a
l
s
t
a
t
e
s
w
i
t
c
h
i
n
g
a
n
d
p
e
r
m
i
t
s
e
x
t
e
n
d
e
d
B
N
F
s
p
e
c
i
f
i
c
a
t
i
o
n
s
.
●
J
F
l
e
x
-
L
e
x
i
c
a
l
a
n
a
l
y
z
e
r
g
e
n
e
r
a
t
o
r
.
C
o
m
p
u
t
e
r
V
i
s
i
o
n
L
i
b
r
a
r
i
e
s
w
h
i
c
h
s
e
e
k
t
o
g
a
i
n
h
i
g
h
l
e
v
e
l
i
n
f
o
r
m
a
t
i
o
n
f
r
o
m
i
m
a
g
e
s
a
n
d
v
i
d
e
o
s
.
●
B
o
o
f
C
V
-
L
i
b
r
a
r
y
f
o
r
i
m
a
g
e
p
r
o
c
e
s
s
i
n
g
,
c
a
m
e
r
a
c
a
l
i
b
r
a
t
i
o
n
,
t
r
a
c
k
i
n
g
,
S
F
M
,
M
V
S
,
3
D
v
i
s
i
o
n
,
Q
R
C
o
d
e
a
n
d
m
u
c
h
m
o
r
e
.
●
I
m
a
g
e
J
-
M
e
d
i
c
a
l
i
m
a
g
e
p
r
o
c
e
s
s
i
n
g
a
p
p
l
i
c
a
t
i
o
n
w
i
t
h
a
n
A
P
I
.
●
J
a
v
a
C
V
-
J
a
v
a
i
n
t
e
r
f
a
c
e
t
o
O
p
e
n
C
V
,
F
F
m
p
e
g
,
a
n
d
m
u
c
h
m
o
r
e
.
C
o
n
f
i
g
u
r
a
t
i
o
n
L
i
b
r
a
r
i
e
s
t
h
a
t
p
r
o
v
i
d
e
e
x
t
e
r
n
a
l
c
o
n
f
i
g
u
r
a
t
i
o
n
.
●
c
e
n
t
r
a
l
d
o
g
m
a
-
H
i
g
h
l
y
-
a
v
a
i
l
a
b
l
e
v
e
r
s
i
o
n
-
c
o
n
t
r
o
l
l
e
d
s
e
r
v
i
c
e
c
o
n
f
i
g
u
r
a
t
i
o
n
r
e
p
o
s
i
t
o
r
y
b
a
s
e
d
o
n
G
i
t
,
Z
o
o
K
e
e
p
e
r
a
n
d
H
T
T
P
/
2
.
●
c
f
g
4
j
-
M
o
d
e
r
n
c
o
n
f
i
g
u
r
a
t
i
o
n
l
i
b
r
a
r
y
f
o
r
d
i
s
t
r
i
b
u
t
e
d
a
p
p
s
w
r
i
t
t
e
n
i
n
J
a
v
a
.
●
c
o
n
f
i
g
-
C
o
n
f
i
g
u
r
a
t
i
o
n
l
i
b
r
a
r
y
s
u
p
p
o
r
t
i
n
g
J
a
v
a
p
r
o
p
e
r
t
i
e
s
,
J
S
O
N
o
r
i
t
s
h
u
m
a
n
o
p
t
i
m
i
z
e
d
s
u
p
e
r
s
e
t
H
O
C
O
N
.
●
C
o
n
f
i
g
u
r
a
t
e
-
C
o
n
f
i
g
u
r
a
t
i
o
n
l
i
b
r
a
r
y
w
i
t
h
s
u
p
p
o
r
t
f
o
r
v
a
r
i
o
u
s
c
o
n
f
i
g
u
r
a
t
i
o
n
f
o
r
m
a
t
s
a
n
d
t
r
a
n
s
f
o
r
m
a
t
i
o
n
s
.
●
d
o
t
e
n
v
-
T
w
e
l
v
e
-
f
a
c
t
o
r
c
o
n
f
i
g
u
r
a
t
i
o
n
l
i
b
r
a
r
y
w
h
i
c
h
u
s
e
s
e
n
v
i
r
o
n
m
e
n
t
-
s
p
e
c
i
f
i
c
f
i
l
e
s
.
●
i
n
i
4
j
-
P
r
o
v
i
d
e
s
a
n
A
P
I
f
o
r
h
a
n
d
l
i
n
g
W
i
n
d
o
w
s
'
I
N
I
f
i
l
e
s
.
●
K
A
C
o
n
f
-
A
n
n
o
t
a
t
i
o
n
-
b
a
s
e
d
c
o
n
f
i
g
u
r
a
t
i
o
n
s
y
s
t
e
m
f
o
r
J
a
v
a
a
n
d
K
o
t
l
i
n
.
●
m
i
c
r
o
c
o
n
f
i
g
-
C
o
n
f
i
g
u
r
a
t
i
o
n
s
y
s
t
e
m
d
e
s
i
g
n
e
d
f
o
r
m
i
c
r
o
s
e
r
v
i
c
e
s
w
h
i
c
h
h
e
l
p
s
t
o
s
e
p
a
r
a
t
e
c
o
n
f
i
g
u
r
a
t
i
o
n
f
r
o
m
c
o
d
e
.
T
h
e
c
o
n
f
i
g
u
r
a
t
i
o
n
f
o
r
d
i
f
f
e
r
e
n
t
s
e
r
v
i
c
e
s
c
a
n
h
a
v
e
c
o
m
m
o
n
a
n
d
s
p
e
c
i
f
i
c
p
a
r
t
s
a
n
d
c
a
n
b
e
d
y
n
a
m
i
c
a
l
l
y
d
i
s
t
r
i
b
u
t
e
d
.
●
o
w
n
e
r
-
R
e
d
u
c
e
s
b
o
i
l
e
r
p
l
a
t
e
o
f
p
r
o
p
e
r
t
i
e
s
.
C
o
n
s
t
r
a
i
n
t
S
a
t
i
s
f
a
c
t
i
o
n
P
r
o
b
l
e
m
S
o
l
v
e
r
L
i
b
r
a
r
i
e
s
t
h
a
t
h
e
l
p
w
i
t
h
i
m
p
l
e
m
e
n
t
i
n
g
o
p
t
i
m
i
z
a
t
i
o
n
a
n
d
s
a
t
i
s
f
i
a
b
i
l
i
t
y
p
r
o
b
l
e
m
s
.
●
C
h
o
c
o
-
O
f
f
-
t
h
e
-
s
h
e
l
f
c
o
n
s
t
r
a
i
n
t
s
a
t
i
s
f
a
c
t
i
o
n
p
r
o
b
l
e
m
s
o
l
v
e
r
t
h
a
t
u
s
e
s
c
o
n
s
t
r
a
i
n
t
p
r
o
g
r
a
m
m
i
n
g
t
e
c
h
n
i
q
u
e
s
.
●
J
a
C
o
P
-
I
n
c
l
u
d
e
s
a
n
i
n
t
e
r
f
a
c
e
f
o
r
t
h
e
F
l
a
t
Z
i
n
c
l
a
n
g
u
a
g
e
,
e
n
a
b
l
i
n
g
i
t
t
o
e
x
e
c
u
t
e
M
i
n
i
Z
i
n
c
m
o
d
e
l
s
.
(
A
G
P
L
-
3
.
0
)
●
O
p
t
a
P
l
a
n
n
e
r
-
B
u
s
i
n
e
s
s
p
l
a
n
n
i
n
g
a
n
d
r
e
s
o
u
r
c
e
s
c
h
e
d
u
l
i
n
g
o
p
t
i
m
i
z
a
t
i
o
n
s
o
l
v
e
r
.
C
S
V
F
r
a
m
e
w
o
r
k
s
a
n
d
l
i
b
r
a
r
i
e
s
t
h
a
t
s
i
m
p
l
i
f
y
r
e
a
d
i
n
g
/
w
r
i
t
i
n
g
C
S
V
d
a
t
a
.
●
j
a
c
k
s
o
n
-
d
a
t
a
f
o
r
m
a
t
-
c
s
v
-
J
a
c
k
s
o
n
e
x
t
e
n
s
i
o
n
f
o
r
r
e
a
d
i
n
g
a
n
d
w
r
i
t
i
n
g
C
S
V
.
●
o
p
e
n
c
s
v
-
S
i
m
p
l
e
C
S
V
p
a
r
s
e
r
.
●
S
u
p
e
r
C
S
V
-
P
o
w
e
r
f
u
l
C
S
V
p
a
r
s
e
r
w
i
t
h
s
u
p
p
o
r
t
f
o
r
D
o
z
e
r
,
J
o
d
a
-
T
i
m
e
a
n
d
J
a
v
a
8
.
●
u
n
i
V
o
c
i
t
y
-
p
a
r
s
e
r
s
-
O
n
e
o
f
t
h
e
f
a
s
t
e
s
t
a
n
d
m
o
s
t
f
e
a
t
u
r
e
-
c
o
m
p
l
e
t
e
p
a
r
s
e
r
s
.
A
l
s
o
c
o
m
e
s
w
i
t
h
p
a
r
s
e
r
s
f
o
r
T
S
V
a
n
d
f
i
x
e
d
-
w
i
d
t
h
r
e
c
o
r
d
s
.
D
a
t
a
S
t
r
u
c
t
u
r
e
s
E
f
f
i
c
i
e
n
t
a
n
d
s
p
e
c
i
f
i
c
d
a
t
a
s
t
r
u
c
t
u
r
e
s
.
●
A
p
a
c
h
e
A
v
r
o
-
D
a
t
a
i
n
t
e
r
c
h
a
n
g
e
f
o
r
m
a
t
w
i
t
h
d
y
n
a
m
i
c
t
y
p
i
n
g
,
u
n
t
a
g
g
e
d
d
a
t
a
,
a
n
d
a
b
s
e
n
c
e
o
f
m
a
n
u
a
l
l
y
a
s
s
i
g
n
e
d
I
D
s
.
●
A
p
a
c
h
e
O
r
c
-
F
a
s
t
a
n
d
e
f
f
i
c
i
e
n
t
c
o
l
u
m
n
a
r
s
t
o
r
a
g
e
f
o
r
m
a
t
f
o
r
H
a
d
o
o
p
-
b
a
s
e
d
w
o
r
k
l
o
a
d
s
.
●
A
p
a
c
h
e
P
a
r
q
u
e
t
-
C
o
l
u
m
n
a
r
s
t
o
r
a
g
e
f
o
r
m
a
t
b
a
s
e
d
o
n
a
s
s
e
m
b
l
y
a
l
g
o
r
i
t
h
m
s
f
r
o
m
G
o
o
g
l
e
'
s
p
a
p
e
r
o
n
D
r
e
m
e
l
.
●
A
p
a
c
h
e
T
h
r
i
f
t
-
D
a
t
a
i
n
t
e
r
c
h
a
n
g
e
f
o
r
m
a
t
t
h
a
t
o
r
i
g
i
n
a
t
e
d
a
t
F
a
c
e
b
o
o
k
.
●
B
i
g
Q
u
e
u
e
-
F
a
s
t
a
n
d
p
e
r
s
i
s
t
e
n
t
q
u
e
u
e
b
a
s
e
d
o
n
m
e
m
o
r
y
-
m
a
p
p
e
d
f
i
l
e
s
.
●
H
y
p
e
r
M
i
n
H
a
s
h
-
j
a
v
a
-
P
r
o
b
a
b
i
l
i
s
t
i
c
d
a
t
a
s
t
r
u
c
t
u
r
e
f
o
r
c
o
m
p
u
t
i
n
g
u
n
i
o
n
,
i
n
t
e
r
s
e
c
t
i
o
n
,
a
n
d
s
e
t
c
a
r
d
i
n
a
l
i
t
y
i
n
l
o
g
l
o
g
s
p
a
c
e
.
●
P
e
r
s
i
s
t
e
n
t
C
o
l
l
e
c
t
i
o
n
-
P
e
r
s
i
s
t
e
n
t
a
n
d
i
m
m
u
t
a
b
l
e
a
n
a
l
o
g
u
e
o
f
t
h
e
J
a
v
a
C
o
l
l
e
c
t
i
o
n
s
F
r
a
m
e
w
o
r
k
.
●
P
r
o
t
o
b
u
f
-
G
o
o
g
l
e
'
s
d
a
t
a
i
n
t
e
r
c
h
a
n
g
e
f
o
r
m
a
t
.
●
R
o
a
r
i
n
g
B
i
t
m
a
p
-
F
a
s
t
a
n
d
e
f
f
i
c
i
e
n
t
c
o
m
p
r
e
s
s
e
d
b
i
t
m
a
p
.
●
S
B
E
-
S
i
m
p
l
e
B
i
n
a
r
y
E
n
c
o
d
i
n
g
,
o
n
e
o
f
t
h
e
f
a
s
t
e
s
t
m
e
s
s
a
g
e
f
o
r
m
a
t
s
a
r
o
u
n
d
.
●
T
a
p
e
-
L
i
g
h
t
n
i
n
g
-
f
a
s
t
,
t
r
a
n
s
a
c
t
i
o
n
a
l
,
f
i
l
e
-
b
a
s
e
d
F
I
F
O
.
●
W
i
r
e
-
C
l
e
a
n
,
l
i
g
h
t
w
e
i
g
h
t
p
r
o
t
o
c
o
l
b
u
f
f
e
r
s
.
D
a
t
a
b
a
s
e
E
v
e
r
y
t
h
i
n
g
t
h
a
t
s
i
m
p
l
i
f
i
e
s
i
n
t
e
r
a
c
t
i
o
n
s
w
i
t
h
t
h
e
d
a
t
a
b
a
s
e
.
●
A
p
a
c
h
e
C
a
l
c
i
t
e
-
D
y
n
a
m
i
c
d
a
t
a
m
a
n
a
g
e
m
e
n
t
f
r
a
m
e
w
o
r
k
.
I
t
c
o
n
t
a
i
n
s
m
a
n
y
o
f
t
h
e
p
i
e
c
e
s
t
h
a
t
c
o
m
p
r
i
s
e
a
t
y
p
i
c
a
l
d
a
t
a
b
a
s
e
m
a
n
a
g
e
m
e
n
t
s
y
s
t
e
m
.
●
A
p
a
c
h
e
D
r
i
l
l
-
D
i
s
t
r
i
b
u
t
e
d
,
s
c
h
e
m
a
o
n
-
t
h
e
-
f
l
y
,
A
N
S
I
S
Q
L
q
u
e
r
y
e
n
g
i
n
e
f
o
r
B
i
g
D
a
t
a
e
x
p
l
o
r
a
t
i
o
n
.
●
A
p
a
c
h
e
P
h
o
e
n
i
x
-
H
i
g
h
-
p
e
r
f
o
r
m
a
n
c
e
r
e
l
a
t
i
o
n
a
l
d
a
t
a
b
a
s
e
l
a
y
e
r
o
v
e
r
H
B
a
s
e
f
o
r
l
o
w
-
l
a
t
e
n
c
y
a
p
p
l
i
c
a
t
i
o
n
s
.
●
A
r
a
n
o
D
B
-
A
r
a
n
g
o
D
B
J
a
v
a
d
r
i
v
e
r
.
●
C
h
r
o
n
i
c
l
e
M
a
p
-
E
f
f
i
c
i
e
n
t
,
i
n
-
m
e
m
o
r
y
(
o
p
t
.
p
e
r
s
i
s
t
e
d
t
o
d
i
s
k
)
,
o
f
f
-
h
e
a
p
k
e
y
-
v
a
l
u
e
s
t
o
r
e
.
●
D
e
b
e
z
i
u
m
-
L
o
w
l
a
t
e
n
c
y
d
a
t
a
s
t
r
e
a
m
i
n
g
p
l
a
t
f
o
r
m
f
o
r
c
h
a
n
g
e
d
a
t
a
c
a
p
t
u
r
e
.
●
d
r
u
i
d
-
H
i
g
h
-
p
e
r
f
o
r
m
a
n
c
e
,
c
o
l
u
m
n
-
o
r
i
e
n
t
e
d
,
d
i
s
t
r
i
b
u
t
e
d
d
a
t
a
s
t
o
r
e
.
●
e
X
i
s
t
-
N
o
S
Q
L
d
o
c
u
m
e
n
t
d
a
t
a
b
a
s
e
a
n
d
a
p
p
l
i
c
a
t
i
o
n
p
l
a
t
f
o
r
m
.
(
L
G
P
L
-
2
.
1
-
o
n
l
y
)
●
F
l
e
x
y
P
o
o
l
-
B
r
i
n
g
s
m
e
t
r
i
c
s
a
n
d
f
a
i
l
o
v
e
r
s
t
r
a
t
e
g
i
e
s
t
o
t
h
e
m
o
s
t
c
o
m
m
o
n
c
o
n
n
e
c
t
i
o
n
p
o
o
l
i
n
g
s
o
l
u
t
i
o
n
s
.
●
F
l
y
w
a
y
-
S
i
m
p
l
e
d
a
t
a
b
a
s
e
m
i
g
r
a
t
i
o
n
t
o
o
l
.
●
H
2
-
S
m
a
l
l
S
Q
L
d
a
t
a
b
a
s
e
n
o
t
a
b
l
e
f
o
r
i
t
s
i
n
-
m
e
m
o
r
y
f
u
n
c
t
i
o
n
a
l
i
t
y
.
●
H
i
k
a
r
i
C
P
-
H
i
g
h
-
p
e
r
f
o
r
m
a
n
c
e
J
D
B
C
c
o
n
n
e
c
t
i
o
n
p
o
o
l
.
●
J
D
B
I
-
C
o
n
v
e
n
i
e
n
t
a
b
s
t
r
a
c
t
i
o
n
o
f
J
D
B
C
.
●
J
e
d
i
s
-
S
m
a
l
l
c
l
i
e
n
t
f
o
r
i
n
t
e
r
a
c
t
i
o
n
w
i
t
h
R
e
d
i
s
,
w
i
t
h
m
e
t
h
o
d
s
f
o
r
c
o
m
m
a
n
d
s
.
●
J
e
s
t
-
C
l
i
e
n
t
f
o
r
t
h
e
E
l
a
s
t
i
c
s
e
a
r
c
h
R
E
S
T
A
P
I
.
●
j
e
t
c
d
-
C
l
i
e
n
t
l
i
b
r
a
r
y
f
o
r
e
t
c
d
.
●
J
i
n
q
-
T
y
p
e
s
a
f
e
d
a
t
a
b
a
s
e
q
u
e
r
i
e
s
v
i
a
s
y
m
b
o
l
i
c
e
x
e
c
u
t
i
o
n
o
f
J
a
v
a
8
L
a
m
b
d
a
s
(
o
n
t
o
p
o
f
J
P
A
o
r
j
O
O
Q
)
.
●
j
O
O
Q
-
G
e
n
e
r
a
t
e
s
t
y
p
e
s
a
f
e
c
o
d
e
b
a
s
e
d
o
n
S
Q
L
s
c
h
e
m
a
.
●
L
e
a
f
-
D
i
s
t
r
i
b
u
t
e
d
I
D
g
e
n
e
r
a
t
e
s
e
r
v
i
c
e
.
●
L
i
q
u
i
b
a
s
e
-
D
a
t
a
b
a
s
e
-
i
n
d
e
p
e
n
d
e
n
t
l
i
b
r
a
r
y
f
o
r
t
r
a
c
k
i
n
g
,
m
a
n
a
g
i
n
g
a
n
d
a
p
p
l
y
i
n
g
d
a
t
a
b
a
s
e
s
c
h
e
m
a
c
h
a
n
g
e
s
.
●
M
a
p
D
B
-
E
m
b
e
d
d
e
d
d
a
t
a
b
a
s
e
e
n
g
i
n
e
t
h
a
t
p
r
o
v
i
d
e
s
c
o
n
c
u
r
r
e
n
t
c
o
l
l
e
c
t
i
o
n
s
b
a
c
k
e
d
o
n
d
i
s
k
o
r
i
n
o
f
f
-
h
e
a
p
m
e
m
o
r
y
.
●
M
a
r
i
a
D
B
4
j
-
L
a
u
n
c
h
e
r
f
o
r
M
a
r
i
a
D
B
t
h
a
t
r
e
q
u
i
r
e
s
n
o
i
n
s
t
a
l
l
a
t
i
o
n
o
r
e
x
t
e
r
n
a
l
d
e
p
e
n
d
e
n
c
i
e
s
.
●
M
o
d
a
l
i
t
y
-
L
i
g
h
t
w
e
i
g
h
t
O
R
M
w
i
t
h
d
a
t
a
b
a
s
e
r
e
v
e
r
s
e
e
n
g
i
n
e
e
r
i
n
g
f
e
a
t
u
r
e
s
.
●
P
r
e
s
t
o
-
D
i
s
t
r
i
b
u
t
e
d
S
Q
L
q
u
e
r
y
e
n
g
i
n
e
f
o
r
b
i
g
d
a
t
a
.
●
Q
u
e
r
y
S
t
r
e
a
m
-
B
u
i
l
d
J
P
A
C
r
i
t
e
r
i
a
q
u
e
r
i
e
s
u
s
i
n
g
a
S
t
r
e
a
m
-
l
i
k
e
A
P
I
.
●
Q
u
e
r
y
d
s
l
-
T
y
p
e
s
a
f
e
u
n
i
f
i
e
d
q
u
e
r
i
e
s
.
●
R
e
a
l
m
-
M
o
b
i
l
e
d
a
t
a
b
a
s
e
t
o
r
u
n
d
i
r
e
c
t
l
y
i
n
s
i
d
e
p
h
o
n
e
s
,
t
a
b
l
e
t
s
o
r
w
e
a
r
a
b
l
e
s
.
●
R
e
d
i
s
s
o
n
-
A
l
l
o
w
s
f
o
r
d
i
s
t
r
i
b
u
t
e
d
a
n
d
s
c
a
l
a
b
l
e
d
a
t
a
s
t
r
u
c
t
u
r
e
s
o
n
t
o
p
o
f
a
R
e
d
i
s
s
e
r
v
e
r
.
●
r
e
q
u
e
r
y
-
M
o
d
e
r
n
,
l
i
g
h
t
w
e
i
g
h
t
b
u
t
p
o
w
e
r
f
u
l
o
b
j
e
c
t
m
a
p
p
i
n
g
a
n
d
S
Q
L
g
e
n
e
r
a
t
o
r
.
E
a
s
i
l
y
m
a
p
t
o
o
r
c
r
e
a
t
e
d
a
t
a
b
a
s
e
s
,
o
r
p
e
r
f
o
r
m
q
u
e
r
i
e
s
a
n
d
u
p
d
a
t
e
s
f
r
o
m
a
n
y
J
a
v
a
-
u
s
i
n
g
p
l
a
t
f
o
r
m
.
●
S
p
e
e
d
m
e
n
t
-
D
a
t
a
b
a
s
e
a
c
c
e
s
s
l
i
b
r
a
r
y
t
h
a
t
u
t
i
l
i
z
e
s
J
a
v
a
8
'
s
S
t
r
e
a
m
A
P
I
f
o
r
q
u
e
r
y
i
n
g
.
●
s
q
l
2
o
-
T
h
i
n
J
D
B
C
w
r
a
p
p
e
r
t
h
a
t
s
i
m
p
l
i
f
i
e
s
d
a
t
a
b
a
s
e
a
c
c
e
s
s
a
n
d
p
r
o
v
i
d
e
s
s
i
m
p
l
e
m
a
p
p
i
n
g
o
f
R
e
s
u
l
t
S
e
t
s
t
o
P
O
J
O
s
.
●
V
i
b
u
r
D
B
C
P
-
J
D
B
C
c
o
n
n
e
c
t
i
o
n
p
o
o
l
l
i
b
r
a
r
y
w
i
t
h
a
d
v
a
n
c
e
d
p
e
r
f
o
r
m
a
n
c
e
m
o
n
i
t
o
r
i
n
g
c
a
p
a
b
i
l
i
t
i
e
s
.
●
X
o
d
u
s
-
H
i
g
h
l
y
c
o
n
c
u
r
r
e
n
t
t
r
a
n
s
a
c
t
i
o
n
a
l
s
c
h
e
m
a
-
l
e
s
s
a
n
d
A
C
I
D
-
c
o
m
p
l
i
a
n
t
e
m
b
e
d
d
e
d
d
a
t
a
b
a
s
e
.
D
a
t
e
a
n
d
T
i
m
e
L
i
b
r
a
r
i
e
s
r
e
l
a
t
e
d
t
o
h
a
n
d
l
i
n
g
d
a
t
e
a
n
d
t
i
m
e
.
●
A
l
m
a
n
a
c
C
o
n
v
e
r
t
e
r
-
S
i
m
p
l
e
c
o
n
v
e
r
s
i
o
n
b
e
t
w
e
e
n
d
i
f
f
e
r
e
n
t
c
a
l
e
n
d
a
r
s
y
s
t
e
m
s
.
●
i
C
a
l
4
j
-
P
a
r
s
e
a
n
d
b
u
i
l
d
i
C
a
l
e
n
d
a
r
R
F
C
5
5
4
5
d
a
t
a
m
o
d
e
l
s
.
●
T
h
r
e
e
T
e
n
-
E
x
t
r
a
-
A
d
d
i
t
i
o
n
a
l
d
a
t
e
-
t
i
m
e
c
l
a
s
s
e
s
t
h
a
t
c
o
m
p
l
e
m
e
n
t
t
h
o
s
e
i
n
J
D
K
8
.
●
T
i
m
e
4
J
-
A
d
v
a
n
c
e
d
d
a
t
e
a
n
d
t
i
m
e
l
i
b
r
a
r
y
.
(
L
G
P
L
-
2
.
1
-
o
n
l
y
)
D
e
p
e
n
d
e
n
c
y
I
n
j
e
c
t
i
o
n
L
i
b
r
a
r
i
e
s
t
h
a
t
h
e
l
p
t
o
r
e
a
l
i
z
e
t
h
e
I
n
v
e
r
s
i
o
n
o
f
C
o
n
t
r
o
l
p
a
r
a
d
i
g
m
.
●
A
p
a
c
h
e
D
e
l
t
a
S
p
i
k
e
-
C
D
I
e
x
t
e
n
s
i
o
n
f
r
a
m
e
w
o
r
k
.
●
D
a
g
g
e
r
-
C
o
m
p
i
l
e
-
t
i
m
e
i
n
j
e
c
t
i
o
n
f
r
a
m
e
w
o
r
k
w
i
t
h
o
u
t
r
e
f
l
e
c
t
i
o
n
.
●
F
e
a
t
h
e
r
-
U
l
t
r
a
-
l
i
g
h
t
w
e
i
g
h
t
,
J
S
R
-
3
3
0
-
c
o
m
p
l
i
a
n
t
d
e
p
e
n
d
e
n
c
y
i
n
j
e
c
t
i
o
n
l
i
b
r
a
r
y
.
●
G
o
v
e
r
n
a
t
o
r
-
E
x
t
e
n
s
i
o
n
s
a
n
d
u
t
i
l
i
t
i
e
s
t
h
a
t
e
n
h
a
n
c
e
G
o
o
g
l
e
G
u
i
c
e
.
●
G
u
i
c
e
-
L
i
g
h
t
w
e
i
g
h
t
a
n
d
o
p
i
n
i
o
n
a
t
e
d
f
r
a
m
e
w
o
r
k
t
h
a
t
c
o
m
p
l
e
t
e
s
D
a
g
g
e
r
.
●
H
K
2
-
L
i
g
h
t
w
e
i
g
h
t
a
n
d
d
y
n
a
m
i
c
d
e
p
e
n
d
e
n
c
y
i
n
j
e
c
t
i
o
n
f
r
a
m
e
w
o
r
k
.
●
J
a
y
W
i
r
e
-
L
i
g
h
t
w
e
i
g
h
t
d
e
p
e
n
d
e
n
c
y
i
n
j
e
c
t
i
o
n
f
r
a
m
e
w
o
r
k
.
(
L
G
P
L
-
3
.
0
-
o
n
l
y
)
D
e
v
e
l
o
p
m
e
n
t
A
u
g
m
e
n
t
a
t
i
o
n
o
f
t
h
e
d
e
v
e
l
o
p
m
e
n
t
p
r
o
c
e
s
s
a
t
a
f
u
n
d
a
m
e
n
t
a
l
l
e
v
e
l
.
●
A
s
p
e
c
t
J
-
S
e
a
m
l
e
s
s
a
s
p
e
c
t
-
o
r
i
e
n
t
e
d
p
r
o
g
r
a
m
m
i
n
g
e
x
t
e
n
s
i
o
n
.
●
D
C
E
V
M
-
J
V
M
m
o
d
i
f
i
c
a
t
i
o
n
t
h
a
t
a
l
l
o
w
s
u
n
l
i
m
i
t
e
d
r
e
d
e
f
i
n
i
t
i
o
n
o
f
l
o
a
d
e
d
c
l
a
s
s
e
s
a
t
r
u
n
t
i
m
e
.
(
G
P
L
-
2
.
0
-
o
n
l
y
)
●
F
a
u
x
P
a
s
-
L
i
b
r
a
r
y
t
h
a
t
s
i
m
p
l
i
f
i
e
s
e
r
r
o
r
h
a
n
d
l
i
n
g
b
y
c
i
r
c
u
m
v
e
n
t
i
n
g
t
h
e
i
s
s
u
e
t
h
a
t
n
o
n
e
o
f
t
h
e
f
u
n
c
t
i
o
n
a
l
i
n
t
e
r
f
a
c
e
s
i
n
t
h
e
J
a
v
a
R
u
n
t
i
m
e
i
s
a
l
l
o
w
e
d
b
y
d
e
f
a
u
l
t
t
o
t
h
r
o
w
c
h
e
c
k
e
d
e
x
c
e
p
t
i
o
n
s
.
●
H
o
t
s
w
a
p
A
g
e
n
t
-
U
n
l
i
m
i
t
e
d
r
u
n
t
i
m
e
c
l
a
s
s
a
n
d
r
e
s
o
u
r
c
e
r
e
d
e
f
i
n
i
t
i
o
n
.
(
G
P
L
-
2
.
0
-
o
n
l
y
)
●
J
a
v
a
P
a
r
s
e
r
-
P
a
r
s
e
,
m
o
d
i
f
y
a
n
d
g
e
n
e
r
a
t
e
J
a
v
a
c
o
d
e
.
●
J
a
v
a
S
y
m
b
o
l
S
o
l
v
e
r
-
S
y
m
b
o
l
s
o
l
v
e
r
.
●
M
a
n
i
f
o
l
d
-
R
e
-
e
n
e
r
g
i
z
e
s
J
a
v
a
w
i
t
h
p
o
w
e
r
f
u
l
f
e
a
t
u
r
e
s
l
i
k
e
t
y
p
e
-
s
a
f
e
m
e
t
a
p
r
o
g
r
a
m
m
i
n
g
,
s
t
r
u
c
t
u
r
a
l
t
y
p
i
n
g
a
n
d
e
x
t
e
n
s
i
o
n
m
e
t
h
o
d
s
.
●
N
o
E
x
c
e
p
t
i
o
n
-
A
l
l
o
w
s
c
h
e
c
k
e
d
e
x
c
e
p
t
i
o
n
s
i
n
f
u
n
c
t
i
o
n
a
l
i
n
t
e
r
f
a
c
e
s
a
n
d
c
o
n
v
e
r
t
s
e
x
c
e
p
t
i
o
n
s
t
o
O
p
t
i
o
n
a
l
r
e
t
u
r
n
.
●
S
n
e
a
k
y
T
h
r
o
w
-
I
g
n
o
r
e
s
c
h
e
c
k
e
d
e
x
c
e
p
t
i
o
n
s
w
i
t
h
o
u
t
b
y
t
e
c
o
d
e
m
a
n
i
p
u
l
a
t
i
o
n
.
C
a
n
a
l
s
o
b
e
u
s
e
d
i
n
s
i
d
e
J
a
v
a
8
s
t
r
e
a
m
o
p
e
r
a
t
i
o
n
s
.
●
T
a
i
l
-
E
n
a
b
l
e
i
n
f
i
n
i
t
e
r
e
c
u
r
s
i
o
n
u
s
i
n
g
t
a
i
l
c
a
l
l
o
p
t
i
m
i
z
a
t
i
o
n
.
D
i
s
t
r
i
b
u
t
e
d
A
p
p
l
i
c
a
t
i
o
n
s
L
i
b
r
a
r
i
e
s
a
n
d
f
r
a
m
e
w
o
r
k
s
f
o
r
w
r
i
t
i
n
g
d
i
s
t
r
i
b
u
t
e
d
a
n
d
f
a
u
l
t
-
t
o
l
e
r
a
n
t
a
p
p
l
i
c
a
t
i
o
n
s
.
●
A
p
a
c
h
e
G
e
o
d
e
-
I
n
-
m
e
m
o
r
y
d
a
t
a
m
a
n
a
g
e
m
e
n
t
s
y
s
t
e
m
t
h
a
t
p
r
o
v
i
d
e
s
r
e
l
i
a
b
l
e
a
s
y
n
c
h
r
o
n
o
u
s
e
v
e
n
t
n
o
t
i
f
i
c
a
t
i
o
n
s
a
n
d
g
u
a
r
a
n
t
e
e
d
m
e
s
s
a
g
e
d
e
l
i
v
e
r
y
.
●
A
p
a
c
h
e
S
t
o
r
m
-
R
e
a
l
t
i
m
e
c
o
m
p
u
t
a
t
i
o
n
s
y
s
t
e
m
.
●
A
p
a
c
h
e
Z
o
o
K
e
e
p
e
r
-
C
o
o
r
d
i
n
a
t
i
o
n
s
e
r
v
i
c
e
w
i
t
h
d
i
s
t
r
i
b
u
t
e
d
c
o
n
f
i
g
u
r
a
t
i
o
n
,
s
y
n
c
h
r
o
n
i
z
a
t
i
o
n
,
a
n
d
n
a
m
i
n
g
r
e
g
i
s
t
r
y
f
o
r
l
a
r
g
e
d
i
s
t
r
i
b
u
t
e
d
s
y
s
t
e
m
s
.
●
A
t
o
m
i
x
-
F
a
u
l
t
-
t
o
l
e
r
a
n
t
d
i
s
t
r
i
b
u
t
e
d
c
o
o
r
d
i
n
a
t
i
o
n
f
r
a
m
e
w
o
r
k
.
●
A
x
o
n
-
F
r
a
m
e
w
o
r
k
f
o
r
c
r
e
a
t
i
n
g
C
Q
R
S
a
p
p
l
i
c
a
t
i
o
n
s
.
●
D
r
o
p
w
i
z
a
r
d
C
i
r
c
u
i
t
B
r
e
a
k
e
r
-
C
i
r
c
u
i
t
b
r
e
a
k
e
r
d
e
s
i
g
n
p
a
t
t
e
r
n
f
o
r
D
r
o
p
w
i
z
a
r
d
.
(
G
P
L
-
2
.
0
-
o
n
l
y
)
●
F
a
i
l
s
a
f
e
-
S
i
m
p
l
e
f
a
i
l
u
r
e
h
a
n
d
l
i
n
g
w
i
t
h
r
e
t
r
i
e
s
a
n
d
c
i
r
c
u
i
t
b
r
e
a
k
e
r
s
.
●
H
a
z
e
l
c
a
s
t
-
H
i
g
h
l
y
s
c
a
l
a
b
l
e
i
n
-
m
e
m
o
r
y
d
a
t
a
g
r
i
d
w
i
t
h
a
f
r
e
e
o
p
e
n
-
s
o
u
r
c
e
v
e
r
s
i
o
n
.
●
J
G
r
o
u
p
s
-
T
o
o
l
k
i
t
f
o
r
r
e
l
i
a
b
l
e
m
e
s
s
a
g
i
n
g
a
n
d
c
l
u
s
t
e
r
c
r
e
a
t
i
o
n
.
●
Q
u
a
s
a
r
-
L
i
g
h
t
w
e
i
g
h
t
t
h
r
e
a
d
s
a
n
d
a
c
t
o
r
s
f
o
r
t
h
e
J
V
M
.
●
r
e
s
i
l
i
e
n
c
e
4
j
-
F
u
n
c
t
i
o
n
a
l
f
a
u
l
t
t
o
l
e
r
a
n
c
e
l
i
b
r
a
r
y
.
●
S
c
a
l
e
C
u
b
e
S
e
r
v
i
c
e
s
-
E
m
b
e
d
d
a
b
l
e
C
l
u
s
t
e
r
-
M
e
m
b
e
r
s
h
i
p
l
i
b
r
a
r
y
b
a
s
e
d
o
n
S
W
I
M
a
n
d
g
o
s
s
i
p
p
r
o
t
o
c
o
l
.
●
Z
u
u
l
-
G
a
t
e
w
a
y
s
e
r
v
i
c
e
t
h
a
t
p
r
o
v
i
d
e
s
d
y
n
a
m
i
c
r
o
u
t
i
n
g
,
m
o
n
i
t
o
r
i
n
g
,
r
e
s
i
l
i
e
n
c
y
,
s
e
c
u
r
i
t
y
,
a
n
d
m
o
r
e
.
D
i
s
t
r
i
b
u
t
e
d
T
r
a
n
s
a
c
t
i
o
n
s
D
i
s
t
r
i
b
u
t
e
d
t
r
a
n
s
a
c
t
i
o
n
s
p
r
o
v
i
d
e
a
m
e
c
h
a
n
i
s
m
f
o
r
e
n
s
u
r
i
n
g
c
o
n
s
i
s
t
e
n
c
y
o
f
d
a
t
a
u
p
d
a
t
e
s
i
n
t
h
e
p
r
e
s
e
n
c
e
o
f
c
o
n
c
u
r
r
e
n
t
a
c
c
e
s
s
a
n
d
p
a
r
t
i
a
l
f
a
i
l
u
r
e
s
.
●
A
t
o
m
i
k
o
s
-
P
r
o
v
i
d
e
s
t
r
a
n
s
a
c
t
i
o
n
s
f
o
r
R
E
S
T
,
S
O
A
a
n
d
m
i
c
r
o
s
e
r
v
i
c
e
s
w
i
t
h
s
u
p
p
o
r
t
f
o
r
J
T
A
a
n
d
X
A
.
●
B
i
t
r
o
n
i
x
-
S
i
m
p
l
e
b
u
t
c
o
m
p
l
e
t
e
i
m
p
l
e
m
e
n
t
a
t
i
o
n
o
f
t
h
e
J
T
A
1
.
1
A
P
I
.
●
N
a
r
a
y
a
n
a
-
P
r
o
v
i
d
e
s
s
u
p
p
o
r
t
f
o
r
t
r
a
d
i
t
i
o
n
a
l
A
C
I
D
a
n
d
c
o
m
p
e
n
s
a
t
i
o
n
t
r
a
n
s
a
c
t
i
o
n
s
,
a
l
s
o
c
o
m
p
l
i
e
s
w
i
t
h
J
T
A
,
J
T
S
a
n
d
o
t
h
e
r
s
t
a
n
d
a
r
d
s
.
(
L
G
P
L
-
2
.
1
-
o
n
l
y
)
●
S
e
a
t
a
-
D
e
l
i
v
e
r
s
h
i
g
h
p
e
r
f
o
r
m
a
n
c
e
a
n
d
e
a
s
y
t
o
u
s
e
d
i
s
t
r
i
b
u
t
e
d
t
r
a
n
s
a
c
t
i
o
n
s
e
r
v
i
c
e
s
u
n
d
e
r
a
m
i
c
r
o
s
e
r
v
i
c
e
s
a
r
c
h
i
t
e
c
t
u
r
e
.
D
i
s
t
r
i
b
u
t
i
o
n
T
o
o
l
s
t
h
a
t
h
a
n
d
l
e
t
h
e
d
i
s
t
r
i
b
u
t
i
o
n
o
f
a
p
p
l
i
c
a
t
i
o
n
s
i
n
n
a
t
i
v
e
f
o
r
m
a
t
s
.
●
B
o
x
f
u
s
e
-
D
e
p
l
o
y
m
e
n
t
o
f
J
V
M
a
p
p
l
i
c
a
t
i
o
n
s
t
o
A
W
S
u
s
i
n
g
t
h
e
p
r
i
n
c
i
p
l
e
s
o
f
i
m
m
u
t
a
b
l
e
i
n
f
r
a
s
t
r
u
c
t
u
r
e
.
●
C
a
p
s
u
l
e
-
S
i
m
p
l
e
a
n
d
p
o
w
e
r
f
u
l
p
a
c
k
a
g
i
n
g
a
n
d
d
e
p
l
o
y
m
e
n
t
.
A
f
a
t
J
A
R
o
n
s
t
e
r
o
i
d
s
,
o
r
a
"
D
o
c
k
e
r
f
o
r
J
a
v
a
"
t
h
a
t
s
u
p
p
o
r
t
s
J
V
M
-
o
p
t
i
m
i
z
e
d
c
o
n
t
a
i
n
e
r
s
.
●
C
e
n
t
r
a
l
R
e
p
o
s
i
t
o
r
y
-
L
a
r
g
e
s
t
b
i
n
a
r
y
c
o
m
p
o
n
e
n
t
r
e
p
o
s
i
t
o
r
y
a
v
a
i
l
a
b
l
e
a
s
a
f
r
e
e
s
e
r
v
i
c
e
t
o
t
h
e
o
p
e
n
-
s
o
u
r
c
e
c
o
m
m
u
n
i
t
y
.
D
e
f
a
u
l
t
u
s
e
d
b
y
A
p
a
c
h
e
M
a
v
e
n
,
a
n
d
a
v
a
i
l
a
b
l
e
i
n
a
l
l
o
t
h
e
r
b
u
i
l
d
t
o
o
l
s
.
●
C
l
o
u
d
s
m
i
t
h
-
F
u
l
l
y
m
a
n
a
g
e
d
p
a
c
k
a
g
e
m
a
n
a
g
e
m
e
n
t
S
a
a
S
w
i
t
h
s
u
p
p
o
r
t
f
o
r
M
a
v
e
n
/
G
r
a
d
l
e
/
S
B
T
w
i
t
h
a
f
r
e
e
t
i
e
r
.
●
G
e
t
d
o
w
n
-
A
s
y
s
t
e
m
f
o
r
d
e
p
l
o
y
i
n
g
J
a
v
a
a
p
p
l
i
c
a
t
i
o
n
s
t
o
e
n
d
-
u
s
e
r
c
o
m
p
u
t
e
r
s
a
n
d
k
e
e
p
i
n
g
t
h
e
m
u
p
t
o
d
a
t
e
.
D
e
v
e
l
o
p
e
d
a
s
a
n
a
l
t
e
r
n
a
t
i
v
e
t
o
J
a
v
a
W
e
b
S
t
a
r
t
.
●
I
z
P
a
c
k
-
S
e
t
u
p
a
u
t
h
o
r
i
n
g
t
o
o
l
f
o
r
c
r
o
s
s
-
p
l
a
t
f
o
r
m
d
e
p
l
o
y
m
e
n
t
s
.
●
J
a
v
a
P
a
c
k
a
g
e
r
-
M
a
v
e
n
a
n
d
G
r
a
d
l
e
p
l
u
g
i
n
w
h
i
c
h
p
r
o
v
i
d
e
s
a
n
e
a
s
y
w
a
y
t
o
p
a
c
k
a
g
e
J
a
v
a
a
p
p
l
i
c
a
t
i
o
n
s
i
n
n
a
t
i
v
e
W
i
n
d
o
w
s
,
M
a
c
O
S
X
o
r
G
N
U
/
L
i
n
u
x
e
x
e
c
u
t
a
b
l
e
s
,
a
n
d
g
e
n
e
r
a
t
e
i
n
s
t
a
l
l
e
r
s
f
o
r
t
h
e
m
.
●
j
l
i
n
k
.
o
n
l
i
n
e
-
B
u
i
l
d
s
o
p
t
i
m
i
z
e
d
r
u
n
t
i
m
e
s
o
v
e
r
H
T
T
P
.
●
N
e
x
u
s
-
B
i
n
a
r
y
m
a
n
a
g
e
m
e
n
t
w
i
t
h
p
r
o
x
y
a
n
d
c
a
c
h
i
n
g
c
a
p
a
b
i
l
i
t
i
e
s
.
●
p
a
c
k
r
-
P
a
c
k
s
J
A
R
s
,
a
s
s
e
t
s
a
n
d
t
h
e
J
V
M
f
o
r
n
a
t
i
v
e
d
i
s
t
r
i
b
u
t
i
o
n
o
n
W
i
n
d
o
w
s
,
L
i
n
u
x
a
n
d
m
a
c
O
S
.
●
r
e
a
l
l
y
-
e
x
e
c
u
t
a
b
l
e
-
j
a
r
s
-
m
a
v
e
n
-
p
l
u
g
i
n
-
M
a
v
e
n
p
l
u
g
i
n
f
o
r
m
a
k
i
n
g
s
e
l
f
-
e
x
e
c
u
t
i
n
g
J
A
R
s
.
D
o
c
u
m
e
n
t
P
r
o
c
e
s
s
i
n
g
L
i
b
r
a
r
i
e
s
t
h
a
t
a
s
s
i
s
t
w
i
t
h
p
r
o
c
e
s
s
i
n
g
o
f
f
i
c
e
d
o
c
u
m
e
n
t
f
o
r
m
a
t
s
.
●
A
p
a
c
h
e
P
O
I
-
S
u
p
p
o
r
t
s
O
O
X
M
L
(
X
L
S
X
,
D
O
C
X
,
P
P
T
X
)
a
s
w
e
l
l
a
s
O
L
E
2
(
X
L
S
,
D
O
C
o
r
P
P
T
)
.
●
d
o
c
u
m
e
n
t
s
4
j
-
A
P
I
f
o
r
d
o
c
u
m
e
n
t
f
o
r
m
a
t
c
o
n
v
e
r
s
i
o
n
u
s
i
n
g
t
h
i
r
d
-
p
a
r
t
y
c
o
n
v
e
r
t
e
r
s
s
u
c
h
a
s
M
S
W
o
r
d
.
●
d
o
c
x
4
j
-
C
r
e
a
t
e
a
n
d
m
a
n
i
p
u
l
a
t
e
M
i
c
r
o
s
o
f
t
O
p
e
n
X
M
L
f
i
l
e
s
.
●
f
a
s
t
e
x
c
e
l
-
H
i
g
h
p
e
r
f
o
r
m
a
n
c
e
l
i
b
r
a
r
y
t
o
r
e
a
d
a
n
d
w
r
i
t
e
l
a
r
g
e
E
x
c
e
l
(
X
L
S
X
)
w
o
r
k
s
h
e
e
t
s
.
●
z
e
r
o
c
e
l
l
-
A
n
n
o
t
a
t
i
o
n
-
b
a
s
e
d
A
P
I
f
o
r
r
e
a
d
i
n
g
d
a
t
a
f
r
o
m
E
x
c
e
l
s
h
e
e
t
s
i
n
t
o
P
O
J
O
s
w
i
t
h
f
o
c
u
s
o
n
r
e
d
u
c
e
d
o
v
e
r
h
e
a
d
.
F
i
n
a
n
c
i
a
l
L
i
b
r
a
r
i
e
s
r
e
l
a
t
e
d
t
o
t
h
e
f
i
n
a
n
c
i
a
l
d
o
m
a
i
n
.
●
P
a
r
i
t
y
-
P
l
a
t
f
o
r
m
f
o
r
t
r
a
d
i
n
g
v
e
n
u
e
s
.
●
P
h
i
l
a
d
e
l
p
h
i
a
-
L
o
w
-
l
a
t
e
n
c
y
f
i
n
a
n
c
i
a
l
i
n
f
o
r
m
a
t
i
o
n
e
x
c
h
a
n
g
e
.
●
S
q
u
a
r
e
-
I
n
t
e
g
r
a
t
i
o
n
w
i
t
h
t
h
e
S
q
u
a
r
e
A
P
I
.
●
S
t
r
i
p
e
-
I
n
t
e
g
r
a
t
i
o
n
w
i
t
h
t
h
e
S
t
r
i
p
e
A
P
I
.
F
o
r
m
a
l
V
e
r
i
f
i
c
a
t
i
o
n
F
o
r
m
a
l
-
m
e
t
h
o
d
s
t
o
o
l
s
:
p
r
o
o
f
a
s
s
i
s
t
a
n
t
s
,
m
o
d
e
l
c
h
e
c
k
i
n
g
,
s
y
m
b
o
l
i
c
e
x
e
c
u
t
i
o
n
,
e
t
c
.
●
C
A
T
G
-
C
o
n
c
o
l
i
c
u
n
i
t
t
e
s
t
i
n
g
e
n
g
i
n
e
.
A
u
t
o
m
a
t
i
c
a
l
l
y
g
e
n
e
r
a
t
e
s
u
n
i
t
t
e
s
t
s
u
s
i
n
g
f
o
r
m
a
l
m
e
t
h
o
d
s
.
●
C
h
e
c
k
e
r
F
r
a
m
e
w
o
r
k
-
P
l
u
g
g
a
b
l
e
t
y
p
e
s
y
s
t
e
m
s
.
I
n
c
l
u
d
e
s
n
u
l
l
n
e
s
s
t
y
p
e
s
,
p
h
y
s
i
c
a
l
u
n
i
t
s
,
i
m
m
u
t
a
b
i
l
i
t
y
t
y
p
e
s
a
n
d
m
o
r
e
.
(
G
P
L
-
2
.
0
-
o
n
l
y
W
I
T
H
C
l
a
s
s
p
a
t
h
-
e
x
c
e
p
t
i
o
n
-
2
.
0
)
●
D
a
i
k
o
n
-
D
e
t
e
c
t
s
l
i
k
e
l
y
p
r
o
g
r
a
m
i
n
v
a
r
i
a
n
t
s
a
n
d
g
e
n
e
r
a
t
e
s
J
M
L
s
p
e
c
s
b
a
s
e
d
o
n
t
h
o
s
e
i
n
v
a
r
i
a
n
t
s
.
●
J
a
v
a
P
a
t
h
F
i
n
d
e
r
(
J
P
F
)
-
J
V
M
f
o
r
m
a
l
v
e
r
i
f
i
c
a
t
i
o
n
t
o
o
l
c
o
n
t
a
i
n
i
n
g
a
m
o
d
e
l
c
h
e
c
k
e
r
a
n
d
m
o
r
e
.
C
r
e
a
t
e
d
b
y
N
A
S
A
.
●
J
M
L
O
K
2
.
0
-
D
e
t
e
c
t
s
i
n
c
o
n
s
i
s
t
e
n
c
i
e
s
b
e
t
w
e
e
n
c
o
d
e
a
n
d
J
M
L
s
p
e
c
i
f
i
c
a
t
i
o
n
t
h
r
o
u
g
h
f
e
e
d
b
a
c
k
-
d
i
r
e
c
t
e
d
r
a
n
d
o
m
t
e
s
t
s
g
e
n
e
r
a
t
i
o
n
,
a
n
d
s
u
g
g
e
s
t
s
a
l
i
k
e
l
y
c
a
u
s
e
f
o
r
e
a
c
h
n
o
n
c
o
n
f
o
r
m
a
n
c
e
d
e
t
e
c
t
e
d
.
(
G
P
L
-
3
.
0
-
o
n
l
y
)
●
K
e
Y
-
F
o
r
m
a
l
s
o
f
t
w
a
r
e
d
e
v
e
l
o
p
m
e
n
t
t
o
o
l
t
h
a
t
a
i
m
s
t
o
i
n
t
e
g
r
a
t
e
d
e
s
i
g
n
,
i
m
p
l
e
m
e
n
t
a
t
i
o
n
,
f
o
r
m
a
l
s
p
e
c
i
f
i
c
a
t
i
o
n
,
a
n
d
f
o
r
m
a
l
v
e
r
i
f
i
c
a
t
i
o
n
o
f
o
b
j
e
c
t
-
o
r
i
e
n
t
e
d
s
o
f
t
w
a
r
e
a
s
s
e
a
m
l
e
s
s
l
y
a
s
p
o
s
s
i
b
l
e
.
U
s
e
s
J
M
L
f
o
r
s
p
e
c
i
f
i
c
a
t
i
o
n
a
n
d
s
y
m
b
o
l
i
c
e
x
e
c
u
t
i
o
n
f
o
r
v
e
r
i
f
i
c
a
t
i
o
n
.
(
G
P
L
-
2
.
0
-
o
r
-
l
a
t
e
r
)
●
O
p
e
n
J
M
L
-
T
r
a
n
s
l
a
t
e
s
J
M
L
s
p
e
c
i
f
i
c
a
t
i
o
n
s
i
n
t
o
S
M
T
-
L
I
B
f
o
r
m
a
t
a
n
d
p
a
s
s
e
s
t
h
e
p
r
o
o
f
p
r
o
b
l
e
m
s
i
m
p
l
i
e
d
b
y
t
h
e
p
r
o
g
r
a
m
t
o
b
a
c
k
e
n
d
s
o
l
v
e
r
s
.
(
G
P
L
-
2
.
0
-
o
n
l
y
)
F
u
n
c
t
i
o
n
a
l
P
r
o
g
r
a
m
m
i
n
g
L
i
b
r
a
r
i
e
s
t
h
a
t
f
a
c
i
l
i
t
a
t
e
f
u
n
c
t
i
o
n
a
l
p
r
o
g
r
a
m
m
i
n
g
.
●
C
y
c
l
o
p
s
-
M
o
n
a
d
a
n
d
s
t
r
e
a
m
u
t
i
l
i
t
i
e
s
,
c
o
m
p
r
e
h
e
n
s
i
o
n
s
,
p
a
t
t
e
r
n
m
a
t
c
h
i
n
g
,
f
u
n
c
t
i
o
n
a
l
e
x
t
e
n
s
i
o
n
s
f
o
r
a
l
l
J
D
K
c
o
l
l
e
c
t
i
o
n
s
,
f
u
t
u
r
e
s
t
r
e
a
m
s
,
t
r
a
m
p
o
l
i
n
e
s
a
n
d
m
u
c
h
m
o
r
e
.
●
d
e
r
i
v
e
4
j
-
J
a
v
a
8
a
n
n
o
t
a
t
i
o
n
p
r
o
c
e
s
s
o
r
a
n
d
f
r
a
m
e
w
o
r
k
f
o
r
d
e
r
i
v
i
n
g
a
l
g
e
b
r
a
i
c
d
a
t
a
t
y
p
e
s
c
o
n
s
t
r
u
c
t
o
r
s
,
p
a
t
t
e
r
n
-
m
a
t
c
h
i
n
g
a
n
d
m
o
r
p
h
i
s
m
s
.
(
G
P
L
-
3
.
0
-
o
n
l
y
)
●
F
u
g
u
e
-
F
u
n
c
t
i
o
n
a
l
e
x
t
e
n
s
i
o
n
s
t
o
G
u
a
v
a
.
●
F
u
n
c
t
i
o
n
a
l
J
a
v
a
-
I
m
p
l
e
m
e
n
t
s
n
u
m
e
r
o
u
s
b
a
s
i
c
a
n
d
a
d
v
a
n
c
e
d
p
r
o
g
r
a
m
m
i
n
g
a
b
s
t
r
a
c
t
i
o
n
s
t
h
a
t
a
s
s
i
s
t
c
o
m
p
o
s
i
t
i
o
n
-
o
r
i
e
n
t
e
d
d
e
v
e
l
o
p
m
e
n
t
.
●
j
O
O
λ
-
E
x
t
e
n
s
i
o
n
t
o
J
a
v
a
8
t
h
a
t
a
i
m
s
t
o
f
i
x
g
a
p
s
i
n
l
a
m
b
d
a
b
y
p
r
o
v
i
d
i
n
g
n
u
m
e
r
o
u
s
m
i
s
s
i
n
g
t
y
p
e
s
a
n
d
a
r
i
c
h
s
e
t
o
f
s
e
q
u
e
n
t
i
a
l
S
t
r
e
a
m
A
P
I
a
d
d
i
t
i
o
n
s
.
●
p
r
o
t
o
n
p
a
c
k
-
C
o
l
l
e
c
t
i
o
n
o
f
s
t
r
e
a
m
u
t
i
l
i
t
i
e
s
.
●
S
t
r
e
a
m
E
x
-
E
n
h
a
n
c
e
s
J
a
v
a
8
S
t
r
e
a
m
s
.
●
V
a
v
r
-
F
u
n
c
t
i
o
n
a
l
c
o
m
p
o
n
e
n
t
l
i
b
r
a
r
y
t
h
a
t
p
r
o
v
i
d
e
s
p
e
r
s
i
s
t
e
n
t
d
a
t
a
t
y
p
e
s
a
n
d
f
u
n
c
t
i
o
n
a
l
c
o
n
t
r
o
l
s
t
r
u
c
t
u
r
e
s
.
G
a
m
e
D
e
v
e
l
o
p
m
e
n
t
F
r
a
m
e
w
o
r
k
s
t
h
a
t
s
u
p
p
o
r
t
t
h
e
d
e
v
e
l
o
p
m
e
n
t
o
f
g
a
m
e
s
.
●
F
X
G
L
-
J
a
v
a
F
X
G
a
m
e
D
e
v
e
l
o
p
m
e
n
t
F
r
a
m
e
w
o
r
k
.
●
j
M
o
n
k
e
y
E
n
g
i
n
e
-
G
a
m
e
e
n
g
i
n
e
f
o
r
m
o
d
e
r
n
3
D
d
e
v
e
l
o
p
m
e
n
t
.
●
l
i
b
G
D
X
-
A
l
l
-
r
o
u
n
d
c
r
o
s
s
-
p
l
a
t
f
o
r
m
,
h
i
g
h
-
l
e
v
e
l
f
r
a
m
e
w
o
r
k
.
●
L
W
J
G
L
-
R
o
b
u
s
t
f
r
a
m
e
w
o
r
k
t
h
a
t
a
b
s
t
r
a
c
t
s
l
i
b
r
a
r
i
e
s
l
i
k
e
O
p
e
n
G
L
/
C
L
/
A
L
.
●
M
i
n
i
2
D
x
-
B
e
g
i
n
n
e
r
-
f
r
i
e
n
d
l
y
,
m
a
s
t
e
r
-
r
e
a
d
y
f
r
a
m
e
w
o
r
k
f
o
r
r
a
p
i
d
l
y
p
r
o
t
o
t
y
p
i
n
g
a
n
d
b
u
i
l
d
i
n
g
2
D
g
a
m
e
s
.
G
e
o
s
p
a
t
i
a
l
L
i
b
r
a
r
i
e
s
f
o
r
w
o
r
k
i
n
g
w
i
t
h
g
e
o
s
p
a
t
i
a
l
d
a
t
a
a
n
d
a
l
g
o
r
i
t
h
m
s
.
●
A
p
a
c
h
e
S
I
S
-
L
i
b
r
a
r
y
f
o
r
d
e
v
e
l
o
p
i
n
g
g
e
o
s
p
a
t
i
a
l
a
p
p
l
i
c
a
t
i
o
n
s
.
●
G
e
o
-
G
e
o
H
a
s
h
u
t
i
l
i
t
i
e
s
i
n
J
a
v
a
.
●
G
e
o
T
o
o
l
s
-
L
i
b
r
a
r
y
t
h
a
t
p
r
o
v
i
d
e
s
t
o
o
l
s
f
o
r
g
e
o
s
p
a
t
i
a
l
d
a
t
a
.
(
L
G
P
L
-
2
.
1
-
o
n
l
y
)
●
G
r
a
p
h
H
o
p
p
e
r
-
R
o
a
d
-
r
o
u
t
i
n
g
e
n
g
i
n
e
.
U
s
e
d
a
s
a
J
a
v
a
l
i
b
r
a
r
y
o
r
s
t
a
n
d
a
l
o
n
e
w
e
b
s
e
r
v
i
c
e
.
●
H
2
G
I
S
-
S
p
a
t
i
a
l
e
x
t
e
n
s
i
o
n
o
f
t
h
e
H
2
d
a
t
a
b
a
s
e
.
(
L
G
P
L
-
3
.
0
-
o
n
l
y
)
●
J
g
e
o
h
a
s
h
-
L
i
b
r
a
r
y
f
o
r
u
s
i
n
g
t
h
e
G
e
o
H
a
s
h
a
l
g
o
r
i
t
h
m
.
●
M
a
p
s
f
o
r
g
e
-
M
a
p
r
e
n
d
e
r
i
n
g
b
a
s
e
d
o
n
O
p
e
n
S
t
r
e
e
t
M
a
p
d
a
t
a
.
(
L
G
P
L
-
3
.
0
-
o
n
l
y
)
●
S
p
a
t
i
a
l
4
j
-
G
e
n
e
r
a
l
-
p
u
r
p
o
s
e
s
p
a
t
i
a
l
/
g
e
o
s
p
a
t
i
a
l
l
i
b
r
a
r
y
.
G
U
I
L
i
b
r
a
r
i
e
s
t
o
c
r
e
a
t
e
m
o
d
e
r
n
g
r
a
p
h
i
c
a
l
u
s
e
r
i
n
t
e
r
f
a
c
e
s
.
●
J
a
v
a
F
X
-
S
u
c
c
e
s
s
o
r
o
f
S
w
i
n
g
.
●
S
c
e
n
e
B
u
i
l
d
e
r
-
V
i
s
u
a
l
l
a
y
o
u
t
t
o
o
l
f
o
r
J
a
v
a
F
X
a
p
p
l
i
c
a
t
i
o
n
s
.
●
S
W
T
-
G
r
a
p
h
i
c
a
l
w
i
d
g
e
t
t
o
o
l
k
i
t
.
H
i
g
h
P
e
r
f
o
r
m
a
n
c
e
E
v
e
r
y
t
h
i
n
g
a
b
o
u
t
h
i
g
h
-
p
e
r
f
o
r
m
a
n
c
e
c
o
m
p
u
t
a
t
i
o
n
,
f
r
o
m
c
o
l
l
e
c
t
i
o
n
s
t
o
s
p
e
c
i
f
i
c
l
i
b
r
a
r
i
e
s
.
●
A
g
r
o
n
a
-
D
a
t
a
s
t
r
u
c
t
u
r
e
s
a
n
d
u
t
i
l
i
t
y
m
e
t
h
o
d
s
t
h
a
t
a
r
e
c
o
m
m
o
n
i
n
h
i
g
h
-
p
e
r
f
o
r
m
a
n
c
e
a
p
p
l
i
c
a
t
i
o
n
s
.
●
D
i
s
r
u
p
t
o
r
-
I
n
t
e
r
-
t
h
r
e
a
d
m
e
s
s
a
g
i
n
g
l
i
b
r
a
r
y
.
●
E
c
l
i
p
s
e
C
o
l
l
e
c
t
i
o
n
s
-
C
o
l
l
e
c
t
i
o
n
s
f
r
a
m
e
w
o
r
k
i
n
s
p
i
r
e
d
b
y
S
m
a
l
l
t
a
l
k
.
●
f
a
s
t
u
t
i
l
-
F
a
s
t
a
n
d
c
o
m
p
a
c
t
t
y
p
e
-
s
p
e
c
i
f
i
c
c
o
l
l
e
c
t
i
o
n
s
.
●
H
P
P
C
-
P
r
i
m
i
t
i
v
e
c
o
l
l
e
c
t
i
o
n
s
.
●
J
C
T
o
o
l
s
-
C
o
n
c
u
r
r
e
n
c
y
t
o
o
l
s
c
u
r
r
e
n
t
l
y
m
i
s
s
i
n
g
f
r
o
m
t
h
e
J
D
K
.
●
K
o
l
o
b
o
k
e
-
C
a
r
e
f
u
l
l
y
d
e
s
i
g
n
e
d
e
x
t
e
n
s
i
o
n
o
f
t
h
e
J
a
v
a
C
o
l
l
e
c
t
i
o
n
s
F
r
a
m
e
w
o
r
k
w
i
t
h
p
r
i
m
i
t
i
v
e
s
p
e
c
i
a
l
i
z
a
t
i
o
n
s
a
n
d
m
o
r
e
.
H
T
T
P
C
l
i
e
n
t
s
L
i
b
r
a
r
i
e
s
t
h
a
t
a
s
s
i
s
t
w
i
t
h
c
r
e
a
t
i
n
g
H
T
T
P
r
e
q
u
e
s
t
s
a
n
d
/
o
r
b
i
n
d
i
n
g
r
e
s
p
o
n
s
e
s
.
●
A
p
a
c
h
e
H
t
t
p
C
o
m
p
o
n
e
n
t
s
-
A
t
o
o
l
s
e
t
o
f
l
o
w
l
e
v
e
l
J
a
v
a
c
o
m
p
o
n
e
n
t
s
f
o
c
u
s
e
d
o
n
H
T
T
P
a
n
d
a
s
s
o
c
i
a
t
e
d
p
r
o
t
o
c
o
l
s
.
●
A
s
y
n
c
H
t
t
p
C
l
i
e
n
t
-
A
s
y
n
c
h
r
o
n
o
u
s
H
T
T
P
a
n
d
W
e
b
S
o
c
k
e
t
c
l
i
e
n
t
l
i
b
r
a
r
y
.
●
F
e
i
g
n
-
H
T
T
P
c
l
i
e
n
t
b
i
n
d
e
r
i
n
s
p
i
r
e
d
b
y
R
e
t
r
o
f
i
t
,
J
A
X
R
S
-
2
.
0
,
a
n
d
W
e
b
S
o
c
k
e
t
.
●
G
o
o
g
l
e
H
T
T
P
C
l
i
e
n
t
-
P
l
u
g
g
a
b
l
e
H
T
T
P
t
r
a
n
s
p
o
r
t
a
b
s
t
r
a
c
t
i
o
n
w
i
t
h
s
u
p
p
o
r
t
f
o
r
j
a
v
a
.
n
e
t
.
H
t
t
p
U
R
L
C
o
n
n
e
c
t
i
o
n
,
A
p
a
c
h
e
H
T
T
P
C
l
i
e
n
t
,
A
n
d
r
o
i
d
,
G
o
o
g
l
e
A
p
p
E
n
g
i
n
e
,
X
M
L
,
G
s
o
n
,
J
a
c
k
s
o
n
a
n
d
P
r
o
t
o
b
u
f
.
●
m
e
t
h
a
n
o
l
-
H
T
T
P
c
l
i
e
n
t
e
x
t
e
n
s
i
o
n
s
l
i
b
r
a
r
y
.
●
r
e
s
t
Q
L
-
j
a
v
a
-
M
i
c
r
o
s
e
r
v
i
c
e
q
u
e
r
y
l
a
n
g
u
a
g
e
t
h
a
t
f
e
t
c
h
e
s
i
n
f
o
r
m
a
t
i
o
n
f
r
o
m
m
u
l
t
i
p
l
e
s
e
r
v
i
c
e
s
.
●
R
e
t
r
o
f
i
t
-
T
y
p
e
s
a
f
e
R
E
S
T
c
l
i
e
n
t
.
●
R
i
b
b
o
n
-
C
l
i
e
n
t
-
s
i
d
e
I
P
C
l
i
b
r
a
r
y
t
h
a
t
i
s
b
a
t
t
l
e
-
t
e
s
t
e
d
i
n
c
l
o
u
d
.
●
R
i
p
t
i
d
e
-
C
l
i
e
n
t
-
s
i
d
e
r
e
s
p
o
n
s
e
r
o
u
t
i
n
g
f
o
r
S
p
r
i
n
g
'
s
R
e
s
t
T
e
m
p
l
a
t
e
.
●
u
n
i
r
e
s
t
-
j
a
v
a
-
S
i
m
p
l
i
f
i
e
d
,
l
i
g
h
t
w
e
i
g
h
t
H
T
T
P
c
l
i
e
n
t
l
i
b
r
a
r
y
.
H
y
p
e
r
m
e
d
i
a
T
y
p
e
s
L
i
b
r
a
r
i
e
s
t
h
a
t
h
a
n
d
l
e
s
e
r
i
a
l
i
z
a
t
i
o
n
t
o
h
y
p
e
r
m
e
d
i
a
t
y
p
e
s
.
●
h
a
t
e
-
B
u
i
l
d
s
h
y
p
e
r
m
e
d
i
a
-
f
r
i
e
n
d
l
y
o
b
j
e
c
t
s
a
c
c
o
r
d
i
n
g
t
o
H
A
L
s
p
e
c
i
f
i
c
a
t
i
o
n
.
●
J
S
O
N
-
L
D
-
J
S
O
N
-
L
D
i
m
p
l
e
m
e
n
t
a
t
i
o
n
.
●
S
i
r
e
n
4
J
-
L
i
b
r
a
r
y
f
o
r
t
h
e
S
i
r
e
n
s
p
e
c
i
f
i
c
a
t
i
o
n
.
I
D
E
I
n
t
e
g
r
a
t
e
d
d
e
v
e
l
o
p
m
e
n
t
e
n
v
i
r
o
n
m
e
n
t
s
t
h
a
t
t
r
y
t
o
s
i
m
p
l
i
f
y
s
e
v
e
r
a
l
a
s
p
e
c
t
s
o
f
d
e
v
e
l
o
p
m
e
n
t
.
●
E
c
l
i
p
s
e
-
E
s
t
a
b
l
i
s
h
e
d
o
p
e
n
-
s
o
u
r
c
e
p
r
o
j
e
c
t
w
i
t
h
s
u
p
p
o
r
t
f
o
r
l
o
t
s
o
f
p
l
u
g
i
n
s
a
n
d
l
a
n
g
u
a
g
e
s
.
●
I
n
t
e
l
l
i
J
I
D
E
A
-
S
u
p
p
o
r
t
s
m
a
n
y
J
V
M
l
a
n
g
u
a
g
e
s
a
n
d
p
r
o
v
i
d
e
s
g
o
o
d
o
p
t
i
o
n
s
f
o
r
A
n
d
r
o
i
d
d
e
v
e
l
o
p
m
e
n
t
.
T
h
e
c
o
m
m
e
r
c
i
a
l
e
d
i
t
i
o
n
t
a
r
g
e
t
s
t
h
e
e
n
t
e
r
p
r
i
s
e
s
e
c
t
o
r
.
●
j
G
R
A
S
P
-
C
r
e
a
t
e
d
t
o
p
r
o
v
i
d
e
s
o
f
t
w
a
r
e
v
i
s
u
a
l
i
z
a
t
i
o
n
s
t
h
a
t
w
o
r
k
i
n
c
o
n
j
u
n
c
t
i
o
n
w
i
t
h
t
h
e
d
e
b
u
g
g
e
r
s
u
c
h
a
s
C
o
n
t
r
o
l
S
t
r
u
c
t
u
r
e
D
i
a
g
r
a
m
s
,
U
M
L
c
l
a
s
s
d
i
a
g
r
a
m
s
a
n
d
O
b
j
e
c
t
V
i
e
w
e
r
.
●
N
e
t
B
e
a
n
s
-
P
r
o
v
i
d
e
s
i
n
t
e
g
r
a
t
i
o
n
f
o
r
s
e
v
e
r
a
l
J
a
v
a
S
E
a
n
d
E
E
f
e
a
t
u
r
e
s
,
f
r
o
m
d
a
t
a
b
a
s
e
a
c
c
e
s
s
t
o
H
T
M
L
5
.
●
V
i
s
u
a
l
S
t
u
d
i
o
C
o
d
e
-
P
r
o
v
i
d
e
s
J
a
v
a
s
u
p
p
o
r
t
f
o
r
l
i
g
h
t
w
e
i
g
h
t
p
r
o
j
e
c
t
s
w
i
t
h
a
s
i
m
p
l
e
,
m
o
d
e
r
n
w
o
r
k
f
l
o
w
b
y
u
s
i
n
g
e
x
t
e
n
s
i
o
n
s
f
r
o
m
t
h
e
i
n
t
e
r
n
a
l
m
a
r
k
e
t
p
l
a
c
e
.
I
m
a
g
e
r
y
L
i
b
r
a
r
i
e
s
t
h
a
t
a
s
s
i
s
t
w
i
t
h
t
h
e
c
r
e
a
t
i
o
n
,
e
v
a
l
u
a
t
i
o
n
o
r
m
a
n
i
p
u
l
a
t
i
o
n
o
f
g
r
a
p
h
i
c
a
l
i
m
a
g
e
s
.
●
I
m
g
s
c
a
l
r
-
S
i
m
p
l
e
,
e
f
f
i
c
i
e
n
t
a
n
d
h
a
r
d
w
a
r
e
-
a
c
c
e
l
e
r
a
t
e
d
i
m
a
g
e
-
s
c
a
l
i
n
g
l
i
b
r
a
r
y
i
m
p
l
e
m
e
n
t
e
d
i
n
p
u
r
e
J
a
v
a
2
D
.
●
T
e
s
s
4
J
-
J
N
A
w
r
a
p
p
e
r
f
o
r
T
e
s
s
e
r
a
c
t
O
C
R
A
P
I
.
●
T
h
u
m
b
n
a
i
l
a
t
o
r
-
H
i
g
h
-
q
u
a
l
i
t
y
t
h
u
m
b
n
a
i
l
g
e
n
e
r
a
t
i
o
n
l
i
b
r
a
r
y
.
●
T
w
e
l
v
e
M
o
n
k
e
y
s
-
C
o
l
l
e
c
t
i
o
n
o
f
p
l
u
g
i
n
s
t
h
a
t
e
x
t
e
n
d
t
h
e
n
u
m
b
e
r
o
f
s
u
p
p
o
r
t
e
d
i
m
a
g
e
f
i
l
e
f
o
r
m
a
t
s
.
●
Z
X
i
n
g
-
M
u
l
t
i
-
f
o
r
m
a
t
1
D
/
2
D
b
a
r
c
o
d
e
i
m
a
g
e
p
r
o
c
e
s
s
i
n
g
l
i
b
r
a
r
y
.
●
i
m
a
g
e
-
c
o
m
p
a
r
i
s
o
n
-
L
i
b
r
a
r
y
t
h
a
t
c
o
m
p
a
r
e
s
2
i
m
a
g
e
s
w
i
t
h
t
h
e
s
a
m
e
s
i
z
e
s
a
n
d
s
h
o
w
s
t
h
e
d
i
f
f
e
r
e
n
c
e
s
v
i
s
u
a
l
l
y
b
y
d
r
a
w
i
n
g
r
e
c
t
a
n
g
l
e
s
.
S
o
m
e
p
a
r
t
s
o
f
t
h
e
i
m
a
g
e
c
a
n
b
e
e
x
c
l
u
d
e
d
f
r
o
m
t
h
e
c
o
m
p
a
r
i
s
o
n
.
C
a
n
b
e
u
s
e
d
f
o
r
a
u
t
o
m
a
t
i
o
n
q
a
t
e
s
t
s
.
I
n
t
r
o
s
p
e
c
t
i
o
n
L
i
b
r
a
r
i
e
s
t
h
a
t
h
e
l
p
m
a
k
e
t
h
e
J
a
v
a
i
n
t
r
o
s
p
e
c
t
i
o
n
a
n
d
r
e
f
l
e
c
t
i
o
n
A
P
I
e
a
s
i
e
r
a
n
d
f
a
s
t
e
r
t
o
u
s
e
.
●
C
l
a
s
s
G
r
a
p
h
-
C
l
a
s
s
G
r
a
p
h
(
f
o
r
m
e
r
l
y
F
a
s
t
C
l
a
s
s
p
a
t
h
S
c
a
n
n
e
r
)
i
s
a
n
u
b
e
r
-
f
a
s
t
,
u
l
t
r
a
-
l
i
g
h
t
w
e
i
g
h
t
,
p
a
r
a
l
l
e
l
i
z
e
d
c
l
a
s
s
p
a
t
h
s
c
a
n
n
e
r
a
n
d
m
o
d
u
l
e
s
c
a
n
n
e
r
f
o
r
J
a
v
a
,
S
c
a
l
a
,
K
o
t
l
i
n
a
n
d
o
t
h
e
r
J
V
M
l
a
n
g
u
a
g
e
s
.
●
j
O
O
R
-
j
O
O
R
s
t
a
n
d
s
f
o
r
j
O
O
R
O
b
j
e
c
t
O
r
i
e
n
t
e
d
R
e
f
l
e
c
t
i
o
n
.
I
t
i
s
a
s
i
m
p
l
e
w
r
a
p
p
e
r
f
o
r
t
h
e
j
a
v
a
.
l
a
n
g
.
r
e
f
l
e
c
t
p
a
c
k
a
g
e
.
●
M
i
r
r
o
r
-
M
i
r
r
o
r
w
a
s
c
r
e
a
t
e
d
t
o
b
r
i
n
g
l
i
g
h
t
t
o
a
s
i
m
p
l
e
p
r
o
b
l
e
m
,
u
s
u
a
l
l
y
n
a
m
e
d
R
e
f
l
e
c
t
i
o
n
U
t
i
l
,
w
h
i
c
h
i
s
o
n
a
l
m
o
s
t
a
l
l
p
r
o
j
e
c
t
s
t
h
a
t
r
e
l
y
o
n
r
e
f
l
e
c
t
i
o
n
t
o
d
o
a
d
v
a
n
c
e
d
t
a
s
k
s
.
●
O
b
j
e
n
e
s
i
s
-
A
l
l
o
w
s
d
y
n
a
m
i
c
i
n
s
t
a
n
t
i
a
t
i
o
n
w
i
t
h
o
u
t
d
e
f
a
u
l
t
c
o
n
s
t
r
u
c
t
o
r
,
e
.
g
.
c
o
n
s
t
r
u
c
t
o
r
s
w
h
i
c
h
h
a
v
e
r
e
q
u
i
r
e
d
a
r
g
u
m
e
n
t
s
,
s
i
d
e
e
f
f
e
c
t
s
o
r
t
h
r
o
w
e
x
c
e
p
t
i
o
n
s
.
●
R
e
f
l
e
c
t
A
S
M
-
R
e
f
l
e
c
t
A
S
M
i
s
a
v
e
r
y
s
m
a
l
l
J
a
v
a
l
i
b
r
a
r
y
t
h
a
t
p
r
o
v
i
d
e
s
h
i
g
h
p
e
r
f
o
r
m
a
n
c
e
r
e
f
l
e
c
t
i
o
n
b
y
u
s
i
n
g
c
o
d
e
g
e
n
e
r
a
t
i
o
n
.
●
R
e
f
l
e
c
t
i
o
n
s
-
R
e
f
l
e
c
t
i
o
n
s
s
c
a
n
s
y
o
u
r
c
l
a
s
s
p
a
t
h
,
i
n
d
e
x
e
s
t
h
e
m
e
t
a
d
a
t
a
,
a
l
l
o
w
s
y
o
u
t
o
q
u
e
r
y
i
t
o
n
r
u
n
t
i
m
e
a
n
d
m
a
y
s
a
v
e
a
n
d
c
o
l
l
e
c
t
t
h
a
t
i
n
f
o
r
m
a
t
i
o
n
f
o
r
m
a
n
y
m
o
d
u
l
e
s
w
i
t
h
i
n
y
o
u
r
p
r
o
j
e
c
t
.
J
o
b
S
c
h
e
d
u
l
i
n
g
L
i
b
r
a
r
i
e
s
f
o
r
s
c
h
e
d
u
l
i
n
g
b
a
c
k
g
r
o
u
n
d
j
o
b
s
.
●
J
o
b
R
u
n
r
-
J
o
b
s
c
h
e
d
u
l
i
n
g
l
i
b
r
a
r
y
w
h
i
c
h
u
t
i
l
i
z
e
s
l
a
m
b
d
a
s
f
o
r
f
i
r
e
-
a
n
d
-
f
o
r
g
e
t
,
d
e
l
a
y
e
d
a
n
d
r
e
c
u
r
r
i
n
g
j
o
b
s
.
G
u
a
r
a
n
t
e
e
s
e
x
e
c
u
t
i
o
n
b
y
s
i
n
g
l
e
s
c
h
e
d
u
l
e
r
i
n
s
t
a
n
c
e
u
s
i
n
g
o
p
t
i
m
i
s
t
i
c
l
o
c
k
i
n
g
.
H
a
s
f
e
a
t
u
r
e
s
f
o
r
p
e
r
s
i
s
t
e
n
c
e
,
m
i
n
i
m
a
l
d
e
p
e
n
d
e
n
c
i
e
s
a
n
d
i
s
e
m
b
e
d
d
a
b
l
e
.
●
Q
u
a
r
t
z
-
F
e
a
t
u
r
e
-
r
i
c
h
,
o
p
e
n
s
o
u
r
c
e
j
o
b
s
c
h
e
d
u
l
i
n
g
l
i
b
r
a
r
y
t
h
a
t
c
a
n
b
e
i
n
t
e
g
r
a
t
e
d
w
i
t
h
i
n
v
i
r
t
u
a
l
l
y
a
n
y
J
a
v
a
a
p
p
l
i
c
a
t
i
o
n
.
●
S
u
n
d
i
a
l
-
L
i
g
h
t
w
e
i
g
h
t
f
r
a
m
e
w
o
r
k
t
o
s
i
m
p
l
y
d
e
f
i
n
e
j
o
b
s
,
d
e
f
i
n
e
t
r
i
g
g
e
r
s
a
n
d
s
t
a
r
t
t
h
e
s
c
h
e
d
u
l
e
r
.
●
W
i
s
p
-
S
i
m
p
l
e
l
i
b
r
a
r
y
w
i
t
h
m
i
n
i
m
a
l
f
o
o
t
p
r
i
n
t
a
n
d
s
t
r
a
i
g
h
t
f
o
r
w
a
r
d
A
P
I
.
●
d
b
-
s
c
h
e
d
u
l
e
r
-
P
e
r
s
i
s
t
e
n
t
a
n
d
c
l
u
s
t
e
r
-
f
r
i
e
n
d
l
y
s
c
h
e
d
u
l
e
r
.
●
e
a
s
y
-
b
a
t
c
h
-
S
e
t
u
p
b
a
t
c
h
j
o
b
s
w
i
t
h
s
i
m
p
l
e
p
r
o
c
e
s
s
i
n
g
p
i
p
e
l
i
n
e
s
.
R
e
c
o
r
d
s
a
r
e
r
e
a
d
i
n
s
e
q
u
e
n
c
e
f
r
o
m
a
d
a
t
a
s
o
u
r
c
e
,
p
r
o
c
e
s
s
e
d
i
n
p
i
p
e
l
i
n
e
a
n
d
w
r
i
t
t
e
n
i
n
b
a
t
c
h
e
s
t
o
a
d
a
t
a
s
i
n
k
.
●
s
h
e
d
l
o
c
k
-
M
a
k
e
s
s
u
r
e
t
h
a
t
y
o
u
r
s
c
h
e
d
u
l
e
d
t
a
s
k
s
a
r
e
e
x
e
c
u
t
e
d
a
t
m
o
s
t
o
n
c
e
a
t
t
h
e
s
a
m
e
t
i
m
e
.
I
f
a
t
a
s
k
i
s
b
e
i
n
g
e
x
e
c
u
t
e
d
o
n
o
n
e
n
o
d
e
,
i
t
a
c
q
u
i
r
e
s
a
l
o
c
k
w
h
i
c
h
p
r
e
v
e
n
t
s
e
x
e
c
u
t
i
o
n
o
f
t
h
e
s
a
m
e
t
a
s
k
f
r
o
m
a
n
o
t
h
e
r
n
o
d
e
o
r
t
h
r
e
a
d
.
J
S
O
N
L
i
b
r
a
r
i
e
s
f
o
r
s
e
r
i
a
l
i
z
i
n
g
a
n
d
d
e
s
e
r
i
a
l
i
z
i
n
g
J
S
O
N
t
o
a
n
d
f
r
o
m
J
a
v
a
o
b
j
e
c
t
s
.
●
D
S
L
-
J
S
O
N
-
J
S
O
N
l
i
b
r
a
r
y
w
i
t
h
a
d
v
a
n
c
e
d
c
o
m
p
i
l
e
t
i
m
e
d
a
t
a
b
i
n
d
i
n
g
.
●
G
e
n
s
o
n
-
P
o
w
e
r
f
u
l
a
n
d
e
a
s
y
-
t
o
-
u
s
e
J
a
v
a
-
t
o
-
J
S
O
N
c
o
n
v
e
r
s
i
o
n
l
i
b
r
a
r
y
.
●
G
s
o
n
-
S
e
r
i
a
l
i
z
e
s
o
b
j
e
c
t
s
t
o
J
S
O
N
a
n
d
v
i
c
e
v
e
r
s
a
.
G
o
o
d
p
e
r
f
o
r
m
a
n
c
e
w
i
t
h
o
n
-
t
h
e
-
f
l
y
u
s
a
g
e
.
●
H
i
k
a
r
i
J
S
O
N
-
H
i
g
h
-
p
e
r
f
o
r
m
a
n
c
e
J
S
O
N
p
a
r
s
e
r
,
2
x
f
a
s
t
e
r
t
h
a
n
J
a
c
k
s
o
n
.
●
j
a
c
k
s
o
n
-
m
o
d
u
l
e
s
-
j
a
v
a
8
-
S
e
t
o
f
J
a
c
k
s
o
n
m
o
d
u
l
e
s
f
o
r
J
a
v
a
8
d
a
t
a
t
y
p
e
s
a
n
d
f
e
a
t
u
r
e
s
.
●
J
a
c
k
s
o
n
-
d
a
t
a
t
y
p
e
-
m
o
n
e
y
-
O
p
e
n
-
s
o
u
r
c
e
J
a
c
k
s
o
n
m
o
d
u
l
e
t
o
s
u
p
p
o
r
t
J
S
O
N
s
e
r
i
a
l
i
z
a
t
i
o
n
a
n
d
d
e
s
e
r
i
a
l
i
z
a
t
i
o
n
o
f
J
a
v
a
M
o
n
e
y
d
a
t
a
t
y
p
e
s
.
●
J
a
c
k
s
o
n
-
S
i
m
i
l
a
r
t
o
G
S
O
N
,
b
u
t
o
f
f
e
r
s
p
e
r
f
o
r
m
a
n
c
e
g
a
i
n
s
i
f
y
o
u
n
e
e
d
t
o
i
n
s
t
a
n
t
i
a
t
e
t
h
e
l
i
b
r
a
r
y
m
o
r
e
o
f
t
e
n
.
●
J
S
O
N
-
i
o
-
C
o
n
v
e
r
t
J
a
v
a
t
o
J
S
O
N
.
C
o
n
v
e
r
t
J
S
O
N
t
o
J
a
v
a
.
P
r
e
t
t
y
p
r
i
n
t
J
S
O
N
.
J
a
v
a
J
S
O
N
s
e
r
i
a
l
i
z
e
r
.
●
j
s
o
n
i
t
e
r
-
F
a
s
t
a
n
d
f
l
e
x
i
b
l
e
l
i
b
r
a
r
y
w
i
t
h
i
t
e
r
a
t
o
r
a
n
d
l
a
z
y
p
a
r
s
i
n
g
A
P
I
.
●
L
o
g
a
n
S
q
u
a
r
e
-
J
S
O
N
p
a
r
s
i
n
g
a
n
d
s
e
r
i
a
l
i
z
i
n
g
l
i
b
r
a
r
y
b
a
s
e
d
o
n
J
a
c
k
s
o
n
'
s
s
t
r
e
a
m
i
n
g
A
P
I
.
O
u
t
p
e
r
f
o
r
m
s
G
S
O
N
&
J
a
c
k
s
o
n
'
s
l
i
b
r
a
r
y
.
●
M
o
s
h
i
-
M
o
d
e
r
n
J
S
O
N
l
i
b
r
a
r
y
,
l
e
s
s
o
p
i
n
i
o
n
a
t
e
d
a
n
d
u
s
e
s
b
u
i
l
t
-
i
n
t
y
p
e
s
l
i
k
e
L
i
s
t
a
n
d
M
a
p
.
●
Y
a
s
s
o
n
-
B
i
n
d
i
n
g
l
a
y
e
r
b
e
t
w
e
e
n
c
l
a
s
s
e
s
a
n
d
J
S
O
N
d
o
c
u
m
e
n
t
s
s
i
m
i
l
a
r
t
o
J
A
X
B
.
●
f
a
s
t
j
s
o
n
-
V
e
r
y
f
a
s
t
p
r
o
c
e
s
s
o
r
w
i
t
h
n
o
a
d
d
i
t
i
o
n
a
l
d
e
p
e
n
d
e
n
c
i
e
s
a
n
d
f
u
l
l
d
a
t
a
b
i
n
d
i
n
g
.
●
J
o
l
t
-
J
S
O
N
t
o
J
S
O
N
t
r
a
n
s
f
o
r
m
a
t
i
o
n
t
o
o
l
.
●
J
s
o
n
P
a
t
h
-
E
x
t
r
a
c
t
d
a
t
a
f
r
o
m
J
S
O
N
u
s
i
n
g
X
P
A
T
H
-
l
i
k
e
s
y
n
t
a
x
.
●
J
s
o
n
S
u
r
f
e
r
-
S
t
r
e
a
m
i
n
g
J
s
o
n
P
a
t
h
p
r
o
c
e
s
s
o
r
d
e
d
i
c
a
t
e
d
t
o
p
r
o
c
e
s
s
i
n
g
b
i
g
a
n
d
c
o
m
p
l
i
c
a
t
e
d
J
S
O
N
d
a
t
a
.
J
V
M
a
n
d
J
D
K
C
u
r
r
e
n
t
i
m
p
l
e
m
e
n
t
a
t
i
o
n
s
o
f
t
h
e
J
V
M
/
J
D
K
.
●
A
d
o
p
t
O
p
e
n
J
D
K
-
C
o
m
m
u
n
i
t
y
-
d
r
i
v
e
n
O
p
e
n
J
D
K
b
u
i
l
d
s
,
i
n
c
l
u
d
i
n
g
b
o
t
h
H
o
t
S
p
o
t
a
n
d
O
p
e
n
J
9
.
●
A
v
i
a
n
-
J
V
M
w
i
t
h
J
I
T
,
A
O
T
m
o
d
e
s
a
n
d
i
O
S
p
o
r
t
.
●
C
o
r
r
e
t
t
o
-
N
o
-
c
o
s
t
,
m
u
l
t
i
p
l
a
t
f
o
r
m
,
p
r
o
d
u
c
t
i
o
n
-
r
e
a
d
y
d
i
s
t
r
i
b
u
t
i
o
n
o
f
O
p
e
n
J
D
K
b
y
A
m
a
z
o
n
.
(
G
P
L
-
2
.
0
-
o
n
l
y
W
I
T
H
C
l
a
s
s
p
a
t
h
-
e
x
c
e
p
t
i
o
n
-
2
.
0
)
●
D
r
a
g
o
n
w
e
l
l
8
-
D
o
w
n
s
t
r
e
a
m
v
e
r
s
i
o
n
o
f
O
p
e
n
J
D
K
o
p
t
i
m
i
z
e
d
f
o
r
o
n
l
i
n
e
e
-
c
o
m
m
e
r
c
e
,
f
i
n
a
n
c
i
a
l
,
l
o
g
i
s
t
i
c
s
a
p
p
l
i
c
a
t
i
o
n
s
.
●
G
r
a
a
l
-
P
o
l
y
g
l
o
t
e
m
b
e
d
d
a
b
l
e
J
V
M
.
(
G
P
L
-
2
.
0
-
o
n
l
y
W
I
T
H
C
l
a
s
s
p
a
t
h
-
e
x
c
e
p
t
i
o
n
-
2
.
0
)
●
L
i
b
e
r
i
c
a
J
D
K
-
B
u
i
l
t
f
r
o
m
O
p
e
n
J
D
K
,
t
h
o
r
o
u
g
h
l
y
t
e
s
t
e
d
a
n
d
p
a
s
s
e
d
t
h
e
J
C
K
.
(
G
P
L
-
2
.
0
-
o
n
l
y
W
I
T
H
C
l
a
s
s
p
a
t
h
-
e
x
c
e
p
t
i
o
n
-
2
.
0
)
●
O
p
e
n
J
9
-
H
i
g
h
p
e
r
f
o
r
m
a
n
c
e
,
e
n
t
e
r
p
r
i
s
e
-
c
a
l
i
b
r
e
,
f
l
e
x
i
b
l
y
l
i
c
e
n
s
e
d
,
o
p
e
n
l
y
-
g
o
v
e
r
n
e
d
c
r
o
s
s
-
p
l
a
t
f
o
r
m
J
V
M
e
x
t
e
n
d
i
n
g
a
n
d
a
u
g
m
e
n
t
i
n
g
t
h
e
r
u
n
t
i
m
e
t
e
c
h
n
o
l
o
g
y
c
o
m
p
o
n
e
n
t
s
f
r
o
m
t
h
e
E
c
l
i
p
s
e
O
M
R
a
n
d
O
p
e
n
J
D
K
p
r
o
j
e
c
t
.
●
O
p
e
n
J
D
K
-
O
p
e
n
J
D
K
c
o
m
m
u
n
i
t
y
h
o
m
e
.
(
G
P
L
-
2
.
0
-
o
n
l
y
W
I
T
H
C
l
a
s
s
p
a
t
h
-
e
x
c
e
p
t
i
o
n
-
2
.
0
)
●
P
a
r
p
a
r
V
M
-
V
M
w
i
t
h
n
o
n
-
b
l
o
c
k
i
n
g
,
c
o
n
c
u
r
r
e
n
t
G
C
f
o
r
i
O
S
.
(
G
P
L
-
2
.
0
-
o
n
l
y
W
I
T
H
C
l
a
s
s
p
a
t
h
-
e
x
c
e
p
t
i
o
n
-
2
.
0
)
●
R
e
d
H
a
t
O
p
e
n
J
D
K
-
R
e
d
H
a
t
'
s
O
p
e
n
J
D
K
d
i
s
t
r
i
b
u
t
i
o
n
.
(
G
P
L
-
2
.
0
-
o
n
l
y
W
I
T
H
C
l
a
s
s
p
a
t
h
-
e
x
c
e
p
t
i
o
n
-
2
.
0
)
●
S
A
P
M
a
c
h
i
n
e
-
S
A
P
'
s
n
o
-
c
o
s
t
,
r
i
g
o
r
o
u
s
l
y
t
e
s
t
e
d
a
n
d
J
C
K
-
v
e
r
i
f
i
e
d
O
p
e
n
J
D
K
f
r
i
e
n
d
l
y
f
o
r
k
.
(
G
P
L
-
2
.
0
-
o
n
l
y
W
I
T
H
C
l
a
s
s
p
a
t
h
-
e
x
c
e
p
t
i
o
n
-
2
.
0
)
●
Z
u
l
u
-
O
p
e
n
J
D
K
b
u
i
l
d
s
f
o
r
W
i
n
d
o
w
s
,
L
i
n
u
x
,
a
n
d
m
a
c
O
S
.
(
G
P
L
-
2
.
0
-
o
n
l
y
W
I
T
H
C
l
a
s
s
p
a
t
h
-
e
x
c
e
p
t
i
o
n
-
2
.
0
)
L
o
g
g
i
n
g
L
i
b
r
a
r
i
e
s
t
h
a
t
l
o
g
t
h
e
b
e
h
a
v
i
o
r
o
f
a
n
a
p
p
l
i
c
a
t
i
o
n
.
●
A
p
a
c
h
e
L
o
g
4
j
2
-
C
o
m
p
l
e
t
e
r
e
w
r
i
t
e
w
i
t
h
a
p
o
w
e
r
f
u
l
p
l
u
g
i
n
a
n
d
c
o
n
f
i
g
u
r
a
t
i
o
n
a
r
c
h
i
t
e
c
t
u
r
e
.
●
G
r
a
y
l
o
g
-
O
p
e
n
-
s
o
u
r
c
e
a
g
g
r
e
g
a
t
o
r
s
u
i
t
e
d
f
o
r
e
x
t
e
n
d
e
d
r
o
l
e
a
n
d
p
e
r
m
i
s
s
i
o
n
m
a
n
a
g
e
m
e
n
t
.
(
G
P
L
-
3
.
0
-
o
n
l
y
)
●
K
i
b
a
n
a
-
A
n
a
l
y
z
e
s
a
n
d
v
i
s
u
a
l
i
z
e
s
l
o
g
f
i
l
e
s
.
S
o
m
e
f
e
a
t
u
r
e
s
r
e
q
u
i
r
e
p
a
y
m
e
n
t
.
●
L
o
g
b
a
c
k
-
R
o
b
u
s
t
l
o
g
g
i
n
g
l
i
b
r
a
r
y
w
i
t
h
i
n
t
e
r
e
s
t
i
n
g
c
o
n
f
i
g
u
r
a
t
i
o
n
o
p
t
i
o
n
s
v
i
a
G
r
o
o
v
y
.
●
L
o
g
b
o
o
k
-
E
x
t
e
n
s
i
b
l
e
,
o
p
e
n
-
s
o
u
r
c
e
l
i
b
r
a
r
y
f
o
r
H
T
T
P
r
e
q
u
e
s
t
a
n
d
r
e
s
p
o
n
s
e
l
o
g
g
i
n
g
.
●
L
o
g
s
t
a
s
h
-
T
o
o
l
f
o
r
m
a
n
a
g
i
n
g
l
o
g
f
i
l
e
s
.
●
p
6
s
p
y
-
E
n
a
b
l
e
s
l
o
g
g
i
n
g
f
o
r
a
l
l
J
D
B
C
t
r
a
n
s
a
c
t
i
o
n
s
w
i
t
h
o
u
t
c
h
a
n
g
e
s
t
o
t
h
e
c
o
d
e
.
●
S
L
F
4
J
-
A
b
s
t
r
a
c
t
i
o
n
l
a
y
e
r
/
s
i
m
p
l
e
l
o
g
g
i
n
g
f
a
c
a
d
e
.
●
t
i
n
y
l
o
g
-
L
i
g
h
t
w
e
i
g
h
t
l
o
g
g
i
n
g
f
r
a
m
e
w
o
r
k
w
i
t
h
s
t
a
t
i
c
l
o
g
g
e
r
c
l
a
s
s
.
●
O
p
e
n
T
r
a
c
i
n
g
T
o
o
l
b
o
x
-
C
o
l
l
e
c
t
i
o
n
o
f
l
i
b
r
a
r
i
e
s
t
h
a
t
b
u
i
l
d
o
n
t
o
p
o
f
O
p
e
n
T
r
a
c
i
n
g
a
n
d
p
r
o
v
i
d
e
e
x
t
e
n
s
i
o
n
s
a
n
d
p
l
u
g
i
n
s
t
o
e
x
i
s
t
i
n
g
i
n
s
t
r
u
m
e
n
t
a
t
i
o
n
s
.
M
a
c
h
i
n
e
L
e
a
r
n
i
n
g
T
o
o
l
s
t
h
a
t
p
r
o
v
i
d
e
s
p
e
c
i
f
i
c
s
t
a
t
i
s
t
i
c
a
l
a
l
g
o
r
i
t
h
m
s
f
o
r
l
e
a
r
n
i
n
g
f
r
o
m
d
a
t
a
.
●
A
p
a
c
h
e
F
l
i
n
k
-
F
a
s
t
,
r
e
l
i
a
b
l
e
,
l
a
r
g
e
-
s
c
a
l
e
d
a
t
a
p
r
o
c
e
s
s
i
n
g
e
n
g
i
n
e
.
●
A
p
a
c
h
e
M
a
h
o
u
t
-
S
c
a
l
a
b
l
e
a
l
g
o
r
i
t
h
m
s
f
o
c
u
s
e
d
o
n
c
o
l
l
a
b
o
r
a
t
i
v
e
f
i
l
t
e
r
i
n
g
,
c
l
u
s
t
e
r
i
n
g
a
n
d
c
l
a
s
s
i
f
i
c
a
t
i
o
n
.
●
D
a
t
u
m
B
o
x
-
P
r
o
v
i
d
e
s
s
e
v
e
r
a
l
a
l
g
o
r
i
t
h
m
s
a
n
d
p
r
e
-
t
r
a
i
n
e
d
m
o
d
e
l
s
f
o
r
n
a
t
u
r
a
l
l
a
n
g
u
a
g
e
p
r
o
c
e
s
s
i
n
g
.
●
D
e
e
p
l
e
a
r
n
i
n
g
4
j
-
D
i
s
t
r
i
b
u
t
e
d
a
n
d
m
u
l
t
i
-
t
h
r
e
a
d
e
d
d
e
e
p
l
e
a
r
n
i
n
g
l
i
b
r
a
r
y
.
●
D
J
L
-
H
i
g
h
-
l
e
v
e
l
a
n
d
e
n
g
i
n
e
-
a
g
n
o
s
t
i
c
f
r
a
m
e
w
o
r
k
f
o
r
d
e
e
p
l
e
a
r
n
i
n
g
.
●
H
2
O
-
A
n
a
l
y
t
i
c
s
e
n
g
i
n
e
f
o
r
s
t
a
t
i
s
t
i
c
s
o
v
e
r
b
i
g
d
a
t
a
.
●
J
S
A
T
-
A
l
g
o
r
i
t
h
m
s
f
o
r
p
r
e
-
p
r
o
c
e
s
s
i
n
g
,
c
l
a
s
s
i
f
i
c
a
t
i
o
n
,
r
e
g
r
e
s
s
i
o
n
,
a
n
d
c
l
u
s
t
e
r
i
n
g
w
i
t
h
s
u
p
p
o
r
t
f
o
r
m
u
l
t
i
-
t
h
r
e
a
d
e
d
e
x
e
c
u
t
i
o
n
.
(
G
P
L
-
3
.
0
-
o
n
l
y
)
●
o
j
!
A
l
g
o
r
i
t
h
m
s
-
H
i
g
h
-
p
e
r
f
o
r
m
a
n
c
e
m
a
t
h
e
m
a
t
i
c
s
,
l
i
n
e
a
r
a
l
g
e
b
r
a
a
n
d
o
p
t
i
m
i
s
a
t
i
o
n
n
e
e
d
e
d
f
o
r
d
a
t
a
s
c
i
e
n
c
e
,
m
a
c
h
i
n
e
l
e
a
r
n
i
n
g
a
n
d
s
c
i
e
n
t
i
f
i
c
c
o
m
p
u
t
i
n
g
.
●
O
r
y
x
2
-
F
r
a
m
e
w
o
r
k
f
o
r
b
u
i
l
d
i
n
g
r
e
a
l
-
t
i
m
e
,
l
a
r
g
e
-
s
c
a
l
e
m
a
c
h
i
n
e
l
e
a
r
n
i
n
g
a
p
p
l
i
c
a
t
i
o
n
s
.
I
n
c
l
u
d
e
s
e
n
d
-
t
o
-
e
n
d
a
p
p
l
i
c
a
t
i
o
n
s
f
o
r
c
o
l
l
a
b
o
r
a
t
i
v
e
f
i
l
t
e
r
i
n
g
,
c
l
a
s
s
i
f
i
c
a
t
i
o
n
,
r
e
g
r
e
s
s
i
o
n
,
a
n
d
c
l
u
s
t
e
r
i
n
g
.
●
S
i
d
d
h
i
-
C
l
o
u
d
n
a
t
i
v
e
s
t
r
e
a
m
i
n
g
a
n
d
c
o
m
p
l
e
x
e
v
e
n
t
p
r
o
c
e
s
s
i
n
g
e
n
g
i
n
e
.
●
S
m
i
l
e
-
S
t
a
t
i
s
t
i
c
a
l
M
a
c
h
i
n
e
I
n
t
e
l
l
i
g
e
n
c
e
a
n
d
L
e
a
r
n
i
n
g
E
n
g
i
n
e
p
r
o
v
i
d
e
s
a
s
e
t
o
f
m
a
c
h
i
n
e
l
e
a
r
n
i
n
g
a
l
g
o
r
i
t
h
m
s
a
n
d
a
v
i
s
u
a
l
i
z
a
t
i
o
n
l
i
b
r
a
r
y
.
●
T
r
i
b
u
o
-
P
r
o
v
i
d
e
s
t
o
o
l
s
f
o
r
c
l
a
s
s
i
f
i
c
a
t
i
o
n
,
r
e
g
r
e
s
s
i
o
n
,
c
l
u
s
t
e
r
i
n
g
,
m
o
d
e
l
d
e
v
e
l
o
p
m
e
n
t
a
n
d
i
n
t
e
r
f
a
c
e
s
w
i
t
h
o
t
h
e
r
l
i
b
r
a
r
i
e
s
s
u
c
h
a
s
s
c
i
k
i
t
-
l
e
a
r
n
,
p
y
t
o
r
c
h
a
n
d
T
e
n
s
o
r
F
l
o
w
.
●
W
e
k
a
-
C
o
l
l
e
c
t
i
o
n
o
f
a
l
g
o
r
i
t
h
m
s
f
o
r
d
a
t
a
m
i
n
i
n
g
t
a
s
k
s
r
a
n
g
i
n
g
f
r
o
m
p
r
e
-
p
r
o
c
e
s
s
i
n
g
t
o
v
i
s
u
a
l
i
z
a
t
i
o
n
.
(
G
P
L
-
3
.
0
-
o
n
l
y
)
M
e
s
s
a
g
i
n
g
T
o
o
l
s
t
h
a
t
h
e
l
p
s
e
n
d
m
e
s
s
a
g
e
s
b
e
t
w
e
e
n
c
l
i
e
n
t
s
t
o
e
n
s
u
r
e
p
r
o
t
o
c
o
l
i
n
d
e
p
e
n
d
e
n
c
y
.
●
A
e
r
o
n
-
E
f
f
i
c
i
e
n
t
,
r
e
l
i
a
b
l
e
,
u
n
i
c
a
s
t
a
n
d
m
u
l
t
i
c
a
s
t
m
e
s
s
a
g
e
t
r
a
n
s
p
o
r
t
.
●
A
p
a
c
h
e
A
c
t
i
v
e
M
Q
-
M
e
s
s
a
g
e
b
r
o
k
e
r
t
h
a
t
i
m
p
l
e
m
e
n
t
s
J
M
S
a
n
d
c
o
n
v
e
r
t
s
s
y
n
c
h
r
o
n
o
u
s
t
o
a
s
y
n
c
h
r
o
n
o
u
s
c
o
m
m
u
n
i
c
a
t
i
o
n
.
●
A
p
a
c
h
e
C
a
m
e
l
-
G
l
u
e
s
t
o
g
e
t
h
e
r
d
i
f
f
e
r
e
n
t
t
r
a
n
s
p
o
r
t
A
P
I
s
v
i
a
E
n
t
e
r
p
r
i
s
e
I
n
t
e
g
r
a
t
i
o
n
P
a
t
t
e
r
n
s
.
●
A
p
a
c
h
e
K
a
f
k
a
-
H
i
g
h
-
t
h
r
o
u
g
h
p
u
t
d
i
s
t
r
i
b
u
t
e
d
m
e
s
s
a
g
i
n
g
s
y
s
t
e
m
.
●
A
p
a
c
h
e
P
u
l
s
a
r
-
D
i
s
t
r
i
b
u
t
e
d
p
u
b
/
s
u
b
-
m
e
s
s
a
g
i
n
g
s
y
s
t
e
m
.
●
A
p
a
c
h
e
R
o
c
k
e
t
M
Q
-
F
a
s
t
,
r
e
l
i
a
b
l
e
,
a
n
d
s
c
a
l
a
b
l
e
d
i
s
t
r
i
b
u
t
e
d
m
e
s
s
a
g
i
n
g
p
l
a
t
f
o
r
m
.
●
A
p
a
c
h
e
Q
p
i
d
-
A
p
a
c
h
e
Q
p
i
d
m
a
k
e
s
m
e
s
s
a
g
i
n
g
t
o
o
l
s
t
h
a
t
s
p
e
a
k
A
M
Q
P
a
n
d
s
u
p
p
o
r
t
m
a
n
y
l
a
n
g
u
a
g
e
s
a
n
d
p
l
a
t
f
o
r
m
s
.
●
E
v
e
n
t
B
u
s
-
S
i
m
p
l
e
p
u
b
l
i
s
h
/
s
u
b
s
c
r
i
b
e
e
v
e
n
t
b
u
s
.
●
H
e
r
m
e
s
-
F
a
s
t
a
n
d
r
e
l
i
a
b
l
e
m
e
s
s
a
g
e
b
r
o
k
e
r
b
u
i
l
t
o
n
t
o
p
o
f
K
a
f
k
a
.
●
J
e
r
o
M
Q
-
I
m
p
l
e
m
e
n
t
a
t
i
o
n
o
f
Z
e
r
o
M
Q
.
●
N
a
k
a
d
i
-
P
r
o
v
i
d
e
s
a
R
E
S
T
f
u
l
A
P
I
o
n
t
o
p
o
f
K
a
f
k
a
.
●
R
a
b
b
i
t
M
Q
J
a
v
a
c
l
i
e
n
t
-
R
a
b
b
i
t
M
Q
c
l
i
e
n
t
.
●
S
m
a
c
k
-
C
r
o
s
s
-
p
l
a
t
f
o
r
m
X
M
P
P
c
l
i
e
n
t
l
i
b
r
a
r
y
.
●
N
A
T
S
c
l
i
e
n
t
-
N
A
T
S
c
l
i
e
n
t
.
M
i
c
r
o
s
e
r
v
i
c
e
T
o
o
l
s
f
o
r
c
r
e
a
t
i
n
g
a
n
d
m
a
n
a
g
i
n
g
m
i
c
r
o
s
e
r
v
i
c
e
s
.
●
A
c
t
i
v
e
R
P
C
-
L
i
g
h
t
w
e
i
g
h
t
a
n
d
f
a
s
t
l
i
b
r
a
r
y
f
o
r
c
o
m
p
l
e
x
h
i
g
h
-
l
o
a
d
d
i
s
t
r
i
b
u
t
e
d
a
p
p
l
i
c
a
t
i
o
n
s
a
n
d
M
e
m
c
a
c
h
e
d
-
l
i
k
e
s
o
l
u
t
i
o
n
s
.
●
A
p
o
l
l
o
-
L
i
b
r
a
r
i
e
s
f
o
r
w
r
i
t
i
n
g
c
o
m
p
o
s
a
b
l
e
m
i
c
r
o
s
e
r
v
i
c
e
s
.
●
A
r
m
e
r
i
a
-
A
s
y
n
c
h
r
o
n
o
u
s
R
P
C
/
R
E
S
T
c
l
i
e
n
t
/
s
e
r
v
e
r
l
i
b
r
a
r
y
b
u
i
l
t
o
n
t
o
p
o
f
J
a
v
a
8
,
N
e
t
t
y
,
H
T
T
P
/
2
,
T
h
r
i
f
t
a
n
d
g
R
P
C
.
●
c
o
n
s
u
l
-
a
p
i
-
C
l
i
e
n
t
f
o
r
t
h
e
C
o
n
s
u
l
A
P
I
:
a
d
i
s
t
r
i
b
u
t
e
d
,
h
i
g
h
l
y
a
v
a
i
l
a
b
l
e
a
n
d
d
a
t
a
c
e
n
t
e
r
-
a
w
a
r
e
r
e
g
i
s
t
r
y
/
d
i
s
c
o
v
e
r
y
s
e
r
v
i
c
e
.
●
E
u
r
e
k
a
-
R
E
S
T
-
b
a
s
e
d
s
e
r
v
i
c
e
r
e
g
i
s
t
r
y
f
o
r
r
e
s
i
l
i
e
n
t
l
o
a
d
b
a
l
a
n
c
i
n
g
a
n
d
f
a
i
l
o
v
e
r
.
●
H
e
l
i
d
o
n
-
T
w
o
-
s
t
y
l
e
a
p
p
r
o
a
c
h
f
o
r
w
r
i
t
i
n
g
m
i
c
r
o
s
e
r
v
i
c
e
s
:
F
u
n
c
t
i
o
n
a
l
-
r
e
a
c
t
i
v
e
a
n
d
a
s
a
n
i
m
p
l
e
m
e
n
t
a
t
i
o
n
o
f
M
i
c
r
o
P
r
o
f
i
l
e
.
●
M
i
c
r
o
n
a
u
t
-
M
o
d
e
r
n
f
u
l
l
-
s
t
a
c
k
f
r
a
m
e
w
o
r
k
w
i
t
h
f
o
c
u
s
o
n
m
o
d
u
l
a
r
i
t
y
,
m
i
n
i
m
a
l
m
e
m
o
r
y
f
o
o
t
p
r
i
n
t
a
n
d
s
t
a
r
t
u
p
t
i
m
e
.
●
N
a
c
o
s
-
D
y
n
a
m
i
c
s
e
r
v
i
c
e
d
i
s
c
o
v
e
r
y
,
c
o
n
f
i
g
u
r
a
t
i
o
n
a
n
d
s
e
r
v
i
c
e
m
a
n
a
g
e
m
e
n
t
p
l
a
t
f
o
r
m
f
o
r
b
u
i
l
d
i
n
g
c
l
o
u
d
n
a
t
i
v
e
a
p
p
l
i
c
a
t
i
o
n
s
.
●
Q
u
a
r
k
u
s
-
K
u
b
e
r
n
e
t
e
s
s
t
a
c
k
t
a
i
l
o
r
e
d
f
o
r
t
h
e
H
o
t
S
p
o
t
a
n
d
G
r
a
a
l
V
M
.
●
S
e
n
t
i
n
e
l
-
F
l
o
w
c
o
n
t
r
o
l
c
o
m
p
o
n
e
n
t
e
n
a
b
l
i
n
g
r
e
l
i
a
b
i
l
i
t
y
,
r
e
s
i
l
i
e
n
c
e
a
n
d
m
o
n
i
t
o
r
i
n
g
f
o
r
m
i
c
r
o
s
e
r
v
i
c
e
s
.
M
i
s
c
e
l
l
a
n
e
o
u
s
E
v
e
r
y
t
h
i
n
g
e
l
s
e
.
●
C
Q
E
n
g
i
n
e
-
U
l
t
r
a
-
f
a
s
t
,
S
Q
L
-
l
i
k
e
q
u
e
r
i
e
s
o
n
J
a
v
a
c
o
l
l
e
c
t
i
o
n
s
.
●
D
e
s
i
g
n
P
a
t
t
e
r
n
s
-
I
m
p
l
e
m
e
n
t
a
t
i
o
n
a
n
d
e
x
p
l
a
n
a
t
i
o
n
o
f
t
h
e
m
o
s
t
c
o
m
m
o
n
d
e
s
i
g
n
p
a
t
t
e
r
n
s
.
●
F
F
4
J
-
F
e
a
t
u
r
e
F
l
a
g
s
f
o
r
J
a
v
a
.
●
F
i
z
z
B
u
z
z
E
n
t
e
r
p
r
i
s
e
E
d
i
t
i
o
n
-
N
o
-
n
o
n
s
e
n
s
e
i
m
p
l
e
m
e
n
t
a
t
i
o
n
o
f
F
i
z
z
B
u
z
z
m
a
d
e
b
y
s
e
r
i
o
u
s
b
u
s
i
n
e
s
s
m
e
n
f
o
r
s
e
r
i
o
u
s
b
u
s
i
n
e
s
s
p
u
r
p
o
s
e
s
.
(
N
o
e
x
p
l
i
c
i
t
l
i
c
e
n
s
e
)
●
J
2
O
b
j
C
-
J
a
v
a
-
t
o
-
O
b
j
e
c
t
i
v
e
-
C
t
r
a
n
s
l
a
t
o
r
f
o
r
p
o
r
t
i
n
g
A
n
d
r
o
i
d
l
i
b
r
a
r
i
e
s
t
o
i
O
S
.
●
J
B
a
k
e
-
S
t
a
t
i
c
w
e
b
s
i
t
e
g
e
n
e
r
a
t
o
r
.
●
J
B
o
t
-
F
r
a
m
e
w
o
r
k
f
o
r
b
u
i
l
d
i
n
g
c
h
a
t
b
o
t
s
.
(
G
P
L
-
3
.
0
-
o
n
l
y
)
●
J
C
u
d
a
-
J
C
u
d
a
o
f
f
e
r
s
J
a
v
a
b
i
n
d
i
n
g
s
f
o
r
C
U
D
A
a
n
d
C
U
D
A
-
r
e
l
a
t
e
d
l
i
b
r
a
r
i
e
s
.
●
J
i
m
f
s
-
I
n
-
m
e
m
o
r
y
f
i
l
e
s
y
s
t
e
m
.
●
J
o
d
a
-
M
o
n
e
y
-
B
a
s
i
c
c
u
r
r
e
n
c
y
a
n
d
m
o
n
e
y
c
l
a
s
s
e
s
a
n
d
a
l
g
o
r
i
t
h
m
s
n
o
t
p
r
o
v
i
d
e
d
b
y
t
h
e
J
D
K
.
●
J
P
a
d
-
S
n
i
p
p
e
t
r
u
n
n
e
r
.
●
j
s
w
e
e
t
-
S
o
u
r
c
e
t
r
a
n
s
p
i
l
e
r
t
o
T
y
p
e
S
c
r
i
p
t
/
J
a
v
a
S
c
r
i
p
t
.
●
M
a
v
e
n
W
r
a
p
p
e
r
-
A
n
a
l
o
g
u
e
o
f
G
r
a
d
l
e
W
r
a
p
p
e
r
f
o
r
M
a
v
e
n
,
a
l
l
o
w
s
b
u
i
l
d
i
n
g
p
r
o
j
e
c
t
s
w
i
t
h
o
u
t
i
n
s
t
a
l
l
i
n
g
m
a
v
e
n
.
●
M
e
m
b
r
a
n
e
S
e
r
v
i
c
e
P
r
o
x
y
-
O
p
e
n
-
s
o
u
r
c
e
,
r
e
v
e
r
s
e
-
p
r
o
x
y
f
r
a
m
e
w
o
r
k
.
●
M
i
n
i
m
a
l
F
T
P
-
L
i
g
h
t
w
e
i
g
h
t
,
s
m
a
l
l
a
n
d
c
u
s
t
o
m
i
z
a
b
l
e
F
T
P
s
e
r
v
e
r
.
●
M
o
d
e
r
n
J
a
v
a
-
A
G
u
i
d
e
t
o
J
a
v
a
8
-
P
o
p
u
l
a
r
J
a
v
a
8
g
u
i
d
e
.
●
M
o
d
e
r
n
i
z
e
r
-
D
e
t
e
c
t
u
s
e
s
o
f
l
e
g
a
c
y
J
a
v
a
A
P
I
s
.
●
O
c
t
o
L
i
n
k
e
r
-
B
r
o
w
s
e
r
e
x
t
e
n
s
i
o
n
w
h
i
c
h
a
l
l
o
w
s
t
o
n
a
v
i
g
a
t
e
t
h
r
o
u
g
h
c
o
d
e
o
n
G
i
t
H
u
b
m
o
r
e
e
f
f
i
c
i
e
n
t
l
y
.
●
O
p
e
n
R
e
f
i
n
e
-
T
o
o
l
f
o
r
w
o
r
k
i
n
g
w
i
t
h
m
e
s
s
y
d
a
t
a
:
c
l
e
a
n
i
n
g
,
t
r
a
n
s
f
o
r
m
i
n
g
,
e
x
t
e
n
d
i
n
g
i
t
w
i
t
h
w
e
b
s
e
r
v
i
c
e
s
a
n
d
l
i
n
k
i
n
g
i
t
t
o
d
a
t
a
b
a
s
e
s
.
●
P
i
p
e
l
i
n
R
-
S
m
a
l
l
u
t
i
l
i
t
y
l
i
b
r
a
r
y
f
o
r
u
s
i
n
g
h
a
n
d
l
e
r
s
a
n
d
c
o
m
m
a
n
d
s
w
i
t
h
p
i
p
e
l
i
n
e
s
.
●
P
o
l
y
g
l
o
t
f
o
r
M
a
v
e
n
-
E
x
t
e
n
s
i
o
n
s
f
o
r
M
a
v
e
n
3
.
3
.
1
+
t
h
a
t
a
l
l
o
w
s
w
r
i
t
i
n
g
t
h
e
P
O
M
m
o
d
e
l
i
n
d
i
a
l
e
c
t
s
o
t
h
e
r
t
h
a
n
X
M
L
.
●
S
i
m
p
l
e
J
a
v
a
M
a
i
l
-
M
a
i
l
i
n
g
w
i
t
h
a
c
l
e
a
n
a
n
d
f
l
u
e
n
t
A
P
I
.
●
S
m
o
o
k
s
-
E
x
t
e
n
s
i
b
l
e
f
r
a
m
e
w
o
r
k
f
o
r
b
u
i
l
d
i
n
g
a
p
p
l
i
c
a
t
i
o
n
s
t
h
a
t
p
r
o
c
e
s
s
d
a
t
a
w
h
i
c
h
m
e
a
n
s
b
i
n
d
i
n
g
s
,
t
r
a
n
s
f
o
r
m
a
t
i
o
n
s
,
m
e
s
s
a
g
e
p
r
o
c
e
s
s
i
n
g
a
n
d
e
n
r
i
c
h
m
e
n
t
.
(
L
G
P
L
-
3
.
0
-
o
n
l
y
)
●
T
o
g
g
l
z
-
I
m
p
l
e
m
e
n
t
a
t
i
o
n
o
f
t
h
e
F
e
a
t
u
r
e
T
o
g
g
l
e
s
p
a
t
t
e
r
n
.
●
T
y
p
e
T
o
o
l
s
-
T
o
o
l
s
f
o
r
r
e
s
o
l
v
i
n
g
g
e
n
e
r
i
c
t
y
p
e
s
.
●
X
M
L
B
e
a
m
-
P
r
o
c
e
s
s
e
s
X
M
L
b
y
u
s
i
n
g
a
n
n
o
t
a
t
i
o
n
s
o
r
X
P
a
t
h
w
i
t
h
i
n
c
o
d
e
.
●
y
G
u
a
r
d
-
O
b
f
u
s
c
a
t
i
o
n
v
i
a
r
e
n
a
m
i
n
g
a
n
d
s
h
r
i
n
k
i
n
g
.
M
o
b
i
l
e
D
e
v
e
l
o
p
m
e
n
t
T
o
o
l
s
f
o
r
c
r
e
a
t
i
n
g
o
r
m
a
n
a
g
i
n
g
m
o
b
i
l
e
a
p
p
l
i
c
a
t
i
o
n
s
.
●
C
o
d
e
n
a
m
e
O
n
e
-
C
r
o
s
s
-
p
l
a
t
f
o
r
m
s
o
l
u
t
i
o
n
f
o
r
w
r
i
t
i
n
g
n
a
t
i
v
e
m
o
b
i
l
e
a
p
p
s
.
(
G
P
L
-
2
.
0
-
o
n
l
y
W
I
T
H
C
l
a
s
s
p
a
t
h
-
e
x
c
e
p
t
i
o
n
-
2
.
0
)
●
M
o
b
i
l
e
U
I
-
C
r
o
s
s
-
p
l
a
t
f
o
r
m
f
r
a
m
e
w
o
r
k
f
o
r
d
e
v
e
l
o
p
i
n
g
m
o
b
i
l
e
a
p
p
s
w
i
t
h
n
a
t
i
v
e
U
I
i
n
J
a
v
a
a
n
d
K
o
t
l
i
n
.
●
M
u
l
t
i
-
O
S
E
n
g
i
n
e
-
O
p
e
n
-
s
o
u
r
c
e
,
c
r
o
s
s
-
p
l
a
t
f
o
r
m
e
n
g
i
n
e
t
o
d
e
v
e
l
o
p
n
a
t
i
v
e
m
o
b
i
l
e
(
i
O
S
,
A
n
d
r
o
i
d
,
e
t
c
.
)
a
p
p
s
.
M
o
n
i
t
o
r
i
n
g
T
o
o
l
s
t
h
a
t
m
o
n
i
t
o
r
a
p
p
l
i
c
a
t
i
o
n
s
i
n
p
r
o
d
u
c
t
i
o
n
.
●
A
u
t
o
m
o
n
-
C
o
m
b
i
n
e
s
t
h
e
p
o
w
e
r
o
f
A
O
P
w
i
t
h
m
o
n
i
t
o
r
i
n
g
a
n
d
/
o
r
l
o
g
g
i
n
g
t
o
o
l
s
.
●
F
a
i
l
s
a
f
e
A
c
t
u
a
t
o
r
-
O
u
t
o
f
t
h
e
b
o
x
m
o
n
i
t
o
r
i
n
g
o
f
F
a
i
l
s
a
f
e
C
i
r
c
u
i
t
B
r
e
a
k
e
r
i
n
S
p
r
i
n
g
-
B
o
o
t
e
n
v
i
r
o
n
m
e
n
t
.
●
G
l
o
w
r
o
o
t
-
O
p
e
n
-
s
o
u
r
c
e
J
a
v
a
A
P
M
.
●
i
n
s
p
e
c
t
I
T
-
C
a
p
t
u
r
e
s
d
e
t
a
i
l
e
d
r
u
n
-
t
i
m
e
i
n
f
o
r
m
a
t
i
o
n
v
i
a
h
o
o
k
s
t
h
a
t
c
a
n
b
e
c
h
a
n
g
e
d
o
n
t
h
e
f
l
y
.
I
t
s
u
p
p
o
r
t
s
t
r
a
c
i
n
g
o
v
e
r
m
u
l
t
i
p
l
e
s
y
s
t
e
m
s
v
i
a
t
h
e
O
p
e
n
T
r
a
c
i
n
g
A
P
I
a
n
d
c
a
n
c
o
r
r
e
l
a
t
e
t
h
e
d
a
t
a
w
i
t
h
e
n
d
u
s
e
r
m
o
n
i
t
o
r
i
n
g
.
●
I
n
s
t
r
u
m
e
n
t
a
l
-
R
e
a
l
-
t
i
m
e
J
a
v
a
a
p
p
l
i
c
a
t
i
o
n
p
e
r
f
o
r
m
a
n
c
e
m
o
n
i
t
o
r
i
n
g
.
A
c
o
m
m
e
r
c
i
a
l
s
e
r
v
i
c
e
w
i
t
h
f
r
e
e
d
e
v
e
l
o
p
m
e
n
t
a
c
c
o
u
n
t
s
.
●
J
a
v
a
M
e
l
o
d
y
-
P
e
r
f
o
r
m
a
n
c
e
m
o
n
i
t
o
r
i
n
g
a
n
d
p
r
o
f
i
l
i
n
g
.
●
J
a
e
g
e
r
c
l
i
e
n
t
-
J
a
e
g
e
r
c
l
i
e
n
t
.
●
j
m
x
t
r
a
n
s
-
C
o
n
n
e
c
t
t
o
m
u
l
t
i
p
l
e
J
V
M
s
a
n
d
q
u
e
r
y
t
h
e
m
f
o
r
t
h
e
i
r
a
t
t
r
i
b
u
t
e
s
v
i
a
J
M
X
.
I
t
s
q
u
e
r
y
l
a
n
g
u
a
g
e
i
s
b
a
s
e
d
o
n
J
S
O
N
,
w
h
i
c
h
a
l
l
o
w
s
n
o
n
-
J
a
v
a
p
r
o
g
r
a
m
m
e
r
s
t
o
a
c
c
e
s
s
t
h
e
J
V
M
a
t
t
r
i
b
u
t
e
s
.
S
u
p
p
o
r
t
s
d
i
f
f
e
r
e
n
t
o
u
t
p
u
t
w
r
i
t
e
s
,
i
n
c
l
u
d
i
n
g
G
r
a
p
h
i
t
e
,
G
a
n
g
l
i
a
,
a
n
d
S
t
a
t
s
D
.
●
J
o
l
o
k
i
a
-
J
M
X
o
v
e
r
R
E
S
T
.
●
M
e
t
r
i
c
s
-
E
x
p
o
s
e
m
e
t
r
i
c
s
v
i
a
J
M
X
o
r
H
T
T
P
a
n
d
s
e
n
d
t
h
e
m
t
o
a
d
a
t
a
b
a
s
e
.
●
D
a
t
a
d
o
g
-
M
o
d
e
r
n
m
o
n
i
t
o
r
i
n
g
&
a
n
a
l
y
t
i
c
s
.
●
n
u
d
g
e
4
j
-
R
e
m
o
t
e
d
e
v
e
l
o
p
e
r
c
o
n
s
o
l
e
f
r
o
m
t
h
e
b
r
o
w
s
e
r
f
o
r
J
a
v
a
8
v
i
a
b
y
t
e
c
o
d
e
i
n
j
e
c
t
i
o
n
.
●
P
i
n
p
o
i
n
t
-
O
p
e
n
-
s
o
u
r
c
e
A
P
M
t
o
o
l
.
●
P
r
o
m
e
t
h
e
u
s
-
P
r
o
v
i
d
e
s
a
m
u
l
t
i
-
d
i
m
e
n
s
i
o
n
a
l
d
a
t
a
m
o
d
e
l
,
D
S
L
,
a
u
t
o
n
o
m
o
u
s
s
e
r
v
e
r
n
o
d
e
s
a
n
d
m
u
c
h
m
o
r
e
.
●
S
P
M
-
P
e
r
f
o
r
m
a
n
c
e
m
o
n
i
t
o
r
w
i
t
h
d
i
s
t
r
i
b
u
t
i
n
g
t
r
a
n
s
a
c
t
i
o
n
t
r
a
c
i
n
g
f
o
r
J
V
M
a
p
p
s
.
●
S
t
a
g
e
m
o
n
i
t
o
r
-
O
p
e
n
-
s
o
u
r
c
e
p
e
r
f
o
r
m
a
n
c
e
m
o
n
i
t
o
r
i
n
g
a
n
d
t
r
a
n
s
a
c
t
i
o
n
t
r
a
c
i
n
g
f
o
r
J
V
M
a
p
p
s
.
●
S
y
s
m
o
n
-
L
i
g
h
t
w
e
i
g
h
t
p
l
a
t
f
o
r
m
m
o
n
i
t
o
r
i
n
g
t
o
o
l
f
o
r
J
a
v
a
V
M
s
.
●
z
i
p
k
i
n
-
D
i
s
t
r
i
b
u
t
e
d
t
r
a
c
i
n
g
s
y
s
t
e
m
w
h
i
c
h
g
a
t
h
e
r
s
t
i
m
i
n
g
d
a
t
a
n
e
e
d
e
d
t
o
t
r
o
u
b
l
e
s
h
o
o
t
l
a
t
e
n
c
y
p
r
o
b
l
e
m
s
i
n
m
i
c
r
o
s
e
r
v
i
c
e
a
r
c
h
i
t
e
c
t
u
r
e
s
.
N
a
t
i
v
e
F
o
r
w
o
r
k
i
n
g
w
i
t
h
p
l
a
t
f
o
r
m
-
s
p
e
c
i
f
i
c
n
a
t
i
v
e
l
i
b
r
a
r
i
e
s
.
●
A
p
a
r
a
p
i
-
C
o
n
v
e
r
t
s
b
y
t
e
c
o
d
e
t
o
O
p
e
n
C
L
w
h
i
c
h
a
l
l
o
w
s
e
x
e
c
u
t
i
o
n
o
n
G
P
U
s
.
●
J
a
v
a
C
P
P
-
P
r
o
v
i
d
e
s
e
f
f
i
c
i
e
n
t
a
n
d
e
a
s
y
a
c
c
e
s
s
t
o
n
a
t
i
v
e
C
+
+
.
●
J
N
A
-
W
o
r
k
w
i
t
h
n
a
t
i
v
e
l
i
b
r
a
r
i
e
s
w
i
t
h
o
u
t
w
r
i
t
i
n
g
J
N
I
.
A
l
s
o
p
r
o
v
i
d
e
s
i
n
t
e
r
f
a
c
e
s
t
o
c
o
m
m
o
n
s
y
s
t
e
m
l
i
b
r
a
r
i
e
s
.
●
J
N
R
-
W
o
r
k
w
i
t
h
n
a
t
i
v
e
l
i
b
r
a
r
i
e
s
w
i
t
h
o
u
t
w
r
i
t
i
n
g
J
N
I
.
A
l
s
o
p
r
o
v
i
d
e
s
i
n
t
e
r
f
a
c
e
s
t
o
c
o
m
m
o
n
s
y
s
t
e
m
l
i
b
r
a
r
i
e
s
.
S
a
m
e
g
o
a
l
s
a
s
J
N
A
,
b
u
t
f
a
s
t
e
r
,
a
n
d
s
e
r
v
e
s
a
s
t
h
e
b
a
s
i
s
f
o
r
t
h
e
u
p
c
o
m
i
n
g
P
r
o
j
e
c
t
P
a
n
a
m
a
.
N
a
t
u
r
a
l
L
a
n
g
u
a
g
e
P
r
o
c
e
s
s
i
n
g
L
i
b
r
a
r
i
e
s
t
h
a
t
s
p
e
c
i
a
l
i
z
e
i
n
p
r
o
c
e
s
s
i
n
g
t
e
x
t
.
●
C
o
g
C
o
m
p
N
L
P
-
P
r
o
v
i
d
e
s
c
o
m
m
o
n
a
n
n
o
t
a
t
o
r
s
f
o
r
p
l
a
i
n
t
e
x
t
i
n
p
u
t
.
(
R
e
s
e
a
r
c
h
a
n
d
A
c
a
d
e
m
i
c
U
s
e
L
i
c
e
n
s
e
)
●
C
o
r
e
N
L
P
-
P
r
o
v
i
d
e
s
a
s
e
t
o
f
f
u
n
d
a
m
e
n
t
a
l
t
o
o
l
s
f
o
r
t
a
s
k
s
l
i
k
e
t
a
g
g
i
n
g
,
n
a
m
e
d
e
n
t
i
t
y
r
e
c
o
g
n
i
t
i
o
n
,
a
n
d
s
e
n
t
i
m
e
n
t
a
n
a
l
y
s
i
s
.
(
G
P
L
-
3
.
0
-
o
r
-
l
a
t
e
r
)
●
D
K
P
r
o
-
C
o
l
l
e
c
t
i
o
n
o
f
r
e
u
s
a
b
l
e
N
L
P
t
o
o
l
s
f
o
r
l
i
n
g
u
i
s
t
i
c
p
r
e
-
p
r
o
c
e
s
s
i
n
g
,
m
a
c
h
i
n
e
l
e
a
r
n
i
n
g
,
l
e
x
i
c
a
l
r
e
s
o
u
r
c
e
s
,
e
t
c
.
●
L
i
n
g
P
i
p
e
-
T
o
o
l
k
i
t
f
o
r
t
a
s
k
s
r
a
n
g
i
n
g
f
r
o
m
P
O
S
t
a
g
g
i
n
g
t
o
s
e
n
t
i
m
e
n
t
a
n
a
l
y
s
i
s
.
N
e
t
w
o
r
k
i
n
g
L
i
b
r
a
r
i
e
s
f
o
r
b
u
i
l
d
i
n
g
n
e
t
w
o
r
k
s
e
r
v
e
r
s
.
●
C
o
m
s
a
t
-
I
n
t
e
g
r
a
t
e
s
s
t
a
n
d
a
r
d
J
a
v
a
w
e
b
-
r
e
l
a
t
e
d
A
P
I
s
w
i
t
h
Q
u
a
s
a
r
f
i
b
e
r
s
a
n
d
a
c
t
o
r
s
.
●
D
u
b
b
o
-
H
i
g
h
-
p
e
r
f
o
r
m
a
n
c
e
R
P
C
f
r
a
m
e
w
o
r
k
.
●
G
r
i
z
z
l
y
-
N
I
O
f
r
a
m
e
w
o
r
k
.
U
s
e
d
a
s
a
n
e
t
w
o
r
k
l
a
y
e
r
i
n
G
l
a
s
s
f
i
s
h
.
●
g
R
P
C
-
R
P
C
f
r
a
m
e
w
o
r
k
b
a
s
e
d
o
n
p
r
o
t
o
b
u
f
a
n
d
H
T
T
P
/
2
.
●
K
r
y
o
N
e
t
-
P
r
o
v
i
d
e
s
a
c
l
e
a
n
a
n
d
s
i
m
p
l
e
A
P
I
f
o
r
e
f
f
i
c
i
e
n
t
T
C
P
a
n
d
U
D
P
c
l
i
e
n
t
/
s
e
r
v
e
r
n
e
t
w
o
r
k
c
o
m
m
u
n
i
c
a
t
i
o
n
u
s
i
n
g
N
I
O
a
n
d
K
r
y
o
.
●
M
I
N
A
-
A
b
s
t
r
a
c
t
,
e
v
e
n
t
-
d
r
i
v
e
n
a
s
y
n
c
I
/
O
A
P
I
f
o
r
n
e
t
w
o
r
k
o
p
e
r
a
t
i
o
n
s
o
v
e
r
T
C
P
/
I
P
a
n
d
U
D
P
/
I
P
v
i
a
J
a
v
a
N
I
O
.
●
N
e
t
t
y
-
F
r
a
m
e
w
o
r
k
f
o
r
b
u
i
l
d
i
n
g
h
i
g
h
-
p
e
r
f
o
r
m
a
n
c
e
n
e
t
w
o
r
k
a
p
p
l
i
c
a
t
i
o
n
s
.
●
D
r
i
f
t
-
E
a
s
y
-
t
o
-
u
s
e
,
a
n
n
o
t
a
t
i
o
n
-
b
a
s
e
d
l
i
b
r
a
r
y
f
o
r
c
r
e
a
t
i
n
g
T
h
r
i
f
t
c
l
i
e
n
t
s
a
n
d
s
e
r
i
a
l
i
z
a
b
l
e
t
y
p
e
s
.
●
S
e
r
v
i
c
e
T
a
l
k
-
F
r
a
m
e
w
o
r
k
b
u
i
l
t
o
n
N
e
t
t
y
w
i
t
h
A
P
I
s
t
a
i
l
o
r
e
d
t
o
s
p
e
c
i
f
i
c
p
r
o
t
o
c
o
l
s
a
n
d
s
u
p
p
o
r
t
f
o
r
m
u
l
t
i
p
l
e
p
r
o
g
r
a
m
m
i
n
g
p
a
r
a
d
i
g
m
s
.
●
s
s
h
j
-
P
r
o
g
r
a
m
m
a
t
i
c
a
l
l
y
u
s
e
S
S
H
,
S
C
P
o
r
S
F
T
P
.
●
T
L
S
C
h
a
n
n
e
l
-
I
m
p
l
e
m
e
n
t
s
a
B
y
t
e
C
h
a
n
n
e
l
i
n
t
e
r
f
a
c
e
o
v
e
r
S
S
L
E
n
g
i
n
e
,
e
n
a
b
l
i
n
g
e
a
s
y
-
t
o
-
u
s
e
(
s
o
c
k
e
t
-
l
i
k
e
)
T
L
S
.
●
U
n
d
e
r
t
o
w
-
W
e
b
s
e
r
v
e
r
p
r
o
v
i
d
i
n
g
b
o
t
h
b
l
o
c
k
i
n
g
a
n
d
n
o
n
-
b
l
o
c
k
i
n
g
A
P
I
s
b
a
s
e
d
o
n
N
I
O
.
U
s
e
d
a
s
a
n
e
t
w
o
r
k
l
a
y
e
r
i
n
W
i
l
d
F
l
y
.
(
L
G
P
L
-
2
.
1
-
o
n
l
y
)
●
u
r
n
l
i
b
-
R
e
p
r
e
s
e
n
t
,
p
a
r
s
e
a
n
d
e
n
c
o
d
e
U
R
N
s
,
a
s
i
n
R
F
C
2
1
4
1
.
(
G
P
L
-
3
.
0
-
o
n
l
y
)
O
R
M
A
P
I
s
t
h
a
t
h
a
n
d
l
e
t
h
e
p
e
r
s
i
s
t
e
n
c
e
o
f
o
b
j
e
c
t
s
.
●
A
p
a
c
h
e
C
a
y
e
n
n
e
-
P
r
o
v
i
d
e
s
a
c
l
e
a
n
,
s
t
a
t
i
c
A
P
I
f
o
r
d
a
t
a
a
c
c
e
s
s
.
A
l
s
o
i
n
c
l
u
d
e
s
a
G
U
I
M
o
d
e
l
e
r
f
o
r
w
o
r
k
i
n
g
w
i
t
h
d
a
t
a
b
a
s
e
m
a
p
p
i
n
g
s
,
a
n
d
D
B
r
e
v
e
r
s
e
e
n
g
i
n
e
e
r
i
n
g
a
n
d
g
e
n
e
r
a
t
i
o
n
.
●
D
o
m
a
-
D
a
t
a
b
a
s
e
a
c
c
e
s
s
f
r
a
m
e
w
o
r
k
t
h
a
t
v
e
r
i
f
i
e
s
a
n
d
g
e
n
e
r
a
t
e
s
s
o
u
r
c
e
c
o
d
e
a
t
c
o
m
p
i
l
e
t
i
m
e
u
s
i
n
g
a
n
n
o
t
a
t
i
o
n
p
r
o
c
e
s
s
i
n
g
a
s
w
e
l
l
a
s
n
a
t
i
v
e
S
Q
L
t
e
m
p
l
a
t
e
s
c
a
l
l
e
d
t
w
o
-
w
a
y
S
Q
L
.
●
E
b
e
a
n
-
P
r
o
v
i
d
e
s
s
i
m
p
l
e
a
n
d
f
a
s
t
d
a
t
a
a
c
c
e
s
s
.
●
E
c
l
i
p
s
e
L
i
n
k
-
S
u
p
p
o
r
t
s
a
n
u
m
b
e
r
o
f
p
e
r
s
i
s
t
e
n
c
e
s
t
a
n
d
a
r
d
s
:
J
P
A
,
J
A
X
B
,
J
C
A
a
n
d
S
D
O
.
●
H
i
b
e
r
n
a
t
e
-
R
o
b
u
s
t
a
n
d
w
i
d
e
l
y
u
s
e
d
,
w
i
t
h
a
n
a
c
t
i
v
e
c
o
m
m
u
n
i
t
y
.
(
L
G
P
L
-
2
.
1
-
o
n
l
y
)
●
M
y
B
a
t
i
s
-
C
o
u
p
l
e
s
o
b
j
e
c
t
s
w
i
t
h
s
t
o
r
e
d
p
r
o
c
e
d
u
r
e
s
o
r
S
Q
L
s
t
a
t
e
m
e
n
t
s
.
●
P
e
r
m
a
z
e
n
-
L
a
n
g
u
a
g
e
-
n
a
t
u
r
a
l
p
e
r
s
i
s
t
e
n
c
e
l
a
y
e
r
.
●
S
i
m
p
l
e
F
l
a
t
M
a
p
p
e
r
-
S
i
m
p
l
e
d
a
t
a
b
a
s
e
a
n
d
C
S
V
m
a
p
p
e
r
.
P
a
a
S
J
a
v
a
p
l
a
t
f
o
r
m
a
s
a
s
e
r
v
i
c
e
.
●
A
W
S
E
l
a
s
t
i
c
B
e
a
n
s
t
a
l
k
-
A
W
S
-
b
a
s
e
d
,
w
i
t
h
s
u
p
p
o
r
t
f
o
r
T
o
m
c
a
t
a
n
d
J
e
t
t
y
.
●
A
W
S
L
a
m
b
d
a
-
S
e
r
v
e
r
l
e
s
s
c
o
m
p
u
t
a
t
i
o
n
.
●
G
o
o
g
l
e
C
l
o
u
d
-
G
o
o
g
l
e
'
s
c
l
o
u
d
i
n
f
r
a
s
t
r
u
c
t
u
r
e
.
●
H
e
r
o
k
u
-
A
b
s
t
r
a
c
t
c
o
m
p
u
t
i
n
g
e
n
v
i
r
o
n
m
e
n
t
s
.
●
M
i
c
r
o
s
o
f
t
A
z
u
r
e
-
M
i
c
r
o
s
o
f
t
'
s
c
l
o
u
d
i
n
f
r
a
s
t
r
u
c
t
u
r
e
.
●
O
p
e
n
S
h
i
f
t
-
P
r
o
v
i
d
e
s
a
d
d
i
t
i
o
n
a
l
l
y
a
n
o
n
-
p
r
e
m
i
s
e
s
o
l
u
t
i
o
n
.
P
D
F
T
o
o
l
s
t
o
h
e
l
p
w
i
t
h
P
D
F
f
i
l
e
s
.
●
A
p
a
c
h
e
F
O
P
-
C
r
e
a
t
e
s
P
D
F
s
f
r
o
m
X
S
L
-
F
O
.
●
A
p
a
c
h
e
P
D
F
B
o
x
-
T
o
o
l
b
o
x
f
o
r
c
r
e
a
t
i
n
g
a
n
d
m
a
n
i
p
u
l
a
t
i
n
g
P
D
F
s
.
●
D
y
n
a
m
i
c
J
a
s
p
e
r
-
A
b
s
t
r
a
c
t
i
o
n
l
a
y
e
r
t
o
J
a
s
p
e
r
R
e
p
o
r
t
s
.
(
L
G
P
L
-
3
.
0
-
o
n
l
y
)
●
D
y
n
a
m
i
c
R
e
p
o
r
t
s
-
S
i
m
p
l
i
f
i
e
s
J
a
s
p
e
r
R
e
p
o
r
t
s
.
(
L
G
P
L
-
3
.
0
-
o
n
l
y
)
●
E
c
l
i
p
s
e
B
I
R
T
-
R
e
p
o
r
t
e
n
g
i
n
e
f
o
r
c
r
e
a
t
i
n
g
P
D
F
a
n
d
o
t
h
e
r
f
o
r
m
a
t
s
(
D
O
C
X
,
X
L
S
X
,
H
T
M
L
,
e
t
c
)
u
s
i
n
g
E
c
l
i
p
s
e
-
b
a
s
e
d
v
i
s
u
a
l
e
d
i
t
o
r
.
●
f
l
y
i
n
g
s
a
u
c
e
r
-
X
M
L
/
X
H
T
M
L
a
n
d
C
S
S
2
.
1
r
e
n
d
e
r
e
r
.
(
L
G
P
L
-
2
.
1
-
o
r
-
l
a
t
e
r
)
●
i
T
e
x
t
-
C
r
e
a
t
e
s
P
D
F
f
i
l
e
s
p
r
o
g
r
a
m
m
a
t
i
c
a
l
l
y
.
●
J
a
s
p
e
r
R
e
p
o
r
t
s
-
C
o
m
p
l
e
x
r
e
p
o
r
t
i
n
g
e
n
g
i
n
e
.
(
L
G
P
L
-
3
.
0
-
o
n
l
y
)
●
O
p
e
n
H
T
M
L
t
o
P
D
F
-
P
r
o
p
e
r
l
y
s
u
p
p
o
r
t
s
m
o
d
e
r
n
P
D
F
s
t
a
n
d
a
r
d
s
b
a
s
e
d
o
n
f
l
y
i
n
g
s
a
u
c
e
r
a
n
d
A
p
a
c
h
e
P
D
F
B
o
x
.
●
O
p
e
n
P
D
F
-
O
p
e
n
-
s
o
u
r
c
e
i
T
e
x
t
f
o
r
k
.
(
L
G
P
L
-
3
.
0
-
o
n
l
y
&
M
P
L
-
2
.
0
)
●
T
a
b
u
l
a
-
E
x
t
r
a
c
t
s
t
a
b
l
e
s
f
r
o
m
P
D
F
f
i
l
e
s
.
P
e
r
f
o
r
m
a
n
c
e
a
n
a
l
y
s
i
s
T
o
o
l
s
f
o
r
p
e
r
f
o
r
m
a
n
c
e
a
n
a
l
y
s
i
s
,
p
r
o
f
i
l
i
n
g
a
n
d
b
e
n
c
h
m
a
r
k
i
n
g
.
●
f
a
s
t
T
h
r
e
a
d
-
A
n
a
l
y
z
e
a
n
d
v
i
s
u
a
l
i
z
e
t
h
r
e
a
d
d
u
m
p
s
w
i
t
h
a
f
r
e
e
c
l
o
u
d
-
b
a
s
e
d
u
p
l
o
a
d
i
n
t
e
r
f
a
c
e
.
●
G
C
e
a
s
y
-
T
o
o
l
t
o
a
n
a
l
y
z
e
a
n
d
v
i
s
u
a
l
i
z
e
G
C
l
o
g
s
.
I
t
p
r
o
v
i
d
e
s
a
f
r
e
e
c
l
o
u
d
-
b
a
s
e
d
u
p
l
o
a
d
i
n
t
e
r
f
a
c
e
.
●
h
o
n
e
s
t
-
p
r
o
f
i
l
e
r
-
L
o
w
-
o
v
e
r
h
e
a
d
,
b
i
a
s
-
f
r
e
e
s
a
m
p
l
i
n
g
p
r
o
f
i
l
e
r
.
●
j
H
i
c
c
u
p
-
L
o
g
s
a
n
d
r
e
c
o
r
d
s
p
l
a
t
f
o
r
m
J
V
M
s
t
a
l
l
s
.
●
J
I
T
W
a
t
c
h
-
A
n
a
l
y
z
e
t
h
e
J
I
T
c
o
m
p
i
l
e
r
o
p
t
i
m
i
s
a
t
i
o
n
s
m
a
d
e
b
y
t
h
e
H
o
t
S
p
o
t
J
V
M
.
●
J
M
H
-
H
a
r
n
e
s
s
f
o
r
b
u
i
l
d
i
n
g
,
r
u
n
n
i
n
g
,
a
n
d
a
n
a
l
y
s
i
n
g
n
a
n
o
/
m
i
c
r
o
/
m
i
l
l
i
/
m
a
c
r
o
b
e
n
c
h
m
a
r
k
s
w
r
i
t
t
e
n
i
n
J
a
v
a
a
n
d
o
t
h
e
r
l
a
n
g
u
a
g
e
s
t
a
r
g
e
t
i
n
g
t
h
e
J
V
M
.
(
G
P
L
-
2
.
0
o
n
l
y
W
I
T
H
C
l
a
s
s
p
a
t
h
-
e
x
c
e
p
t
i
o
n
-
2
.
0
)
●
L
a
t
e
n
c
y
U
t
i
l
s
-
U
t
i
l
i
t
i
e
s
f
o
r
l
a
t
e
n
c
y
m
e
a
s
u
r
e
m
e
n
t
a
n
d
r
e
p
o
r
t
i
n
g
.
P
l
a
t
f
o
r
m
F
r
a
m
e
w
o
r
k
s
t
h
a
t
a
r
e
s
u
i
t
e
s
o
f
m
u
l
t
i
p
l
e
l
i
b
r
a
r
i
e
s
e
n
c
o
m
p
a
s
s
i
n
g
s
e
v
e
r
a
l
c
a
t
e
g
o
r
i
e
s
.
A
p
a
c
h
e
C
o
m
m
o
n
s
●
B
C
E
L
-
B
y
t
e
C
o
d
e
E
n
g
i
n
e
e
r
i
n
g
L
i
b
r
a
r
y
-
a
n
a
l
y
z
e
,
c
r
e
a
t
e
,
a
n
d
m
a
n
i
p
u
l
a
t
e
J
a
v
a
c
l
a
s
s
f
i
l
e
s
.
●
B
e
a
n
U
t
i
l
s
-
E
a
s
y
-
t
o
-
u
s
e
w
r
a
p
p
e
r
s
a
r
o
u
n
d
t
h
e
J
a
v
a
r
e
f
l
e
c
t
i
o
n
a
n
d
i
n
t
r
o
s
p
e
c
t
i
o
n
A
P
I
s
.
●
B
e
a
n
U
t
i
l
s
2
-
R
e
d
e
s
i
g
n
o
f
C
o
m
m
o
n
s
B
e
a
n
U
t
i
l
s
.
●
B
S
F
-
B
e
a
n
S
c
r
i
p
t
i
n
g
F
r
a
m
e
w
o
r
k
-
i
n
t
e
r
f
a
c
e
t
o
s
c
r
i
p
t
i
n
g
l
a
n
g
u
a
g
e
s
,
i
n
c
l
u
d
i
n
g
J
S
R
-
2
2
3
.
●
C
h
a
i
n
-
C
h
a
i
n
o
f
R
e
s
p
o
n
s
i
b
i
l
i
t
y
p
a
t
t
e
r
n
i
m
p
l
e
m
e
n
t
a
t
i
o
n
.
●
C
l
a
s
s
S
c
a
n
-
F
i
n
d
C
l
a
s
s
i
n
t
e
r
f
a
c
e
s
,
m
e
t
h
o
d
s
,
f
i
e
l
d
s
,
a
n
d
a
n
n
o
t
a
t
i
o
n
s
w
i
t
h
o
u
t
l
o
a
d
i
n
g
.
●
C
L
I
-
C
o
m
m
a
n
d
-
l
i
n
e
a
r
g
u
m
e
n
t
s
p
a
r
s
e
r
.
●
C
L
I
2
-
R
e
d
e
s
i
g
n
o
f
C
o
m
m
o
n
s
C
L
I
.
●
C
o
d
e
c
-
G
e
n
e
r
a
l
e
n
c
o
d
i
n
g
/
d
e
c
o
d
i
n
g
a
l
g
o
r
i
t
h
m
s
,
e
.
g
.
p
h
o
n
e
t
i
c
,
b
a
s
e
6
4
o
r
U
R
L
.
●
C
o
l
l
e
c
t
i
o
n
s
-
E
x
t
e
n
d
s
o
r
a
u
g
m
e
n
t
s
t
h
e
J
a
v
a
C
o
l
l
e
c
t
i
o
n
s
F
r
a
m
e
w
o
r
k
.
●
C
o
m
p
r
e
s
s
-
D
e
f
i
n
e
s
a
n
A
P
I
f
o
r
w
o
r
k
i
n
g
w
i
t
h
t
a
r
,
z
i
p
a
n
d
b
z
i
p
2
f
i
l
e
s
.
●
C
o
n
f
i
g
u
r
a
t
i
o
n
-
R
e
a
d
i
n
g
o
f
c
o
n
f
i
g
u
r
a
t
i
o
n
/
p
r
e
f
e
r
e
n
c
e
s
f
i
l
e
s
i
n
v
a
r
i
o
u
s
f
o
r
m
a
t
s
.
●
C
o
n
v
e
r
t
-
C
o
m
m
o
n
s
-
C
o
n
v
e
r
t
a
i
m
s
t
o
p
r
o
v
i
d
e
a
s
i
n
g
l
e
l
i
b
r
a
r
y
d
e
d
i
c
a
t
e
d
t
o
t
h
e
t
a
s
k
o
f
c
o
n
v
e
r
t
i
n
g
a
n
o
b
j
e
c
t
o
f
o
n
e
t
y
p
e
t
o
a
n
o
t
h
e
r
.
●
C
S
V
-
C
o
m
p
o
n
e
n
t
f
o
r
r
e
a
d
i
n
g
a
n
d
w
r
i
t
i
n
g
c
o
m
m
a
s
e
p
a
r
a
t
e
d
v
a
l
u
e
f
i
l
e
s
.
●
D
a
e
m
o
n
-
A
l
t
e
r
n
a
t
i
v
e
i
n
v
o
c
a
t
i
o
n
m
e
c
h
a
n
i
s
m
f
o
r
u
n
i
x
-
d
a
e
m
o
n
-
l
i
k
e
j
a
v
a
c
o
d
e
.
●
D
B
C
P
-
D
a
t
a
b
a
s
e
c
o
n
n
e
c
t
i
o
n
p
o
o
l
i
n
g
s
e
r
v
i
c
e
s
.
●
D
b
U
t
i
l
s
-
J
D
B
C
h
e
l
p
e
r
l
i
b
r
a
r
y
.
●
D
i
g
e
s
t
e
r
-
X
M
L
-
t
o
-
J
a
v
a
-
o
b
j
e
c
t
m
a
p
p
i
n
g
u
t
i
l
i
t
y
.
●
E
m
a
i
l
-
L
i
b
r
a
r
y
f
o
r
s
e
n
d
i
n
g
e
-
m
a
i
l
f
r
o
m
J
a
v
a
.
●
E
x
e
c
-
A
P
I
f
o
r
d
e
a
l
i
n
g
w
i
t
h
e
x
t
e
r
n
a
l
p
r
o
c
e
s
s
e
x
e
c
u
t
i
o
n
a
n
d
e
n
v
i
r
o
n
m
e
n
t
m
a
n
a
g
e
m
e
n
t
i
n
J
a
v
a
.
●
F
i
l
e
U
p
l
o
a
d
-
F
i
l
e
u
p
l
o
a
d
c
a
p
a
b
i
l
i
t
y
f
o
r
y
o
u
r
s
e
r
v
l
e
t
s
a
n
d
w
e
b
a
p
p
l
i
c
a
t
i
o
n
s
.
●
F
i
n
d
e
r
-
J
a
v
a
l
i
b
r
a
r
y
i
n
s
p
i
r
e
d
b
y
t
h
e
U
N
I
X
f
i
n
d
c
o
m
m
a
n
d
.
●
F
l
a
t
f
i
l
e
-
J
a
v
a
l
i
b
r
a
r
y
f
o
r
w
o
r
k
i
n
g
w
i
t
h
f
l
a
t
d
a
t
a
s
t
r
u
c
t
u
r
e
s
.
●
F
u
n
c
t
o
r
-
F
u
n
c
t
i
o
n
t
h
a
t
c
a
n
b
e
m
a
n
i
p
u
l
a
t
e
d
a
s
a
n
o
b
j
e
c
t
,
o
r
a
n
o
b
j
e
c
t
r
e
p
r
e
s
e
n
t
i
n
g
a
s
i
n
g
l
e
,
g
e
n
e
r
i
c
f
u
n
c
t
i
o
n
.
●
G
r
a
p
h
-
G
e
n
e
r
a
l
p
u
r
p
o
s
e
g
r
a
p
h
A
P
I
s
a
n
d
a
l
g
o
r
i
t
h
m
s
.
●
I
1
8
n
-
A
d
d
s
t
h
e
f
e
a
t
u
r
e
o
f
l
o
c
a
l
i
z
e
d
m
e
s
s
a
g
e
b
u
n
d
l
e
s
t
h
a
t
c
o
n
s
i
s
t
o
f
o
n
e
o
r
m
a
n
y
l
o
c
a
l
i
z
e
d
t
e
x
t
s
t
h
a
t
b
e
l
o
n
g
t
o
g
e
t
h
e
r
.
●
Id
-
I
d
i
s
a
c
o
m
p
o
n
e
n
t
u
s
e
d
t
o
g
e
n
e
r
a
t
e
i
d
e
n
t
i
f
i
e
r
s
.
●
I
m
a
g
i
n
g
-
I
m
a
g
e
l
i
b
r
a
r
y
.
●
IO
-
C
o
l
l
e
c
t
i
o
n
o
f
I
/
O
u
t
i
l
i
t
i
e
s
.
●
J
a
v
a
f
l
o
w
-
C
o
n
t
i
n
u
a
t
i
o
n
i
m
p
l
e
m
e
n
t
a
t
i
o
n
t
o
c
a
p
t
u
r
e
t
h
e
s
t
a
t
e
o
f
t
h
e
a
p
p
l
i
c
a
t
i
o
n
.
●
J
C
I
-
J
a
v
a
C
o
m
p
i
l
e
r
I
n
t
e
r
f
a
c
e
.
●
J
C
S
-
J
a
v
a
C
a
c
h
i
n
g
S
y
s
t
e
m
.
●
J
e
l
l
y
-
X
M
L
b
a
s
e
d
s
c
r
i
p
t
i
n
g
a
n
d
p
r
o
c
e
s
s
i
n
g
e
n
g
i
n
e
.
●
J
e
x
l
-
E
x
p
r
e
s
s
i
o
n
l
a
n
g
u
a
g
e
w
h
i
c
h
e
x
t
e
n
d
s
t
h
e
E
x
p
r
e
s
s
i
o
n
L
a
n
g
u
a
g
e
o
f
t
h
e
J
S
T
L
.
●
J
N
e
t
-
J
N
e
t
a
l
l
o
w
s
t
o
u
s
e
d
y
n
a
m
i
c
a
l
l
y
r
e
g
i
s
t
e
r
u
r
l
s
t
r
e
a
m
h
a
n
d
l
e
r
s
t
h
r
o
u
g
h
t
h
e
j
a
v
a
.
n
e
t
A
P
I
.
●
J
X
P
a
t
h
-
U
t
i
l
i
t
i
e
s
f
o
r
m
a
n
i
p
u
l
a
t
i
n
g
J
a
v
a
B
e
a
n
s
u
s
i
n
g
t
h
e
X
P
a
t
h
s
y
n
t
a
x
.
●
L
a
n
g
-
P
r
o
v
i
d
e
s
e
x
t
r
a
f
u
n
c
t
i
o
n
a
l
i
t
y
f
o
r
c
l
a
s
s
e
s
i
n
j
a
v
a
.
l
a
n
g
.
●
L
o
g
g
i
n
g
-
W
r
a
p
p
e
r
a
r
o
u
n
d
a
v
a
r
i
e
t
y
o
f
l
o
g
g
i
n
g
A
P
I
i
m
p
l
e
m
e
n
t
a
t
i
o
n
s
.
●
M
a
t
h
-
L
i
g
h
t
w
e
i
g
h
t
,
s
e
l
f
-
c
o
n
t
a
i
n
e
d
m
a
t
h
e
m
a
t
i
c
s
a
n
d
s
t
a
t
i
s
t
i
c
s
c
o
m
p
o
n
e
n
t
s
.
●
M
o
n
i
t
o
r
i
n
g
-
M
o
n
i
t
o
r
i
n
g
a
i
m
s
t
o
p
r
o
v
i
d
e
a
s
i
m
p
l
e
b
u
t
e
x
t
e
n
s
i
b
l
e
m
o
n
i
t
o
r
i
n
g
s
o
l
u
t
i
o
n
f
o
r
J
a
v
a
a
p
p
l
i
c
a
t
i
o
n
s
.
●
N
a
b
l
a
-
N
a
b
l
a
p
r
o
v
i
d
e
s
a
u
t
o
m
a
t
i
c
d
i
f
f
e
r
e
n
t
i
a
t
i
o
n
c
l
a
s
s
e
s
t
h
a
t
c
a
n
g
e
n
e
r
a
t
e
d
e
r
i
v
a
t
i
v
e
o
f
a
n
y
f
u
n
c
t
i
o
n
i
m
p
l
e
m
e
n
t
e
d
i
n
t
h
e
J
a
v
a
l
a
n
g
u
a
g
e
.
●
N
e
t
-
C
o
l
l
e
c
t
i
o
n
o
f
n
e
t
w
o
r
k
u
t
i
l
i
t
i
e
s
a
n
d
p
r
o
t
o
c
o
l
i
m
p
l
e
m
e
n
t
a
t
i
o
n
s
.
●
O
G
N
L
-
O
b
j
e
c
t
-
g
r
a
p
h
n
a
v
i
g
a
t
i
o
n
l
a
n
g
u
a
g
e
.
●
O
p
e
n
P
G
P
-
I
n
t
e
r
f
a
c
e
t
o
s
i
g
n
i
n
g
a
n
d
v
e
r
i
f
y
i
n
g
d
a
t
a
u
s
i
n
g
O
p
e
n
P
G
P
.
●
P
e
r
f
o
r
m
a
n
c
e
-
S
m
a
l
l
f
r
a
m
e
w
o
r
k
f
o
r
m
i
c
r
o
b
e
n
c
h
m
a
r
k
c
l
i
e
n
t
s
,
w
i
t
h
i
m
p
l
e
m
e
n
t
a
t
i
o
n
s
f
o
r
C
o
m
m
o
n
s
D
B
C
P
a
n
d
P
o
o
l
.
●
P
i
p
e
l
i
n
e
-
P
r
o
v
i
d
e
s
a
s
e
t
o
f
p
i
p
e
l
i
n
e
u
t
i
l
i
t
i
e
s
d
e
s
i
g
n
e
d
a
r
o
u
n
d
w
o
r
k
q
u
e
u
e
s
t
h
a
t
r
u
n
i
n
p
a
r
a
l
l
e
l
t
o
s
e
q
u
e
n
t
i
a
l
l
y
p
r
o
c
e
s
s
d
a
t
a
o
b
j
e
c
t
s
.
●
P
o
o
l
-
G
e
n
e
r
i
c
o
b
j
e
c
t
p
o
o
l
i
n
g
c
o
m
p
o
n
e
n
t
.
●
P
r
o
x
y
-
L
i
b
r
a
r
y
f
o
r
c
r
e
a
t
i
n
g
d
y
n
a
m
i
c
p
r
o
x
i
e
s
.
●
R
D
F
-
C
o
m
m
o
n
i
m
p
l
e
m
e
n
t
a
t
i
o
n
o
f
R
D
F
1
.
1
t
h
a
t
c
o
u
l
d
b
e
i
m
p
l
e
m
e
n
t
e
d
b
y
s
y
s
t
e
m
s
o
n
t
h
e
J
V
M
.
●
R
N
G
-
C
o
m
m
o
n
s
R
n
g
p
r
o
v
i
d
e
s
i
m
p
l
e
m
e
n
t
a
t
i
o
n
s
o
f
p
s
e
u
d
o
-
r
a
n
d
o
m
n
u
m
b
e
r
s
g
e
n
e
r
a
t
o
r
s
.
●
S
C
X
M
L
-
I
m
p
l
e
m
e
n
t
a
t
i
o
n
o
f
t
h
e
S
t
a
t
e
C
h
a
r
t
X
M
L
s
p
e
c
i
f
i
c
a
t
i
o
n
a
i
m
e
d
a
t
c
r
e
a
t
i
n
g
a
n
d
m
a
i
n
t
a
i
n
i
n
g
a
J
a
v
a
S
C
X
M
L
e
n
g
i
n
e
.
●
V
a
l
i
d
a
t
o
r
-
F
r
a
m
e
w
o
r
k
t
o
d
e
f
i
n
e
v
a
l
i
d
a
t
o
r
s
a
n
d
v
a
l
i
d
a
t
i
o
n
r
u
l
e
s
i
n
a
n
x
m
l
f
i
l
e
.
●
V
F
S
-
V
i
r
t
u
a
l
F
i
l
e
S
y
s
t
e
m
c
o
m
p
o
n
e
n
t
f
o
r
t
r
e
a
t
i
n
g
f
i
l
e
s
,
F
T
P
,
S
M
B
,
Z
I
P
a
n
d
s
u
c
h
l
i
k
e
a
s
a
s
i
n
g
l
e
l
o
g
i
c
a
l
f
i
l
e
s
y
s
t
e
m
.
●
W
e
a
v
e
r
-
P
r
o
v
i
d
e
s
a
n
e
a
s
y
w
a
y
t
o
e
n
h
a
n
c
e
(
w
e
a
v
e
)
c
o
m
p
i
l
e
d
b
y
t
e
c
o
d
e
.
O
t
h
e
r
●
C
U
B
A
P
l
a
t
f
o
r
m
-
H
i
g
h
-
l
e
v
e
l
f
r
a
m
e
w
o
r
k
f
o
r
d
e
v
e
l
o
p
i
n
g
e
n
t
e
r
p
r
i
s
e
a
p
p
l
i
c
a
t
i
o
n
s
w
i
t
h
a
r
i
c
h
w
e
b
i
n
t
e
r
f
a
c
e
,
b
a
s
e
d
o
n
S
p
r
i
n
g
,
E
c
l
i
p
s
e
L
i
n
k
a
n
d
V
a
a
d
i
n
.
●
L
i
g
h
t
-
4
J
-
F
a
s
t
,
l
i
g
h
t
w
e
i
g
h
t
a
n
d
p
r
o
d
u
c
t
i
v
e
m
i
c
r
o
s
e
r
v
i
c
e
s
f
r
a
m
e
w
o
r
k
w
i
t
h
b
u
i
l
t
-
i
n
s
e
c
u
r
i
t
y
.
●
O
r
i
e
n
t
e
e
r
-
O
p
e
n
-
s
o
u
r
c
e
b
u
s
i
n
e
s
s
a
p
p
l
i
c
a
t
i
o
n
p
l
a
t
f
o
r
m
f
o
r
r
a
p
i
d
c
o
n
f
i
g
u
r
a
t
i
o
n
/
d
e
v
e
l
o
p
m
e
n
t
o
f
C
R
M
,
E
R
P
,
L
M
S
a
n
d
o
t
h
e
r
a
p
p
l
i
c
a
t
i
o
n
s
.
●
S
p
r
i
n
g
-
P
r
o
v
i
d
e
s
m
a
n
y
p
a
c
k
a
g
e
s
f
o
r
d
e
p
e
n
d
e
n
c
y
i
n
j
e
c
t
i
o
n
,
a
s
p
e
c
t
-
o
r
i
e
n
t
e
d
p
r
o
g
r
a
m
m
i
n
g
,
s
e
c
u
r
i
t
y
,
e
t
c
.
P
r
o
c
e
s
s
e
s
L
i
b
r
a
r
i
e
s
t
h
a
t
h
e
l
p
t
h
e
m
a
n
a
g
e
m
e
n
t
o
f
o
p
e
r
a
t
i
n
g
s
y
s
t
e
m
p
r
o
c
e
s
s
e
s
.
●
c
h
.
v
o
r
b
u
r
g
e
r
.
e
x
e
c
-
C
o
n
v
e
n
i
e
n
t
A
P
I
a
r
o
u
n
d
A
p
a
c
h
e
C
o
m
m
o
n
s
E
x
e
c
.
●
z
t
-
e
x
e
c
-
P
r
o
v
i
d
e
s
a
u
n
i
f
i
e
d
A
P
I
t
o
A
p
a
c
h
e
C
o
m
m
o
n
s
E
x
e
c
a
n
d
P
r
o
c
e
s
s
B
u
i
l
d
e
r
.
●
z
t
-
p
r
o
c
e
s
s
-
k
i
l
l
e
r
-
S
t
o
p
s
p
r
o
c
e
s
s
e
s
s
t
a
r
t
e
d
f
r
o
m
J
a
v
a
o
r
t
h
e
s
y
s
t
e
m
p
r
o
c
e
s
s
e
s
v
i
a
P
I
D
.
R
e
a
c
t
i
v
e
l
i
b
r
a
r
i
e
s
L
i
b
r
a
r
i
e
s
f
o
r
d
e
v
e
l
o
p
i
n
g
r
e
a
c
t
i
v
e
a
p
p
l
i
c
a
t
i
o
n
s
.
●
A
k
k
a
-
T
o
o
l
k
i
t
a
n
d
r
u
n
t
i
m
e
f
o
r
b
u
i
l
d
i
n
g
c
o
n
c
u
r
r
e
n
t
,
d
i
s
t
r
i
b
u
t
e
d
,
f
a
u
l
t
-
t
o
l
e
r
a
n
t
a
n
d
e
v
e
n
t
-
d
r
i
v
e
n
a
p
p
l
i
c
a
t
i
o
n
s
.
●
R
e
a
c
t
i
v
e
S
t
r
e
a
m
s
-
P
r
o
v
i
d
e
s
a
s
t
a
n
d
a
r
d
f
o
r
a
s
y
n
c
h
r
o
n
o
u
s
s
t
r
e
a
m
p
r
o
c
e
s
s
i
n
g
w
i
t
h
n
o
n
-
b
l
o
c
k
i
n
g
b
a
c
k
p
r
e
s
s
u
r
e
.
●
R
e
a
c
t
o
r
-
L
i
b
r
a
r
y
f
o
r
b
u
i
l
d
i
n
g
r
e
a
c
t
i
v
e
f
a
s
t
-
d
a
t
a
a
p
p
l
i
c
a
t
i
o
n
s
.
●
R
x
J
a
v
a
-
A
l
l
o
w
s
f
o
r
c
o
m
p
o
s
i
n
g
a
s
y
n
c
h
r
o
n
o
u
s
a
n
d
e
v
e
n
t
-
b
a
s
e
d
p
r
o
g
r
a
m
s
u
s
i
n
g
o
b
s
e
r
v
a
b
l
e
s
e
q
u
e
n
c
e
s
.
●
v
e
r
t
.
x
-
P
o
l
y
g
l
o
t
e
v
e
n
t
-
d
r
i
v
e
n
a
p
p
l
i
c
a
t
i
o
n
f
r
a
m
e
w
o
r
k
.
R
E
S
T
F
r
a
m
e
w
o
r
k
s
F
r
a
m
e
w
o
r
k
s
s
p
e
c
i
f
i
c
a
l
l
y
f
o
r
c
r
e
a
t
i
n
g
R
E
S
T
f
u
l
s
e
r
v
i
c
e
s
.
●
D
r
o
p
w
i
z
a
r
d
-
O
p
i
n
i
o
n
a
t
e
d
f
r
a
m
e
w
o
r
k
f
o
r
s
e
t
t
i
n
g
u
p
m
o
d
e
r
n
w
e
b
a
p
p
l
i
c
a
t
i
o
n
s
w
i
t
h
J
e
t
t
y
,
J
a
c
k
s
o
n
,
J
e
r
s
e
y
a
n
d
M
e
t
r
i
c
s
.
●
E
l
i
d
e
-
O
p
i
n
i
o
n
a
t
e
d
f
r
a
m
e
w
o
r
k
f
o
r
J
S
O
N
-
o
r
G
r
a
p
h
Q
L
-
A
P
I
s
b
a
s
e
d
o
n
a
J
P
A
d
a
t
a
m
o
d
e
l
.
●
J
e
r
s
e
y
-
J
A
X
-
R
S
r
e
f
e
r
e
n
c
e
i
m
p
l
e
m
e
n
t
a
t
i
o
n
.
●
M
i
c
r
o
s
e
r
v
e
r
-
C
o
n
v
e
n
i
e
n
t
,
e
x
t
e
n
s
i
b
l
e
m
i
c
r
o
s
e
r
v
i
c
e
s
p
l
u
g
i
n
s
y
s
t
e
m
f
o
r
S
p
r
i
n
g
&
S
p
r
i
n
g
B
o
o
t
.
W
i
t
h
m
o
r
e
t
h
a
n
3
0
p
l
u
g
i
n
s
a
n
d
g
r
o
w
i
n
g
,
i
t
s
u
p
p
o
r
t
s
b
o
t
h
m
i
c
r
o
-
m
o
n
o
l
i
t
h
a
n
d
p
u
r
e
m
i
c
r
o
s
e
r
v
i
c
e
s
s
t
y
l
e
s
.
●
R
a
p
i
d
o
i
d
-
S
i
m
p
l
e
,
s
e
c
u
r
e
a
n
d
e
x
t
r
e
m
e
l
y
f
a
s
t
f
r
a
m
e
w
o
r
k
c
o
n
s
i
s
t
i
n
g
o
f
a
n
e
m
b
e
d
d
e
d
H
T
T
P
s
e
r
v
e
r
,
G
U
I
c
o
m
p
o
n
e
n
t
s
a
n
d
d
e
p
e
n
d
e
n
c
y
i
n
j
e
c
t
i
o
n
.
●
r
e
s
t
.
l
i
-
F
r
a
m
e
w
o
r
k
f
o
r
b
u
i
l
d
i
n
g
r
o
b
u
s
t
,
s
c
a
l
a
b
l
e
R
E
S
T
f
u
l
a
r
c
h
i
t
e
c
t
u
r
e
s
u
s
i
n
g
t
y
p
e
s
a
f
e
b
i
n
d
i
n
g
s
a
n
d
a
s
y
n
c
h
r
o
n
o
u
s
,
n
o
n
-
b
l
o
c
k
i
n
g
I
O
w
i
t
h
a
n
e
n
d
-
t
o
-
e
n
d
d
e
v
e
l
o
p
e
r
w
o
r
k
f
l
o
w
t
h
a
t
p
r
o
m
o
t
e
s
c
l
e
a
n
p
r
a
c
t
i
c
e
s
,
u
n
i
f
o
r
m
i
n
t
e
r
f
a
c
e
d
e
s
i
g
n
a
n
d
c
o
n
s
i
s
t
e
n
t
d
a
t
a
m
o
d
e
l
i
n
g
.
●
R
E
S
T
E
a
s
y
-
F
u
l
l
y
c
e
r
t
i
f
i
e
d
a
n
d
p
o
r
t
a
b
l
e
i
m
p
l
e
m
e
n
t
a
t
i
o
n
o
f
t
h
e
J
A
X
-
R
S
s
p
e
c
i
f
i
c
a
t
i
o
n
.
●
R
e
s
t
E
x
p
r
e
s
s
-
T
h
i
n
w
r
a
p
p
e
r
o
n
t
h
e
J
B
o
s
s
N
e
t
t
y
H
T
T
P
s
t
a
c
k
t
h
a
t
p
r
o
v
i
d
e
s
s
c
a
l
i
n
g
a
n
d
p
e
r
f
o
r
m
a
n
c
e
.
●
R
e
s
t
l
e
t
F
r
a
m
e
w
o
r
k
-
P
i
o
n
e
e
r
i
n
g
f
r
a
m
e
w
o
r
k
w
i
t
h
p
o
w
e
r
f
u
l
r
o
u
t
i
n
g
a
n
d
f
i
l
t
e
r
i
n
g
c
a
p
a
b
i
l
i
t
i
e
s
,
a
n
d
a
u
n
i
f
i
e
d
c
l
i
e
n
t
a
n
d
s
e
r
v
e
r
A
P
I
.
●
S
p
a
r
k
-
S
i
n
a
t
r
a
i
n
s
p
i
r
e
d
f
r
a
m
e
w
o
r
k
.
●
C
r
n
k
-
I
m
p
l
e
m
e
n
t
a
t
i
o
n
o
f
t
h
e
J
S
O
N
A
P
I
s
p
e
c
i
f
i
c
a
t
i
o
n
t
o
b
u
i
l
d
r
e
s
o
u
r
c
e
-
o
r
i
e
n
t
e
d
R
E
S
T
e
n
d
p
o
i
n
t
s
w
i
t
h
s
o
r
t
i
n
g
,
f
i
l
t
e
r
i
n
g
,
p
a
g
i
n
g
,
l
i
n
k
i
n
g
,
o
b
j
e
c
t
g
r
a
p
h
s
,
t
y
p
e
-
s
a
f
e
t
y
,
b
u
l
k
u
p
d
a
t
e
s
,
i
n
t
e
g
r
a
t
i
o
n
s
a
n
d
m
o
r
e
.
●
s
p
r
i
n
g
d
o
c
-
o
p
e
n
a
p
i
-
A
u
t
o
m
a
t
e
s
t
h
e
g
e
n
e
r
a
t
i
o
n
o
f
A
P
I
d
o
c
u
m
e
n
t
a
t
i
o
n
u
s
i
n
g
S
p
r
i
n
g
B
o
o
t
p
r
o
j
e
c
t
s
.
●
S
w
a
g
g
e
r
-
S
t
a
n
d
a
r
d
,
l
a
n
g
u
a
g
e
-
a
g
n
o
s
t
i
c
i
n
t
e
r
f
a
c
e
t
o
R
E
S
T
A
P
I
s
.
S
c
i
e
n
c
e
L
i
b
r
a
r
i
e
s
f
o
r
s
c
i
e
n
t
i
f
i
c
c
o
m
p
u
t
i
n
g
,
a
n
a
l
y
s
i
s
a
n
d
v
i
s
u
a
l
i
z
a
t
i
o
n
.
●
B
i
o
J
a
v
a
-
F
a
c
i
l
i
t
a
t
e
s
p
r
o
c
e
s
s
i
n
g
b
i
o
l
o
g
i
c
a
l
d
a
t
a
b
y
p
r
o
v
i
d
i
n
g
a
l
g
o
r
i
t
h
m
s
,
f
i
l
e
f
o
r
m
a
t
p
a
r
s
e
r
s
,
s
e
q
u
e
n
c
i
n
g
a
n
d
3
D
v
i
s
u
a
l
i
z
a
t
i
o
n
c
o
m
m
o
n
l
y
u
s
e
d
i
n
b
i
o
i
n
f
o
r
m
a
t
i
c
s
.
●
C
h
a
r
t
-
F
X
-
S
c
i
e
n
t
i
f
i
c
c
h
a
r
t
i
n
g
l
i
b
r
a
r
y
w
i
t
h
f
o
c
u
s
o
n
p
e
r
f
o
r
m
a
n
c
e
o
p
t
i
m
i
s
e
d
r
e
a
l
-
t
i
m
e
d
a
t
a
v
i
s
u
a
l
i
s
a
t
i
o
n
a
t
2
5
H
z
u
p
d
a
t
e
r
a
t
e
s
f
o
r
l
a
r
g
e
d
a
t
a
s
e
t
s
.
●
D
a
t
a
M
e
l
t
-
E
n
v
i
r
o
n
m
e
n
t
f
o
r
s
c
i
e
n
t
i
f
i
c
c
o
m
p
u
t
a
t
i
o
n
,
d
a
t
a
a
n
a
l
y
s
i
s
a
n
d
d
a
t
a
v
i
s
u
a
l
i
z
a
t
i
o
n
.
(
G
P
L
-
3
.
0
-
o
r
-
l
a
t
e
r
)
●
E
r
d
o
s
-
M
o
d
u
l
a
r
,
l
i
g
h
t
a
n
d
e
a
s
y
g
r
a
p
h
f
r
a
m
e
w
o
r
k
f
o
r
t
h
e
o
r
e
t
i
c
a
l
g
o
r
i
t
h
m
s
.
●
G
r
a
p
h
S
t
r
e
a
m
-
L
i
b
r
a
r
y
f
o
r
m
o
d
e
l
i
n
g
a
n
d
a
n
a
l
y
z
i
n
g
d
y
n
a
m
i
c
g
r
a
p
h
s
.
●
J
F
r
e
e
C
h
a
r
t
-
2
D
c
h
a
r
t
l
i
b
r
a
r
y
f
o
r
S
w
i
n
g
,
J
a
v
a
F
X
a
n
d
s
e
r
v
e
r
-
s
i
d
e
a
p
p
l
i
c
a
t
i
o
n
s
.
(
L
G
P
L
-
2
.
1
-
o
n
l
y
)
●
J
G
r
a
p
h
T
-
G
r
a
p
h
l
i
b
r
a
r
y
t
h
a
t
p
r
o
v
i
d
e
s
m
a
t
h
e
m
a
t
i
c
a
l
g
r
a
p
h
-
t
h
e
o
r
y
o
b
j
e
c
t
s
a
n
d
a
l
g
o
r
i
t
h
m
s
.
●
J
G
r
a
p
h
X
-
L
i
b
r
a
r
y
f
o
r
v
i
s
u
a
l
i
z
i
n
g
(
m
a
i
n
l
y
S
w
i
n
g
)
a
n
d
i
n
t
e
r
a
c
t
i
n
g
w
i
t
h
n
o
d
e
-
e
d
g
e
g
r
a
p
h
s
.
●
L
o
g
i
c
N
G
-
L
i
b
r
a
r
y
f
o
r
c
r
e
a
t
i
n
g
,
m
a
n
i
p
u
l
a
t
i
n
g
a
n
d
s
o
l
v
i
n
g
B
o
o
l
e
a
n
a
n
d
P
s
e
u
d
o
-
B
o
o
l
e
a
n
f
o
r
m
u
l
a
s
.
●
M
i
n
e
s
J
a
v
a
T
o
o
l
k
i
t
-
L
i
b
r
a
r
y
f
o
r
g
e
o
p
h
y
s
i
c
a
l
s
c
i
e
n
t
i
f
i
c
c
o
m
p
u
t
a
t
i
o
n
,
v
i
s
u
a
l
i
z
a
t
i
o
n
a
n
d
d
i
g
i
t
a
l
s
i
g
n
a
l
a
n
a
l
y
s
i
s
.
●
M
o
r
p
h
e
u
s
-
P
r
o
v
i
d
e
s
a
v
e
r
s
a
t
i
l
e
t
w
o
-
d
i
m
e
n
s
i
o
n
a
l
m
e
m
o
r
y
e
f
f
i
c
i
e
n
t
t
a
b
u
l
a
r
d
a
t
a
s
t
r
u
c
t
u
r
e
c
a
l
l
e
d
a
D
a
t
a
F
r
a
m
e
t
o
e
n
a
b
l
e
e
f
f
i
c
i
e
n
t
i
n
-
m
e
m
o
r
y
a
n
a
l
y
t
i
c
s
f
o
r
s
c
i
e
n
t
i
f
i
c
c
o
m
p
u
t
i
n
g
o
n
t
h
e
J
V
M
.
●
O
r
s
o
n
-
C
h
a
r
t
s
-
G
e
n
e
r
a
t
e
s
a
w
i
d
e
v
a
r
i
e
t
y
o
f
3
D
c
h
a
r
t
s
t
h
a
t
c
a
n
b
e
d
i
s
p
l
a
y
e
d
w
i
t
h
S
w
i
n
g
a
n
d
J
a
v
a
F
X
o
r
e
x
p
o
r
t
e
d
t
o
P
D
F
,
S
V
G
,
P
N
G
a
n
d
J
P
E
G
.
(
G
P
L
-
3
.
0
-
o
n
l
y
)
●
T
a
b
l
e
s
a
w
-
I
n
c
l
u
d
e
s
a
d
a
t
a
-
f
r
a
m
e
,
a
n
e
m
b
e
d
d
e
d
c
o
l
u
m
n
s
t
o
r
e
,
a
n
d
h
u
n
d
r
e
d
s
o
f
m
e
t
h
o
d
s
t
o
t
r
a
n
s
f
o
r
m
,
s
u
m
m
a
r
i
z
e
,
o
r
f
i
l
t
e
r
d
a
t
a
.
●
X
C
h
a
r
t
-
L
i
g
h
t
-
w
e
i
g
h
t
l
i
b
r
a
r
y
f
o
r
p
l
o
t
t
i
n
g
d
a
t
a
.
M
a
n
y
c
u
s
t
o
m
i
z
a
b
l
e
c
h
a
r
t
t
y
p
e
s
a
r
e
a
v
a
i
l
a
b
l
e
.
S
e
a
r
c
h
E
n
g
i
n
e
s
t
h
a
t
i
n
d
e
x
d
o
c
u
m
e
n
t
s
f
o
r
s
e
a
r
c
h
a
n
d
a
n
a
l
y
s
i
s
.
●
A
p
a
c
h
e
L
u
c
e
n
e
-
H
i
g
h
-
p
e
r
f
o
r
m
a
n
c
e
,
f
u
l
l
-
f
e
a
t
u
r
e
d
,
c
r
o
s
s
-
p
l
a
t
f
o
r
m
,
t
e
x
t
s
e
a
r
c
h
e
n
g
i
n
e
l
i
b
r
a
r
y
.
●
A
p
a
c
h
e
S
o
l
r
-
E
n
t
e
r
p
r
i
s
e
s
e
a
r
c
h
e
n
g
i
n
e
o
p
t
i
m
i
z
e
d
f
o
r
h
i
g
h
-
v
o
l
u
m
e
t
r
a
f
f
i
c
.
●
E
l
a
s
t
i
c
s
e
a
r
c
h
-
D
i
s
t
r
i
b
u
t
e
d
,
m
u
l
t
i
t
e
n
a
n
t
-
c
a
p
a
b
l
e
,
f
u
l
l
-
t
e
x
t
s
e
a
r
c
h
e
n
g
i
n
e
w
i
t
h
a
R
E
S
T
f
u
l
w
e
b
i
n
t
e
r
f
a
c
e
a
n
d
s
c
h
e
m
a
-
f
r
e
e
J
S
O
N
d
o
c
u
m
e
n
t
s
.
●
I
n
d
e
x
e
r
4
j
-
S
i
m
p
l
e
a
n
d
l
i
g
h
t
f
u
l
l
t
e
x
t
i
n
d
e
x
i
n
g
a
n
d
s
e
a
r
c
h
i
n
g
l
i
b
r
a
r
y
.
S
e
c
u
r
i
t
y
L
i
b
r
a
r
i
e
s
t
h
a
t
h
a
n
d
l
e
s
e
c
u
r
i
t
y
,
a
u
t
h
e
n
t
i
c
a
t
i
o
n
,
a
u
t
h
o
r
i
z
a
t
i
o
n
o
r
s
e
s
s
i
o
n
m
a
n
a
g
e
m
e
n
t
.
●
A
p
a
c
h
e
S
h
i
r
o
-
P
e
r
f
o
r
m
s
a
u
t
h
e
n
t
i
c
a
t
i
o
n
,
a
u
t
h
o
r
i
z
a
t
i
o
n
,
c
r
y
p
t
o
g
r
a
p
h
y
a
n
d
s
e
s
s
i
o
n
m
a
n
a
g
e
m
e
n
t
.
●
B
o
u
n
c
y
C
a
s
t
l
e
-
A
l
l
-
p
u
r
p
o
s
e
c
r
y
p
t
o
g
r
a
p
h
i
c
l
i
b
r
a
r
y
a
n
d
J
C
A
p
r
o
v
i
d
e
r
o
f
f
e
r
i
n
g
a
w
i
d
e
r
a
n
g
e
o
f
f
u
n
c
t
i
o
n
s
,
f
r
o
m
b
a
s
i
c
h
e
l
p
e
r
s
t
o
P
G
P
/
S
M
I
M
E
o
p
e
r
a
t
i
o
n
s
.
●
C
r
y
p
t
o
m
a
t
o
r
-
M
u
l
t
i
p
l
a
t
f
o
r
m
,
t
r
a
n
s
p
a
r
e
n
t
,
c
l
i
e
n
t
-
s
i
d
e
e
n
c
r
y
p
t
i
o
n
o
f
f
i
l
e
s
i
n
t
h
e
c
l
o
u
d
.
(
G
P
L
-
3
.
0
-
o
n
l
y
)
●
H
d
i
v
-
R
u
n
t
i
m
e
a
p
p
l
i
c
a
t
i
o
n
t
h
a
t
r
e
p
e
l
s
a
p
p
l
i
c
a
t
i
o
n
s
e
c
u
r
i
t
y
r
i
s
k
s
i
n
c
l
u
d
e
d
i
n
t
h
e
O
W
A
S
P
T
o
p
1
0
,
i
n
c
l
u
d
i
n
g
S
Q
L
i
n
j
e
c
t
i
o
n
,
c
r
o
s
s
-
s
i
t
e
s
c
r
i
p
t
i
n
g
,
c
r
o
s
s
-
s
i
t
e
r
e
q
u
e
s
t
f
o
r
g
e
r
y
,
d
a
t
a
t
a
m
p
e
r
i
n
g
,
a
n
d
b
r
u
t
e
f
o
r
c
e
a
t
t
a
c
k
s
.
●
j
j
w
t
-
J
S
O
N
w
e
b
t
o
k
e
n
f
o
r
J
a
v
a
a
n
d
A
n
d
r
o
i
d
.
●
J
w
k
s
R
S
A
-
J
S
O
N
W
e
b
K
e
y
S
e
t
p
a
r
s
e
r
.
●
K
a
l
i
u
m
-
B
i
n
d
i
n
g
f
o
r
t
h
e
N
e
t
w
o
r
k
i
n
g
a
n
d
C
r
y
p
t
o
g
r
a
p
h
y
(
N
a
C
l
)
l
i
b
r
a
r
y
.
●
K
e
y
c
l
o
a
k
-
I
n
t
e
g
r
a
t
e
d
S
S
O
a
n
d
I
D
M
f
o
r
b
r
o
w
s
e
r
a
p
p
s
a
n
d
R
E
S
T
f
u
l
w
e
b
s
e
r
v
i
c
e
s
.
●
K
e
y
w
h
i
z
-
S
y
s
t
e
m
f
o
r
d
i
s
t
r
i
b
u
t
i
n
g
a
n
d
m
a
n
a
g
i
n
g
s
e
c
r
e
t
s
.
●
N
b
v
c
x
z
-
A
d
v
a
n
c
e
d
p
a
s
s
w
o
r
d
s
t
r
e
n
g
t
h
e
s
t
i
m
a
t
i
o
n
.
●
O
A
C
C
-
P
r
o
v
i
d
e
s
p
e
r
m
i
s
s
i
o
n
-
b
a
s
e
d
a
u
t
h
o
r
i
z
a
t
i
o
n
s
e
r
v
i
c
e
s
.
●
p
a
c
4
j
-
S
e
c
u
r
i
t
y
e
n
g
i
n
e
.
●
S
e
c
u
r
i
t
y
B
u
i
l
d
e
r
-
F
l
u
e
n
t
B
u
i
l
d
e
r
A
P
I
f
o
r
J
C
A
a
n
d
J
S
S
E
c
l
a
s
s
e
s
a
n
d
e
s
p
e
c
i
a
l
l
y
X
.
5
0
9
c
e
r
t
i
f
i
c
a
t
e
s
.
●
S
S
L
C
o
n
t
e
x
t
-
K
i
c
k
s
t
a
r
t
-
H
i
g
h
-
l
e
v
e
l
S
S
L
c
o
n
t
e
x
t
b
u
i
l
d
e
r
f
o
r
c
o
n
f
i
g
u
r
i
n
g
H
T
T
P
c
l
i
e
n
t
s
w
i
t
h
S
S
L
/
T
L
S
.
●
T
h
e
m
i
s
-
M
u
l
t
i
-
p
l
a
t
f
o
r
m
h
i
g
h
-
l
e
v
e
l
c
r
y
p
t
o
g
r
a
p
h
i
c
l
i
b
r
a
r
y
p
r
o
v
i
d
e
s
e
a
s
y
-
t
o
-
u
s
e
e
n
c
r
y
p
t
i
o
n
f
o
r
p
r
o
t
e
c
t
i
n
g
s
e
n
s
i
t
i
v
e
d
a
t
a
:
s
e
c
u
r
e
m
e
s
s
a
g
i
n
g
w
i
t
h
f
o
r
w
a
r
d
s
e
c
r
e
c
y
,
s
e
c
u
r
e
d
a
t
a
s
t
o
r
a
g
e
(
A
E
S
2
5
6
G
C
M
)
;
s
u
i
t
s
f
o
r
b
u
i
l
d
i
n
g
e
n
d
-
t
o
-
e
n
d
e
n
c
r
y
p
t
e
d
a
p
p
l
i
c
a
t
i
o
n
s
.
●
T
i
n
k
-
P
r
o
v
i
d
e
s
a
s
i
m
p
l
e
a
n
d
m
i
s
u
s
e
-
p
r
o
o
f
A
P
I
f
o
r
c
o
m
m
o
n
c
r
y
p
t
o
g
r
a
p
h
i
c
t
a
s
k
s
.
S
e
r
i
a
l
i
z
a
t
i
o
n
L
i
b
r
a
r
i
e
s
t
h
a
t
h
a
n
d
l
e
s
e
r
i
a
l
i
z
a
t
i
o
n
w
i
t
h
h
i
g
h
e
f
f
i
c
i
e
n
c
y
.
●
F
l
a
t
B
u
f
f
e
r
s
-
M
e
m
o
r
y
-
e
f
f
i
c
i
e
n
t
s
e
r
i
a
l
i
z
a
t
i
o
n
l
i
b
r
a
r
y
t
h
a
t
c
a
n
a
c
c
e
s
s
s
e
r
i
a
l
i
z
e
d
d
a
t
a
w
i
t
h
o
u
t
u
n
p
a
c
k
i
n
g
a
n
d
p
a
r
s
i
n
g
i
t
.
●
F
S
T
-
J
D
K
-
c
o
m
p
a
t
i
b
l
e
,
h
i
g
h
-
p
e
r
f
o
r
m
a
n
c
e
o
b
j
e
c
t
g
r
a
p
h
s
e
r
i
a
l
i
z
a
t
i
o
n
.
●
K
r
y
o
-
F
a
s
t
a
n
d
e
f
f
i
c
i
e
n
t
o
b
j
e
c
t
g
r
a
p
h
s
e
r
i
a
l
i
z
a
t
i
o
n
f
r
a
m
e
w
o
r
k
.
●
M
e
s
s
a
g
e
P
a
c
k
-
E
f
f
i
c
i
e
n
t
b
i
n
a
r
y
s
e
r
i
a
l
i
z
a
t
i
o
n
f
o
r
m
a
t
.
●
P
H
P
S
e
r
i
a
l
i
z
e
r
-
S
e
r
i
a
l
i
z
i
n
g
o
b
j
e
c
t
s
i
n
t
h
e
P
H
P
s
e
r
i
a
l
i
z
a
t
i
o
n
f
o
r
m
a
t
.
S
e
r
v
e
r
S
e
r
v
e
r
s
s
p
e
c
i
f
i
c
a
l
l
y
u
s
e
d
t
o
d
e
p
l
o
y
a
p
p
l
i
c
a
t
i
o
n
s
.
●
A
p
a
c
h
e
T
o
m
c
a
t
-
R
o
b
u
s
t
,
a
l
l
-
r
o
u
n
d
s
e
r
v
e
r
f
o
r
S
e
r
v
l
e
t
a
n
d
J
S
P
.
●
A
p
a
c
h
e
T
o
m
E
E
-
T
o
m
c
a
t
p
l
u
s
J
a
v
a
E
E
.
●
J
e
t
t
y
-
P
r
o
v
i
d
e
s
a
W
e
b
s
e
r
v
e
r
a
n
d
j
a
v
a
x
.
s
e
r
v
l
e
t
c
o
n
t
a
i
n
e
r
,
p
l
u
s
s
u
p
p
o
r
t
f
o
r
H
T
T
P
/
2
,
W
e
b
S
o
c
k
e
t
,
O
S
G
i
,
J
M
X
,
J
N
D
I
,
J
A
A
S
a
n
d
m
a
n
y
o
t
h
e
r
i
n
t
e
g
r
a
t
i
o
n
s
.
●
n
a
n
o
h
t
t
p
d
-
T
i
n
y
,
e
a
s
i
l
y
e
m
b
e
d
d
a
b
l
e
H
T
T
P
s
e
r
v
e
r
.
●
W
i
l
d
F
l
y
-
F
o
r
m
e
r
l
y
k
n
o
w
n
a
s
J
B
o
s
s
a
n
d
d
e
v
e
l
o
p
e
d
b
y
R
e
d
H
a
t
w
i
t
h
e
x
t
e
n
s
i
v
e
J
a
v
a
E
E
s
u
p
p
o
r
t
.
(
L
G
P
L
-
2
.
1
-
o
n
l
y
)
T
e
m
p
l
a
t
e
E
n
g
i
n
e
T
o
o
l
s
t
h
a
t
s
u
b
s
t
i
t
u
t
e
e
x
p
r
e
s
s
i
o
n
s
i
n
a
t
e
m
p
l
a
t
e
.
●
F
r
e
e
m
a
r
k
e
r
-
L
i
b
r
a
r
y
t
o
g
e
n
e
r
a
t
e
t
e
x
t
o
u
t
p
u
t
(
H
T
M
L
w
e
b
p
a
g
e
s
,
e
-
m
a
i
l
s
,
c
o
n
f
i
g
u
r
a
t
i
o
n
f
i
l
e
s
,
s
o
u
r
c
e
c
o
d
e
,
e
t
c
.
)
b
a
s
e
d
o
n
t
e
m
p
l
a
t
e
s
a
n
d
c
h
a
n
g
i
n
g
d
a
t
a
.
●
H
a
n
d
l
e
b
a
r
s
.
j
a
v
a
-
L
o
g
i
c
l
e
s
s
a
n
d
s
e
m
a
n
t
i
c
M
u
s
t
a
c
h
e
t
e
m
p
l
a
t
e
s
.
●
J
a
d
e
4
J
-
I
m
p
l
e
m
e
n
t
a
t
i
o
n
o
f
P
u
g
(
f
o
r
m
e
r
l
y
k
n
o
w
n
a
s
J
a
d
e
)
.
●
j
t
e
-
C
o
m
p
i
l
e
s
t
o
c
l
a
s
s
e
s
a
n
d
u
s
e
s
a
n
e
a
s
y
s
y
n
t
a
x
,
s
e
v
e
r
a
l
f
e
a
t
u
r
e
s
t
o
m
a
k
e
d
e
v
e
l
o
p
m
e
n
t
e
a
s
i
e
r
a
n
d
p
r
o
v
i
d
e
s
f
a
s
t
e
x
e
c
u
t
i
o
n
a
n
d
a
s
m
a
l
l
f
o
o
t
p
r
i
n
t
.
●
J
t
w
i
g
-
M
o
d
u
l
a
r
,
c
o
n
f
i
g
u
r
a
b
l
e
a
n
d
f
u
l
l
y
t
e
s
t
e
d
t
e
m
p
l
a
t
e
e
n
g
i
n
e
.
●
P
e
b
b
l
e
-
I
n
s
p
i
r
e
d
b
y
T
w
i
g
a
n
d
s
e
p
a
r
a
t
e
s
i
t
s
e
l
f
w
i
t
h
i
t
s
i
n
h
e
r
i
t
a
n
c
e
f
e
a
t
u
r
e
a
n
d
i
t
s
e
a
s
y
-
t
o
-
r
e
a
d
s
y
n
t
a
x
.
I
t
s
h
i
p
s
w
i
t
h
b
u
i
l
t
-
i
n
a
u
t
o
e
s
c
a
p
i
n
g
f
o
r
s
e
c
u
r
i
t
y
a
n
d
i
t
i
n
c
l
u
d
e
s
i
n
t
e
g
r
a
t
e
d
s
u
p
p
o
r
t
f
o
r
i
n
t
e
r
n
a
t
i
o
n
a
l
i
z
a
t
i
o
n
.
●
R
o
c
k
e
r
-
O
p
t
i
m
i
z
e
d
,
m
e
m
o
r
y
e
f
f
i
c
i
e
n
t
a
n
d
s
p
e
e
d
y
t
e
m
p
l
a
t
e
e
n
g
i
n
e
p
r
o
d
u
c
i
n
g
s
t
a
t
i
c
a
l
l
y
t
y
p
e
d
,
p
l
a
i
n
o
b
j
e
c
t
s
.
●
T
h
y
m
e
l
e
a
f
-
A
i
m
s
t
o
b
e
a
s
u
b
s
t
i
t
u
t
e
f
o
r
J
S
P
a
n
d
w
o
r
k
s
f
o
r
X
M
L
f
i
l
e
s
.
T
e
s
t
i
n
g
T
o
o
l
s
t
h
a
t
t
e
s
t
f
r
o
m
m
o
d
e
l
t
o
t
h
e
v
i
e
w
.
A
s
y
n
c
h
r
o
n
o
u
s
T
o
o
l
s
t
h
a
t
s
i
m
p
l
i
f
y
t
e
s
t
i
n
g
a
s
y
n
c
h
r
o
n
o
u
s
s
e
r
v
i
c
e
s
.
●
A
w
a
i
t
i
l
i
t
y
-
D
S
L
f
o
r
s
y
n
c
h
r
o
n
i
z
i
n
g
a
s
y
n
c
h
r
o
n
o
u
s
o
p
e
r
a
t
i
o
n
s
.
●
C
o
n
c
u
r
r
e
n
t
U
n
i
t
-
T
o
o
l
k
i
t
f
o
r
t
e
s
t
i
n
g
m
u
l
t
i
-
t
h
r
e
a
d
e
d
a
n
d
a
s
y
n
c
h
r
o
n
o
u
s
a
p
p
l
i
c
a
t
i
o
n
s
.
●
G
r
e
e
n
M
a
i
l
-
I
n
-
m
e
m
o
r
y
e
m
a
i
l
s
e
r
v
e
r
f
o
r
i
n
t
e
g
r
a
t
i
o
n
t
e
s
t
i
n
g
.
S
u
p
p
o
r
t
s
S
M
T
P
,
P
O
P
3
a
n
d
I
M
A
P
i
n
c
l
u
d
i
n
g
S
S
L
.
(
G
P
L
-
2
.
0
-
o
n
l
y
)
●
H
o
v
e
r
f
l
y
J
a
v
a
-
N
a
t
i
v
e
b
i
n
d
i
n
g
s
f
o
r
H
o
v
e
r
f
l
y
,
a
p
r
o
x
y
w
h
i
c
h
a
l
l
o
w
s
y
o
u
t
o
s
i
m
u
l
a
t
e
H
T
T
P
s
e
r
v
i
c
e
s
.
●
K
a
r
a
t
e
-
D
S
L
t
h
a
t
c
o
m
b
i
n
e
s
A
P
I
t
e
s
t
-
a
u
t
o
m
a
t
i
o
n
,
m
o
c
k
s
a
n
d
p
e
r
f
o
r
m
a
n
c
e
-
t
e
s
t
i
n
g
m
a
k
i
n
g
t
e
s
t
i
n
g
R
E
S
T
/
H
T
T
P
s
e
r
v
i
c
e
s
e
a
s
y
.
●
R
E
S
T
A
s
s
u
r
e
d
-
D
S
L
f
o
r
e
a
s
y
t
e
s
t
i
n
g
o
f
R
E
S
T
/
H
T
T
P
s
e
r
v
i
c
e
s
.
B
D
D
T
e
s
t
i
n
g
f
o
r
t
h
e
s
o
f
t
w
a
r
e
d
e
v
e
l
o
p
m
e
n
t
p
r
o
c
e
s
s
t
h
a
t
e
m
e
r
g
e
d
f
r
o
m
T
D
D
a
n
d
w
a
s
h
e
a
v
i
l
y
i
n
f
l
u
e
n
c
e
d
b
y
D
D
D
a
n
d
O
O
A
D
.
●
C
u
c
u
m
b
e
r
-
P
r
o
v
i
d
e
s
a
w
a
y
t
o
d
e
s
c
r
i
b
e
f
e
a
t
u
r
e
s
i
n
a
p
l
a
i
n
l
a
n
g
u
a
g
e
w
h
i
c
h
c
u
s
t
o
m
e
r
s
c
a
n
u
n
d
e
r
s
t
a
n
d
.
●
C
u
k
e
s
-
R
E
S
T
-
C
o
l
l
e
c
t
i
o
n
o
f
G
h
e
r
k
i
n
s
t
e
p
s
f
o
r
R
E
S
T
-
s
e
r
v
i
c
e
t
e
s
t
i
n
g
u
s
i
n
g
C
u
c
u
m
b
e
r
.
●
J
8
S
p
e
c
-
F
o
l
l
o
w
s
a
J
a
s
m
i
n
e
-
l
i
k
e
s
y
n
t
a
x
.
●
J
B
e
h
a
v
e
-
E
x
t
e
n
s
i
v
e
l
y
c
o
n
f
i
g
u
r
a
b
l
e
f
r
a
m
e
w
o
r
k
t
h
a
t
d
e
s
c
r
i
b
e
s
s
t
o
r
i
e
s
.
●
J
G
i
v
e
n
-
P
r
o
v
i
d
e
s
a
f
l
u
e
n
t
A
P
I
w
h
i
c
h
a
l
l
o
w
s
f
o
r
s
i
m
p
l
e
r
c
o
m
p
o
s
i
t
i
o
n
.
●
L
a
m
d
b
a
B
e
h
a
v
e
-
A
i
m
s
t
o
p
r
o
v
i
d
e
a
f
l
u
e
n
t
A
P
I
t
o
w
r
i
t
e
t
e
s
t
s
i
n
l
o
n
g
a
n
d
d
e
s
c
r
i
p
t
i
v
e
s
e
n
t
e
n
c
e
s
t
h
a
t
r
e
a
d
l
i
k
e
p
l
a
i
n
E
n
g
l
i
s
h
.
●
S
e
r
e
n
i
t
y
B
D
D
-
A
u
t
o
m
a
t
e
d
A
c
c
e
p
t
a
n
c
e
t
e
s
t
i
n
g
a
n
d
r
e
p
o
r
t
i
n
g
l
i
b
r
a
r
y
t
h
a
t
w
o
r
k
s
w
i
t
h
C
u
c
u
m
b
e
r
,
J
B
e
h
a
v
e
a
n
d
J
U
n
i
t
t
o
m
a
k
e
i
t
e
a
s
i
e
r
t
o
w
r
i
t
e
h
i
g
h
q
u
a
l
i
t
y
e
x
e
c
u
t
a
b
l
e
s
p
e
c
i
f
i
c
a
t
i
o
n
s
.
F
i
x
t
u
r
e
s
E
v
e
r
y
t
h
i
n
g
r
e
l
a
t
e
d
t
o
t
h
e
c
r
e
a
t
i
o
n
a
n
d
h
a
n
d
l
i
n
g
o
f
r
a
n
d
o
m
d
a
t
a
.
●
B
e
a
n
m
o
t
h
e
r
-
S
e
t
s
u
p
b
e
a
n
s
f
r
o
m
Y
A
M
L
f
i
x
t
u
r
e
s
.
●
F
i
x
t
u
r
e
F
a
c
t
o
r
y
-
G
e
n
e
r
a
t
e
s
f
a
k
e
o
b
j
e
c
t
s
f
r
o
m
a
t
e
m
p
l
a
t
e
.
●
j
F
a
i
r
y
-
F
a
k
e
d
a
t
a
g
e
n
e
r
a
t
o
r
.
●
R
a
n
d
o
m
i
z
e
d
T
e
s
t
i
n
g
-
J
U
n
i
t
t
e
s
t
r
u
n
n
e
r
a
n
d
p
l
u
g
i
n
s
f
o
r
r
u
n
n
i
n
g
J
U
n
i
t
t
e
s
t
s
w
i
t
h
p
s
e
u
d
o
-
r
a
n
d
o
m
n
e
s
s
.
●
J
a
v
a
F
a
k
e
r
-
P
o
r
t
o
f
R
u
b
y
'
s
f
a
k
e
d
a
t
a
g
e
n
e
r
a
t
o
r
.
F
r
a
m
e
w
o
r
k
s
P
r
o
v
i
d
e
e
n
v
i
r
o
n
m
e
n
t
s
t
o
r
u
n
t
e
s
t
s
f
o
r
a
s
p
e
c
i
f
i
c
u
s
e
c
a
s
e
.
●
A
r
c
h
U
n
i
t
-
T
e
s
t
l
i
b
r
a
r
y
f
o
r
s
p
e
c
i
f
y
i
n
g
a
n
d
a
s
s
e
r
t
i
n
g
a
r
c
h
i
t
e
c
t
u
r
e
r
u
l
e
s
.
●
A
p
a
c
h
e
J
M
e
t
e
r
-
F
u
n
c
t
i
o
n
a
l
t
e
s
t
i
n
g
a
n
d
p
e
r
f
o
r
m
a
n
c
e
m
e
a
s
u
r
e
m
e
n
t
s
.
●
A
r
q
u
i
l
l
i
a
n
-
I
n
t
e
g
r
a
t
i
o
n
a
n
d
f
u
n
c
t
i
o
n
a
l
t
e
s
t
i
n
g
p
l
a
t
f
o
r
m
f
o
r
J
a
v
a
E
E
c
o
n
t
a
i
n
e
r
s
.
●
C
i
t
r
u
s
-
I
n
t
e
g
r
a
t
i
o
n
t
e
s
t
i
n
g
f
r
a
m
e
w
o
r
k
t
h
a
t
f
o
c
u
s
e
s
o
n
b
o
t
h
c
l
i
e
n
t
-
a
n
d
s
e
r
v
e
r
-
s
i
d
e
m
e
s
s
a
g
i
n
g
.
●
G
a
t
l
i
n
g
-
L
o
a
d
t
e
s
t
i
n
g
t
o
o
l
d
e
s
i
g
n
e
d
f
o
r
e
a
s
e
o
f
u
s
e
,
m
a
i
n
t
a
i
n
a
b
i
l
i
t
y
a
n
d
h
i
g
h
p
e
r
f
o
r
m
a
n
c
e
.
●
J
U
n
i
t
-
C
o
m
m
o
n
t
e
s
t
i
n
g
f
r
a
m
e
w
o
r
k
.
●
j
q
w
i
k
-
E
n
g
i
n
e
f
o
r
p
r
o
p
e
r
t
y
-
b
a
s
e
d
t
e
s
t
i
n
g
b
u
i
l
t
o
n
J
U
n
i
t
5
.
●
P
a
c
t
J
V
M
-
C
o
n
s
u
m
e
r
-
d
r
i
v
e
n
c
o
n
t
r
a
c
t
t
e
s
t
i
n
g
.
●
P
I
T
-
F
a
s
t
m
u
t
a
t
i
o
n
-
t
e
s
t
i
n
g
f
r
a
m
e
w
o
r
k
f
o
r
e
v
a
l
u
a
t
i
n
g
f
a
u
l
t
-
d
e
t
e
c
t
i
o
n
a
b
i
l
i
t
i
e
s
o
f
e
x
i
s
t
i
n
g
J
U
n
i
t
o
r
T
e
s
t
N
G
t
e
s
t
s
u
i
t
e
s
.
M
a
t
c
h
e
r
s
L
i
b
r
a
r
i
e
s
t
h
a
t
p
r
o
v
i
d
e
c
u
s
t
o
m
m
a
t
c
h
e
r
s
.
●
A
s
s
e
r
t
J
-
F
l
u
e
n
t
a
s
s
e
r
t
i
o
n
s
t
h
a
t
i
m
p
r
o
v
e
r
e
a
d
a
b
i
l
i
t
y
.
●
H
a
m
c
r
e
s
t
-
M
a
t
c
h
e
r
s
t
h
a
t
c
a
n
b
e
c
o
m
b
i
n
e
d
t
o
c
r
e
a
t
e
f
l
e
x
i
b
l
e
e
x
p
r
e
s
s
i
o
n
s
o
f
i
n
t
e
n
t
.
●
J
S
O
N
A
s
s
e
r
t
-
S
i
m
p
l
i
f
i
e
s
t
e
s
t
i
n
g
J
S
O
N
s
t
r
i
n
g
s
.
●
T
r
u
t
h
-
G
o
o
g
l
e
'
s
f
l
u
e
n
t
a
s
s
e
r
t
i
o
n
a
n
d
p
r
o
p
o
s
i
t
i
o
n
f
r
a
m
e
w
o
r
k
.
●
X
M
L
U
n
i
t
-
S
i
m
p
l
i
f
i
e
s
t
e
s
t
i
n
g
f
o
r
X
M
L
o
u
t
p
u
t
.
M
i
s
c
e
l
l
a
n
e
o
u
s
O
t
h
e
r
s
t
u
f
f
r
e
l
a
t
e
d
t
o
t
e
s
t
i
n
g
.
●
j
u
n
i
t
-
d
a
t
a
p
r
o
v
i
d
e
r
-
T
e
s
t
N
G
-
l
i
k
e
d
a
t
a
p
r
o
v
i
d
e
r
/
r
u
n
n
e
r
f
o
r
J
U
n
i
t
.
●
L
o
g
C
a
p
t
o
r
-
C
a
p
t
u
r
e
s
l
o
g
e
n
t
r
i
e
s
f
o
r
u
n
i
t
t
e
s
t
i
n
g
p
u
r
p
o
s
e
s
.
●
M
u
t
a
b
i
l
i
t
y
D
e
t
e
c
t
o
r
-
R
e
p
o
r
t
s
w
h
e
t
h
e
r
i
n
s
t
a
n
c
e
s
o
f
a
g
i
v
e
n
c
l
a
s
s
a
r
e
i
m
m
u
t
a
b
l
e
.
●
r
a
m
l
-
t
e
s
t
e
r
-
T
e
s
t
s
i
f
a
r
e
q
u
e
s
t
/
r
e
s
p
o
n
s
e
m
a
t
c
h
e
s
a
g
i
v
e
n
R
A
M
L
d
e
f
i
n
i
t
i
o
n
.
●
T
e
s
t
C
o
n
t
a
i
n
e
r
s
-
P
r
o
v
i
d
e
s
t
h
r
o
w
a
w
a
y
i
n
s
t
a
n
c
e
s
o
f
c
o
m
m
o
n
d
a
t
a
b
a
s
e
s
,
S
e
l
e
n
i
u
m
w
e
b
b
r
o
w
s
e
r
s
,
o
r
a
n
y
t
h
i
n
g
e
l
s
e
t
h
a
t
c
a
n
r
u
n
i
n
a
D
o
c
k
e
r
c
o
n
t
a
i
n
e
r
.
●
p
o
j
o
-
t
e
s
t
e
r
-
A
u
t
o
m
a
t
i
c
a
l
l
y
p
e
r
f
o
r
m
s
t
e
s
t
s
o
n
b
a
s
i
c
P
O
J
O
m
e
t
h
o
d
s
.
(
L
G
P
L
-
3
.
0
-
o
n
l
y
)
M
o
c
k
i
n
g
T
o
o
l
s
w
h
i
c
h
m
o
c
k
c
o
l
l
a
b
o
r
a
t
o
r
s
t
o
h
e
l
p
t
e
s
t
i
n
g
s
i
n
g
l
e
,
i
s
o
l
a
t
e
d
u
n
i
t
s
.
●
J
M
o
c
k
i
t
-
I
n
t
e
g
r
a
t
i
o
n
t
e
s
t
i
n
g
,
A
P
I
m
o
c
k
i
n
g
a
n
d
f
a
k
i
n
g
,
a
n
d
c
o
d
e
c
o
v
e
r
a
g
e
.
●
M
o
c
k
i
t
o
-
M
o
c
k
i
n
g
f
r
a
m
e
w
o
r
k
t
h
a
t
l
e
t
s
y
o
u
w
r
i
t
e
t
e
s
t
s
w
i
t
h
a
c
l
e
a
n
a
n
d
s
i
m
p
l
e
A
P
I
.
●
M
o
c
k
S
e
r
v
e
r
-
A
l
l
o
w
s
m
o
c
k
i
n
g
o
f
s
y
s
t
e
m
s
i
n
t
e
g
r
a
t
e
d
w
i
t
h
H
T
T
P
S
.
●
M
o
c
o
-
C
o
n
c
i
s
e
w
e
b
s
e
r
v
i
c
e
s
f
o
r
s
t
u
b
s
a
n
d
m
o
c
k
s
.
●
P
o
w
e
r
M
o
c
k
-
M
o
c
k
s
s
t
a
t
i
c
m
e
t
h
o
d
s
,
c
o
n
s
t
r
u
c
t
o
r
s
,
f
i
n
a
l
c
l
a
s
s
e
s
a
n
d
m
e
t
h
o
d
s
,
p
r
i
v
a
t
e
m
e
t
h
o
d
s
,
a
n
d
r
e
m
o
v
a
l
o
f
s
t
a
t
i
c
i
n
i
t
i
a
l
i
z
e
r
s
.
●
W
i
r
e
M
o
c
k
-
S
t
u
b
s
a
n
d
m
o
c
k
s
w
e
b
s
e
r
v
i
c
e
s
.
U
t
i
l
i
t
y
L
i
b
r
a
r
i
e
s
w
h
i
c
h
p
r
o
v
i
d
e
g
e
n
e
r
a
l
u
t
i
l
i
t
y
f
u
n
c
t
i
o
n
s
.
●
A
r
t
h
a
s
-
A
l
l
o
w
s
t
o
t
r
o
u
b
l
e
s
h
o
o
t
p
r
o
d
u
c
t
i
o
n
i
s
s
u
e
s
f
o
r
a
p
p
l
i
c
a
t
i
o
n
s
w
i
t
h
o
u
t
m
o
d
i
f
y
i
n
g
c
o
d
e
o
r
r
e
s
t
a
r
t
i
n
g
s
e
r
v
e
r
s
.
●
b
u
c
k
e
t
4
j
-
R
a
t
e
l
i
m
i
t
i
n
g
l
i
b
r
a
r
y
b
a
s
e
d
o
n
t
o
k
e
n
-
b
u
c
k
e
t
a
l
g
o
r
i
t
h
m
.
●
c
a
c
t
o
o
s
-
C
o
l
l
e
c
t
i
o
n
o
f
o
b
j
e
c
t
-
o
r
i
e
n
t
e
d
p
r
i
m
i
t
i
v
e
s
.
●
C
R
a
S
H
-
P
r
o
v
i
d
e
s
a
s
h
e
l
l
i
n
t
o
a
J
V
M
t
h
a
t
'
s
r
u
n
n
i
n
g
C
R
a
S
H
.
U
s
e
d
b
y
S
p
r
i
n
g
B
o
o
t
a
n
d
o
t
h
e
r
s
.
(
L
G
P
L
-
2
.
1
-
o
r
-
l
a
t
e
r
)
●
D
e
x
-
J
a
v
a
/
J
a
v
a
F
X
t
o
o
l
c
a
p
a
b
l
e
o
f
p
o
w
e
r
f
u
l
E
T
L
a
n
d
d
a
t
a
v
i
s
u
a
l
i
z
a
t
i
o
n
.
●
E
m
b
u
l
k
-
B
u
l
k
d
a
t
a
l
o
a
d
e
r
t
h
a
t
h
e
l
p
s
d
a
t
a
t
r
a
n
s
f
e
r
b
e
t
w
e
e
n
v
a
r
i
o
u
s
d
a
t
a
b
a
s
e
s
,
s
t
o
r
a
g
e
s
,
f
i
l
e
f
o
r
m
a
t
s
,
a
n
d
c
l
o
u
d
s
e
r
v
i
c
e
s
.
●
f
s
w
a
t
c
h
-
M
i
c
r
o
l
i
b
r
a
r
y
t
o
w
a
t
c
h
f
o
r
d
i
r
e
c
t
o
r
y
f
i
l
e
s
y
s
t
e
m
c
h
a
n
g
e
s
,
s
i
m
p
l
i
f
y
i
n
g
j
a
v
a
.
n
i
o
.
f
i
l
e
.
W
a
t
c
h
S
e
r
v
i
c
e
.
●
G
e
p
h
i
-
C
r
o
s
s
-
p
l
a
t
f
o
r
m
f
o
r
v
i
s
u
a
l
i
z
i
n
g
a
n
d
m
a
n
i
p
u
l
a
t
i
n
g
l
a
r
g
e
g
r
a
p
h
n
e
t
w
o
r
k
s
.
(
G
P
L
-
3
.
0
-
o
n
l
y
)
●
G
u
a
v
a
-
C
o
l
l
e
c
t
i
o
n
s
,
c
a
c
h
i
n
g
,
p
r
i
m
i
t
i
v
e
s
s
u
p
p
o
r
t
,
c
o
n
c
u
r
r
e
n
c
y
l
i
b
r
a
r
i
e
s
,
c
o
m
m
o
n
a
n
n
o
t
a
t
i
o
n
s
,
s
t
r
i
n
g
p
r
o
c
e
s
s
i
n
g
,
I
/
O
,
a
n
d
m
o
r
e
.
●
J
A
D
E
-
F
r
a
m
e
w
o
r
k
a
n
d
e
n
v
i
r
o
n
m
e
n
t
f
o
r
b
u
i
l
d
i
n
g
a
n
d
d
e
b
u
g
g
i
n
g
m
u
l
t
i
-
a
g
e
n
t
s
y
s
t
e
m
s
.
(
L
G
P
L
-
2
.
0
-
o
n
l
y
)
●
J
a
v
a
V
e
r
b
a
l
E
x
p
r
e
s
s
i
o
n
s
-
L
i
b
r
a
r
y
t
h
a
t
h
e
l
p
s
w
i
t
h
c
o
n
s
t
r
u
c
t
i
n
g
d
i
f
f
i
c
u
l
t
r
e
g
u
l
a
r
e
x
p
r
e
s
s
i
o
n
s
.
●
J
G
i
t
-
L
i
g
h
t
w
e
i
g
h
t
,
p
u
r
e
J
a
v
a
l
i
b
r
a
r
y
i
m
p
l
e
m
e
n
t
i
n
g
t
h
e
G
i
t
v
e
r
s
i
o
n
c
o
n
t
r
o
l
s
y
s
t
e
m
.
●
m
i
n
i
o
-
j
a
v
a
-
P
r
o
v
i
d
e
s
s
i
m
p
l
e
A
P
I
s
t
o
a
c
c
e
s
s
a
n
y
A
m
a
z
o
n
S
3
-
c
o
m
p
a
t
i
b
l
e
o
b
j
e
c
t
s
t
o
r
a
g
e
s
e
r
v
e
r
.
●
P
r
o
t
é
g
é
-
P
r
o
v
i
d
e
s
a
n
o
n
t
o
l
o
g
y
e
d
i
t
o
r
a
n
d
a
f
r
a
m
e
w
o
r
k
t
o
b
u
i
l
d
k
n
o
w
l
e
d
g
e
-
b
a
s
e
d
s
y
s
t
e
m
s
.
●
U
n
d
e
r
s
c
o
r
e
-
j
a
v
a
-
P
o
r
t
o
f
U
n
d
e
r
s
c
o
r
e
.
j
s
f
u
n
c
t
i
o
n
s
.
V
e
r
s
i
o
n
M
a
n
a
g
e
r
s
U
t
i
l
i
t
i
e
s
t
h
a
t
h
e
l
p
c
r
e
a
t
e
t
h
e
d
e
v
e
l
o
p
m
e
n
t
s
h
e
l
l
e
n
v
i
r
o
n
m
e
n
t
a
n
d
s
w
i
t
c
h
b
e
t
w
e
e
n
d
i
f
f
e
r
e
n
t
J
a
v
a
v
e
r
s
i
o
n
s
.
●
j
a
b
b
a
-
J
a
v
a
V
e
r
s
i
o
n
M
a
n
a
g
e
r
i
n
s
p
i
r
e
d
b
y
n
v
m
.
S
u
p
p
o
r
t
s
m
a
c
O
S
,
L
i
n
u
x
a
n
d
W
i
n
d
o
w
s
.
●
j
e
n
v
-
J
a
v
a
V
e
r
s
i
o
n
M
a
n
a
g
e
r
i
n
s
p
i
r
e
d
b
y
r
b
e
n
v
.
C
a
n
c
o
n
f
i
g
u
r
e
g
l
o
b
a
l
l
y
o
r
p
e
r
p
r
o
j
e
c
t
.
T
e
s
t
e
d
o
n
D
e
b
i
a
n
a
n
d
m
a
c
O
S
.
●
S
D
K
M
a
n
-
J
a
v
a
V
e
r
s
i
o
n
M
a
n
a
g
e
r
i
n
s
p
i
r
e
d
b
y
R
V
M
a
n
d
r
b
e
n
v
.
S
u
p
p
o
r
t
s
U
N
I
X
-
b
a
s
e
d
p
l
a
t
f
o
r
m
s
a
n
d
W
i
n
d
o
w
s
.
W
e
b
C
r
a
w
l
i
n
g
L
i
b
r
a
r
i
e
s
t
h
a
t
a
n
a
l
y
z
e
t
h
e
c
o
n
t
e
n
t
o
f
w
e
b
s
i
t
e
s
.
●
A
p
a
c
h
e
N
u
t
c
h
-
H
i
g
h
l
y
e
x
t
e
n
s
i
b
l
e
,
h
i
g
h
l
y
s
c
a
l
a
b
l
e
w
e
b
c
r
a
w
l
e
r
f
o
r
p
r
o
d
u
c
t
i
o
n
e
n
v
i
r
o
n
m
e
n
t
s
.
●
C
r
a
w
l
e
r
4
j
-
S
i
m
p
l
e
a
n
d
l
i
g
h
t
w
e
i
g
h
t
w
e
b
c
r
a
w
l
e
r
.
●
j
s
o
u
p
-
S
c
r
a
p
e
s
,
p
a
r
s
e
s
,
m
a
n
i
p
u
l
a
t
e
s
a
n
d
c
l
e
a
n
s
H
T
M
L
.
●
S
t
o
r
m
C
r
a
w
l
e
r
-
S
D
K
f
o
r
b
u
i
l
d
i
n
g
l
o
w
-
l
a
t
e
n
c
y
a
n
d
s
c
a
l
a
b
l
e
w
e
b
c
r
a
w
l
e
r
s
.
●
w
e
b
m
a
g
i
c
-
S
c
a
l
a
b
l
e
c
r
a
w
l
e
r
w
i
t
h
d
o
w
n
l
o
a
d
i
n
g
,
u
r
l
m
a
n
a
g
e
m
e
n
t
,
c
o
n
t
e
n
t
e
x
t
r
a
c
t
i
o
n
a
n
d
p
e
r
s
i
s
t
e
n
t
.
W
e
b
F
r
a
m
e
w
o
r
k
s
F
r
a
m
e
w
o
r
k
s
t
h
a
t
h
a
n
d
l
e
t
h
e
c
o
m
m
u
n
i
c
a
t
i
o
n
b
e
t
w
e
e
n
t
h
e
l
a
y
e
r
s
o
f
a
w
e
b
a
p
p
l
i
c
a
t
i
o
n
.
●
A
c
t
i
v
e
J
-
L
i
g
h
t
w
e
i
g
h
t
a
s
y
n
c
h
r
o
n
o
u
s
f
r
a
m
e
w
o
r
k
b
u
i
l
t
f
r
o
m
t
h
e
g
r
o
u
n
d
u
p
f
o
r
d
e
v
e
l
o
p
i
n
g
h
i
g
h
-
p
e
r
f
o
r
m
a
n
c
e
w
e
b
a
p
p
l
i
c
a
t
i
o
n
s
.
●
A
p
a
c
h
e
T
a
p
e
s
t
r
y
-
C
o
m
p
o
n
e
n
t
-
o
r
i
e
n
t
e
d
f
r
a
m
e
w
o
r
k
f
o
r
c
r
e
a
t
i
n
g
d
y
n
a
m
i
c
,
r
o
b
u
s
t
,
h
i
g
h
l
y
s
c
a
l
a
b
l
e
w
e
b
a
p
p
l
i
c
a
t
i
o
n
s
.
●
A
p
a
c
h
e
W
i
c
k
e
t
-
C
o
m
p
o
n
e
n
t
-
b
a
s
e
d
w
e
b
a
p
p
l
i
c
a
t
i
o
n
f
r
a
m
e
w
o
r
k
s
i
m
i
l
a
r
t
o
T
a
p
e
s
t
r
y
,
w
i
t
h
a
s
t
a
t
e
f
u
l
G
U
I
.
●
B
l
a
d
e
-
L
i
g
h
t
w
e
i
g
h
t
,
m
o
d
u
l
a
r
f
r
a
m
e
w
o
r
k
t
h
a
t
a
i
m
s
t
o
b
e
e
l
e
g
a
n
t
a
n
d
s
i
m
p
l
e
.
●
B
o
o
t
i
q
u
e
-
M
i
n
i
m
a
l
l
y
o
p
i
n
i
o
n
a
t
e
d
f
r
a
m
e
w
o
r
k
f
o
r
r
u
n
n
a
b
l
e
a
p
p
s
.
●
F
i
r
e
f
l
y
-
A
s
y
n
c
h
r
o
n
o
u
s
f
r
a
m
e
w
o
r
k
f
o
r
r
a
p
i
d
d
e
v
e
l
o
p
m
e
n
t
o
f
h
i
g
h
-
p
e
r
f
o
r
m
a
n
c
e
w
e
b
a
p
p
l
i
c
a
t
i
o
n
.
●
J
o
o
b
y
-
S
c
a
l
a
b
l
e
,
f
a
s
t
a
n
d
m
o
d
u
l
a
r
m
i
c
r
o
-
f
r
a
m
e
w
o
r
k
t
h
a
t
o
f
f
e
r
s
m
u
l
t
i
p
l
e
p
r
o
g
r
a
m
m
i
n
g
m
o
d
e
l
s
.
●
N
i
n
j
a
-
F
u
l
l
-
s
t
a
c
k
w
e
b
f
r
a
m
e
w
o
r
k
.
●
P
i
p
p
o
-
S
m
a
l
l
,
h
i
g
h
l
y
m
o
d
u
l
a
r
i
z
e
d
,
S
i
n
a
t
r
a
-
l
i
k
e
f
r
a
m
e
w
o
r
k
.
●
P
l
a
y
-
B
u
i
l
t
o
n
A
k
k
a
,
i
t
p
r
o
v
i
d
e
s
p
r
e
d
i
c
t
a
b
l
e
a
n
d
m
i
n
i
m
a
l
r
e
s
o
u
r
c
e
c
o
n
s
u
m
p
t
i
o
n
(
C
P
U
,
m
e
m
o
r
y
,
t
h
r
e
a
d
s
)
f
o
r
h
i
g
h
l
y
-
s
c
a
l
a
b
l
e
a
p
p
l
i
c
a
t
i
o
n
s
i
n
J
a
v
a
a
n
d
S
c
a
l
a
.
●
P
r
i
m
e
F
a
c
e
s
-
J
S
F
f
r
a
m
e
w
o
r
k
w
i
t
h
b
o
t
h
f
r
e
e
a
n
d
c
o
m
m
e
r
c
i
a
l
/
s
u
p
p
o
r
t
v
e
r
s
i
o
n
s
a
n
d
f
r
o
n
t
e
n
d
c
o
m
p
o
n
e
n
t
s
.
●
R
a
t
p
a
c
k
-
S
e
t
o
f
l
i
b
r
a
r
i
e
s
t
h
a
t
f
a
c
i
l
i
t
a
t
e
f
a
s
t
,
e
f
f
i
c
i
e
n
t
,
e
v
o
l
v
a
b
l
e
a
n
d
w
e
l
l
-
t
e
s
t
e
d
H
T
T
P
a
p
p
l
i
c
a
t
i
o
n
s
.
●
T
a
k
e
s
-
O
p
i
n
i
o
n
a
t
e
d
w
e
b
f
r
a
m
e
w
o
r
k
w
h
i
c
h
i
s
b
u
i
l
t
a
r
o
u
n
d
t
h
e
c
o
n
c
e
p
t
s
o
f
T
r
u
e
O
b
j
e
c
t
-
O
r
i
e
n
t
e
d
P
r
o
g
r
a
m
m
i
n
g
a
n
d
i
m
m
u
t
a
b
i
l
i
t
y
.
●
V
a
a
d
i
n
-
E
v
e
n
t
-
d
r
i
v
e
n
f
r
a
m
e
w
o
r
k
t
h
a
t
u
s
e
s
s
t
a
n
d
a
r
d
w
e
b
c
o
m
p
o
n
e
n
t
s
.
S
e
r
v
e
r
-
s
i
d
e
a
r
c
h
i
t
e
c
t
u
r
e
w
i
t
h
A
j
a
x
o
n
t
h
e
c
l
i
e
n
t
s
i
d
e
.
R
e
s
o
u
r
c
e
s
A
w
e
s
o
m
e
L
i
s
t
s
A
w
e
s
o
m
e
l
i
s
t
s
r
e
l
a
t
e
d
t
o
t
h
e
J
a
v
a
&
J
V
M
e
c
o
s
y
s
t
e
m
.
●
A
w
e
s
o
m
e
A
n
n
o
t
a
t
i
o
n
P
r
o
c
e
s
s
i
n
g
●
A
w
e
s
o
m
e
G
r
a
a
l
●
A
w
e
s
o
m
e
G
r
a
d
l
e
P
l
u
g
i
n
s
●
A
w
e
s
o
m
e
J
a
v
a
F
X
●
A
w
e
s
o
m
e
J
V
M
●
A
w
e
s
o
m
e
M
i
c
r
o
s
e
r
v
i
c
e
s
●
A
w
e
s
o
m
e
R
E
S
T
●
A
w
e
s
o
m
e
S
e
l
e
n
i
u
m
●
c
i
a
n
d
c
d
●
U
s
e
f
u
l
J
a
v
a
L
i
n
k
s
●
J
a
v
a
C
o
n
c
u
r
r
e
n
c
y
C
h
e
c
k
l
i
s
t
●
J
a
v
a
D
e
v
e
l
o
p
e
r
R
o
a
d
m
a
p
C
o
m
m
u
n
i
t
i
e
s
A
c
t
i
v
e
d
i
s
c
u
s
s
i
o
n
s
.
●
r
/
j
a
v
a
-
S
u
b
r
e
d
d
i
t
f
o
r
t
h
e
J
a
v
a
c
o
m
m
u
n
i
t
y
.
●
S
t
a
c
k
O
v
e
r
f
l
o
w
-
Q
u
e
s
t
i
o
n
/
a
n
s
w
e
r
p
l
a
t
f
o
r
m
.
●
V
i
r
t
u
a
l
J
U
G
-
V
i
r
t
u
a
l
J
a
v
a
U
s
e
r
G
r
o
u
p
.
F
r
o
n
t
e
n
d
s
W
e
b
s
i
t
e
s
t
h
a
t
p
r
o
v
i
d
e
a
f
r
o
n
t
e
n
d
f
o
r
t
h
i
s
l
i
s
t
.
P
l
e
a
s
e
n
o
t
e
,
t
h
e
r
e
w
o
n
'
t
b
e
a
n
o
f
f
i
c
i
a
l
w
e
b
s
i
t
e
.
W
e
d
o
n
'
t
a
s
s
o
c
i
a
t
e
w
i
t
h
a
p
a
r
t
i
c
u
l
a
r
w
e
b
s
i
t
e
a
n
d
e
v
e
r
y
b
o
d
y
i
s
a
l
l
o
w
e
d
t
o
c
r
e
a
t
e
o
n
e
.
●
j
a
v
a
.
l
i
b
h
u
n
t
.
c
o
m
I
n
f
l
u
e
n
t
i
a
l
B
o
o
k
s
B
o
o
k
s
t
h
a
t
m
a
d
e
a
b
i
g
i
m
p
a
c
t
a
n
d
a
r
e
s
t
i
l
l
w
o
r
t
h
r
e
a
d
i
n
g
.
●
C
o
r
e
J
a
v
a
V
o
l
u
m
e
I
-
-
F
u
n
d
a
m
e
n
t
a
l
s
●
C
o
r
e
J
a
v
a
,
V
o
l
u
m
e
I
I
-
-
A
d
v
a
n
c
e
d
F
e
a
t
u
r
e
s
●
E
f
f
e
c
t
i
v
e
J
a
v
a
(
3
r
d
E
d
i
t
i
o
n
)
●
J
a
v
a
C
o
n
c
u
r
r
e
n
c
y
i
n
P
r
a
c
t
i
c
e
●
T
h
i
n
k
i
n
g
i
n
J
a
v
a
P
o
d
c
a
s
t
s
a
n
d
S
c
r
e
e
n
c
a
s
t
s
S
o
m
e
t
h
i
n
g
t
o
l
o
o
k
a
t
o
r
l
i
s
t
e
n
t
o
w
h
i
l
e
p
r
o
g
r
a
m
m
i
n
g
.
●
A
B
o
o
t
i
f
u
l
P
o
d
c
a
s
t
●
I
n
s
i
d
e
J
a
v
a
(
O
f
f
i
c
i
a
l
)
●
J
a
v
a
O
f
f
H
e
a
p
●
T
h
e
J
a
v
a
C
o
u
n
c
i
l
●
T
h
e
J
a
v
a
P
o
s
s
e
-
D
i
s
c
o
n
t
i
n
u
e
d
a
s
o
f
0
2
/
2
0
1
5
.
T
w
i
t
t
e
r
A
c
t
i
v
e
a
c
c
o
u
n
t
s
t
o
f
o
l
l
o
w
.
D
e
s
c
r
i
p
t
i
o
n
s
f
r
o
m
T
w
i
t
t
e
r
.
●
A
d
a
m
B
i
e
n
-
F
r
e
e
l
a
n
c
e
a
u
t
h
o
r
,
J
a
v
a
O
n
e
R
o
c
k
s
t
a
r
s
p
e
a
k
e
r
,
c
o
n
s
u
l
t
a
n
t
,
J
a
v
a
C
h
a
m
p
i
o
n
.
●
A
l
e
k
s
e
y
S
h
i
p
i
l
ë
v
-
P
e
r
f
o
r
m
a
n
c
e
g
e
e
k
,
b
e
n
c
h
m
a
r
k
i
n
g
c
z
a
r
,
c
o
n
c
u
r
r
e
n
c
y
b
u
g
h
u
n
t
e
r
.
●
A
n
t
o
n
i
o
G
o
n
c
a
l
v
e
s
-
J
a
v
a
C
h
a
m
p
i
o
n
,
J
U
G
L
e
a
d
e
r
,
D
e
v
o
x
x
F
r
a
n
c
e
,
J
a
v
a
E
E
6
/
7
,
J
C
P
,
A
u
t
h
o
r
.
●
A
r
u
n
G
u
p
t
a
-
J
a
v
a
C
h
a
m
p
i
o
n
,
J
a
v
a
O
n
e
R
o
c
k
s
t
a
r
,
J
U
G
L
e
a
d
e
r
,
D
e
v
o
x
x
4
K
i
d
s
-
e
r
,
V
P
o
f
D
e
v
e
l
o
p
e
r
A
d
v
o
c
a
c
y
a
t
C
o
u
c
h
b
a
s
e
.
●
B
r
i
a
n
G
o
e
t
z
-
J
a
v
a
L
a
n
g
u
a
g
e
A
r
c
h
i
t
e
c
t
a
t
O
r
a
c
l
e
.
●
B
r
u
n
o
B
o
r
g
e
s
-
P
r
o
d
u
c
t
M
a
n
a
g
e
r
/
J
a
v
a
J
o
c
k
a
t
O
r
a
c
l
e
.
●
C
h
r
i
s
R
i
c
h
a
r
d
s
o
n
-
S
o
f
t
w
a
r
e
a
r
c
h
i
t
e
c
t
,
c
o
n
s
u
l
t
a
n
t
,
a
n
d
s
e
r
i
a
l
e
n
t
r
e
p
r
e
n
e
u
r
,
J
a
v
a
C
h
a
m
p
i
o
n
,
J
a
v
a
O
n
e
R
o
c
k
S
t
a
r
,
*
P
O
J
O
s
i
n
A
c
t
i
o
n
-
a
u
t
h
o
r
.
●
E
d
B
u
r
n
s
-
C
o
n
s
u
l
t
i
n
g
M
e
m
b
e
r
o
f
t
h
e
T
e
c
h
n
i
c
a
l
S
t
a
f
f
a
t
O
r
a
c
l
e
.
●
E
u
g
e
n
P
a
r
a
s
c
h
i
v
-
A
u
t
h
o
r
o
f
t
h
e
S
p
r
i
n
g
S
e
c
u
r
i
t
y
C
o
u
r
s
e
.
●
H
e
i
n
z
K
a
b
u
t
z
-
J
a
v
a
C
h
a
m
p
i
o
n
,
s
p
e
a
k
e
r
,
a
u
t
h
o
r
o
f
T
h
e
J
a
v
a
S
p
e
c
i
a
l
i
s
t
s
'
N
e
w
s
l
e
t
t
e
r
,
c
o
n
c
u
r
r
e
n
c
y
p
e
r
f
o
r
m
a
n
c
e
e
x
p
e
r
t
.
●
H
o
l
l
y
C
u
m
m
i
n
s
-
T
e
c
h
n
i
c
a
l
L
e
a
d
o
f
I
B
M
L
o
n
d
o
n
'
s
B
l
u
e
m
i
x
G
a
r
a
g
e
,
J
a
v
a
C
h
a
m
p
i
o
n
,
d
e
v
e
l
o
p
e
r
,
a
u
t
h
o
r
,
J
a
v
a
O
n
e
r
o
c
k
s
t
a
r
.
●
J
a
m
e
s
W
e
a
v
e
r
-
J
a
v
a
/
J
a
v
a
F
X
/
I
o
T
d
e
v
e
l
o
p
e
r
,
a
u
t
h
o
r
a
n
d
s
p
e
a
k
e
r
.
●
J
a
v
a
E
E
-
O
f
f
i
c
i
a
l
J
a
v
a
E
E
T
w
i
t
t
e
r
a
c
c
o
u
n
t
.
●
J
a
v
a
M
a
g
a
z
i
n
e
-
O
f
f
i
c
i
a
l
J
a
v
a
M
a
g
a
z
i
n
e
a
c
c
o
u
n
t
.
●
J
a
v
a
-
O
f
f
i
c
i
a
l
J
a
v
a
T
w
i
t
t
e
r
a
c
c
o
u
n
t
.
●
J
a
v
i
n
P
a
u
l
-
W
e
l
l
-
k
n
o
w
n
J
a
v
a
b
l
o
g
g
e
r
.
●
J
o
s
h
L
o
n
g
-
S
p
r
i
n
g
A
d
v
o
c
a
t
e
a
t
P
i
v
o
t
a
l
,
a
u
t
h
o
r
o
f
O
'
R
e
i
l
l
y
'
s
C
l
o
u
d
N
a
t
i
v
e
J
a
v
a
-
a
n
d
B
u
i
l
d
i
n
g
M
i
c
r
o
s
e
r
v
i
c
e
s
w
i
t
h
S
p
r
i
n
g
B
o
o
t
,
J
a
v
a
O
n
e
R
o
c
k
S
t
a
r
.
●
L
u
k
a
s
E
d
e
r
-
J
a
v
a
C
h
a
m
p
i
o
n
,
s
p
e
a
k
e
r
,
J
U
G
.
c
h
c
o
-
l
e
a
d
e
r
,
F
o
u
n
d
e
r
a
n
d
C
E
O
D
a
t
a
G
e
e
k
e
r
y
(
j
O
O
Q
)
.
●
M
a
n
i
S
a
r
k
a
r
-
J
a
v
a
c
h
a
m
p
i
o
n
,
P
o
l
y
g
l
o
t
,
S
o
f
t
w
a
r
e
C
r
a
f
t
e
r
i
n
v
o
l
v
e
d
w
i
t
h
@
g
r
a
a
l
v
m
,
A
I
/
M
L
/
D
L
,
D
a
t
a
S
c
i
e
n
c
e
,
D
e
v
e
l
o
p
e
r
c
o
m
m
u
n
i
t
i
e
s
,
s
p
e
a
k
e
r
&
b
l
o
g
g
e
r
.
C
r
e
a
t
o
r
o
f
c
o
u
p
l
e
o
f
a
w
e
s
o
m
e
l
i
s
t
s
l
i
k
e
t
h
i
s
o
n
e
.
●
M
a
r
i
o
F
u
s
c
o
-
R
e
d
H
a
t
t
e
r
,
J
U
G
c
o
o
r
d
i
n
a
t
o
r
,
f
r
e
q
u
e
n
t
s
p
e
a
k
e
r
a
n
d
a
u
t
h
o
r
.
●
M
a
r
k
H
e
c
k
l
e
r
-
P
i
v
o
t
a
l
P
r
i
n
c
i
p
a
l
T
e
c
h
n
o
l
o
g
i
s
t
a
n
d
D
e
v
e
l
o
p
e
r
A
d
v
o
c
a
t
e
,
c
o
n
f
e
r
e
n
c
e
s
p
e
a
k
e
r
,
p
u
b
l
i
s
h
e
d
a
u
t
h
o
r
,
a
n
d
J
a
v
a
C
h
a
m
p
i
o
n
,
f
o
c
u
s
i
n
g
o
n
I
n
t
e
r
n
e
t
o
f
T
h
i
n
g
s
a
n
d
t
h
e
c
l
o
u
d
.
●
M
a
r
k
R
e
i
n
h
o
l
d
-
C
h
i
e
f
A
r
c
h
i
t
e
c
t
,
J
a
v
a
P
l
a
t
f
o
r
m
G
r
o
u
p
,
O
r
a
c
l
e
.
●
M
a
r
k
u
s
E
i
s
e
l
e
-
J
a
v
a
E
E
e
v
a
n
g
e
l
i
s
t
,
R
e
d
H
a
t
.
●
M
a
r
t
i
j
n
V
e
r
b
u
r
g
-
L
o
n
d
o
n
J
U
G
c
o
-
l
e
a
d
e
r
,
s
p
e
a
k
e
r
,
a
u
t
h
o
r
,
J
a
v
a
C
h
a
m
p
i
o
n
a
n
d
m
u
c
h
m
o
r
e
.
●
M
a
r
t
i
n
T
h
o
m
p
s
o
n
-
P
a
s
t
y
f
a
c
e
d
p
e
r
f
o
r
m
a
n
c
e
g
a
n
g
s
t
e
r
.
●
M
o
n
i
c
a
B
e
c
k
w
i
t
h
-
P
e
r
f
o
r
m
a
n
c
e
c
o
n
s
u
l
t
a
n
t
,
J
a
v
a
O
n
e
R
o
c
k
S
t
a
r
.
●
O
p
e
n
J
D
K
-
O
f
f
i
c
i
a
l
O
p
e
n
J
D
K
a
c
c
o
u
n
t
.
●
P
e
t
e
r
L
a
w
r
e
y
-
P
e
t
e
r
L
a
w
r
e
y
,
J
a
v
a
p
e
r
f
o
r
m
a
n
c
e
e
x
p
e
r
t
.
●
R
a
n
d
y
S
h
o
u
p
-
S
t
i
t
c
h
F
i
x
V
P
E
n
g
i
n
e
e
r
i
n
g
,
s
p
e
a
k
e
r
,
J
a
v
a
O
n
e
R
o
c
k
S
t
a
r
.
●
R
e
z
a
R
a
h
m
a
n
-
J
a
v
a
E
E
/
G
l
a
s
s
F
i
s
h
/
W
e
b
L
o
g
i
c
e
v
a
n
g
e
l
i
s
t
,
a
u
t
h
o
r
,
s
p
e
a
k
e
r
,
o
p
e
n
s
o
u
r
c
e
h
a
c
k
e
r
.
●
S
a
n
d
e
r
M
a
k
-
J
a
v
a
C
h
a
m
p
i
o
n
,
a
u
t
h
o
r
.
●
S
i
m
o
n
M
a
p
l
e
-
J
a
v
a
C
h
a
m
p
i
o
n
,
V
i
r
t
u
a
l
J
U
G
f
o
u
n
d
e
r
,
L
J
C
l
e
a
d
e
r
,
R
e
b
e
l
L
a
b
s
a
u
t
h
o
r
.
●
S
p
e
n
c
e
r
G
i
b
b
-
S
o
f
t
w
a
r
e
E
n
g
i
n
e
e
r
,
D
a
d
,
G
e
e
k
,
C
o
-
f
o
u
n
d
e
r
a
n
d
L
e
a
d
o
f
S
p
r
i
n
g
C
l
o
u
d
C
o
r
e
@
p
i
v
o
t
a
l
.
●
S
t
e
p
h
e
n
C
o
l
e
b
o
u
r
n
e
-
J
a
v
a
C
h
a
m
p
i
o
n
,
s
p
e
a
k
e
r
.
●
T
r
i
s
h
a
G
e
e
-
J
a
v
a
C
h
a
m
p
i
o
n
a
n
d
s
p
e
a
k
e
r
.
●
V
e
n
k
a
t
S
u
b
r
a
m
a
n
i
a
m
-
A
u
t
h
o
r
,
U
n
i
v
e
r
s
i
t
y
o
f
H
o
u
s
t
o
n
p
r
o
f
e
s
s
o
r
,
M
i
c
r
o
S
o
f
t
M
V
P
a
w
a
r
d
r
e
c
i
p
i
e
n
t
,
J
a
v
a
O
n
e
R
o
c
k
S
t
a
r
,
J
a
v
a
C
h
a
m
p
i
o
n
.
●
V
l
a
d
M
i
h
a
l
c
e
a
-
J
a
v
a
C
h
a
m
p
i
o
n
w
o
r
k
i
n
g
o
n
H
y
p
e
r
s
i
s
t
e
n
c
e
O
p
t
i
m
i
z
e
r
,
d
a
t
a
b
a
s
e
a
f
i
c
i
o
n
a
d
o
,
a
u
t
h
o
r
o
f
H
i
g
h
-
P
e
r
f
o
r
m
a
n
c
e
J
a
v
a
P
e
r
s
i
s
t
e
n
c
e
b
o
o
k
.
W
e
b
s
i
t
e
s
S
i
t
e
s
t
o
r
e
a
d
.
●
B
a
e
l
d
u
n
g
●
D
z
o
n
e
●
f
o
o
j
a
y
.
i
o
●
G
o
o
g
l
e
J
a
v
a
S
t
y
l
e
●
I
n
f
o
Q
●
J
a
v
a
A
l
g
o
r
i
t
h
m
s
a
n
d
C
l
i
e
n
t
s
●
J
a
v
a
,
S
Q
L
,
a
n
d
j
O
O
Q
●
J
a
v
a
.
n
e
t
●
J
a
v
a
l
o
b
b
y
●
J
a
v
a
W
o
r
l
d
●
J
A
X
e
n
t
e
r
●
R
e
b
e
l
L
a
b
s
●
O
v
e
r
O
p
s
B
l
o
g
●
T
h
e
S
e
r
v
e
r
S
i
d
e
.
c
o
m
●
V
a
n
i
l
l
a
J
a
v
a
●
V
o
x
x
e
d
C
o
n
t
r
i
b
u
t
i
n
g
C
o
n
t
r
i
b
u
t
i
o
n
s
a
r
e
v
e
r
y
w
e
l
c
o
m
e
!
P
l
e
a
s
e
h
a
v
e
a
l
o
o
k
a
t
t
h
e
C
O
N
T
R
I
B
U
T
I
N
G
g
u
i
d
e
l
i
n
e
s
a
n
d
t
h
e
v
a
l
i
d
a
t
i
o
n
t
o
o
l
s
.
A
b
o
u
t
A
c
u
r
a
t
e
d
l
i
s
t
o
f
a
w
e
s
o
m
e
f
r
a
m
e
w
o
r
k
s
,
l
i
b
r
a
r
i
e
s
a
n
d
s
o
f
t
w
a
r
e
f
o
r
t
h
e
J
a
v
a
p
r
o
g
r
a
m
m
i
n
g
l
a
n
g
u
a
g
e
.
T
o
p
i
c
s
a
w
e
s
o
m
e
a
w
e
s
o
m
e
-
l
i
s
t
R
e
s
o
u
r
c
e
s
R
e
a
d
m
e
L
i
c
e
n
s
e
V
i
e
w
l
i
c
e
n
s
e
R
e
l
e
a
s
e
s
N
o
r
e
l
e
a
s
e
s
p
u
b
l
i
s
h
e
d
P
a
c
k
a
g
e
s
0
N
o
p
a
c
k
a
g
e
s
p
u
b
l
i
s
h
e
d
C
o
n
t
r
i
b
u
t
o
r
s
2
9
4
+
2
8
3
c
o
n
t
r
i
b
u
t
o
r
s
●
©
2
0
2
0
G
i
t
H
u
b
,
I
n
c
.
●
T
e
r
m
s
●
P
r
i
v
a
c
y
●
S
e
c
u
r
i
t
y
●
S
t
a
t
u
s
●
H
e
l
p
●
C
o
n
t
a
c
t
G
i
t
H
u
b
●
P
r
i
c
i
n
g
●
A
P
I
●
T
r
a
i
n
i
n
g
●
B
l
o
g
●
A
b
o
u
t
Y
o
u
c
a
n
’
t
p
e
r
f
o
r
m
t
h
a
t
a
c
t
i
o
n
a
t
t
h
i
s
t
i
m
e
.
Y
o
u
s
i
g
n
e
d
i
n
w
i
t
h
a
n
o
t
h
e
r
t
a
b
o
r
w
i
n
d
o
w
.
R
e
l
o
a
d
t
o
r
e
f
r
e
s
h
y
o
u
r
s
e
s
s
i
o
n
.
Y
o
u
s
i
g
n
e
d
o
u
t
i
n
a
n
o
t
h
e
r
t
a
b
o
r
w
i
n
d
o
w
.
R
e
l
o
a
d
t
o
r
e
f
r
e
s
h
y
o
u
r
s
e
s
s
i
o
n
.