论坛
BBS
空间测绘
发表
发布文章
提问答疑
搜索
您还未登录
登录后即可体验更多功能
立即登录
我的收藏
提问答疑
我要投稿
逆向
[6348] 2019-12-12_JDK反序列化Gadgets-7u21
文档创建者:
s7ckTeam
浏览次数:
9
最后更新:
2025-01-17
逆向
9 人阅读
|
0 人回复
s7ckTeam
s7ckTeam
当前离线
积分
-56
6万
主题
-6万
回帖
-56
积分
管理员
积分
-56
发消息
2019-12-12_JDK反序列化Gadgets-7u21
J
D
K
反
序
列
化
G
a
d
g
e
t
s
-
7
u
2
1
E
安
全
2
0
1
9
-
1
2
-
1
2
以
下
文
章
来
源
于
雷
神
众
测
,
作
者
l
a
l
a
N
o
.
1
N
o
.
1
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
声
明
由
于
传
播
、
利
用
此
文
所
提
供
的
信
息
而
造
成
的
任
何
直
接
或
者
间
接
的
后
果
及
损
失
,
均
由
使
用
者
本
人
负
责
,
雷
神
众
测
以
及
文
章
作
者
不
为
此
承
担
任
何
责
任
。
雷
神
众
测
拥
有
对
此
文
章
的
修
改
和
解
释
权
。
如
欲
转
载
或
传
播
此
文
章
,
必
须
保
证
此
文
章
的
完
整
性
,
包
括
版
权
声
明
等
全
部
内
容
。
未
经
雷
神
众
测
允
许
,
不
得
任
意
修
改
或
者
增
减
此
文
章
内
容
,
不
得
以
任
何
方
式
将
其
用
于
商
业
目
的
。
N
o
.
2
N
o
.
2
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
前
言
从
f
a
s
t
j
s
o
n
1
.
2
4
版
本
的
反
序
列
化
利
用
方
式
知
道
有
使
用
j
d
k
7
u
2
1
的
版
本
利
用
链
,
y
s
o
s
e
r
i
a
l
利
用
工
具
中
也
有
7
u
2
1
利
用
链
。
现
在
都
是
7
u
8
0
版
本
了
,
这
个
漏
洞
真
正
直
接
利
用
,
估
计
已
经
很
难
找
到
了
。
但
是
这
个
利
用
链
的
构
造
有
很
多
之
前
没
接
触
过
的
j
a
v
a
特
性
,
就
此
好
好
学
习
一
下
,
也
算
是
f
a
s
t
j
s
o
n
的
前
置
知
识
吧
。
N
o
.
3
N
o
.
3
P
O
C
P
O
C
P
O
C
P
O
C
P
O
C
P
O
C
P
O
C
P
O
C
P
O
C
P
O
C
P
O
C
P
O
C
P
O
C
P
O
C
P
O
C
P
O
C
P
O
C
P
O
C
P
O
C
P
O
C
P
O
C
P
O
C
P
O
C
P
O
C
P
O
C
P
O
C
P
O
C
P
O
C
P
O
C
P
O
C
P
O
C
P
O
C
P
O
C
P
O
C
先
去
O
r
a
c
l
e
官
网
下
载
漏
洞
j
d
k
版
本
7
u
2
1
,
漏
洞
影
响
7
u
2
5
之
前
的
版
本
,
整
条
链
p
o
c
貌
似
只
适
用
于
7
u
2
1
以
前
。
之
所
以
说
这
是
J
D
K
反
序
列
化
链
,
是
因
为
这
个
链
中
所
有
利
用
类
都
是
j
d
k
自
带
的
类
,
其
中
p
a
y
l
o
a
d
最
终
关
键
类
是
c
o
m
.
s
u
n
.
o
r
g
.
a
p
a
c
h
e
.
x
a
l
a
n
.
i
n
t
e
r
n
a
l
.
x
s
l
t
c
.
t
r
a
x
.
T
e
m
p
l
a
t
e
s
I
m
p
l
类
。
我
们
从
y
s
o
s
e
r
i
a
l
源
码
中
抠
出
7
u
2
1
的
利
用
代
码
来
分
析
,
具
体
代
码
由
于
比
较
长
,
不
全
部
在
此
贴
出
,
只
截
取
需
要
的
部
分
,
所
有
代
码
已
上
传
g
i
t
h
u
b
。
j
d
k
7
u
2
1
.
j
a
v
a
是
一
个
包
含
基
础
核
心
原
理
P
O
C
。
(
G
a
d
g
e
t
s
类
参
考
g
i
t
h
u
b
,
或
者
可
以
去
y
s
o
s
e
r
i
a
l
中
取
)
p
u
b
l
i
c
s
t
a
t
i
c
v
o
i
d
m
a
i
n
(
S
t
r
i
n
g
[
]
a
r
g
s
)
t
h
r
o
w
s
E
x
c
e
p
t
i
o
n
{
T
e
m
p
l
a
t
e
s
I
m
p
l
c
a
l
c
=
(
T
e
m
p
l
a
t
e
s
I
m
p
l
)
G
a
d
g
e
t
s
.
c
r
e
a
t
e
T
e
m
p
l
a
t
e
s
I
m
p
l
(
"
c
a
l
c
"
)
;
/
/
生
成
恶
意
的
c
a
l
c
c
a
l
c
.
g
e
t
O
u
t
p
u
t
P
r
o
p
e
r
t
i
e
s
(
)
;
/
/
调
用
g
e
t
O
u
t
p
u
t
P
r
o
p
e
r
t
i
e
s
就
可
以
执
行
c
a
l
c
}
请
注
意
T
e
m
p
l
a
t
e
s
I
m
p
l
类
的
g
e
t
O
u
t
p
u
t
P
r
o
p
e
r
t
i
e
s
函
数
是
一
个
以
g
e
t
开
头
的
函
数
,
这
是
这
个
利
用
链
在
f
a
s
t
j
s
o
n
组
件
利
用
的
关
键
。
跟
踪
g
e
t
O
u
t
p
u
t
P
r
o
p
e
r
t
i
e
s
方
法
,
来
确
认
恶
意
T
e
m
p
l
a
t
e
s
I
m
p
l
类
c
a
l
c
需
要
的
条
件
,
先
看
调
用
栈
:
雷
神
众
测
雷
神
众
测
.
雷
神
众
测
,
专
注
于
渗
透
测
试
技
术
及
全
球
最
新
网
络
攻
击
技
术
的
分
析
。
n
e
w
I
n
s
t
a
n
c
e
从
调
用
栈
中
,
可
见
最
后
是
o
b
j
.
n
e
w
I
n
s
t
a
n
c
e
(
o
b
j
是
虚
指
)
触
发
p
o
c
执
行
恶
意
代
码
,
调
用
栈
再
往
下
之
后
就
是
j
a
v
a
c
l
a
s
s
类
的
n
e
w
I
n
s
a
t
a
n
c
e
内
部
实
现
了
,
不
细
纠
。
n
e
w
i
n
s
t
a
n
c
e
实
例
化
会
默
认
触
发
执
行
s
t
a
t
i
c
方
法
,
构
造
方
法
代
码
,
如
下
:
所
以
我
们
的
p
a
y
l
o
a
d
需
要
放
在
最
后
执
行
的
恶
意
类
的
s
t
a
t
i
c
或
构
造
方
法
中
。
知
道
这
点
后
,
我
们
从
头
开
始
慢
慢
寻
找
其
他
需
要
条
件
。
跟
入
T
e
m
p
l
a
t
e
s
I
m
p
l
类
的
g
e
t
O
u
t
p
u
t
P
r
o
p
e
r
t
i
e
s
方
法
:
p
u
b
l
i
c
s
y
n
c
h
r
o
n
i
z
e
d
P
r
o
p
e
r
t
i
e
s
g
e
t
O
u
t
p
u
t
P
r
o
p
e
r
t
i
e
s
(
)
{
t
r
y
{
r
e
t
u
r
n
n
e
w
T
r
a
n
s
f
o
r
m
e
r
(
)
.
g
e
t
O
u
t
p
u
t
P
r
o
p
e
r
t
i
e
s
(
)
;
/
/
我
们
进
入
n
e
w
T
r
a
n
s
f
o
r
m
e
r
方
法
}
c
a
t
c
h
(
T
r
a
n
s
f
o
r
m
e
r
C
o
n
f
i
g
u
r
a
t
i
o
n
E
x
c
e
p
t
i
o
n
e
)
{
r
e
t
u
r
n
n
u
l
l
;
}
}
c
o
m
.
s
u
n
.
o
r
g
.
a
p
a
c
h
e
.
x
a
l
a
n
.
i
n
t
e
r
n
a
l
.
x
s
l
t
c
.
t
r
a
x
.
T
e
m
p
l
a
t
e
s
I
m
p
l
#
n
e
w
T
r
a
n
s
f
o
r
m
e
r
方
法
p
u
b
l
i
c
s
y
n
c
h
r
o
n
i
z
e
d
T
r
a
n
s
f
o
r
m
e
r
n
e
w
T
r
a
n
s
f
o
r
m
e
r
(
)
t
h
r
o
w
s
T
r
a
n
s
f
o
r
m
e
r
C
o
n
f
i
g
u
r
a
t
i
o
n
E
x
c
e
p
t
i
o
n
{
T
r
a
n
s
f
o
r
m
e
r
I
m
p
l
t
r
a
n
s
f
o
r
m
e
r
;
t
r
a
n
s
f
o
r
m
e
r
=
n
e
w
T
r
a
n
s
f
o
r
m
e
r
I
m
p
l
(
g
e
t
T
r
a
n
s
l
e
t
I
n
s
t
a
n
c
e
(
)
,
_
o
u
t
p
u
t
P
r
o
p
e
r
t
i
e
s
,
_
i
n
d
e
n
t
N
u
m
b
e
r
,
_
t
f
a
c
t
o
r
y
)
;
/
/
此
处
没
有
啥
限
制
条
件
,
进
入
g
e
t
T
r
a
n
s
l
e
t
I
n
s
t
a
n
c
e
(
)
i
f
(
_
u
r
i
R
e
s
o
l
v
e
r
!
=
n
u
l
l
)
{
t
r
a
n
s
f
o
r
m
e
r
.
s
e
t
U
R
I
R
e
s
o
l
v
e
r
(
_
u
r
i
R
e
s
o
l
v
e
r
)
;
}
i
f
(
_
t
f
a
c
t
o
r
y
.
g
e
t
F
e
a
t
u
r
e
(
X
M
L
C
o
n
s
t
a
n
t
s
.
F
E
A
T
U
R
E
_
S
E
C
U
R
E
_
P
R
O
C
E
S
S
I
N
G
)
)
{
t
r
a
n
s
f
o
r
m
e
r
.
s
e
t
S
e
c
u
r
e
P
r
o
c
e
s
s
i
n
g
(
t
r
u
e
)
;
}
r
e
t
u
r
n
t
r
a
n
s
f
o
r
m
e
r
;
}
c
o
m
.
s
u
n
.
o
r
g
.
a
p
a
c
h
e
.
x
a
l
a
n
.
i
n
t
e
r
n
a
l
.
x
s
l
t
c
.
t
r
a
x
.
T
e
m
p
l
a
t
e
s
I
m
p
l
#
g
e
t
T
r
a
n
s
l
e
t
I
n
s
t
a
n
c
e
方
法
在
漏
洞
代
码
执
行
A
b
s
t
r
a
c
t
T
r
a
n
s
l
e
t
t
r
a
n
s
l
e
t
=
(
A
b
s
t
r
a
c
t
T
r
a
n
s
l
e
t
)
_
c
l
a
s
s
[
_
t
r
a
n
s
l
e
t
I
n
d
e
x
]
.
n
e
w
I
n
s
t
a
n
c
e
(
)
;
前
,
先
经
过
c
o
m
.
s
u
n
.
o
r
g
.
a
p
a
c
h
e
.
x
a
l
a
n
.
i
n
t
e
r
n
a
l
.
x
s
l
t
c
.
t
r
a
x
.
T
e
m
p
l
a
t
e
s
I
m
p
l
#
d
e
f
i
n
e
T
r
a
n
s
l
e
t
C
l
a
s
s
e
s
方
法
p
r
i
v
a
t
e
T
r
a
n
s
l
e
t
g
e
t
T
r
a
n
s
l
e
t
I
n
s
t
a
n
c
e
(
)
t
h
r
o
w
s
T
r
a
n
s
f
o
r
m
e
r
C
o
n
f
i
g
u
r
a
t
i
o
n
E
x
c
e
p
t
i
o
n
{
t
r
y
{
/
/
限
制
条
件
1
:
T
e
m
p
l
a
t
e
s
I
m
p
l
类
中
的
_
n
a
m
e
变
量
!
=
n
u
l
l
i
f
(
_
n
a
m
e
=
=
n
u
l
l
)
r
e
t
u
r
n
n
u
l
l
;
/
/
限
制
条
件
2
:
T
e
m
p
l
a
t
e
s
I
m
p
l
类
中
的
_
c
l
a
s
s
变
量
=
=
n
u
l
l
i
f
(
_
c
l
a
s
s
=
=
n
u
l
l
)
d
e
f
i
n
e
T
r
a
n
s
l
e
t
C
l
a
s
s
e
s
(
)
;
/
/
进
入
此
处
,
查
看
其
他
限
制
条
件
/
/
漏
洞
触
发
代
码
就
是
下
面
这
一
行
,
_
t
r
a
n
s
l
e
t
I
n
d
e
x
是
在
d
e
f
i
n
e
T
r
a
n
s
l
e
t
C
l
a
s
s
e
s
(
)
中
赋
值
的
,
其
实
就
是
选
取
了
一
个
特
定
条
件
的
c
l
a
s
s
获
取
它
的
实
例
。
A
b
s
t
r
a
c
t
T
r
a
n
s
l
e
t
t
r
a
n
s
l
e
t
=
(
A
b
s
t
r
a
c
t
T
r
a
n
s
l
e
t
)
_
c
l
a
s
s
[
_
t
r
a
n
s
l
e
t
I
n
d
e
x
]
.
n
e
w
I
n
s
t
a
n
c
e
(
)
;
.
.
.
/
/
这
里
之
后
的
代
码
不
重
要
,
省
略
r
e
t
u
r
n
t
r
a
n
s
l
e
t
;
}
c
a
t
c
h
(
I
n
s
t
a
n
t
i
a
t
i
o
n
E
x
c
e
p
t
i
o
n
e
)
{
E
r
r
o
r
M
s
g
e
r
r
=
n
e
w
E
r
r
o
r
M
s
g
(
E
r
r
o
r
M
s
g
.
T
R
A
N
S
L
E
T
_
O
B
J
E
C
T
_
E
R
R
,
_
n
a
m
e
)
;
t
h
r
o
w
n
e
w
T
r
a
n
s
f
o
r
m
e
r
C
o
n
f
i
g
u
r
a
t
i
o
n
E
x
c
e
p
t
i
o
n
(
e
r
r
.
t
o
S
t
r
i
n
g
(
)
)
;
}
c
a
t
c
h
(
I
l
l
e
g
a
l
A
c
c
e
s
s
E
x
c
e
p
t
i
o
n
e
)
{
E
r
r
o
r
M
s
g
e
r
r
=
n
e
w
E
r
r
o
r
M
s
g
(
E
r
r
o
r
M
s
g
.
T
R
A
N
S
L
E
T
_
O
B
J
E
C
T
_
E
R
R
,
_
n
a
m
e
)
;
t
h
r
o
w
n
e
w
T
r
a
n
s
f
o
r
m
e
r
C
o
n
f
i
g
u
r
a
t
i
o
n
E
x
c
e
p
t
i
o
n
(
e
r
r
.
t
o
S
t
r
i
n
g
(
)
)
;
}
}
p
r
i
v
a
t
e
v
o
i
d
d
e
f
i
n
e
T
r
a
n
s
l
e
t
C
l
a
s
s
e
s
(
)
t
h
r
o
w
s
T
r
a
n
s
f
o
r
m
e
r
C
o
n
f
i
g
u
r
a
t
i
o
n
E
x
c
e
p
t
i
o
n
{
/
/
限
制
条
件
3
:
T
e
m
p
l
a
t
e
s
I
m
p
l
类
中
的
_
b
y
t
e
c
o
d
e
s
变
量
!
=
n
u
l
l
i
f
(
_
b
y
t
e
c
o
d
e
s
=
=
n
u
l
l
)
{
E
r
r
o
r
M
s
g
e
r
r
=
n
e
w
E
r
r
o
r
M
s
g
(
E
r
r
o
r
M
s
g
.
N
O
_
T
R
A
N
S
L
E
T
_
C
L
A
S
S
_
E
R
R
)
;
t
h
r
o
w
n
e
w
T
r
a
n
s
f
o
r
m
e
r
C
o
n
f
i
g
u
r
a
t
i
o
n
E
x
c
e
p
t
i
o
n
(
e
r
r
.
t
o
S
t
r
i
n
g
(
)
)
;
}
/
/
引
入
加
载
器
T
r
a
n
s
l
e
t
C
l
a
s
s
L
o
a
d
e
r
l
o
a
d
e
r
=
(
T
r
a
n
s
l
e
t
C
l
a
s
s
L
o
a
d
e
r
)
A
c
c
e
s
s
C
o
n
t
r
o
l
l
e
r
.
d
o
P
r
i
v
i
l
e
g
e
d
(
n
e
w
P
r
i
v
i
l
e
g
e
d
A
c
t
i
o
n
(
)
{
p
u
b
l
i
c
O
b
j
e
c
t
r
u
n
(
)
{
r
e
t
u
r
n
n
e
w
/
/
限
制
条
件
4
:
T
e
m
p
l
a
t
e
s
I
m
p
l
类
中
的
_
t
f
a
c
t
o
r
y
变
量
需
要
有
一
个
g
e
t
E
x
t
e
r
n
a
l
E
x
t
e
n
s
i
o
n
s
M
a
p
方
法
/
/
即
需
要
是
一
个
T
r
a
n
s
f
o
r
m
e
r
F
a
c
t
o
r
y
I
m
p
l
类
T
r
a
n
s
l
e
t
C
l
a
s
s
L
o
a
d
e
r
(
O
b
j
e
c
t
F
a
c
t
o
r
y
.
f
i
n
d
C
l
a
s
s
L
o
a
d
e
r
(
)
,
_
t
f
a
c
t
o
r
y
.
g
e
t
E
x
t
e
r
n
a
l
E
x
t
e
n
s
i
o
n
s
M
a
p
(
)
)
;
_
t
f
a
c
t
o
r
y
与
与
j
d
k
版
本
版
本
其
中
的
限
制
条
件
4
_
t
f
a
c
t
o
r
y
这
个
参
数
是
有
说
法
的
,
在
其
他
人
博
客
中
有
存
在
对
于
_
t
f
a
c
t
o
r
y
的
参
数
的
说
明
:
因
为
代
码
中
存
在
_
t
f
a
c
t
o
r
y
.
g
e
t
E
x
t
e
r
n
a
l
E
x
t
e
n
s
i
o
n
s
M
a
p
(
)
所
以
需
要
_
t
f
a
c
t
o
r
y
进
行
赋
值
不
能
为
n
u
l
l
。
但
其
实
这
跟
j
d
k
版
本
是
有
关
的
,
1
.
7
下
不
同
的
j
d
k
版
本
这
段
代
码
是
不
同
的
。
1
.
7
u
8
0
版
本
的
c
o
m
.
s
u
n
.
o
r
g
.
a
p
a
c
h
e
.
x
a
l
a
n
.
i
n
t
e
r
n
a
l
.
x
s
l
t
c
.
t
r
a
x
.
T
e
m
p
l
a
t
e
s
I
m
p
l
#
d
e
f
i
n
e
T
r
a
n
s
l
e
t
C
l
a
s
s
e
s
中
就
是
存
在
_
t
f
a
c
t
o
r
y
.
g
e
t
E
x
t
e
r
n
a
l
E
x
t
e
n
s
i
o
n
s
M
a
p
(
)
这
句
代
码
的
。
在
1
.
7
u
8
0
中
,
注
释
G
a
d
g
e
t
s
类
中
添
加
_
t
f
a
c
t
o
r
y
这
个
字
段
的
代
码
后
(
之
后
我
们
将
详
细
分
析
G
a
d
g
e
t
s
类
)
,
_
t
f
a
c
t
o
r
y
=
n
u
l
l
就
会
发
生
n
u
l
l
指
针
报
错
。
细
心
的
同
学
可
以
注
意
到
上
面
j
d
k
1
.
7
u
8
0
两
个
弹
框
成
功
不
成
功
的
下
方
都
会
n
u
l
l
指
针
报
错
。
但
是
前
者
是
在
执
行
恶
意
代
码
A
b
s
t
r
a
c
t
T
r
a
n
s
l
e
t
t
r
a
n
s
l
e
t
=
(
A
b
s
t
r
a
c
t
T
r
a
n
s
l
e
t
)
_
c
l
a
s
s
[
_
t
r
a
n
s
l
e
t
I
n
d
e
x
]
.
n
e
w
I
n
s
t
a
n
c
e
(
)
;
后
的
t
r
a
n
s
l
e
t
.
p
o
s
t
I
n
i
t
i
a
l
i
z
a
t
i
o
n
(
)
;
处
报
错
。
而
后
者
是
在
恶
意
代
码
执
行
之
前
的
d
e
f
i
n
e
T
r
a
n
s
l
e
t
C
l
a
s
s
e
s
函
数
报
错
。
即
没
有
成
功
执
行
p
a
y
l
o
a
d
在
同
样
注
释
_
t
f
a
c
t
o
r
y
这
个
字
段
的
代
码
的
情
况
下
,
使
用
j
d
k
1
.
7
u
2
1
的
环
境
,
却
可
以
成
功
执
行
,
因
为
j
d
k
1
.
7
u
2
1
的
情
况
下
并
没
有
_
t
f
a
c
t
o
r
y
.
g
e
t
E
x
t
e
r
n
a
l
E
x
t
e
n
s
i
o
n
s
M
a
p
(
)
这
句
代
码
。
但
是
1
.
7
u
2
1
也
可
以
兼
容
给
_
t
f
a
c
t
o
r
y
赋
值
的
情
况
,
所
以
还
是
给
_
t
f
a
c
t
o
r
y
赋
值
比
较
好
,
可
以
兼
容
不
同
的
版
本
。
T
e
m
p
l
a
t
e
s
I
m
p
l
恶
意
类
的
限
制
条
件
恶
意
类
的
限
制
条
件
至
此
总
结
我
们
构
筑
一
个
恶
意
的
T
e
m
p
l
a
t
e
s
I
m
p
l
类
,
在
调
用
这
个
恶
意
类
的
g
e
t
O
u
t
p
u
t
P
r
o
p
e
r
t
i
e
s
方
法
时
,
需
要
满
足
的
限
制
条
件
。
即
,
构
筑
恶
意
T
e
m
p
l
a
t
e
s
I
m
p
l
类
的
需
要
条
件
。
1
.
T
e
m
p
l
a
t
e
s
I
m
p
l
类
的
_
n
a
m
e
变
量
!
=
n
u
l
l
2
.
T
e
m
p
l
a
t
e
s
I
m
p
l
类
的
_
c
l
a
s
s
变
量
=
=
n
u
l
l
3
.
T
e
m
p
l
a
t
e
s
I
m
p
l
类
的
_
b
y
t
e
c
o
d
e
s
变
量
!
=
n
u
l
l
4
.
T
e
m
p
l
a
t
e
s
I
m
p
l
类
的
_
t
f
a
c
t
o
r
y
需
要
是
一
个
拥
有
g
e
t
E
x
t
e
r
n
a
l
E
x
t
e
n
s
i
o
n
s
M
a
p
(
)
方
法
的
类
,
使
用
j
d
k
自
带
的
T
r
a
n
s
f
o
r
m
e
r
F
a
c
t
o
r
y
I
m
p
l
类
5
.
T
e
m
p
l
a
t
e
s
I
m
p
l
类
的
_
b
y
t
e
c
o
d
e
s
是
我
们
代
码
执
行
的
类
的
字
节
码
。
_
b
y
t
e
c
o
d
e
s
中
的
类
必
须
是
c
o
m
.
s
u
n
.
o
r
g
.
a
p
a
c
h
e
.
x
a
l
a
n
.
i
n
t
e
r
n
a
l
.
x
s
l
t
c
.
r
u
n
t
i
m
e
.
A
b
s
t
r
a
c
t
T
r
a
n
s
l
e
t
的
子
类
6
.
我
们
需
要
执
行
的
恶
意
代
码
写
在
_
b
y
t
e
c
o
d
e
s
变
量
对
应
的
类
的
静
态
方
法
或
构
造
方
法
中
。
N
o
.
4
N
o
.
4
构
筑
构
筑
P
O
C
构
筑
构
筑
P
O
C
构
筑
构
筑
P
O
C
构
筑
构
筑
P
O
C
构
筑
构
筑
P
O
C
构
筑
构
筑
P
O
C
构
筑
构
筑
P
O
C
构
筑
构
筑
P
O
C
构
筑
构
筑
P
O
C
构
筑
构
筑
P
O
C
构
筑
构
筑
P
O
C
构
筑
构
筑
P
O
C
构
筑
构
筑
P
O
C
构
筑
构
筑
P
O
C
构
筑
构
筑
P
O
C
构
筑
构
筑
P
O
C
构
筑
构
筑
P
O
C
构
筑
构
筑
P
O
C
构
筑
构
筑
P
O
C
构
筑
构
筑
P
O
C
构
筑
构
筑
P
O
C
构
筑
构
筑
P
O
C
构
筑
构
筑
P
O
C
构
筑
构
筑
P
O
C
构
筑
构
筑
P
O
C
构
筑
构
筑
P
O
C
构
筑
构
筑
P
O
C
构
筑
构
筑
P
O
C
构
筑
构
筑
P
O
C
构
筑
构
筑
P
O
C
构
筑
构
筑
P
O
C
构
筑
构
筑
P
O
C
构
筑
构
筑
P
O
C
构
筑
构
筑
P
O
C
回
首
漏
洞
原
理
的
P
O
C
p
u
b
l
i
c
s
t
a
t
i
c
v
o
i
d
m
a
i
n
(
S
t
r
i
n
g
[
]
a
r
g
s
)
t
h
r
o
w
s
E
x
c
e
p
t
i
o
n
{
T
e
m
p
l
a
t
e
s
I
m
p
l
c
a
l
c
=
(
T
e
m
p
l
a
t
e
s
I
m
p
l
)
G
a
d
g
e
t
s
.
c
r
e
a
t
e
T
e
m
p
l
a
t
e
s
I
m
p
l
(
"
c
a
l
c
"
)
;
/
/
生
成
恶
意
的
c
a
l
c
c
a
l
c
.
g
e
t
O
u
t
p
u
t
P
r
o
p
e
r
t
i
e
s
(
)
;
/
/
调
用
g
e
t
O
u
t
p
u
t
P
r
o
p
e
r
t
i
e
s
就
可
以
执
行
c
a
l
c
}
在
分
析
完
第
二
句
触
发
漏
洞
的
语
句
后
。
回
来
看
第
一
句
构
筑
。
由
于
需
要
动
态
对
于
类
结
构
进
行
操
作
,
有
使
用
到
J
a
v
a
s
s
i
s
t
包
G
a
d
g
e
t
s
是
y
s
o
s
e
r
i
a
l
自
主
构
建
的
一
个
利
用
类
,
看
其
中
的
c
r
e
a
t
e
T
e
m
p
l
a
t
e
s
I
m
p
l
方
法
:
瞅
一
眼
S
t
u
b
T
r
a
n
s
l
e
t
P
a
y
l
o
a
d
类
的
继
承
。
/
/
很
优
秀
的
按
照
要
求
继
承
了
A
b
s
t
r
a
c
t
T
r
a
n
s
l
e
t
类
p
u
b
l
i
c
s
t
a
t
i
c
c
l
a
s
s
S
t
u
b
T
r
a
n
s
l
e
t
P
a
y
l
o
a
d
e
x
t
e
n
d
s
A
b
s
t
r
a
c
t
T
r
a
n
s
l
e
t
i
m
p
l
e
m
e
n
t
s
S
e
r
i
a
l
i
z
a
b
l
e
{
p
r
i
v
a
t
e
s
t
a
t
i
c
f
i
n
a
l
l
o
n
g
s
e
r
i
a
l
V
e
r
s
i
o
n
U
I
D
=
-
5
9
7
1
6
1
0
4
3
1
5
5
9
7
0
0
6
7
4
L
;
/
/
以
下
看
似
是
多
余
的
,
实
际
上
是
继
承
A
b
s
t
r
a
c
t
T
r
a
n
s
l
e
t
的
必
要
,
不
然
会
报
错
。
/
/
t
r
a
n
s
f
o
r
m
(
D
O
M
d
o
c
u
m
e
n
t
,
S
e
r
i
a
l
i
z
a
t
i
o
n
H
a
n
d
l
e
r
[
]
h
a
n
d
l
e
r
s
)
需
要
实
现
A
b
s
t
r
a
c
t
T
r
a
n
s
l
e
t
的
一
个
虚
拟
类
p
u
b
l
i
c
v
o
i
d
t
r
a
n
s
f
o
r
m
(
D
O
M
d
o
c
u
m
e
n
t
,
S
e
r
i
a
l
i
z
a
t
i
o
n
H
a
n
d
l
e
r
[
]
h
a
n
d
l
e
r
s
)
t
h
r
o
w
s
T
r
a
n
s
l
e
t
E
x
c
e
p
t
i
o
n
{
}
/
/
下
面
这
个
函
数
需
要
实
现
A
b
s
t
r
a
c
t
T
r
a
n
s
l
e
t
类
对
应
的
T
r
a
n
s
l
e
t
接
口
的
一
个
接
口
@
O
v
e
r
r
i
d
e
p
u
b
l
i
c
v
o
i
d
t
r
a
n
s
f
o
r
m
(
D
O
M
d
o
c
u
m
e
n
t
,
D
T
M
A
x
i
s
I
t
e
r
a
t
o
r
i
t
e
r
a
t
o
r
,
S
e
r
i
a
l
i
z
a
t
i
o
n
H
a
n
d
l
e
r
h
a
n
d
l
e
r
)
t
h
r
o
w
s
T
r
a
n
s
l
e
t
E
x
c
e
p
t
i
o
n
{
}
}
再
瞅
一
眼
往
t
e
m
p
l
a
t
e
s
类
的
私
有
字
段
_
b
y
t
e
c
o
d
e
s
,
_
n
a
m
e
,
_
t
f
a
c
t
o
r
y
这
些
属
性
中
塞
数
据
的
R
e
f
l
e
c
t
i
o
n
s
.
s
e
t
F
i
e
l
d
V
a
l
u
e
方
法
。
这
里
是
通
过
反
射
机
制
修
改
私
有
属
性
。
p
u
b
l
i
c
s
t
a
t
i
c
v
o
i
d
s
e
t
F
i
e
l
d
V
a
l
u
e
(
f
i
n
a
l
O
b
j
e
c
t
o
b
j
,
f
i
n
a
l
S
t
r
i
n
g
f
i
e
l
d
N
a
m
e
,
f
i
n
a
l
O
b
j
e
c
t
v
a
l
u
e
)
t
h
r
o
w
s
E
x
c
e
p
t
i
o
n
{
f
i
n
a
l
F
i
e
l
d
f
i
e
l
d
=
g
e
t
F
i
e
l
d
(
o
b
j
.
g
e
t
C
l
a
s
s
(
)
,
f
i
e
l
d
N
a
m
e
)
;
f
i
e
l
d
.
s
e
t
(
o
b
j
,
v
a
l
u
e
)
;
/
/
获
取
了
对
应
的
字
段
后
,
进
行
赋
值
。
}
/
/
R
e
f
l
e
c
t
i
o
n
s
#
g
e
t
F
i
e
l
d
p
u
b
l
i
c
s
t
a
t
i
c
F
i
e
l
d
g
e
t
F
i
e
l
d
(
f
i
n
a
l
C
l
a
s
s
<
?
>
c
l
a
z
z
,
f
i
n
a
l
S
t
r
i
n
g
f
i
e
l
d
N
a
m
e
)
t
h
r
o
w
s
E
x
c
e
p
t
i
o
n
{
F
i
e
l
d
f
i
e
l
d
=
c
l
a
z
z
.
g
e
t
D
e
c
l
a
r
e
d
F
i
e
l
d
(
f
i
e
l
d
N
a
m
e
)
;
/
/
通
过
反
射
机
制
获
取
该
字
段
i
f
(
f
i
e
l
d
!
=
n
u
l
l
)
f
i
e
l
d
.
s
e
t
A
c
c
e
s
s
i
b
l
e
(
t
r
u
e
)
;
/
/
接
触
p
r
i
v
a
t
e
限
制
e
l
s
e
i
f
(
c
l
a
z
z
.
g
e
t
S
u
p
e
r
c
l
a
s
s
(
)
!
=
n
u
l
l
)
/
/
判
断
父
类
,
如
果
有
父
类
,
就
获
取
父
类
的
值
,
T
e
m
p
l
a
t
e
s
I
m
p
l
类
没
有
父
类
,
这
里
没
用
上
。
f
i
e
l
d
=
g
e
t
F
i
e
l
d
(
c
l
a
z
z
.
g
e
t
S
u
p
e
r
c
l
a
s
s
(
)
,
f
i
e
l
d
N
a
m
e
)
;
r
e
t
u
r
n
f
i
e
l
d
;
}
可
以
看
到
上
面
的
G
a
d
g
e
t
s
类
完
美
符
合
了
我
们
之
前
在
利
用
过
程
中
提
到
的
全
部
需
要
条
件
。
但
是
G
a
d
g
e
t
s
构
造
的
恶
意
T
e
m
p
l
a
t
e
s
I
m
p
l
类
比
起
我
们
需
要
的
P
O
C
条
件
多
1
处
东
西
:
_
b
y
t
e
c
o
d
e
s
多
加
了
一
个
F
o
o
.
c
l
a
s
s
类
我
始
终
没
有
找
到
这
个
到
底
有
啥
用
,
去
掉
后
实
验
,
没
有
任
何
影
响
。
如
果
有
老
哥
知
道
,
可
以
联
系
我
,
非
常
感
谢
。
p
u
b
l
i
c
s
t
a
t
i
c
T
e
m
p
l
a
t
e
s
I
m
p
l
c
r
e
a
t
e
T
e
m
p
l
a
t
e
s
I
m
p
l
(
f
i
n
a
l
S
t
r
i
n
g
c
o
m
m
a
n
d
)
t
h
r
o
w
s
E
x
c
e
p
t
i
o
n
{
f
i
n
a
l
T
e
m
p
l
a
t
e
s
I
m
p
l
t
e
m
p
l
a
t
e
s
=
n
e
w
T
e
m
p
l
a
t
e
s
I
m
p
l
(
)
;
/
/
1
.
使
用
一
个
自
定
义
的
满
足
条
件
的
恶
意
模
板
类
S
t
u
b
T
r
a
n
s
l
e
t
P
a
y
l
o
a
d
/
/
满
足
条
件
5
:
恶
意
类
继
承
c
o
m
.
s
u
n
.
o
r
g
.
a
p
a
c
h
e
.
x
a
l
a
n
.
i
n
t
e
r
n
a
l
.
x
s
l
t
c
.
r
u
n
t
i
m
e
.
A
b
s
t
r
a
c
t
T
r
a
n
s
l
e
t
。
C
l
a
s
s
P
o
o
l
p
o
o
l
=
C
l
a
s
s
P
o
o
l
.
g
e
t
D
e
f
a
u
l
t
(
)
;
/
/
J
a
v
a
s
s
i
s
t
包
中
建
立
一
个
容
器
/
/
添
加
自
定
义
的
恶
意
模
板
类
S
t
u
b
T
r
a
n
s
l
e
t
P
a
y
l
o
a
d
的
路
径
至
容
器
的
C
l
a
s
s
p
a
t
h
p
o
o
l
.
i
n
s
e
r
t
C
l
a
s
s
P
a
t
h
(
n
e
w
C
l
a
s
s
C
l
a
s
s
P
a
t
h
(
S
t
u
b
T
r
a
n
s
l
e
t
P
a
y
l
o
a
d
.
c
l
a
s
s
)
)
;
/
/
从
C
l
a
s
s
p
a
t
h
中
寻
找
自
定
义
的
恶
意
模
板
类
S
t
u
b
T
r
a
n
s
l
e
t
P
a
y
l
o
a
d
,
引
入
它
,
之
后
对
它
进
行
修
改
f
i
n
a
l
C
t
C
l
a
s
s
c
l
a
z
z
=
p
o
o
l
.
g
e
t
(
S
t
u
b
T
r
a
n
s
l
e
t
P
a
y
l
o
a
d
.
c
l
a
s
s
.
g
e
t
N
a
m
e
(
)
)
;
/
/
2
.
在
自
定
义
恶
意
类
中
添
加
静
态
模
块
,
一
句
R
u
m
t
i
m
e
.
e
x
e
c
,
命
令
从
外
部
引
入
/
/
满
足
条
件
6
:
需
要
执
行
的
恶
意
代
码
写
在
类
的
静
态
方
法
或
构
造
方
法
中
。
c
l
a
z
z
.
m
a
k
e
C
l
a
s
s
I
n
i
t
i
a
l
i
z
e
r
(
)
.
i
n
s
e
r
t
A
f
t
e
r
(
"
j
a
v
a
.
l
a
n
g
.
R
u
n
t
i
m
e
.
g
e
t
R
u
n
t
i
m
e
(
)
.
e
x
e
c
(
"
"
+
c
o
m
m
a
n
d
.
r
e
p
l
a
c
e
A
l
l
(
"
"
"
,
"
"
"
)
+
"
"
)
;
"
)
;
/
/
3
.
设
置
一
个
唯
一
性
的
c
l
a
s
s
名
称
c
l
a
z
z
.
s
e
t
N
a
m
e
(
"
y
s
o
s
e
r
i
a
l
.
P
w
n
e
r
"
+
S
y
s
t
e
m
.
n
a
n
o
T
i
m
e
(
)
)
;
/
/
4
.
把
我
们
的
自
定
义
的
恶
意
类
转
化
成
b
y
t
e
数
组
模
式
f
i
n
a
l
b
y
t
e
[
]
c
l
a
s
s
B
y
t
e
s
=
c
l
a
z
z
.
t
o
B
y
t
e
c
o
d
e
(
)
;
/
/
4
.
添
加
b
y
t
e
数
组
c
l
a
s
s
B
y
t
e
s
至
_
b
y
t
e
c
o
d
e
s
字
段
,
再
添
加
一
个
另
外
准
备
的
F
o
o
类
的
字
节
(
目
前
来
看
是
多
余
的
)
/
/
满
足
条
件
3
:
T
e
m
p
l
a
t
e
s
I
m
p
l
类
的
`
_
b
y
t
e
c
o
d
e
s
`
变
量
!
=
n
u
l
l
R
e
f
l
e
c
t
i
o
n
s
.
s
e
t
F
i
e
l
d
V
a
l
u
e
(
t
e
m
p
l
a
t
e
s
,
"
_
b
y
t
e
c
o
d
e
s
"
,
n
e
w
b
y
t
e
[
]
[
]
{
c
l
a
s
s
B
y
t
e
s
,
C
l
a
s
s
F
i
l
e
s
.
c
l
a
s
s
A
s
B
y
t
e
s
(
F
o
o
.
c
l
a
s
s
)
}
)
;
/
/
5
.
满
足
条
件
1
:
T
e
m
p
l
a
t
e
s
I
m
p
l
类
的
`
_
n
a
m
e
`
变
量
!
=
n
u
l
l
R
e
f
l
e
c
t
i
o
n
s
.
s
e
t
F
i
e
l
d
V
a
l
u
e
(
t
e
m
p
l
a
t
e
s
,
"
_
n
a
m
e
"
,
"
P
w
n
r
"
)
;
/
/
6
.
满
足
条
件
4
:
使
T
e
m
p
l
a
t
e
s
I
m
p
l
类
的
_
t
f
a
c
t
o
r
y
是
一
个
拥
有
g
e
t
E
x
t
e
r
n
a
l
E
x
t
e
n
s
i
o
n
s
M
a
p
(
)
方
法
的
类
R
e
f
l
e
c
t
i
o
n
s
.
s
e
t
F
i
e
l
d
V
a
l
u
e
(
t
e
m
p
l
a
t
e
s
,
"
_
t
f
a
c
t
o
r
y
"
,
n
e
w
T
r
a
n
s
f
o
r
m
e
r
F
a
c
t
o
r
y
I
m
p
l
(
)
)
;
/
/
没
有
设
置
_
c
l
a
s
s
,
满
足
条
件
2
:
T
e
m
p
l
a
t
e
s
I
m
p
l
类
的
`
_
c
l
a
s
s
`
变
量
=
=
n
u
l
l
r
e
t
u
r
n
t
e
m
p
l
a
t
e
s
;
}
p
a
y
l
o
a
d
位
置
位
置
s
t
a
t
i
c
与
构
造
函
数
与
构
造
函
数
自
己
构
造
一
波
p
a
y
l
o
a
d
,
再
分
析
一
个
p
a
y
l
o
a
d
放
置
位
置
的
问
题
以
上
需
要
注
意
一
个
情
况
,
我
们
的
恶
意
字
节
码
类
l
a
l
a
类
,
使
用
了
s
t
a
t
i
c
修
饰
符
。
其
实
我
们
p
a
y
l
o
a
d
写
在
构
造
函
数
中
是
可
以
不
使
用
s
t
a
t
i
c
修
饰
符
不
会
影
响
。
但
是
如
果
我
们
想
把
p
a
y
l
o
a
d
写
在
s
t
a
t
i
c
初
始
化
块
中
,
类
就
需
要
使
用
s
t
a
t
i
c
修
饰
符
时
。
不
然
最
后
实
例
化
是
不
会
成
功
的
。
就
相
当
于
是
以
下
的
情
况
,
内
部
类
是
不
允
许
存
在
s
t
a
t
i
c
修
饰
符
的
,
原
理
可
以
参
考
。
p
s
.
突
然
发
现
非
s
t
a
t
i
c
方
法
块
也
是
可
以
写
p
a
y
l
o
a
d
…
.
.
但
是
不
纠
结
这
个
了
!
!
至
此
我
们
完
成
了
恶
意
T
e
m
p
l
a
t
e
s
类
构
造
以
及
T
e
m
p
l
a
t
e
s
I
m
p
l
.
g
e
t
O
u
t
p
u
t
P
r
o
p
e
r
t
i
e
s
触
发
点
的
分
析
(
当
然
从
上
面
的
调
用
过
程
,
我
们
知
道
直
接
调
用
T
e
m
p
l
a
t
e
s
I
m
p
l
.
n
e
w
T
r
a
n
s
f
o
r
m
e
r
(
)
也
是
一
样
的
,
g
e
t
O
u
t
p
u
t
P
r
o
p
e
r
t
i
e
s
其
实
就
是
调
用
了
n
e
w
T
r
a
n
s
f
o
r
m
e
r
(
)
,
在
接
下
来
的
延
长
链
中
其
实
漏
洞
触
发
是
在
n
e
w
T
r
a
n
s
f
o
r
m
e
r
)
。
目
前
的
结
论
已
经
可
以
移
花
接
木
到
f
a
s
t
j
s
o
n
的
利
用
链
中
形
成
一
套
完
成
利
用
链
。
以
及
其
他
很
多
组
件
的
利
用
链
的
最
后
一
步
都
是
T
e
m
p
l
a
t
e
s
I
m
p
l
类
(
限
于
j
d
k
1
.
7
版
本
,
1
.
8
会
编
译
错
误
,
原
因
未
知
)
。
但
是
就
单
独
作
为
一
条
利
用
链
来
说
,
只
有
e
x
p
触
发
点
和
一
点
点
长
度
的
利
用
链
是
不
够
的
,
我
们
需
要
继
续
延
伸
到
一
个
反
序
列
化
r
e
a
d
O
b
j
e
c
t
点
,
使
服
务
端
一
触
发
反
序
列
化
,
就
可
以
沿
着
利
用
链
到
e
x
p
触
发
点
。
N
o
.
5
N
o
.
5
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
延
长
利
用
链
A
n
n
o
t
a
t
i
o
n
I
n
v
o
c
a
t
i
o
n
H
a
n
d
l
e
r
这
是
一
个
熟
悉
的
类
,
在
c
o
m
m
o
n
s
-
c
o
l
l
e
c
t
i
o
n
s
一
文
的
1
.
7
最
基
础
的
利
用
链
中
,
我
们
正
是
使
用
了
A
n
n
o
t
a
t
i
o
n
I
n
v
o
c
a
t
i
o
n
H
a
n
d
l
e
r
的
r
e
a
d
o
b
j
e
c
t
函
数
作
为
反
序
列
化
入
口
点
。
然
而
这
里
跟
A
n
n
o
t
a
t
i
o
n
I
n
v
o
c
a
t
i
o
n
H
a
n
d
l
e
r
的
i
n
v
o
k
e
函
数
有
关
。
在
这
之
前
我
们
需
要
先
了
解
j
a
v
a
的
动
态
代
理
性
质
。
p
u
b
l
i
c
c
l
a
s
s
j
d
k
7
u
2
1
_
m
i
n
e
{
/
/
从
l
a
l
a
这
个
类
中
提
取
我
们
命
令
执
行
的
字
节
码
p
u
b
l
i
c
s
t
a
t
i
c
c
l
a
s
s
l
a
l
a
{
}
/
/
步
骤
一
T
e
m
p
l
a
t
e
s
I
m
p
l
类
p
u
b
l
i
c
s
t
a
t
i
c
v
o
i
d
m
a
i
n
(
S
t
r
i
n
g
[
]
a
r
g
s
)
t
h
r
o
w
s
E
x
c
e
p
t
i
o
n
{
C
l
a
s
s
P
o
o
l
p
o
o
l
=
C
l
a
s
s
P
o
o
l
.
g
e
t
D
e
f
a
u
l
t
(
)
;
C
t
C
l
a
s
s
c
c
=
p
o
o
l
.
g
e
t
(
l
a
l
a
.
c
l
a
s
s
.
g
e
t
N
a
m
e
(
)
)
;
S
t
r
i
n
g
c
m
d
=
"
j
a
v
a
.
l
a
n
g
.
R
u
n
t
i
m
e
.
g
e
t
R
u
n
t
i
m
e
(
)
.
e
x
e
c
(
"
c
a
l
c
"
)
;
"
;
/
/
之
前
说
的
静
态
方
法
和
构
造
方
法
均
可
,
这
边
试
一
下
构
造
方
法
/
/
c
c
.
m
a
k
e
C
l
a
s
s
I
n
i
t
i
a
l
i
z
e
r
(
)
.
i
n
s
e
r
t
B
e
f
o
r
e
(
c
m
d
)
;
/
/
这
样
可
以
直
接
添
加
构
造
函
数
C
t
C
o
n
s
t
r
u
c
t
o
r
c
o
n
s
=
n
e
w
C
t
C
o
n
s
t
r
u
c
t
o
r
(
n
e
w
C
t
C
l
a
s
s
[
]
{
}
,
c
c
)
;
c
o
n
s
.
s
e
t
B
o
d
y
(
"
{
"
+
c
m
d
+
"
}
"
)
;
c
c
.
a
d
d
C
o
n
s
t
r
u
c
t
o
r
(
c
o
n
s
)
;
/
/
设
置
不
重
复
的
类
名
S
t
r
i
n
g
r
a
n
d
o
m
C
l
a
s
s
N
a
m
e
=
"
L
a
L
a
"
+
S
y
s
t
e
m
.
n
a
n
o
T
i
m
e
(
)
;
c
c
.
s
e
t
N
a
m
e
(
r
a
n
d
o
m
C
l
a
s
s
N
a
m
e
)
;
/
/
设
置
满
足
条
件
的
父
类
c
c
.
s
e
t
S
u
p
e
r
c
l
a
s
s
(
(
p
o
o
l
.
g
e
t
(
A
b
s
t
r
a
c
t
T
r
a
n
s
l
e
t
.
c
l
a
s
s
.
g
e
t
N
a
m
e
(
)
)
)
)
;
/
/
获
取
字
节
码
b
y
t
e
[
]
l
a
l
a
B
y
t
e
C
o
d
e
s
=
c
c
.
t
o
B
y
t
e
c
o
d
e
(
)
;
b
y
t
e
[
]
[
]
t
a
r
g
e
t
B
y
t
e
C
o
d
e
s
=
n
e
w
b
y
t
e
[
]
[
]
{
l
a
l
a
B
y
t
e
C
o
d
e
s
}
;
T
e
m
p
l
a
t
e
s
I
m
p
l
t
e
m
p
l
a
t
e
s
=
T
e
m
p
l
a
t
e
s
I
m
p
l
.
c
l
a
s
s
.
n
e
w
I
n
s
t
a
n
c
e
(
)
;
R
e
f
l
e
c
t
i
o
n
s
.
s
e
t
F
i
e
l
d
V
a
l
u
e
(
t
e
m
p
l
a
t
e
s
,
"
_
b
y
t
e
c
o
d
e
s
"
,
t
a
r
g
e
t
B
y
t
e
C
o
d
e
s
)
;
R
e
f
l
e
c
t
i
o
n
s
.
s
e
t
F
i
e
l
d
V
a
l
u
e
(
t
e
m
p
l
a
t
e
s
,
"
_
n
a
m
e
"
,
"
l
a
l
a
"
+
S
y
s
t
e
m
.
n
a
n
o
T
i
m
e
(
)
)
;
R
e
f
l
e
c
t
i
o
n
s
.
s
e
t
F
i
e
l
d
V
a
l
u
e
(
t
e
m
p
l
a
t
e
s
,
"
_
c
l
a
s
s
"
,
n
u
l
l
)
;
R
e
f
l
e
c
t
i
o
n
s
.
s
e
t
F
i
e
l
d
V
a
l
u
e
(
t
e
m
p
l
a
t
e
s
,
"
_
t
f
a
c
t
o
r
y
"
,
n
e
w
T
r
a
n
s
f
o
r
m
e
r
F
a
c
t
o
r
y
I
m
p
l
(
)
)
;
t
e
m
p
l
a
t
e
s
.
g
e
t
O
u
t
p
u
t
P
r
o
p
e
r
t
i
e
s
(
)
;
/
/
一
样
可
以
触
发
/
/
t
e
m
p
l
a
t
e
s
.
n
e
w
T
r
a
n
s
f
o
r
m
e
r
(
)
;
}
动
态
代
理
动
态
代
理
动
态
代
理
是
j
a
v
a
的
特
性
之
一
,
其
实
就
可
以
理
解
为
w
e
b
应
用
中
的
拦
截
器
,
在
执
行
正
式
代
码
之
前
先
过
一
个
拦
截
器
函
数
(
比
如
s
p
r
i
n
g
的
A
O
P
)
。
但
是
以
上
类
比
只
是
为
了
便
于
理
解
,
实
际
上
s
p
r
i
n
g
的
A
O
P
之
类
的
拦
截
器
反
而
是
基
于
j
a
v
a
的
动
态
代
理
实
现
的
。
下
面
将
举
例
动
态
代
理
S
u
b
j
e
c
t
I
m
p
l
类
,
即
在
S
u
b
j
e
c
t
I
m
p
l
e
类
前
面
建
立
一
个
拦
截
器
。
D
y
n
a
m
i
c
P
r
o
x
y
.
j
a
v
a
P
r
o
x
y
.
n
e
w
P
r
o
x
y
I
n
s
t
a
n
c
e
三
个
传
入
参
数
:
1
.
l
o
a
d
e
r
,
选
用
的
类
加
载
器
。
感
觉
随
便
选
就
好
了
。
2
.
i
n
t
e
r
f
a
c
e
s
,
被
代
理
类
所
实
现
的
接
口
,
这
个
接
口
可
以
是
多
个
。
(
即
需
要
拦
截
的
接
口
)
3
.
h
,
一
个
实
现
拦
截
器
的
i
n
v
o
c
a
t
i
o
n
h
a
n
d
l
e
r
。
之
后
只
要
我
们
调
用
了
返
回
之
后
的
对
象
中
被
安
排
了
代
理
的
接
口
,
就
会
进
入
i
n
v
o
c
a
t
i
o
n
H
a
n
d
l
e
r
的
i
n
v
o
k
e
函
数
。
以
上
执
行
结
果
就
是
:
b
e
f
o
r
e
!
S
u
b
j
e
c
t
I
m
p
l
.
h
e
l
l
o
(
)
:
w
o
r
l
d
!
a
f
t
e
r
!
那
么
动
态
代
理
大
概
就
分
为
几
个
部
分
:
1
.
被
代
理
的
接
口
类
2
.
被
代
理
的
接
口
类
的
实
现
类
3
.
继
承
I
n
v
o
c
a
t
i
o
n
H
a
n
d
l
e
r
接
口
、
实
现
i
n
v
o
k
e
方
法
的
拦
截
器
类
4
.
P
r
o
x
y
.
n
e
w
P
r
o
x
y
I
n
s
t
a
n
c
e
完
成
拦
截
器
,
与
被
代
理
的
接
口
类
的
绑
定
5
.
调
用
这
个
返
回
对
象
的
被
代
理
接
口
即
可
。
(
此
处
注
意
这
个
返
回
的
对
象
不
是
只
有
被
代
理
的
接
口
类
中
的
接
口
,
还
有
一
些
常
用
接
口
,
之
后
会
截
图
说
明
。
)
我
们
说
了
那
么
多
动
态
代
理
机
制
,
是
为
啥
呢
?
i
m
p
o
r
t
j
a
v
a
.
l
a
n
g
.
r
e
f
l
e
c
t
.
I
n
v
o
c
a
t
i
o
n
H
a
n
d
l
e
r
;
i
m
p
o
r
t
j
a
v
a
.
l
a
n
g
.
r
e
f
l
e
c
t
.
M
e
t
h
o
d
;
i
m
p
o
r
t
j
a
v
a
.
l
a
n
g
.
r
e
f
l
e
c
t
.
P
r
o
x
y
;
/
/
需
要
实
现
的
接
口
(
拦
截
动
作
是
基
于
接
口
的
,
所
以
需
要
设
定
接
口
)
i
n
t
e
r
f
a
c
e
I
S
u
b
j
e
c
t
{
p
u
b
l
i
c
v
o
i
d
h
e
l
l
o
(
S
t
r
i
n
g
s
t
r
)
;
}
/
/
实
际
的
需
要
被
代
理
的
对
象
c
l
a
s
s
S
u
b
j
e
c
t
I
m
p
l
i
m
p
l
e
m
e
n
t
s
I
S
u
b
j
e
c
t
{
p
u
b
l
i
c
v
o
i
d
h
e
l
l
o
(
S
t
r
i
n
g
s
t
r
)
{
S
y
s
t
e
m
.
o
u
t
.
p
r
i
n
t
l
n
(
"
S
u
b
j
e
c
t
I
m
p
l
.
h
e
l
l
o
(
)
:
"
+
s
t
r
)
;
}
}
/
/
H
a
n
d
l
e
r
对
象
(
继
承
I
n
v
o
c
a
t
i
o
n
H
a
n
d
l
e
r
的
拦
截
器
)
/
/
I
n
v
o
c
a
t
i
o
n
H
a
n
d
l
e
r
是
一
个
用
于
跟
P
r
o
x
y
类
对
接
的
接
口
c
l
a
s
s
H
a
n
d
l
e
r
i
m
p
l
e
m
e
n
t
s
I
n
v
o
c
a
t
i
o
n
H
a
n
d
l
e
r
{
p
r
i
v
a
t
e
O
b
j
e
c
t
s
u
b
j
e
c
t
;
/
/
构
造
函
数
,
传
入
被
代
理
实
现
类
的
实
例
p
u
b
l
i
c
H
a
n
d
l
e
r
(
O
b
j
e
c
t
s
u
b
j
e
c
t
)
{
t
h
i
s
.
s
u
b
j
e
c
t
=
s
u
b
j
e
c
t
;
}
/
/
所
有
被
P
r
o
x
y
拦
截
的
函
数
都
会
经
过
这
个
接
口
的
i
n
v
o
k
e
函
数
p
u
b
l
i
c
O
b
j
e
c
t
i
n
v
o
k
e
(
O
b
j
e
c
t
o
b
j
e
c
t
,
M
e
t
h
o
d
m
e
t
h
o
d
,
O
b
j
e
c
t
[
]
a
r
g
s
)
t
h
r
o
w
s
T
h
r
o
w
a
b
l
e
{
S
y
s
t
e
m
.
o
u
t
.
p
r
i
n
t
l
n
(
"
b
e
f
o
r
e
!
"
)
;
/
/
完
成
拦
截
操
作
之
后
去
调
用
被
代
理
实
现
类
,
反
射
机
制
,
传
入
实
例
,
参
数
m
e
t
h
o
d
.
i
n
v
o
k
e
(
t
h
i
s
.
s
u
b
j
e
c
t
,
a
r
g
s
)
;
S
y
s
t
e
m
.
o
u
t
.
p
r
i
n
t
l
n
(
"
a
f
t
e
r
!
"
)
;
r
e
t
u
r
n
n
u
l
l
;
}
}
p
u
b
l
i
c
c
l
a
s
s
D
y
n
a
m
i
c
P
r
o
x
y
{
p
u
b
l
i
c
s
t
a
t
i
c
v
o
i
d
m
a
i
n
(
S
t
r
i
n
g
[
]
a
r
g
s
)
{
/
/
被
代
理
类
S
u
b
j
e
c
t
I
m
p
l
s
u
b
j
e
c
t
=
n
e
w
S
u
b
j
e
c
t
I
m
p
l
(
)
;
/
/
拦
截
器
实
现
类
,
通
过
构
造
函
数
传
入
被
代
理
类
的
实
例
I
n
v
o
c
a
t
i
o
n
H
a
n
d
l
e
r
t
e
m
p
H
a
n
d
l
e
r
=
n
e
w
H
a
n
d
l
e
r
(
s
u
b
j
e
c
t
)
;
/
/
使
用
P
r
o
x
y
.
n
e
w
P
r
o
x
y
I
n
s
t
a
n
c
e
创
建
代
理
I
S
u
b
j
e
c
t
i
S
u
b
j
e
c
t
=
(
I
S
u
b
j
e
c
t
)
P
r
o
x
y
.
n
e
w
P
r
o
x
y
I
n
s
t
a
n
c
e
(
D
y
n
a
m
i
c
P
r
o
x
y
.
c
l
a
s
s
.
g
e
t
C
l
a
s
s
L
o
a
d
e
r
(
)
,
n
e
w
C
l
a
s
s
<
?
>
[
]
{
I
S
u
b
j
e
c
t
.
c
l
a
s
s
}
,
t
e
m
p
H
a
n
d
l
e
r
)
;
i
S
u
b
j
e
c
t
.
h
e
l
l
o
(
"
w
o
r
l
d
!
"
)
;
}
}
c
l
a
s
s
A
n
n
o
t
a
t
i
o
n
I
n
v
o
c
a
t
i
o
n
H
a
n
d
l
e
r
i
m
p
l
e
m
e
n
t
s
I
n
v
o
c
a
t
i
o
n
H
a
n
d
l
e
r
,
S
e
r
i
a
l
i
z
a
b
l
e
{
/
/
实
现
了
I
n
v
o
c
a
t
i
o
n
H
a
n
d
l
e
r
接
口
的
i
n
v
o
k
e
函
数
p
u
b
l
i
c
O
b
j
e
c
t
i
n
v
o
k
e
(
O
b
j
e
c
t
v
a
r
1
,
M
e
t
h
o
d
v
a
r
2
,
O
b
j
e
c
t
[
]
v
a
r
3
)
{
.
.
.
}
}
其
实
就
是
因
为
A
n
n
o
t
a
t
i
o
n
I
n
v
o
c
a
t
i
o
n
H
a
n
d
l
e
r
类
其
实
是
一
个
I
n
v
o
c
a
t
i
o
n
H
a
n
d
l
e
r
接
口
的
实
现
类
。
它
不
只
是
在
c
c
的
利
用
链
中
作
为
反
序
列
化
点
,
还
是
作
为
动
态
代
理
的
拦
截
器
实
现
函
数
(
有
一
个
自
己
的
i
n
v
o
k
e
方
法
)
动
态
代
理
链
接
动
态
代
理
链
接
A
n
n
o
t
a
t
i
o
n
I
n
v
o
c
a
t
i
o
n
H
a
n
d
l
e
r
与
与
T
e
m
p
l
a
t
e
s
我
们
的
目
的
是
连
接
代
理
后
的
对
象
P
r
o
x
y
的
e
q
u
a
l
方
法
到
T
e
m
p
l
a
t
e
s
的
n
e
w
T
r
a
n
s
f
o
r
m
e
r
方
法
。
当
建
立
动
态
代
理
后
(
P
r
o
x
y
.
n
e
w
I
n
s
t
a
n
c
e
返
回
一
个
对
象
a
)
,
我
们
假
设
调
用
a
.
b
(
c
)
先
瞅
一
眼
A
n
n
o
t
a
t
i
o
n
I
n
v
o
c
a
t
i
o
n
H
a
n
d
l
e
r
的
构
造
函
数
有
个
底
,
我
们
可
以
知
道
有
可
控
的
t
h
i
s
.
t
y
p
e
与
t
h
i
s
.
m
e
m
b
e
r
V
a
l
u
e
s
A
n
n
o
t
a
t
i
o
n
I
n
v
o
c
a
t
i
o
n
H
a
n
d
l
e
r
(
C
l
a
s
s
<
?
e
x
t
e
n
d
s
A
n
n
o
t
a
t
i
o
n
>
v
a
r
1
,
M
a
p
<
S
t
r
i
n
g
,
O
b
j
e
c
t
>
v
a
r
2
)
{
t
h
i
s
.
t
y
p
e
=
v
a
r
1
;
t
h
i
s
.
m
e
m
b
e
r
V
a
l
u
e
s
=
v
a
r
2
;
}
b
y
t
h
e
w
a
y
,
这
里
的
A
n
n
o
t
a
t
i
o
n
I
n
v
o
c
a
t
i
o
n
H
a
n
d
l
e
r
构
造
函
数
是
缺
省
修
饰
符
,
它
在
不
同
的
包
中
是
不
能
直
接
调
用
的
。
反
射
机
制
中
有
说
到
,
可
以
使
用
s
e
t
A
c
c
e
s
s
i
b
l
e
(
t
r
u
e
)
来
开
放
权
限
。
调
用
a
.
b
(
c
)
。
s
u
n
.
r
e
f
l
e
c
t
.
a
n
n
o
t
a
t
i
o
n
.
A
n
n
o
t
a
t
i
o
n
I
n
v
o
c
a
t
i
o
n
H
a
n
d
l
e
r
#
i
n
v
o
k
e
/
/
v
a
r
1
当
前
的
P
r
o
x
y
代
理
实
例
对
象
,
即
a
.
b
(
c
)
的
a
/
/
v
a
r
2
当
前
调
用
的
方
法
,
即
a
.
b
(
c
)
的
b
/
/
v
a
r
3
当
前
调
用
方
法
的
传
入
参
数
列
表
,
即
a
.
b
(
c
)
的
c
p
u
b
l
i
c
O
b
j
e
c
t
i
n
v
o
k
e
(
O
b
j
e
c
t
v
a
r
1
,
M
e
t
h
o
d
v
a
r
2
,
O
b
j
e
c
t
[
]
v
a
r
3
)
{
S
t
r
i
n
g
v
a
r
4
=
v
a
r
2
.
g
e
t
N
a
m
e
(
)
;
/
/
被
调
用
方
法
名
C
l
a
s
s
[
]
v
a
r
5
=
v
a
r
2
.
g
e
t
P
a
r
a
m
e
t
e
r
T
y
p
e
s
(
)
;
/
/
获
取
传
入
参
数
类
型
列
表
/
/
如
果
调
用
的
方
法
名
是
e
q
u
a
l
s
,
传
入
一
个
参
数
,
并
且
为
O
b
j
e
c
t
类
型
,
即
a
.
e
q
u
a
l
(
(
O
b
j
e
c
t
.
c
l
a
s
s
)
c
)
/
/
此
处
的
意
思
应
该
为
判
断
a
是
否
与
传
入
的
c
完
全
相
等
。
i
f
(
v
a
r
4
.
e
q
u
a
l
s
(
"
e
q
u
a
l
s
"
)
&
&
v
a
r
5
.
l
e
n
g
t
h
=
=
1
&
&
v
a
r
5
[
0
]
=
=
O
b
j
e
c
t
.
c
l
a
s
s
)
{
r
e
t
u
r
n
t
h
i
s
.
e
q
u
a
l
s
I
m
p
l
(
v
a
r
3
[
0
]
)
;
/
/
我
们
进
入
此
处
,
传
入
的
是
a
.
b
(
c
)
中
的
c
的
第
一
个
参
数
}
e
l
s
e
{
.
.
.
s
u
n
.
r
e
f
l
e
c
t
.
a
n
n
o
t
a
t
i
o
n
.
A
n
n
o
t
a
t
i
o
n
I
n
v
o
c
a
t
i
o
n
H
a
n
d
l
e
r
#
e
q
u
a
l
s
I
m
p
l
e
q
u
a
l
s
方
法
会
根
据
t
h
i
s
.
t
y
p
e
类
中
的
方
法
去
遍
历
调
用
传
入
对
象
中
的
所
有
对
应
的
方
法
。
那
么
!
1
.
我
们
可
以
构
筑
一
个
A
n
n
o
t
a
t
i
o
n
I
n
v
o
c
a
t
i
o
n
H
a
n
d
l
e
r
类
,
构
造
函
数
中
选
择
一
个
t
h
i
s
.
t
y
p
e
,
t
h
i
s
.
t
y
p
e
这
个
类
中
需
要
包
含
我
们
要
恶
意
执
行
的
方
法
。
2
.
把
这
个
A
n
n
o
t
a
t
i
o
n
I
n
v
o
c
a
t
i
o
n
H
a
n
d
l
e
r
类
与
随
便
什
么
接
口
进
行
绑
定
(
因
为
我
们
需
要
调
用
的
是
e
q
u
a
l
s
,
只
要
是
一
个
O
b
j
e
c
t
对
象
就
会
有
e
q
u
a
l
s
方
法
m
a
y
b
e
?
)
3
.
调
用
这
个
代
理
类
的
e
q
u
a
l
s
方
法
,
同
时
給
入
恶
意
实
例
,
就
会
遍
历
t
h
i
s
.
t
y
p
e
这
个
类
中
的
方
法
对
恶
意
实
例
中
的
对
应
方
法
进
行
调
用
。
唯
一
的
缺
点
就
是
调
用
的
方
法
不
能
传
入
参
数
。
(
因
为
v
a
r
5
.
i
n
v
o
k
e
(
v
a
r
1
)
;
只
传
入
了
对
象
,
没
有
传
入
参
数
)
我
们
需
要
调
用
的
是
T
e
m
p
l
a
t
e
s
I
m
p
l
.
n
e
w
T
r
a
n
s
f
o
r
m
e
r
(
)
,
刚
好
这
个
方
法
不
需
要
传
入
参
数
!
再
是
t
h
i
s
.
t
y
p
e
=
T
e
m
p
l
a
t
e
s
.
c
l
a
s
s
,
因
为
T
e
m
p
l
a
t
e
s
I
m
p
l
继
承
自
T
e
m
p
l
a
t
e
s
接
口
,
并
且
它
有
我
们
要
的
方
法
,
并
且
在
第
一
个
(
为
啥
需
要
恰
好
又
刚
好
在
第
一
个
,
之
后
有
说
法
)
。
p
u
b
l
i
c
i
n
t
e
r
f
a
c
e
T
e
m
p
l
a
t
e
s
{
T
r
a
n
s
f
o
r
m
e
r
n
e
w
T
r
a
n
s
f
o
r
m
e
r
(
)
t
h
r
o
w
s
T
r
a
n
s
f
o
r
m
e
r
C
o
n
f
i
g
u
r
a
t
i
o
n
E
x
c
e
p
t
i
o
n
;
P
r
o
p
e
r
t
i
e
s
g
e
t
O
u
t
p
u
t
P
r
o
p
e
r
t
i
e
s
(
)
;
}
/
/
v
a
r
1
a
.
b
(
c
)
的
c
p
r
i
v
a
t
e
B
o
o
l
e
a
n
e
q
u
a
l
s
I
m
p
l
(
O
b
j
e
c
t
v
a
r
1
)
{
/
/
v
a
r
1
若
为
A
n
n
o
t
a
t
i
o
n
I
n
v
o
c
a
t
i
o
n
H
a
n
d
l
e
r
类
,
就
相
等
i
f
(
v
a
r
1
=
=
t
h
i
s
)
{
r
e
t
u
r
n
t
r
u
e
;
/
/
v
a
r
1
应
该
为
t
h
i
s
.
t
y
p
e
的
实
例
(
此
处
为
一
个
要
求
)
/
/
此
处
意
思
应
该
是
只
能
比
较
t
h
i
s
.
t
y
p
e
中
规
定
好
的
类
是
否
完
全
一
致
}
e
l
s
e
i
f
(
!
t
h
i
s
.
t
y
p
e
.
i
s
I
n
s
t
a
n
c
e
(
v
a
r
1
)
)
{
r
e
t
u
r
n
f
a
l
s
e
;
}
e
l
s
e
{
/
/
如
果
是
t
h
i
s
.
t
y
p
e
(
可
控
)
中
的
类
的
实
例
的
话
/
/
就
要
开
始
获
取
t
h
i
s
.
t
y
p
e
这
个
类
中
的
所
有
方
法
M
e
t
h
o
d
[
]
v
a
r
2
=
t
h
i
s
.
g
e
t
M
e
m
b
e
r
M
e
t
h
o
d
s
(
)
;
i
n
t
v
a
r
3
=
v
a
r
2
.
l
e
n
g
t
h
;
/
/
去
对
应
着
遍
历
调
用
c
对
象
中
的
M
e
t
h
o
d
s
方
法
/
/
把
结
果
与
在
构
造
函
数
中
定
义
的
t
h
i
s
.
m
e
m
b
e
r
V
a
l
u
e
s
做
对
比
,
若
一
样
则
判
定
相
等
f
o
r
(
i
n
t
v
a
r
4
=
0
;
v
a
r
4
<
v
a
r
3
;
+
+
v
a
r
4
)
{
M
e
t
h
o
d
v
a
r
5
=
v
a
r
2
[
v
a
r
4
]
;
/
/
遍
历
获
取
方
法
S
t
r
i
n
g
v
a
r
6
=
v
a
r
5
.
g
e
t
N
a
m
e
(
)
;
/
/
获
取
方
法
名
字
O
b
j
e
c
t
v
a
r
7
=
t
h
i
s
.
m
e
m
b
e
r
V
a
l
u
e
s
.
g
e
t
(
v
a
r
6
)
;
/
/
获
取
我
们
控
制
的
m
e
n
b
e
r
V
a
l
u
e
s
中
的
值
O
b
j
e
c
t
v
a
r
8
=
n
u
l
l
;
/
/
看
看
v
a
r
1
是
不
是
也
是
一
个
代
理
类
,
如
果
是
获
取
它
的
代
理
实
现
类
(
这
里
没
用
)
A
n
n
o
t
a
t
i
o
n
I
n
v
o
c
a
t
i
o
n
H
a
n
d
l
e
r
v
a
r
9
=
t
h
i
s
.
a
s
O
n
e
O
f
U
s
(
v
a
r
1
)
;
i
f
(
v
a
r
9
!
=
n
u
l
l
)
{
v
a
r
8
=
v
a
r
9
.
m
e
m
b
e
r
V
a
l
u
e
s
.
g
e
t
(
v
a
r
6
)
;
}
e
l
s
e
{
/
/
不
是
代
理
类
,
进
入
此
处
t
r
y
{
v
a
r
8
=
v
a
r
5
.
i
n
v
o
k
e
(
v
a
r
1
)
;
/
/
反
射
调
用
!
!
!
!
/
/
这
里
的
意
思
就
是
v
a
r
1
.
v
a
r
5
(
)
/
/
根
据
t
h
i
s
.
t
y
p
e
类
型
遍
历
所
有
方
法
,
调
用
传
入
参
数
v
a
r
1
中
的
所
有
对
应
方
法
。
}
c
a
t
c
h
(
I
n
v
o
c
a
t
i
o
n
T
a
r
g
e
t
E
x
c
e
p
t
i
o
n
v
a
r
1
1
)
{
r
e
t
u
r
n
f
a
l
s
e
;
}
c
a
t
c
h
(
I
l
l
e
g
a
l
A
c
c
e
s
s
E
x
c
e
p
t
i
o
n
v
a
r
1
2
)
{
t
h
r
o
w
n
e
w
A
s
s
e
r
t
i
o
n
E
r
r
o
r
(
v
a
r
1
2
)
;
}
}
/
/
该
函
数
原
本
的
功
能
需
要
比
较
下
调
用
返
回
结
果
与
预
设
值
一
样
不
。
i
f
(
!
m
e
m
b
e
r
V
a
l
u
e
E
q
u
a
l
s
(
v
a
r
7
,
v
a
r
8
)
)
{
r
e
t
u
r
n
f
a
l
s
e
;
}
}
回复
举报
上一个主题
下一个主题
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
!disable!!post_parseurl!
使用Markdown编辑器编辑
使用富文本编辑器编辑
回帖后跳转到最后一页