493 captures
25 Aug 2019 - 15 Dec 2025
Sep
OCT
Nov
30
2019
2020
2021
success
fail
About this capture
COLLECTED BY
Organization:
Internet Archive
Focused crawls are collections of frequently-updated webcrawl data from narrow (as opposed to broad or wide) web crawls, often focused on a single domain or subdomain.
Collection:
github.com
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
0
3
0
2
3
1
4
3
5
/
h
t
t
p
s
:
/
/
g
i
t
h
u
b
.
c
o
m
/
t
o
p
i
c
s
/
f
u
n
c
t
i
o
n
a
l
-
t
e
s
t
i
n
g
S
k
i
p
t
o
c
o
n
t
e
n
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 topic
All GitHub
↵
Jump to
↵
No suggested jump to results
In this topic
All GitHub
↵
Jump to
↵
In this topic
All GitHub
↵
Jump to
↵
S
i
g
n
in
S
i
g
n
up
{
{
m
e
s
s
a
g
e
}
}
E
x
p
l
o
r
e
T
o
p
i
c
s
T
r
e
n
d
i
n
g
C
o
l
l
e
c
t
i
o
n
s
E
v
e
n
t
s
G
i
t
H
u
b
S
p
o
n
s
o
r
s
G
e
t
e
m
a
i
l
u
p
d
a
t
e
s
#
f
u
n
c
t
i
o
n
a
l
-
t
e
s
t
i
n
g
S
t
a
r
H
e
r
e
a
r
e
1
6
9
p
u
b
l
i
c
r
e
p
o
s
i
t
o
r
i
e
s
m
a
t
c
h
i
n
g
t
h
i
s
t
o
p
i
c
.
.
.
L
a
n
g
u
a
g
e
:
A
l
l
F
i
l
t
e
r
b
y
l
a
n
g
u
a
g
e
A
l
l
1
6
9
J
a
v
a
S
c
r
i
p
t
41
J
a
v
a
40
P
y
t
h
o
n
17
P
H
P
13
C
#
12
Go
9
H
T
M
L
4
R
u
b
y
3
T
y
p
e
S
c
r
i
p
t
3
C
S
S
2
S
o
r
t
:
B
e
s
t
m
a
t
c
h
S
o
r
t
o
p
t
i
o
n
s
B
e
s
t
m
a
t
c
h
M
o
s
t
s
t
a
r
s
F
e
w
e
s
t
s
t
a
r
s
M
o
s
t
f
o
r
k
s
F
e
w
e
s
t
f
o
r
k
s
R
e
c
e
n
t
l
y
u
p
d
a
t
e
d
L
e
a
s
t
r
e
c
e
n
t
l
y
u
p
d
a
t
e
d
D
e
v
E
x
p
r
e
s
s
/
t
e
s
t
c
a
f
e
S
t
a
r
8
.
5
k
C
o
d
e
I
s
s
u
e
s
P
u
l
l
r
e
q
u
e
s
t
s
A
N
o
d
e
.
j
s
t
o
o
l
t
o
a
u
t
o
m
a
t
e
e
n
d
-
t
o
-
e
n
d
w
e
b
t
e
s
t
i
n
g
.
c
l
o
u
d
t
y
p
e
s
c
r
i
p
t
b
r
o
w
s
e
r
b
r
o
w
s
e
r
s
t
a
c
k
e
s
l
i
n
t
t
e
s
t
i
d
e
a
s
s
e
r
t
i
o
n
s
t
e
s
t
-
a
u
t
o
m
a
t
i
o
n
b
a
d
g
e
t
e
s
t
-
f
r
a
m
e
w
o
r
k
f
u
n
c
t
i
o
n
a
l
-
t
e
s
t
i
n
g
t
e
s
t
i
n
g
-
t
o
o
l
s
e
2
e
t
e
a
m
c
i
t
y
e
n
d
-
t
o
-
e
n
d
-
t
e
s
t
i
n
g
t
e
s
t
c
a
f
e
p
a
g
e
o
b
j
e
c
t
-
p
a
t
t
e
r
n
●
U
p
d
a
t
e
d
O
c
t
3
0
,
2
0
2
0
●
J
a
v
a
S
c
r
i
p
t
s
e
l
e
n
i
u
m
b
a
s
e
/
S
e
l
e
n
i
u
m
B
a
s
e
S
t
a
r
1
.
8
k
C
o
d
e
I
s
s
u
e
s
P
u
l
l
r
e
q
u
e
s
t
s
🏰
🐉
P
y
t
h
o
n
w
e
b
a
u
t
o
m
a
t
i
o
n
&
t
e
s
t
i
n
g
f
r
a
m
e
w
o
r
k
.
✅
🤖
F
a
s
t
,
e
a
s
y
,
&
r
e
l
i
a
b
l
e
.
p
y
t
h
o
n
t
e
s
t
i
n
g
j
e
n
k
i
n
s
w
e
b
d
r
i
v
e
r
s
e
l
e
n
i
u
m
e
2
e
-
t
e
s
t
s
p
y
t
e
s
t
f
u
n
c
t
i
o
n
a
l
-
t
e
s
t
i
n
g
r
e
c
o
r
d
e
r
e
n
d
-
t
o
-
e
n
d
-
t
e
s
t
i
n
g
s
e
l
e
n
i
u
m
-
p
y
t
h
o
n
a
z
u
r
e
-
d
e
v
o
p
s
g
i
t
h
u
b
-
a
c
t
i
o
n
s
●
U
p
d
a
t
e
d
O
c
t
3
0
,
2
0
2
0
●
P
y
t
h
o
n
c
u
c
u
m
b
e
r
/
g
o
d
o
g
S
t
a
r
1
.
2
k
C
o
d
e
I
s
s
u
e
s
P
u
l
l
r
e
q
u
e
s
t
s
C
u
c
u
m
b
e
r
f
o
r
g
o
l
a
n
g
t
e
s
t
i
n
g
go
g
o
l
a
n
g
b
d
d
i
n
t
e
g
r
a
t
i
o
n
-
t
e
s
t
i
n
g
g
h
e
r
k
i
n
c
u
c
u
m
b
e
r
f
u
n
c
t
i
o
n
a
l
-
t
e
s
t
i
n
g
●
U
p
d
a
t
e
d
O
c
t
2
3
,
2
0
2
0
●
Go
l
e
a
n
d
r
o
t
k
/
f
u
n
c
t
i
o
n
a
l
-
p
r
o
g
r
a
m
m
i
n
g
-
l
e
a
r
n
i
n
g
-
p
a
t
h
S
t
a
r
5
0
5
C
o
d
e
I
s
s
u
e
s
P
u
l
l
r
e
q
u
e
s
t
s
A
L
e
a
r
n
i
n
g
P
a
t
h
f
o
r
F
u
n
c
t
i
o
n
a
l
P
r
o
g
r
a
m
m
i
n
g
j
a
v
a
s
c
r
i
p
t
r
u
b
y
c
l
o
j
u
r
e
f
u
n
c
t
i
o
n
a
l
js
f
u
n
c
t
i
o
n
a
l
-
p
r
o
g
r
a
m
m
i
n
g
f
u
n
c
t
i
o
n
a
l
-
l
a
n
g
u
a
g
e
s
f
u
n
c
t
i
o
n
a
l
-
t
e
s
t
i
n
g
f
u
n
c
t
i
o
n
a
l
-
j
s
f
u
n
c
t
i
o
n
a
l
-
l
a
n
g
u
a
g
e
f
u
n
c
t
i
o
n
a
l
-
r
u
b
y
●
U
p
d
a
t
e
d
M
a
y
1
0
,
2
0
2
0
●
C
l
o
j
u
r
e
T
h
i
h
t
/
s
m
o
c
k
e
r
S
t
a
r
4
5
5
C
o
d
e
I
s
s
u
e
s
P
u
l
l
r
e
q
u
e
s
t
s
S
m
o
c
k
e
r
i
s
a
s
i
m
p
l
e
a
n
d
e
f
f
i
c
i
e
n
t
H
T
T
P
m
o
c
k
s
e
r
v
e
r
a
n
d
p
r
o
x
y
.
r
e
a
c
t
go
m
o
c
k
a
p
i
t
y
p
e
s
c
r
i
p
t
t
e
s
t
p
r
o
x
y
i
n
t
e
g
r
a
t
i
o
n
-
t
e
s
t
i
n
g
m
o
c
k
-
s
e
r
v
e
r
f
u
n
c
t
i
o
n
a
l
-
t
e
s
t
i
n
g
●
U
p
d
a
t
e
d
O
c
t
1
,
2
0
2
0
●
T
y
p
e
S
c
r
i
p
t
Z
o
o
z
/
p
r
e
d
a
t
o
r
S
t
a
r
2
9
5
C
o
d
e
I
s
s
u
e
s
P
u
l
l
r
e
q
u
e
s
t
s
O
p
e
n
D
e
f
i
n
e
b
e
t
t
e
r
D
C
/
O
S
j
o
b
n
a
m
e
s
m
a
c
i
e
s
s
e
c
o
m
m
e
n
t
e
d
O
c
t
2
9
,
2
0
2
0
C
o
n
t
e
x
t
:
P
r
e
d
a
t
o
r
r
u
n
n
i
n
g
o
n
D
C
/
O
S
P
r
o
b
l
e
m
:
D
C
/
O
S
j
o
b
n
a
m
e
s
g
e
n
e
r
a
t
e
d
b
y
p
r
e
d
a
t
o
r
a
r
e
r
a
n
d
o
m
s
o
,
w
h
e
n
l
o
o
k
i
n
g
f
o
r
t
h
e
e
x
e
c
u
t
i
o
n
l
o
g
,
i
s
t
r
i
c
k
y
t
o
f
i
n
d
t
h
e
c
o
r
r
e
c
t
o
n
e
.
E
x
a
m
p
l
e
:
P
o
s
s
i
b
l
e
s
o
l
u
t
i
o
n
:
U
s
e
a
n
a
m
e
t
h
a
t
i
s
s
o
m
e
h
o
w
r
e
l
a
t
e
d
w
i
t
h
t
h
e
t
e
s
t
.
S
o
m
e
t
h
i
n
g
l
i
k
e
`
T
R
e
a
d
m
o
r
e
H
a
c
k
t
o
b
e
r
f
e
s
t
g
o
o
d
f
i
r
s
t
i
s
s
u
e
O
p
e
n
S
u
p
p
o
r
t
f
o
r
l
a
r
g
e
r
e
q
u
e
s
t
b
o
d
y
2
O
p
e
n
A
d
d
t
h
e
a
b
i
l
i
t
y
t
o
d
o
w
n
l
o
a
d
t
h
e
r
e
p
o
r
t
a
s
P
D
F
2
F
i
n
d
m
o
r
e
g
o
o
d
f
i
r
s
t
i
s
s
u
e
s
→
D
N
S
-
O
A
R
C
/
f
l
a
m
e
t
h
r
o
w
e
r
S
t
a
r
1
7
4
C
o
d
e
I
s
s
u
e
s
P
u
l
l
r
e
q
u
e
s
t
s
a
D
N
S
p
e
r
f
o
r
m
a
n
c
e
a
n
d
f
u
n
c
t
i
o
n
a
l
t
e
s
t
i
n
g
u
t
i
l
i
t
y
s
u
p
p
o
r
t
i
n
g
U
D
P
,
T
C
P
,
D
o
T
a
n
d
D
o
H
(
by
@
n
s
1
)
d
n
s
p
e
r
f
o
r
m
a
n
c
e
f
u
n
c
t
i
o
n
a
l
-
t
e
s
t
i
n
g
●
U
p
d
a
t
e
d
O
c
t
2
7
,
2
0
2
0
●
C
+
+
v
i
a
n
t
/
e
n
d
l
y
S
t
a
r
1
6
0
C
o
d
e
I
s
s
u
e
s
P
u
l
l
r
e
q
u
e
s
t
s
E
n
d
t
o
e
n
d
f
u
n
c
t
i
o
n
a
l
t
e
s
t
a
n
d
a
u
t
o
m
a
t
i
o
n
f
r
a
m
e
w
o
r
k
t
e
s
t
i
n
g
w
o
r
k
f
l
o
w
a
u
t
o
m
a
t
i
o
n
i
n
t
e
g
r
a
t
i
o
n
-
t
e
s
t
i
n
g
o
r
c
h
e
s
t
r
a
t
i
o
n
-
f
r
a
m
e
w
o
r
k
f
u
n
c
t
i
o
n
a
l
-
t
e
s
t
i
n
g
e
n
d
-
t
o
-
e
n
d
-
t
e
s
t
i
n
g
s
y
s
t
e
m
-
t
e
s
t
i
n
g
●
U
p
d
a
t
e
d
O
c
t
2
8
,
2
0
2
0
●
Go
c
e
r
b
e
r
u
s
t
e
s
t
i
n
g
/
c
e
r
b
e
r
u
s
-
s
o
u
r
c
e
S
t
a
r
1
5
0
C
o
d
e
I
s
s
u
e
s
P
u
l
l
r
e
q
u
e
s
t
s
U
s
e
r
-
f
r
i
e
n
d
l
y
a
u
t
o
m
a
t
e
d
t
e
s
t
i
n
g
f
r
a
m
e
w
o
r
k
.
t
e
s
t
i
n
g
s
e
l
e
n
i
u
m
t
e
s
t
-
a
u
t
o
m
a
t
i
o
n
f
u
n
c
t
i
o
n
a
l
-
t
e
s
t
i
n
g
t
e
s
t
-
d
r
i
v
e
n
-
d
e
v
e
l
o
p
m
e
n
t
a
p
p
i
u
m
s
i
k
u
l
i
●
U
p
d
a
t
e
d
O
c
t
2
6
,
2
0
2
0
●
J
a
v
a
r
o
b
o
h
y
d
r
a
/
r
o
b
o
h
y
d
r
a
S
t
a
r
1
3
2
C
o
d
e
I
s
s
u
e
s
P
u
l
l
r
e
q
u
e
s
t
s
T
e
s
t
i
n
g
t
o
o
l
f
o
r
H
T
T
P
-
b
a
s
e
d
-
A
P
I
c
l
i
e
n
t
s
j
a
v
a
s
c
r
i
p
t
h
t
t
p
t
e
s
t
h
t
t
p
-
s
e
r
v
e
r
f
u
n
c
t
i
o
n
a
l
-
t
e
s
t
i
n
g
c
l
i
e
n
t
-
s
e
r
v
e
r
●
U
p
d
a
t
e
d
M
a
y
1
9
,
2
0
1
9
●
J
a
v
a
S
c
r
i
p
t
C
o
g
n
i
z
a
n
t
Q
A
H
u
b
/
C
o
g
n
i
z
a
n
t
-
I
n
t
e
l
l
i
g
e
n
t
-
T
e
s
t
-
S
c
r
i
p
t
e
r
S
t
a
r
78
C
o
d
e
I
s
s
u
e
s
P
u
l
l
r
e
q
u
e
s
t
s
S
c
r
i
p
t
-
l
e
s
s
T
e
s
t
A
u
t
o
m
a
t
i
o
n
S
o
l
u
t
i
o
n
j
a
v
a
t
e
s
t
i
n
g
s
e
l
e
n
i
u
m
f
u
n
c
t
i
o
n
a
l
-
t
e
s
t
i
n
g
a
p
p
i
u
m
s
i
k
u
l
i
a
u
t
o
m
a
t
i
o
n
-
f
r
a
m
e
w
o
r
k
g
a
l
e
n
f
r
a
m
e
w
o
r
k
w
e
b
-
p
a
g
e
-
p
e
r
f
o
r
m
a
n
c
e
●
U
p
d
a
t
e
d
J
a
n
2
7
,
2
0
2
0
●
J
a
v
a
U
n
i
t
y
-
T
e
c
h
n
o
l
o
g
i
e
s
/
X
R
A
u
t
o
m
a
t
e
d
T
e
s
t
s
S
t
a
r
73
C
o
d
e
I
s
s
u
e
s
P
u
l
l
r
e
q
u
e
s
t
s
X
R
A
u
t
o
m
a
t
e
d
T
e
s
t
s
i
s
w
h
e
r
e
y
o
u
c
a
n
f
i
n
d
f
u
n
c
t
i
o
n
a
l
,
g
r
a
p
h
i
c
s
,
p
e
r
f
o
r
m
a
n
c
e
,
a
n
d
o
t
h
e
r
t
y
p
e
s
o
f
a
u
t
o
m
a
t
e
d
t
e
s
t
s
f
o
r
y
o
u
r
X
R
U
n
i
t
y
d
e
v
e
l
o
p
m
e
n
t
.
b
e
n
c
h
m
a
r
k
a
u
t
o
m
a
t
i
o
n
p
e
r
f
o
r
m
a
n
c
e
u
n
i
t
y
t
e
s
t
s
f
u
n
c
t
i
o
n
a
l
-
t
e
s
t
i
n
g
u
n
i
t
y
-
t
e
s
t
-
r
u
n
n
e
r
x
r
-
u
n
i
t
y
-
d
e
v
e
l
o
p
m
e
n
t
●
U
p
d
a
t
e
d
O
c
t
3
0
,
2
0
2
0
●
C
#
C
o
n
s
e
n
s
u
s
J
/
c
o
n
s
e
n
s
u
s
j
S
t
a
r
71
C
o
d
e
I
s
s
u
e
s
P
u
l
l
r
e
q
u
e
s
t
s
O
p
e
n
N
o
t
a
l
l
B
i
t
c
o
i
n
r
p
c
c
l
i
e
n
t
m
e
t
h
o
d
s
a
r
e
i
m
p
l
e
m
e
n
t
e
d
4
m
a
g
g
c
o
m
m
e
n
t
e
d
J
a
n
6
,
2
0
1
7
m
a
n
y
m
e
t
h
o
d
s
a
r
e
m
i
s
s
i
n
g
,
a
n
y
e
t
a
o
n
t
h
e
i
m
p
l
e
m
e
n
t
a
t
i
o
n
?
I
w
a
s
i
n
t
e
r
e
s
t
e
d
i
n
a
d
d
n
o
d
e
f
o
r
e
x
a
m
p
l
e
t
h
a
n
k
s
R
e
a
d
m
o
r
e
g
o
o
d
f
i
r
s
t
i
s
s
u
e
h
e
l
p
w
a
n
t
e
d
O
p
e
n
e
x
a
m
p
l
e
s
r
e
q
u
i
r
e
d
5
O
p
e
n
A
d
d
s
t
r
i
n
g
r
e
p
r
e
s
e
n
t
a
t
i
o
n
f
o
r
a
l
l
P
O
J
O
s
1
F
i
n
d
m
o
r
e
g
o
o
d
f
i
r
s
t
i
s
s
u
e
s
→
e
x
a
c
t
p
r
o
/
s
a
i
l
f
i
s
h
-
c
o
r
e
S
t
a
r
64
C
o
d
e
I
s
s
u
e
s
P
u
l
l
r
e
q
u
e
s
t
s
P
r
o
t
o
c
o
l
l
e
v
e
l
t
e
s
t
a
u
t
o
m
a
t
i
o
n
s
o
l
u
t
i
o
n
f
o
r
F
i
n
t
e
c
h
a
p
p
l
i
c
a
t
i
o
n
s
t
r
a
d
i
n
g
t
e
s
t
-
a
u
t
o
m
a
t
i
o
n
e
x
c
h
a
n
g
e
f
i
n
t
e
c
h
f
u
n
c
t
i
o
n
a
l
-
t
e
s
t
i
n
g
t
r
a
d
i
n
g
-
p
l
a
t
f
o
r
m
q
u
a
l
i
t
y
-
a
s
s
u
r
a
n
c
e
f
i
x
p
r
o
t
o
c
o
l
a
u
t
o
m
a
t
i
o
n
-
f
r
a
m
e
w
o
r
k
s
o
f
t
w
a
r
e
-
t
e
s
t
i
n
g
t
r
a
d
i
n
g
-
s
y
s
t
e
m
s
a
u
t
o
m
a
t
i
o
n
-
t
o
o
l
s
●
U
p
d
a
t
e
d
O
c
t
2
7
,
2
0
2
0
●
J
a
v
a
t
o
m
a
t
o
o
l
/
t
o
m
a
t
o
S
t
a
r
59
C
o
d
e
I
s
s
u
e
s
P
u
l
l
r
e
q
u
e
s
t
s
b
e
h
a
v
i
o
r
a
l
t
e
s
t
i
n
g
t
o
o
l
s
-
k
e
e
p
y
o
u
r
a
p
p
l
i
c
a
t
i
o
n
h
e
a
l
t
h
y
w
i
t
h
🍅
qa
t
o
o
l
s
g
h
e
r
k
i
n
f
u
n
c
t
i
o
n
a
l
-
t
e
s
t
i
n
g
q
a
t
o
o
l
s
i
n
t
e
g
r
a
t
i
o
n
-
t
e
s
t
s
g
o
d
o
g
●
U
p
d
a
t
e
d
O
c
t
2
0
,
2
0
2
0
●
Go
E
x
p
e
d
i
a
D
o
t
C
o
m
/
a
l
e
x
a
-
c
o
n
v
e
r
s
a
t
i
o
n
S
t
a
r
53
C
o
d
e
I
s
s
u
e
s
P
u
l
l
r
e
q
u
e
s
t
s
F
r
a
m
e
w
o
r
k
t
o
e
a
s
i
l
y
t
e
s
t
y
o
u
r
A
l
e
x
a
s
k
i
l
l
s
f
u
n
c
t
i
o
n
a
l
l
y
b
y
c
r
e
a
t
i
n
g
a
c
o
n
v
e
r
s
a
t
i
o
n
w
i
t
h
y
o
u
r
s
k
i
l
l
.
t
e
s
t
i
n
g
a
l
e
x
a
s
k
i
l
l
s
i
n
t
e
g
r
a
t
i
o
n
-
t
e
s
t
i
n
g
c
o
n
v
e
r
s
a
t
i
o
n
f
u
n
c
t
i
o
n
a
l
-
t
e
s
t
i
n
g
a
l
e
x
a
-
s
k
i
l
l
●
U
p
d
a
t
e
d
J
u
l
1
7
,
2
0
1
8
●
J
a
v
a
S
c
r
i
p
t
n
h
n
/
e
a
t
S
t
a
r
41
C
o
d
e
I
s
s
u
e
s
P
u
l
l
r
e
q
u
e
s
t
s
J
s
o
n
b
a
s
e
d
s
c
e
n
a
r
i
o
t
e
s
t
i
n
g
t
o
o
l
(
w
h
i
c
h
c
a
n
h
a
v
e
t
e
s
t
f
o
r
f
u
n
c
t
i
o
n
a
l
a
n
d
n
o
n
-
f
u
n
c
t
i
o
n
a
l
)
t
e
s
t
i
n
g
u
n
i
t
-
t
e
s
t
i
n
g
j
s
o
n
t
e
s
t
t
e
s
t
-
r
u
n
n
e
r
l
o
a
d
-
t
e
s
t
i
n
g
t
e
s
t
-
a
u
t
o
m
a
t
i
o
n
t
e
s
t
-
f
r
a
m
e
w
o
r
k
s
t
r
e
s
s
-
t
e
s
t
i
n
g
f
u
n
c
t
i
o
n
a
l
-
t
e
s
t
i
n
g
t
e
s
t
i
n
g
-
t
o
o
l
s
t
e
s
t
-
d
r
i
v
e
n
-
d
e
v
e
l
o
p
m
e
n
t
s
e
r
v
e
r
-
c
l
i
e
n
t
-
c
o
m
m
u
n
i
c
a
t
i
o
n
t
e
s
t
i
n
g
-
f
r
a
m
e
w
o
r
k
g
a
m
e
-
s
e
r
v
e
r
-
t
e
s
t
i
n
g
g
a
m
e
-
s
e
r
v
e
r
-
t
e
s
t
●
U
p
d
a
t
e
d
A
p
r
2
,
2
0
1
9
●
J
a
v
a
E
g
o
r
a
n
d
/
a
n
d
r
o
i
d
-
e
s
p
r
e
s
s
o
-
d
a
g
g
e
r
-
t
e
s
t
i
n
g
S
t
a
r
41
C
o
d
e
I
s
s
u
e
s
P
u
l
l
r
e
q
u
e
s
t
s
S
a
m
p
l
e
a
p
p
l
i
c
a
t
i
o
n
t
h
a
t
s
h
o
w
s
h
o
w
D
a
g
g
e
r
c
a
n
b
e
u
s
e
d
t
o
s
u
b
s
t
i
t
u
t
e
d
e
p
e
n
d
e
n
c
i
e
s
w
i
t
h
t
e
s
t
d
o
u
b
l
e
s
i
n
E
s
p
r
e
s
s
o
t
e
s
t
s
t
o
h
a
v
e
r
o
b
u
s
t
a
n
d
r
e
l
i
a
b
l
e
f
u
n
c
t
i
o
n
a
l
t
e
s
t
s
.
a
n
d
r
o
i
d
d
a
g
g
e
r
f
u
n
c
t
i
o
n
a
l
-
t
e
s
t
i
n
g
e
s
p
r
e
s
s
o
-
t
e
s
t
s
●
U
p
d
a
t
e
d
F
e
b
7
,
2
0
1
6
●
J
a
v
a
H
L
T
e
c
h
/
m
o
c
k
i
a
v
e
l
l
i
S
t
a
r
35
C
o
d
e
I
s
s
u
e
s
P
u
l
l
r
e
q
u
e
s
t
s
H
T
T
P
r
e
q
u
e
s
t
m
o
c
k
i
n
g
l
i
b
r
a
r
y
f
o
r
P
u
p
p
e
t
e
e
r
a
n
d
P
l
a
y
w
r
i
g
h
t
t
e
s
t
i
n
g
t
y
p
e
s
c
r
i
p
t
f
u
n
c
t
i
o
n
a
l
-
t
e
s
t
i
n
g
m
o
c
k
s
p
u
p
p
e
t
e
e
r
p
l
a
y
w
r
i
g
h
t
●
U
p
d
a
t
e
d
M
a
y
1
1
,
2
0
2
0
●
T
y
p
e
S
c
r
i
p
t
n
e
x
i
a
l
i
t
y
/
n
e
x
i
a
l
-
c
o
r
e
S
t
a
r
34
C
o
d
e
I
s
s
u
e
s
P
u
l
l
r
e
q
u
e
s
t
s
t
e
s
t
a
u
t
o
m
a
t
i
o
n
f
o
r
e
v
e
r
y
o
n
e
-
t
e
s
t
a
u
t
o
m
a
t
i
o
n
p
l
a
t
f
o
r
m
w
i
t
h
s
u
p
p
o
r
t
f
o
r
w
e
b
(
s
e
l
e
n
i
u
m
)
,
d
e
s
k
t
o
p
,
d
a
t
a
b
a
s
e
,
a
p
i
a
n
d
m
u
c
h
m
o
r
e
.
C
o
d
i
n
g
n
o
t
r
e
q
u
i
r
e
d
;
-
)
a
u
t
o
m
a
t
i
o
n
i
n
t
e
g
r
a
t
i
o
n
-
t
e
s
t
i
n
g
s
e
l
e
n
i
u
m
t
e
s
t
-
a
u
t
o
m
a
t
i
o
n
f
u
n
c
t
i
o
n
a
l
-
t
e
s
t
i
n
g
t
e
s
t
-
d
a
t
a
r
e
g
r
e
s
s
i
o
n
-
t
e
s
t
i
n
g
a
p
i
-
t
e
s
t
i
n
g
w
i
n
i
u
m
t
e
s
t
i
n
g
-
f
r
a
m
e
w
o
r
k
t
e
s
t
-
p
l
a
t
f
o
r
m
d
a
t
a
b
a
s
e
-
a
u
t
o
m
a
t
i
o
n
n
e
x
i
a
l
-
a
u
t
o
m
a
t
i
o
n
●
U
p
d
a
t
e
d
O
c
t
3
0
,
2
0
2
0
●
J
a
v
a
S
c
r
i
p
t
h
e
l
e
n
-
d
i
k
a
r
e
v
a
/
a
x
e
-
t
e
s
t
c
a
f
e
S
t
a
r
30
C
o
d
e
I
s
s
u
e
s
P
u
l
l
r
e
q
u
e
s
t
s
T
h
e
h
e
l
p
e
r
f
o
r
u
s
i
n
g
A
x
e
i
n
T
e
s
t
C
a
f
e
t
e
s
t
s
a
c
c
e
s
s
i
b
i
l
i
t
y
t
e
s
t
f
u
n
c
t
i
o
n
a
l
-
t
e
s
t
i
n
g
t
e
s
t
i
n
g
-
t
o
o
l
s
e
2
e
e
n
d
-
t
o
-
e
n
d
-
t
e
s
t
i
n
g
t
e
s
t
c
a
f
e
a
x
e
w
e
b
-
a
c
c
e
s
s
i
b
i
l
i
t
y
●
U
p
d
a
t
e
d
J
u
n
1
1
,
2
0
2
0
●
J
a
v
a
S
c
r
i
p
t
a
d
r
i
a
n
i
f
t
o
d
e
/
F
l
u
e
n
t
A
s
s
e
r
t
i
o
n
s
.
W
e
b
S
t
a
r
28
C
o
d
e
I
s
s
u
e
s
P
u
l
l
r
e
q
u
e
s
t
s
F
l
u
e
n
t
A
s
s
e
r
t
i
o
n
s
f
o
r
.
N
e
t
W
e
b
A
p
i
p
r
o
j
e
c
t
s
c
-
s
h
a
r
p
u
n
i
t
-
t
e
s
t
i
n
g
n
e
t
c
o
r
e
f
u
n
c
t
i
o
n
a
l
-
t
e
s
t
i
n
g
a
s
p
-
n
e
t
-
c
o
r
e
f
l
u
e
n
t
a
s
s
e
r
t
i
o
n
s
t
e
s
t
s
e
r
v
e
r
●
U
p
d
a
t
e
d
S
e
p
1
,
2
0
2
0
●
C
#
a
u
t
o
t
e
s
t
/
a
u
t
o
t
e
s
t
-
c
l
i
e
n
t
-
t
e
s
t
s
S
t
a
r
28
C
o
d
e
I
s
s
u
e
s
P
u
l
l
r
e
q
u
e
s
t
s
A
u
t
o
t
e
s
t
c
l
i
e
n
t
t
e
s
t
s
p
y
t
h
o
n
t
e
s
t
i
n
g
l
i
n
u
x
p
e
r
f
o
r
m
a
n
c
e
f
u
n
c
t
i
o
n
a
l
-
t
e
s
t
i
n
g
●
U
p
d
a
t
e
d
M
a
y
2
,
2
0
1
8
●
C
A
x
w
a
y
/
a
t
s
-
f
r
a
m
e
w
o
r
k
S
t
a
r
26
C
o
d
e
I
s
s
u
e
s
P
u
l
l
r
e
q
u
e
s
t
s
A
x
w
a
y
A
u
t
o
m
a
t
e
d
T
e
s
t
i
n
g
S
y
s
t
e
m
(
A
T
S
)
F
r
a
m
e
w
o
r
k
.
D
e
t
a
i
l
s
a
r
e
i
n
t
h
e
R
E
A
D
M
E
a
t
t
h
e
b
o
t
t
o
m
o
f
t
h
i
s
p
a
g
e
.
j
a
v
a
i
n
t
e
g
r
a
t
i
o
n
-
t
e
s
t
i
n
g
t
e
s
t
-
f
r
a
m
e
w
o
r
k
f
u
n
c
t
i
o
n
a
l
-
t
e
s
t
i
n
g
a
u
t
o
m
a
t
i
o
n
-
f
r
a
m
e
w
o
r
k
a
u
t
o
m
a
t
e
d
-
t
e
s
t
i
n
g
●
U
p
d
a
t
e
d
O
c
t
2
8
,
2
0
2
0
●
J
a
v
a
m
a
b
l
h
q
/
g
i
t
h
u
b
-
r
u
n
-
t
e
s
t
s
-
a
c
t
i
o
n
S
t
a
r
25
C
o
d
e
I
s
s
u
e
s
P
u
l
l
r
e
q
u
e
s
t
s
m
a
b
l
G
i
t
h
u
b
A
c
t
i
o
n
s
i
m
p
l
e
m
e
n
t
a
t
i
o
n
j
a
v
a
s
c
r
i
p
t
t
y
p
e
s
c
r
i
p
t
a
c
t
i
o
n
s
d
e
p
l
o
y
m
e
n
t
s
f
u
n
c
t
i
o
n
a
l
-
t
e
s
t
i
n
g
a
c
t
i
o
n
g
i
t
h
u
b
-
a
c
t
i
o
n
s
g
i
t
h
u
b
-
a
c
t
i
o
n
m
a
b
l
●
U
p
d
a
t
e
d
O
c
t
2
1
,
2
0
2
0
●
T
y
p
e
S
c
r
i
p
t
e
x
a
c
t
p
r
o
/
c
l
e
a
r
t
h
S
t
a
r
16
C
o
d
e
I
s
s
u
e
s
P
u
l
l
r
e
q
u
e
s
t
s
T
e
s
t
a
u
t
o
m
a
t
i
o
n
t
o
o
l
f
o
r
C
l
e
a
r
i
n
g
,
S
e
t
t
l
e
m
e
n
t
a
n
d
B
a
c
k
-
O
f
f
i
c
e
S
y
s
t
e
m
s
t
e
s
t
i
n
g
e
m
u
l
a
t
o
r
a
u
t
o
m
a
t
i
o
n
s
i
m
u
l
a
t
o
r
t
o
o
l
s
t
r
a
d
i
n
g
t
o
o
l
t
e
s
t
-
a
u
t
o
m
a
t
i
o
n
e
x
c
h
a
n
g
e
f
i
n
t
e
c
h
f
u
n
c
t
i
o
n
a
l
-
t
e
s
t
i
n
g
t
r
a
d
i
n
g
-
p
l
a
t
f
o
r
m
q
u
a
l
i
t
y
-
a
s
s
u
r
a
n
c
e
f
i
x
p
r
o
t
o
c
o
l
a
u
t
o
m
a
t
i
o
n
-
f
r
a
m
e
w
o
r
k
s
o
f
t
w
a
r
e
-
t
e
s
t
i
n
g
a
u
t
o
m
a
t
i
o
n
-
t
e
s
t
t
r
a
d
i
n
g
-
s
y
s
t
e
m
s
a
u
t
o
m
a
t
i
o
n
-
t
o
o
l
s
s
w
i
f
t
-
p
r
o
t
o
c
o
l
●
U
p
d
a
t
e
d
O
c
t
1
5
,
2
0
2
0
●
J
a
v
a
a
d
o
b
e
/
a
t
h
e
n
a
S
t
a
r
15
C
o
d
e
I
s
s
u
e
s
P
u
l
l
r
e
q
u
e
s
t
s
🛡
A
P
e
r
f
o
r
m
a
n
c
e
a
n
d
F
u
n
c
t
i
o
n
a
l
T
e
s
t
i
n
g
E
n
g
i
n
e
f
o
r
A
P
I
s
t
e
s
t
i
n
g
a
p
i
a
c
c
e
p
t
a
n
c
e
-
t
e
s
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
-
t
e
s
t
i
n
g
a
p
i
-
t
e
s
t
i
n
g
p
e
r
f
o
r
m
a
n
c
e
-
t
e
s
t
i
n
g
a
p
i
-
t
e
s
t
i
n
g
-
f
r
a
m
e
w
o
r
k
●
U
p
d
a
t
e
d
S
e
p
2
5
,
2
0
2
0
●
J
a
v
a
S
c
r
i
p
t
d
t
m
i
l
a
n
o
/
l
e
x
-
b
o
t
-
t
e
s
t
e
r
S
t
a
r
14
C
o
d
e
I
s
s
u
e
s
P
u
l
l
r
e
q
u
e
s
t
s
A
W
S
L
e
x
B
o
t
T
e
s
t
e
r
p
y
t
h
o
n
t
e
s
t
i
n
g
b
o
t
a
w
s
a
l
e
x
a
a
u
t
o
m
a
t
i
o
n
s
k
i
l
l
f
u
n
c
t
i
o
n
a
l
-
t
e
s
t
i
n
g
t
e
s
t
b
o
t
●
U
p
d
a
t
e
d
M
a
r
8
,
2
0
1
8
●
P
y
t
h
o
n
p
h
p
u
z
e
m
/
l
a
r
a
v
e
l
-
6
-
a
p
i
-
b
o
i
l
e
r
p
l
a
t
e
S
t
a
r
12
C
o
d
e
I
s
s
u
e
s
P
u
l
l
r
e
q
u
e
s
t
s
L
a
r
a
v
e
l
6
A
P
I
b
o
i
l
e
r
p
l
a
t
e
v
u
e
n
u
x
t
f
u
n
c
t
i
o
n
a
l
-
t
e
s
t
i
n
g
r
e
p
o
s
i
t
o
r
y
-
p
a
t
t
e
r
n
l
a
r
a
v
e
l
6
p
h
p
u
z
e
m
●
U
p
d
a
t
e
d
A
p
r
2
6
,
2
0
2
0
●
P
H
P
c
h
u
r
k
i
n
/
t
e
s
t
c
a
f
e
-
s
u
b
l
i
m
e
t
e
x
t
S
t
a
r
12
C
o
d
e
I
s
s
u
e
s
P
u
l
l
r
e
q
u
e
s
t
s
P
l
u
g
i
n
f
o
r
w
o
r
k
i
n
g
w
i
t
h
T
e
s
t
C
a
f
e
t
e
s
t
s
v
i
a
S
u
b
l
i
m
e
T
e
x
t
I
D
E
.
p
l
u
g
i
n
s
u
b
l
i
m
e
-
t
e
x
t
f
u
n
c
t
i
o
n
a
l
-
t
e
s
t
i
n
g
t
e
s
t
c
a
f
e
●
U
p
d
a
t
e
d
J
u
l
2
5
,
2
0
1
7
●
P
y
t
h
o
n
Load more…
I
m
p
r
o
v
e
t
h
i
s
p
a
g
e
A
d
d
a
d
e
s
c
r
i
p
t
i
o
n
,
i
m
a
g
e
,
a
n
d
l
i
n
k
s
t
o
t
h
e
f
u
n
c
t
i
o
n
a
l
-
t
e
s
t
i
n
g
t
o
p
i
c
p
a
g
e
s
o
t
h
a
t
d
e
v
e
l
o
p
e
r
s
c
a
n
m
o
r
e
e
a
s
i
l
y
l
e
a
r
n
a
b
o
u
t
i
t
.
C
u
r
a
t
e
t
h
i
s
t
o
p
i
c
A
d
d
t
h
i
s
t
o
p
i
c
t
o
y
o
u
r
r
e
p
o
T
o
a
s
s
o
c
i
a
t
e
y
o
u
r
r
e
p
o
s
i
t
o
r
y
w
i
t
h
t
h
e
f
u
n
c
t
i
o
n
a
l
-
t
e
s
t
i
n
g
t
o
p
i
c
,
v
i
s
i
t
y
o
u
r
r
e
p
o
'
s
l
a
n
d
i
n
g
p
a
g
e
a
n
d
s
e
l
e
c
t
"
m
a
n
a
g
e
t
o
p
i
c
s
.
"
L
e
a
r
n
m
o
r
e
P
r
o
d
u
c
t
●
F
e
a
t
u
r
e
s
●
S
e
c
u
r
i
t
y
●
T
e
a
m
●
E
n
t
e
r
p
r
i
s
e
●
C
u
s
t
o
m
e
r
s
t
o
r
i
e
s
●
T
h
e
R
e
a
d
M
E
P
r
o
j
e
c
t
●
P
r
i
c
i
n
g
●
R
e
s
o
u
r
c
e
s
●
R
o
a
d
m
a
p
P
l
a
t
f
o
r
m
●
D
e
v
e
l
o
p
e
r
A
P
I
●
P
a
r
t
n
e
r
s
●
A
t
o
m
●
E
l
e
c
t
r
o
n
●
G
i
t
H
u
b
D
e
s
k
t
o
p
S
u
p
p
o
r
t
●
H
e
l
p
●
C
o
m
m
u
n
i
t
y
F
o
r
u
m
●
P
r
o
f
e
s
s
i
o
n
a
l
S
e
r
v
i
c
e
s
●
L
e
a
r
n
i
n
g
L
a
b
●
C
e
r
t
i
f
i
c
a
t
i
o
n
s
●
S
t
a
t
u
s
●
C
o
n
t
a
c
t
G
i
t
H
u
b
C
o
m
p
a
n
y
●
A
b
o
u
t
●
B
l
o
g
●
C
a
r
e
e
r
s
●
P
r
e
s
s
●
S
o
c
i
a
l
I
m
p
a
c
t
●
S
h
o
p
●
T
w
i
t
t
e
r
●
F
a
c
e
b
o
o
k
●
Y
o
u
T
u
b
e
●
L
i
n
k
e
d
I
n
●
G
i
t
H
u
b
●
©
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
●
C
o
o
k
i
e
P
r
e
f
e
r
e
n
c
e
s
●
S
i
t
e
M
a
p
●
W
h
a
t
i
s
G
i
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
.
W
e
u
s
e
o
p
t
i
o
n
a
l
t
h
i
r
d
-
p
a
r
t
y
a
n
a
l
y
t
i
c
s
c
o
o
k
i
e
s
t
o
u
n
d
e
r
s
t
a
n
d
h
o
w
y
o
u
u
s
e
G
i
t
H
u
b
.
c
o
m
s
o
w
e
c
a
n
b
u
i
l
d
b
e
t
t
e
r
p
r
o
d
u
c
t
s
.
L
e
a
r
n
m
o
r
e
.
A
c
c
e
p
t
R
e
j
e
c
t
W
e
u
s
e
o
p
t
i
o
n
a
l
t
h
i
r
d
-
p
a
r
t
y
a
n
a
l
y
t
i
c
s
c
o
o
k
i
e
s
t
o
u
n
d
e
r
s
t
a
n
d
h
o
w
y
o
u
u
s
e
G
i
t
H
u
b
.
c
o
m
s
o
w
e
c
a
n
b
u
i
l
d
b
e
t
t
e
r
p
r
o
d
u
c
t
s
.
Y
o
u
c
a
n
a
l
w
a
y
s
u
p
d
a
t
e
y
o
u
r
s
e
l
e
c
t
i
o
n
b
y
c
l
i
c
k
i
n
g
C
o
o
k
i
e
P
r
e
f
e
r
e
n
c
e
s
a
t
t
h
e
b
o
t
t
o
m
o
f
t
h
e
p
a
g
e
.
F
o
r
m
o
r
e
i
n
f
o
r
m
a
t
i
o
n
,
s
e
e
o
u
r
P
r
i
v
a
c
y
S
t
a
t
e
m
e
n
t
.
E
s
s
e
n
t
i
a
l
c
o
o
k
i
e
s
W
e
u
s
e
e
s
s
e
n
t
i
a
l
c
o
o
k
i
e
s
t
o
p
e
r
f
o
r
m
e
s
s
e
n
t
i
a
l
w
e
b
s
i
t
e
f
u
n
c
t
i
o
n
s
,
e
.
g
.
t
h
e
y
'
r
e
u
s
e
d
t
o
l
o
g
y
o
u
i
n
.
L
e
a
r
n
m
o
r
e
A
l
w
a
y
s
a
c
t
i
v
e
A
n
a
l
y
t
i
c
s
c
o
o
k
i
e
s
W
e
u
s
e
a
n
a
l
y
t
i
c
s
c
o
o
k
i
e
s
t
o
u
n
d
e
r
s
t
a
n
d
h
o
w
y
o
u
u
s
e
o
u
r
w
e
b
s
i
t
e
s
s
o
w
e
c
a
n
m
a
k
e
t
h
e
m
b
e
t
t
e
r
,
e
.
g
.
t
h
e
y
'
r
e
u
s
e
d
t
o
g
a
t
h
e
r
i
n
f
o
r
m
a
t
i
o
n
a
b
o
u
t
t
h
e
p
a
g
e
s
y
o
u
v
i
s
i
t
a
n
d
h
o
w
m
a
n
y
c
l
i
c
k
s
y
o
u
n
e
e
d
t
o
a
c
c
o
m
p
l
i
s
h
a
t
a
s
k
.
L
e
a
r
n
m
o
r
e
A
c
c
e
p
t
R
e
j
e
c
t
S
a
v
e
p
r
e
f
e
r
e
n
c
e
s