论坛
BBS
空间测绘
发表
发布文章
提问答疑
搜索
您还未登录
登录后即可体验更多功能
立即登录
我的收藏
提问答疑
我要投稿
IOT
[14260] 2019-06-22_深入了解SQLMAPAPI
文档创建者:
s7ckTeam
浏览次数:
4
最后更新:
2025-01-18
IOT
4 人阅读
|
0 人回复
s7ckTeam
s7ckTeam
当前离线
积分
-54
6万
主题
-6万
回帖
-54
积分
管理员
积分
-54
发消息
2019-06-22_深入了解SQLMAPAPI
深
入
了
解
S
Q
L
M
A
P
A
P
I
看
不
尽
的
尘
埃
F
r
e
e
B
u
f
2
0
1
9
-
0
6
-
2
2
前
言
前
言
以
前
觉
得
以
前
觉
得
s
q
l
m
a
p
自
己
玩
得
挺
溜
了
,
结
果
最
近
有
一
个
任
务
,
需
要
调
用
自
己
玩
得
挺
溜
了
,
结
果
最
近
有
一
个
任
务
,
需
要
调
用
s
q
l
m
a
p
a
p
i
接
口
来
验
证
存
在
接
口
来
验
证
存
在
s
q
l
注
入
漏
洞
的
站
点
,
一
开
始
听
到
这
个
任
务
觉
得
完
了
,
可
能
完
成
不
了
了
。
后
来
我
去
网
上
搜
了
注
入
漏
洞
的
站
点
,
一
开
始
听
到
这
个
任
务
觉
得
完
了
,
可
能
完
成
不
了
了
。
后
来
我
去
网
上
搜
了
搜
相
关
的
资
料
,
发
现
关
于
这
方
面
的
资
料
确
实
挺
少
的
,
于
是
参
观
了
一
下
搜
相
关
的
资
料
,
发
现
关
于
这
方
面
的
资
料
确
实
挺
少
的
,
于
是
参
观
了
一
下
s
q
l
m
a
p
的
源
码
,
大
致
摸
清
楚
了
如
何
调
用
的
源
码
,
大
致
摸
清
楚
了
如
何
调
用
a
p
i
接
口
。
因
此
,
笔
者
打
算
写
一
篇
完
整
些
的
文
章
,
才
有
了
本
文
。
笔
者
技
术
有
接
口
。
因
此
,
笔
者
打
算
写
一
篇
完
整
些
的
文
章
,
才
有
了
本
文
。
笔
者
技
术
有
限
,
有
错
误
或
者
写
的
不
好
的
地
方
敬
请
谅
解
!
限
,
有
错
误
或
者
写
的
不
好
的
地
方
敬
请
谅
解
!
为
什
么
要
使
用
为
什
么
要
使
用
S
Q
L
M
A
P
A
P
I
?
?
由
于
S
Q
L
M
A
P
每
检
测
一
个
站
点
都
需
要
开
启
一
个
新
的
命
令
行
窗
口
或
者
结
束
掉
上
一
个
检
测
任
务
。
虽
然
-
m
参
数
可
以
批
量
扫
描
U
R
L
,
但
是
模
式
也
是
一
个
结
束
扫
描
后
才
开
始
另
一
个
扫
描
任
务
。
通
过
a
p
i
接
口
,
下
发
扫
描
任
务
就
简
单
了
,
无
需
开
启
一
个
新
的
命
令
行
窗
口
。
下
载
与
安
装
下
载
与
安
装
如
果
您
需
要
使
用
s
q
l
m
a
p
a
p
i
接
口
或
者
没
安
装
s
q
l
m
a
p
工
具
的
,
您
需
要
下
载
安
装
s
q
l
m
a
p
程
序
。
而
s
q
l
m
a
p
是
基
于
P
y
t
h
o
n
2
.
7
.
x
开
发
的
,
因
此
您
需
要
下
载
P
y
t
h
o
n
2
.
7
.
x
。
P
y
t
h
o
n
2
.
7
.
x
下
载
地
址
:
h
t
t
p
s
:
/
/
w
w
w
.
p
y
t
h
o
n
.
o
r
g
/
d
o
w
n
l
o
a
d
s
/
r
e
l
e
a
s
e
/
p
y
t
h
o
n
-
2
7
1
5
/
s
q
l
m
a
p
下
载
地
址
:
h
t
t
p
s
:
/
/
g
i
t
h
u
b
.
c
o
m
/
s
q
l
m
a
p
p
r
o
j
e
c
t
/
s
q
l
m
a
p
/
z
i
p
b
a
l
l
/
m
a
s
t
e
r
安
装
过
程
我
这
里
就
不
详
细
说
了
,
不
会
的
话
可
以
问
问
度
娘
(
h
t
t
p
s
:
/
/
w
w
w
.
b
a
i
d
u
.
c
o
m
/
s
?
w
d
=
s
q
l
m
a
p
%
E
5
%
A
E
%
8
9
%
E
8
%
A
3
%
8
5
%
E
6
%
9
5
%
9
9
%
E
7
%
A
8
%
8
B
)
s
q
l
m
a
p
的
目
录
结
构
图
如
下
:
s
q
l
m
a
p
安
装
完
成
后
,
输
入
以
下
命
令
,
返
回
内
容
如
下
图
一
样
,
意
味
着
安
装
成
功
:
s
q
l
m
a
p
a
p
i
说
了
那
么
多
,
到
底
a
p
i
如
何
使
用
呢
?
在
下
载
安
装
S
Q
L
M
A
P
后
,
你
会
在
s
q
l
m
a
p
安
装
目
录
中
找
到
一
个
s
q
l
m
a
p
a
p
i
.
p
y
的
文
件
,
这
个
s
q
l
m
a
p
a
p
i
.
p
y
文
件
就
是
s
q
l
m
m
a
p
a
p
i
。
s
q
l
m
a
p
a
p
i
分
为
服
务
端
和
客
户
端
,
s
q
l
m
a
p
a
p
i
有
两
种
模
式
,
一
种
是
基
于
H
T
T
P
协
议
的
接
口
模
式
,
一
种
是
基
于
命
令
行
的
接
口
模
式
。
s
q
l
m
a
p
a
p
i
.
p
y
的
使
用
帮
助
的
使
用
帮
助
通
过
以
下
命
令
获
取
s
q
l
m
a
p
a
p
i
.
p
y
的
使
用
帮
助
:
返
回
的
信
息
:
p
y
t
h
o
n
s
q
l
m
a
p
.
p
y
-
h
p
y
t
h
o
n
s
q
l
m
a
p
a
p
i
.
p
y
-
h
U
s
a
g
e
:
s
q
l
m
a
p
a
p
i
.
p
y
[
o
p
t
i
o
n
s
]
O
p
t
i
o
n
s
:
-
h
,
-
-
h
e
l
p
显
示
帮
助
信
息
并
退
出
-
s
,
-
-
s
e
r
v
e
r
做
为
a
p
i
服
务
端
运
行
开
启
开
启
a
p
i
服
务
端
服
务
端
无
论
是
基
于
H
T
T
P
协
议
的
接
口
模
式
还
是
基
于
命
令
行
的
接
口
模
式
,
首
先
都
是
需
要
开
启
a
p
i
服
务
端
的
。
通
过
输
入
以
下
命
令
即
可
开
启
a
p
i
服
务
端
:
命
令
成
功
后
,
在
命
令
行
中
会
返
回
一
些
信
息
。
以
下
命
令
大
概
的
意
思
是
a
p
i
服
务
端
在
本
地
8
7
7
5
端
口
上
运
行
,
a
d
m
i
n
t
o
k
e
n
为
1
a
c
a
c
5
6
4
2
7
f
2
7
2
e
3
1
6
f
c
e
a
b
e
5
d
d
f
f
5
a
5
,
I
P
C
数
据
库
的
位
置
在
/
t
m
p
/
s
q
l
m
a
p
i
p
c
-
z
O
I
G
m
_
,
a
p
i
服
务
端
已
经
和
I
P
C
数
据
库
连
接
上
了
,
正
在
使
用
b
o
t
t
l
e
框
架
w
s
g
i
r
e
f
标
准
接
口
。
但
是
通
过
上
面
的
这
种
方
式
开
启
a
p
i
服
务
端
有
一
个
缺
点
,
当
服
务
端
和
客
户
端
不
是
一
台
主
机
会
连
接
不
上
,
因
此
如
果
要
解
决
这
个
问
题
,
可
以
通
过
输
入
以
下
命
令
来
开
启
a
p
i
服
务
端
:
命
令
成
功
后
,
远
程
客
户
端
就
可
以
通
过
指
定
远
程
主
机
I
P
和
端
口
来
连
接
到
A
P
I
服
务
端
。
固
定
固
定
a
d
m
i
n
t
o
k
e
n
如
果
您
有
特
殊
的
需
求
需
要
固
定
a
d
m
i
n
t
o
k
e
n
的
话
,
可
以
修
改
文
件
a
p
i
.
p
y
,
该
文
件
在
s
q
l
m
a
p
目
录
下
的
/
l
i
b
/
u
t
i
l
s
/
中
,
修
改
该
文
件
的
第
6
6
1
行
代
码
,
以
下
是
源
代
码
:
s
q
l
m
a
p
a
p
i
的
两
种
模
式
的
两
种
模
式
命
令
行
接
口
模
式
命
令
行
接
口
模
式
输
入
以
下
命
令
,
可
连
接
a
p
i
服
务
端
,
进
行
后
期
的
指
令
发
送
操
作
:
如
果
是
客
户
端
和
服
务
端
不
是
同
一
台
计
算
机
的
话
,
输
入
以
下
命
令
:
输
入
以
上
命
令
后
,
会
进
入
交
互
模
式
,
如
下
图
所
示
:
命
令
行
接
口
模
式
的
相
关
命
令
通
过
在
交
互
模
式
下
输
入
h
e
l
p
命
令
,
获
取
所
有
命
令
,
以
下
是
该
接
口
模
式
的
所
有
命
令
:
既
然
了
解
了
命
令
行
接
口
模
式
中
所
有
命
令
,
那
么
下
面
就
通
过
一
个
s
q
l
注
入
来
演
示
该
模
式
接
口
下
检
测
s
q
l
注
入
的
流
程
。
检
测
检
测
G
E
T
型
注
入
型
注
入
通
过
输
入
以
下
命
令
可
以
检
测
G
E
T
注
入
虽
然
我
们
仅
仅
只
指
定
了
-
u
参
数
,
但
是
从
返
回
的
信
息
中
可
以
看
出
,
输
入
n
e
w
命
令
后
,
首
先
先
请
求
了
/
t
a
s
k
/
n
e
w
,
来
创
建
一
个
新
的
t
a
s
k
i
d
,
后
又
发
起
了
一
个
请
求
去
开
始
任
务
,
因
此
可
以
发
现
该
模
式
实
质
也
是
基
于
H
T
T
P
协
议
的
。
通
过
输
入
s
t
a
t
u
s
命
令
,
来
获
取
该
任
务
的
扫
描
状
态
,
若
返
回
内
容
中
的
s
t
a
t
u
s
字
段
为
t
e
r
m
i
n
a
t
e
d
,
说
明
扫
描
完
成
,
若
返
回
内
容
中
的
s
t
a
t
u
s
字
段
为
r
u
n
,
说
明
扫
描
还
在
进
行
中
。
下
图
是
扫
描
完
成
的
截
图
:
-
s
,
-
-
s
e
r
v
e
r
做
为
a
p
i
服
务
端
运
行
-
c
,
-
-
c
l
i
e
n
t
做
为
a
p
i
客
户
端
运
行
-
H
H
O
S
T
,
-
-
h
o
s
t
=
H
O
S
T
指
定
服
务
端
I
P
地
址
(
默
认
I
P
是
"
1
2
7
.
0
.
0
.
1
"
)
-
p
P
O
R
T
,
-
-
p
o
r
t
=
P
O
R
T
指
定
服
务
端
端
口
(
默
认
端
口
8
7
7
5
)
-
-
a
d
a
p
t
e
r
=
A
D
A
P
T
E
R
服
务
端
标
准
接
口
(
默
认
是
"
w
s
g
i
r
e
f
"
)
-
-
u
s
e
r
n
a
m
e
=
U
S
E
R
N
A
M
E
可
空
,
设
置
用
户
名
-
-
p
a
s
s
w
o
r
d
=
P
A
S
S
W
O
R
D
可
空
,
设
置
密
码
p
y
t
h
o
n
s
q
l
m
a
p
a
p
i
.
p
y
-
s
[
1
9
:
5
3
:
5
7
]
[
I
N
F
O
]
R
u
n
n
i
n
g
R
E
S
T
-
J
S
O
N
A
P
I
s
e
r
v
e
r
a
t
'
1
2
7
.
0
.
0
.
1
:
8
7
7
5
'
.
.
[
1
9
:
5
3
:
5
7
]
[
I
N
F
O
]
A
d
m
i
n
(
s
e
c
r
e
t
)
t
o
k
e
n
:
1
a
c
a
c
5
6
4
2
7
f
2
7
2
e
3
1
6
f
c
e
a
b
e
5
d
d
f
f
5
a
5
[
1
9
:
5
3
:
5
7
]
[
D
E
B
U
G
]
I
P
C
d
a
t
a
b
a
s
e
:
'
/
t
m
p
/
s
q
l
m
a
p
i
p
c
-
z
O
I
G
m
_
'
[
1
9
:
5
3
:
5
7
]
[
D
E
B
U
G
]
R
E
S
T
-
J
S
O
N
A
P
I
s
e
r
v
e
r
c
o
n
n
e
c
t
e
d
t
o
I
P
C
d
a
t
a
b
a
s
e
[
1
9
:
5
3
:
5
7
]
[
D
E
B
U
G
]
U
s
i
n
g
a
d
a
p
t
e
r
'
w
s
g
i
r
e
f
'
t
o
r
u
n
b
o
t
t
l
e
p
y
t
h
o
n
s
q
l
m
a
p
a
p
i
.
p
y
-
s
-
H
"
0
.
0
.
0
.
0
"
-
p
8
7
7
5
D
a
t
a
S
t
o
r
e
.
a
d
m
i
n
_
t
o
k
e
n
=
h
e
x
e
n
c
o
d
e
(
o
s
.
u
r
a
n
d
o
m
(
1
6
)
)
p
y
t
h
o
n
s
q
l
m
a
p
a
p
i
.
p
y
-
c
p
y
t
h
o
n
s
q
l
m
a
p
a
p
i
.
p
y
-
c
-
H
"
1
9
2
.
1
6
8
.
1
.
1
0
1
"
-
p
8
7
7
5
a
p
i
>
h
e
l
p
h
e
l
p
显
示
帮
助
信
息
n
e
w
A
R
G
S
开
启
一
个
新
的
扫
描
任
务
u
s
e
T
A
S
K
I
D
切
换
t
a
s
k
i
d
d
a
t
a
获
取
当
前
任
务
返
回
的
数
据
l
o
g
获
取
当
前
任
务
的
扫
描
日
志
s
t
a
t
u
s
获
取
当
前
任
务
的
扫
描
状
态
o
p
t
i
o
n
O
P
T
I
O
N
获
取
当
前
任
务
的
选
项
o
p
t
i
o
n
s
获
取
当
前
任
务
的
所
有
配
置
信
息
s
t
o
p
停
止
当
前
任
务
k
i
l
l
杀
死
当
前
任
务
l
i
s
t
显
示
所
有
任
务
列
表
f
l
u
s
h
清
空
所
有
任
务
e
x
i
t
退
出
客
户
端
t
n
e
w
-
u
"
u
r
l
"
通
过
输
入
d
a
t
a
命
令
,
来
获
取
扫
描
完
成
后
注
入
出
来
的
信
息
,
若
返
回
的
内
容
中
d
a
t
a
字
段
不
为
空
就
说
明
存
在
注
入
。
下
图
是
存
在
S
Q
L
注
入
返
回
的
内
容
,
可
以
看
到
返
回
的
内
容
有
数
据
库
类
型
、
p
a
y
l
o
a
d
、
注
入
的
参
数
等
等
。
下
图
是
不
存
在
注
入
返
回
的
内
容
,
d
a
t
a
字
段
为
空
:
检
测
检
测
P
O
S
T
型
、
型
、
c
o
o
k
i
e
、
、
U
A
等
注
入
等
注
入
通
过
输
入
以
下
命
令
,
在
d
a
t
a
.
t
x
t
中
加
入
星
号
,
指
定
注
入
的
位
置
,
来
达
到
检
测
P
O
S
T
、
c
o
o
k
i
e
、
U
A
等
注
入
的
目
的
:
总
结
总
结
基
于
命
令
行
的
接
口
模
式
用
起
来
还
是
比
较
方
便
的
,
我
们
只
需
要
通
过
n
e
w
命
令
就
可
以
自
动
创
建
t
a
s
k
i
d
并
开
始
该
任
务
,
但
是
如
果
写
程
序
调
用
的
话
可
能
就
不
是
那
么
友
善
了
,
因
此
笔
者
会
重
点
介
绍
下
面
的
一
种
接
口
模
式
,
基
于
H
T
T
P
协
议
的
接
口
模
式
。
基
于
基
于
H
T
T
P
协
议
的
接
口
模
式
协
议
的
接
口
模
式
下
列
都
是
基
于
H
T
T
P
协
议
A
P
I
交
互
的
所
有
方
法
:
提
示
:
“
@
g
e
t
”
就
说
明
需
要
通
过
G
E
T
请
求
的
,
“
@
p
o
s
t
”
就
说
明
需
要
通
过
P
O
S
T
请
求
的
;
P
O
S
T
请
求
需
要
修
改
H
T
T
P
头
中
的
C
o
n
t
e
n
t
-
T
y
p
e
字
段
为
a
p
p
l
i
c
a
t
i
o
n
/
j
s
o
n
。
n
e
w
-
r
d
a
t
a
.
t
x
t
#
辅
助
@
g
e
t
(
'
/
e
r
r
o
r
/
4
0
1
'
)
@
g
e
t
(
"
/
t
a
s
k
/
n
e
w
"
)
@
g
e
t
(
"
/
t
a
s
k
/
<
t
a
s
k
i
d
>
/
d
e
l
e
t
e
"
)
#
A
d
m
i
n
命
令
@
g
e
t
(
"
/
a
d
m
i
n
/
l
i
s
t
"
)
@
g
e
t
(
"
/
a
d
m
i
n
/
<
t
o
k
e
n
>
/
l
i
s
t
"
)
@
g
e
t
(
"
/
a
d
m
i
n
/
f
l
u
s
h
"
)
@
g
e
t
(
"
/
a
d
m
i
n
/
<
t
o
k
e
n
>
/
f
l
u
s
h
"
)
#
s
q
l
m
a
p
核
心
交
互
命
令
@
g
e
t
(
"
/
o
p
t
i
o
n
/
<
t
a
s
k
i
d
>
/
l
i
s
t
"
)
@
p
o
s
t
(
"
/
o
p
t
i
o
n
/
<
t
a
s
k
i
d
>
/
g
e
t
"
)
@
p
o
s
t
(
"
/
o
p
t
i
o
n
/
<
t
a
s
k
i
d
>
/
s
e
t
"
)
@
p
o
s
t
(
"
/
s
c
a
n
/
<
t
a
s
k
i
d
>
/
s
t
a
r
t
"
)
@
g
e
t
(
"
/
s
c
a
n
/
<
t
a
s
k
i
d
>
/
s
t
o
p
"
)
@
g
e
t
(
"
/
s
c
a
n
/
<
t
a
s
k
i
d
>
/
k
i
l
l
"
)
@
g
e
t
(
"
/
s
c
a
n
/
<
t
a
s
k
i
d
>
/
s
t
a
t
u
s
"
)
@
g
e
t
(
"
/
s
c
a
n
/
<
t
a
s
k
i
d
>
/
d
a
t
a
"
)
@
g
e
t
(
‘
/
e
r
r
o
r
/
4
0
1
’
)
该
接
口
在
我
的
理
解
表
明
首
先
需
要
登
录
(
A
d
m
i
n
t
o
k
e
n
)
,
不
然
会
返
回
状
态
码
4
0
1
。
具
体
代
码
如
下
:
@
g
e
t
(
“
/
t
a
s
k
/
n
e
w
”
)
该
接
口
用
于
创
建
一
个
新
的
任
务
,
使
用
后
会
返
回
一
个
随
机
的
t
a
s
k
i
d
。
具
体
代
码
如
下
:
下
图
是
调
用
该
接
口
的
截
图
:
@
g
e
t
(
“
/
t
a
s
k
/
/
d
e
l
e
t
e
”
)
该
接
口
用
于
删
除
t
a
s
k
i
d
。
在
调
用
时
指
定
t
a
s
k
i
d
,
不
指
定
t
a
s
k
i
d
会
有
问
题
。
具
体
代
码
如
下
:
下
图
是
调
用
该
接
口
的
截
图
:
@
g
e
t
(
“
/
a
d
m
i
n
/
l
i
s
t
”
)
/
@
g
e
t
(
“
/
a
d
m
i
n
/
/
l
i
s
t
”
)
该
接
口
用
于
返
回
所
有
t
a
s
k
i
d
。
在
调
用
时
指
定
t
a
s
k
i
d
,
不
指
定
t
a
s
k
i
d
会
有
问
题
。
具
体
代
码
如
下
:
@
g
e
t
(
"
/
s
c
a
n
/
<
t
a
s
k
i
d
>
/
d
a
t
a
"
)
@
g
e
t
(
"
/
s
c
a
n
/
<
t
a
s
k
i
d
>
/
l
o
g
/
<
s
t
a
r
t
>
/
<
e
n
d
>
"
)
@
g
e
t
(
"
/
s
c
a
n
/
<
t
a
s
k
i
d
>
/
l
o
g
"
)
@
g
e
t
(
"
/
d
o
w
n
l
o
a
d
/
<
t
a
s
k
i
d
>
/
<
t
a
r
g
e
t
>
/
<
f
i
l
e
n
a
m
e
:
p
a
t
h
>
"
)
r
e
s
p
o
n
s
e
.
s
t
a
t
u
s
=
4
0
1
r
e
t
u
r
n
r
e
s
p
o
n
s
e
d
e
f
t
a
s
k
_
n
e
w
(
)
:
"
"
"
C
r
e
a
t
e
a
n
e
w
t
a
s
k
"
"
"
t
a
s
k
i
d
=
h
e
x
e
n
c
o
d
e
(
o
s
.
u
r
a
n
d
o
m
(
8
)
)
r
e
m
o
t
e
_
a
d
d
r
=
r
e
q
u
e
s
t
.
r
e
m
o
t
e
_
a
d
d
r
D
a
t
a
S
t
o
r
e
.
t
a
s
k
s
[
t
a
s
k
i
d
]
=
T
a
s
k
(
t
a
s
k
i
d
,
r
e
m
o
t
e
_
a
d
d
r
)
l
o
g
g
e
r
.
d
e
b
u
g
(
"
C
r
e
a
t
e
d
n
e
w
t
a
s
k
:
'
%
s
'
"
%
t
a
s
k
i
d
)
r
e
t
u
r
n
j
s
o
n
i
z
e
(
{
"
s
u
c
c
e
s
s
"
:
T
r
u
e
,
"
t
a
s
k
i
d
"
:
t
a
s
k
i
d
}
)
d
e
f
t
a
s
k
_
d
e
l
e
t
e
(
t
a
s
k
i
d
)
:
"
"
"
D
e
l
e
t
e
a
n
e
x
i
s
t
i
n
g
t
a
s
k
"
"
"
i
f
t
a
s
k
i
d
i
n
D
a
t
a
S
t
o
r
e
.
t
a
s
k
s
:
D
a
t
a
S
t
o
r
e
.
t
a
s
k
s
.
p
o
p
(
t
a
s
k
i
d
)
l
o
g
g
e
r
.
d
e
b
u
g
(
"
(
%
s
)
D
e
l
e
t
e
d
t
a
s
k
"
%
t
a
s
k
i
d
)
r
e
t
u
r
n
j
s
o
n
i
z
e
(
{
"
s
u
c
c
e
s
s
"
:
T
r
u
e
}
)
e
l
s
e
:
r
e
s
p
o
n
s
e
.
s
t
a
t
u
s
=
4
0
4
l
o
g
g
e
r
.
w
a
r
n
i
n
g
(
"
[
%
s
]
N
o
n
-
e
x
i
s
t
i
n
g
t
a
s
k
I
D
p
r
o
v
i
d
e
d
t
o
t
a
s
k
_
d
e
l
e
t
e
(
)
"
%
t
a
s
k
i
d
)
r
e
t
u
r
n
j
s
o
n
i
z
e
(
{
"
s
u
c
c
e
s
s
"
:
F
a
l
s
e
,
"
m
e
s
s
a
g
e
"
:
"
N
o
n
-
e
x
i
s
t
i
n
g
t
a
s
k
I
D
"
}
)
d
e
f
t
a
s
k
_
l
i
s
t
(
t
o
k
e
n
=
N
o
n
e
)
:
"
"
"
P
u
l
l
t
a
s
k
l
i
s
t
"
"
"
t
a
s
k
s
=
{
}
f
o
r
k
e
y
i
n
D
a
t
a
S
t
o
r
e
.
t
a
s
k
s
:
i
f
i
s
_
a
d
m
i
n
(
t
o
k
e
n
)
o
r
D
a
t
a
S
t
o
r
e
.
t
a
s
k
s
[
k
e
y
]
.
r
e
m
o
t
e
_
a
d
d
r
=
=
r
e
q
u
e
s
t
.
r
e
m
o
t
e
_
a
d
d
r
:
下
图
是
调
用
该
接
口
的
截
图
:
@
g
e
t
(
“
/
a
d
m
i
n
/
f
l
u
s
h
”
)
/
@
g
e
t
(
“
/
a
d
m
i
n
/
/
f
l
u
s
h
”
)
该
接
口
用
于
删
除
所
有
任
务
。
在
调
用
时
指
定
a
d
m
i
n
t
o
k
e
n
,
不
指
定
a
d
m
i
n
t
o
k
e
n
可
能
会
有
问
题
。
具
体
代
码
如
下
:
下
图
是
调
用
该
接
口
的
截
图
:
@
g
e
t
(
“
/
o
p
t
i
o
n
/
/
l
i
s
t
”
)
该
接
口
可
获
取
特
定
任
务
I
D
的
列
表
选
项
,
调
用
时
请
指
定
t
a
s
k
i
d
,
不
然
会
出
现
问
题
。
具
体
代
码
如
下
:
下
图
是
调
用
该
接
口
的
截
图
:
@
p
o
s
t
(
“
/
o
p
t
i
o
n
/
/
g
e
t
”
)
该
接
口
可
获
取
特
定
任
务
I
D
的
选
项
值
,
调
用
时
请
指
定
t
a
s
k
i
d
,
不
然
会
出
现
问
题
。
具
体
代
码
如
下
:
下
图
是
调
用
该
接
口
的
截
图
:
@
p
o
s
t
(
“
/
o
p
t
i
o
n
/
/
s
e
t
”
)
该
接
口
为
特
定
任
务
I
D
设
置
选
项
值
,
调
用
时
请
指
定
t
a
s
k
i
d
,
不
然
会
出
现
问
题
。
具
体
代
码
如
下
:
t
a
s
k
s
[
k
e
y
]
=
d
e
j
s
o
n
i
z
e
(
s
c
a
n
_
s
t
a
t
u
s
(
k
e
y
)
)
[
"
s
t
a
t
u
s
"
]
l
o
g
g
e
r
.
d
e
b
u
g
(
"
(
%
s
)
L
i
s
t
e
d
t
a
s
k
p
o
o
l
(
%
s
)
"
%
(
t
o
k
e
n
,
"
a
d
m
i
n
"
i
f
i
s
_
a
d
m
i
n
(
t
o
k
e
n
)
e
l
s
e
r
e
q
u
e
s
t
.
r
e
m
o
t
e
_
a
d
d
r
)
)
r
e
t
u
r
n
j
s
o
n
i
z
e
(
{
"
s
u
c
c
e
s
s
"
:
T
r
u
e
,
"
t
a
s
k
s
"
:
t
a
s
k
s
,
"
t
a
s
k
s
_
n
u
m
"
:
l
e
n
(
t
a
s
k
s
)
}
)
d
e
f
t
a
s
k
_
f
l
u
s
h
(
t
o
k
e
n
=
N
o
n
e
)
:
"
"
"
F
l
u
s
h
t
a
s
k
s
p
o
o
l
(
d
e
l
e
t
e
a
l
l
t
a
s
k
s
)
"
"
"
f
o
r
k
e
y
i
n
l
i
s
t
(
D
a
t
a
S
t
o
r
e
.
t
a
s
k
s
)
:
i
f
i
s
_
a
d
m
i
n
(
t
o
k
e
n
)
o
r
D
a
t
a
S
t
o
r
e
.
t
a
s
k
s
[
k
e
y
]
.
r
e
m
o
t
e
_
a
d
d
r
=
=
r
e
q
u
e
s
t
.
r
e
m
o
t
e
_
a
d
d
r
:
D
a
t
a
S
t
o
r
e
.
t
a
s
k
s
[
k
e
y
]
.
e
n
g
i
n
e
_
k
i
l
l
(
)
d
e
l
D
a
t
a
S
t
o
r
e
.
t
a
s
k
s
[
k
e
y
]
l
o
g
g
e
r
.
d
e
b
u
g
(
"
(
%
s
)
F
l
u
s
h
e
d
t
a
s
k
p
o
o
l
(
%
s
)
"
%
(
t
o
k
e
n
,
"
a
d
m
i
n
"
i
f
i
s
_
a
d
m
i
n
(
t
o
k
e
n
)
e
l
s
e
r
e
q
u
e
s
t
.
r
e
m
o
t
e
_
a
d
d
r
)
)
r
e
t
u
r
n
j
s
o
n
i
z
e
(
{
"
s
u
c
c
e
s
s
"
:
T
r
u
e
}
)
d
e
f
o
p
t
i
o
n
_
l
i
s
t
(
t
a
s
k
i
d
)
:
"
"
"
L
i
s
t
o
p
t
i
o
n
s
f
o
r
a
c
e
r
t
a
i
n
t
a
s
k
I
D
"
"
"
i
f
t
a
s
k
i
d
n
o
t
i
n
D
a
t
a
S
t
o
r
e
.
t
a
s
k
s
:
l
o
g
g
e
r
.
w
a
r
n
i
n
g
(
"
[
%
s
]
I
n
v
a
l
i
d
t
a
s
k
I
D
p
r
o
v
i
d
e
d
t
o
o
p
t
i
o
n
_
l
i
s
t
(
)
"
%
t
a
s
k
i
d
)
r
e
t
u
r
n
j
s
o
n
i
z
e
(
{
"
s
u
c
c
e
s
s
"
:
F
a
l
s
e
,
"
m
e
s
s
a
g
e
"
:
"
I
n
v
a
l
i
d
t
a
s
k
I
D
"
}
)
l
o
g
g
e
r
.
d
e
b
u
g
(
"
(
%
s
)
L
i
s
t
e
d
t
a
s
k
o
p
t
i
o
n
s
"
%
t
a
s
k
i
d
)
r
e
t
u
r
n
j
s
o
n
i
z
e
(
{
"
s
u
c
c
e
s
s
"
:
T
r
u
e
,
"
o
p
t
i
o
n
s
"
:
D
a
t
a
S
t
o
r
e
.
t
a
s
k
s
[
t
a
s
k
i
d
]
.
g
e
t
_
o
p
t
i
o
n
s
(
)
}
)
d
e
f
o
p
t
i
o
n
_
g
e
t
(
t
a
s
k
i
d
)
:
"
"
"
G
e
t
v
a
l
u
e
o
f
o
p
t
i
o
n
(
s
)
f
o
r
a
c
e
r
t
a
i
n
t
a
s
k
I
D
"
"
"
i
f
t
a
s
k
i
d
n
o
t
i
n
D
a
t
a
S
t
o
r
e
.
t
a
s
k
s
:
l
o
g
g
e
r
.
w
a
r
n
i
n
g
(
"
[
%
s
]
I
n
v
a
l
i
d
t
a
s
k
I
D
p
r
o
v
i
d
e
d
t
o
o
p
t
i
o
n
_
g
e
t
(
)
"
%
t
a
s
k
i
d
)
r
e
t
u
r
n
j
s
o
n
i
z
e
(
{
"
s
u
c
c
e
s
s
"
:
F
a
l
s
e
,
"
m
e
s
s
a
g
e
"
:
"
I
n
v
a
l
i
d
t
a
s
k
I
D
"
}
)
o
p
t
i
o
n
s
=
r
e
q
u
e
s
t
.
j
s
o
n
o
r
[
]
r
e
s
u
l
t
s
=
{
}
f
o
r
o
p
t
i
o
n
i
n
o
p
t
i
o
n
s
:
i
f
o
p
t
i
o
n
i
n
D
a
t
a
S
t
o
r
e
.
t
a
s
k
s
[
t
a
s
k
i
d
]
.
o
p
t
i
o
n
s
:
r
e
s
u
l
t
s
[
o
p
t
i
o
n
]
=
D
a
t
a
S
t
o
r
e
.
t
a
s
k
s
[
t
a
s
k
i
d
]
.
o
p
t
i
o
n
s
[
o
p
t
i
o
n
]
e
l
s
e
:
l
o
g
g
e
r
.
d
e
b
u
g
(
"
(
%
s
)
R
e
q
u
e
s
t
e
d
v
a
l
u
e
f
o
r
u
n
k
n
o
w
n
o
p
t
i
o
n
'
%
s
'
"
%
(
t
a
s
k
i
d
,
o
p
t
i
o
n
)
)
r
e
t
u
r
n
j
s
o
n
i
z
e
(
{
"
s
u
c
c
e
s
s
"
:
F
a
l
s
e
,
"
m
e
s
s
a
g
e
"
:
"
U
n
k
n
o
w
n
o
p
t
i
o
n
'
%
s
'
"
%
o
p
t
i
o
n
}
)
l
o
g
g
e
r
.
d
e
b
u
g
(
"
(
%
s
)
R
e
t
r
i
e
v
e
d
v
a
l
u
e
s
f
o
r
o
p
t
i
o
n
(
s
)
'
%
s
'
"
%
(
t
a
s
k
i
d
,
"
,
"
.
j
o
i
n
(
o
p
t
i
o
n
s
)
)
)
r
e
t
u
r
n
j
s
o
n
i
z
e
(
{
"
s
u
c
c
e
s
s
"
:
T
r
u
e
,
"
o
p
t
i
o
n
s
"
:
r
e
s
u
l
t
s
}
)
d
e
f
o
p
t
i
o
n
_
s
e
t
(
t
a
s
k
i
d
)
:
下
图
是
调
用
该
接
口
的
截
图
:
@
p
o
s
t
(
“
/
s
c
a
n
/
/
s
t
a
r
t
”
)
该
接
口
定
义
开
始
扫
描
特
定
任
务
,
调
用
时
请
指
定
t
a
s
k
i
d
,
不
然
会
出
现
问
题
。
具
体
代
码
如
下
:
下
图
是
调
用
该
接
口
的
截
图
:
@
g
e
t
(
“
/
s
c
a
n
/
/
s
t
o
p
”
)
该
接
口
定
义
停
止
扫
描
特
定
任
务
,
调
用
时
请
指
定
t
a
s
k
i
d
,
不
然
会
出
现
问
题
。
具
体
代
码
如
下
:
下
图
是
调
用
该
接
口
的
截
图
:
@
g
e
t
(
“
/
s
c
a
n
/
/
k
i
l
l
”
)
该
接
口
可
杀
死
特
定
任
务
,
需
要
指
定
t
a
s
k
i
d
,
不
然
会
出
现
问
题
。
具
体
代
码
如
下
:
@
g
e
t
(
“
/
s
c
a
n
/
/
s
t
a
t
u
s
”
)
"
"
"
S
e
t
v
a
l
u
e
o
f
o
p
t
i
o
n
(
s
)
f
o
r
a
c
e
r
t
a
i
n
t
a
s
k
I
D
"
"
"
i
f
t
a
s
k
i
d
n
o
t
i
n
D
a
t
a
S
t
o
r
e
.
t
a
s
k
s
:
l
o
g
g
e
r
.
w
a
r
n
i
n
g
(
"
[
%
s
]
I
n
v
a
l
i
d
t
a
s
k
I
D
p
r
o
v
i
d
e
d
t
o
o
p
t
i
o
n
_
s
e
t
(
)
"
%
t
a
s
k
i
d
)
r
e
t
u
r
n
j
s
o
n
i
z
e
(
{
"
s
u
c
c
e
s
s
"
:
F
a
l
s
e
,
"
m
e
s
s
a
g
e
"
:
"
I
n
v
a
l
i
d
t
a
s
k
I
D
"
}
)
i
f
r
e
q
u
e
s
t
.
j
s
o
n
i
s
N
o
n
e
:
l
o
g
g
e
r
.
w
a
r
n
i
n
g
(
"
[
%
s
]
I
n
v
a
l
i
d
J
S
O
N
o
p
t
i
o
n
s
p
r
o
v
i
d
e
d
t
o
o
p
t
i
o
n
_
s
e
t
(
)
"
%
t
a
s
k
i
d
)
r
e
t
u
r
n
j
s
o
n
i
z
e
(
{
"
s
u
c
c
e
s
s
"
:
F
a
l
s
e
,
"
m
e
s
s
a
g
e
"
:
"
I
n
v
a
l
i
d
J
S
O
N
o
p
t
i
o
n
s
"
}
)
f
o
r
o
p
t
i
o
n
,
v
a
l
u
e
i
n
r
e
q
u
e
s
t
.
j
s
o
n
.
i
t
e
m
s
(
)
:
D
a
t
a
S
t
o
r
e
.
t
a
s
k
s
[
t
a
s
k
i
d
]
.
s
e
t
_
o
p
t
i
o
n
(
o
p
t
i
o
n
,
v
a
l
u
e
)
l
o
g
g
e
r
.
d
e
b
u
g
(
"
(
%
s
)
R
e
q
u
e
s
t
e
d
t
o
s
e
t
o
p
t
i
o
n
s
"
%
t
a
s
k
i
d
)
r
e
t
u
r
n
j
s
o
n
i
z
e
(
{
"
s
u
c
c
e
s
s
"
:
T
r
u
e
}
)
d
e
f
s
c
a
n
_
s
t
a
r
t
(
t
a
s
k
i
d
)
:
"
"
"
L
a
u
n
c
h
a
s
c
a
n
"
"
"
i
f
t
a
s
k
i
d
n
o
t
i
n
D
a
t
a
S
t
o
r
e
.
t
a
s
k
s
:
l
o
g
g
e
r
.
w
a
r
n
i
n
g
(
"
[
%
s
]
I
n
v
a
l
i
d
t
a
s
k
I
D
p
r
o
v
i
d
e
d
t
o
s
c
a
n
_
s
t
a
r
t
(
)
"
%
t
a
s
k
i
d
)
r
e
t
u
r
n
j
s
o
n
i
z
e
(
{
"
s
u
c
c
e
s
s
"
:
F
a
l
s
e
,
"
m
e
s
s
a
g
e
"
:
"
I
n
v
a
l
i
d
t
a
s
k
I
D
"
}
)
i
f
r
e
q
u
e
s
t
.
j
s
o
n
i
s
N
o
n
e
:
l
o
g
g
e
r
.
w
a
r
n
i
n
g
(
"
[
%
s
]
I
n
v
a
l
i
d
J
S
O
N
o
p
t
i
o
n
s
p
r
o
v
i
d
e
d
t
o
s
c
a
n
_
s
t
a
r
t
(
)
"
%
t
a
s
k
i
d
)
r
e
t
u
r
n
j
s
o
n
i
z
e
(
{
"
s
u
c
c
e
s
s
"
:
F
a
l
s
e
,
"
m
e
s
s
a
g
e
"
:
"
I
n
v
a
l
i
d
J
S
O
N
o
p
t
i
o
n
s
"
}
)
#
I
n
i
t
i
a
l
i
z
e
s
q
l
m
a
p
e
n
g
i
n
e
'
s
o
p
t
i
o
n
s
w
i
t
h
u
s
e
r
'
s
p
r
o
v
i
d
e
d
o
p
t
i
o
n
s
,
i
f
a
n
y
f
o
r
o
p
t
i
o
n
,
v
a
l
u
e
i
n
r
e
q
u
e
s
t
.
j
s
o
n
.
i
t
e
m
s
(
)
:
D
a
t
a
S
t
o
r
e
.
t
a
s
k
s
[
t
a
s
k
i
d
]
.
s
e
t
_
o
p
t
i
o
n
(
o
p
t
i
o
n
,
v
a
l
u
e
)
#
L
a
u
n
c
h
s
q
l
m
a
p
e
n
g
i
n
e
i
n
a
s
e
p
a
r
a
t
e
p
r
o
c
e
s
s
D
a
t
a
S
t
o
r
e
.
t
a
s
k
s
[
t
a
s
k
i
d
]
.
e
n
g
i
n
e
_
s
t
a
r
t
(
)
l
o
g
g
e
r
.
d
e
b
u
g
(
"
(
%
s
)
S
t
a
r
t
e
d
s
c
a
n
"
%
t
a
s
k
i
d
)
r
e
t
u
r
n
j
s
o
n
i
z
e
(
{
"
s
u
c
c
e
s
s
"
:
T
r
u
e
,
"
e
n
g
i
n
e
i
d
"
:
D
a
t
a
S
t
o
r
e
.
t
a
s
k
s
[
t
a
s
k
i
d
]
.
e
n
g
i
n
e
_
g
e
t
_
i
d
(
)
}
)
d
e
f
s
c
a
n
_
s
t
o
p
(
t
a
s
k
i
d
)
:
"
"
"
S
t
o
p
a
s
c
a
n
"
"
"
i
f
(
t
a
s
k
i
d
n
o
t
i
n
D
a
t
a
S
t
o
r
e
.
t
a
s
k
s
o
r
D
a
t
a
S
t
o
r
e
.
t
a
s
k
s
[
t
a
s
k
i
d
]
.
e
n
g
i
n
e
_
p
r
o
c
e
s
s
(
)
i
s
N
o
n
e
o
r
D
a
t
a
S
t
o
r
e
.
t
a
s
k
s
[
t
a
s
k
i
d
]
.
e
n
g
i
n
e
_
h
a
s
_
t
e
r
m
i
n
a
t
e
d
(
)
)
:
l
o
g
g
e
r
.
w
a
r
n
i
n
g
(
"
[
%
s
]
I
n
v
a
l
i
d
t
a
s
k
I
D
p
r
o
v
i
d
e
d
t
o
s
c
a
n
_
s
t
o
p
(
)
"
%
t
a
s
k
i
d
)
r
e
t
u
r
n
j
s
o
n
i
z
e
(
{
"
s
u
c
c
e
s
s
"
:
F
a
l
s
e
,
"
m
e
s
s
a
g
e
"
:
"
I
n
v
a
l
i
d
t
a
s
k
I
D
"
}
)
D
a
t
a
S
t
o
r
e
.
t
a
s
k
s
[
t
a
s
k
i
d
]
.
e
n
g
i
n
e
_
s
t
o
p
(
)
l
o
g
g
e
r
.
d
e
b
u
g
(
"
(
%
s
)
S
t
o
p
p
e
d
s
c
a
n
"
%
t
a
s
k
i
d
)
r
e
t
u
r
n
j
s
o
n
i
z
e
(
{
"
s
u
c
c
e
s
s
"
:
T
r
u
e
}
)
d
e
f
s
c
a
n
_
k
i
l
l
(
t
a
s
k
i
d
)
:
"
"
"
K
i
l
l
a
s
c
a
n
"
"
"
i
f
(
t
a
s
k
i
d
n
o
t
i
n
D
a
t
a
S
t
o
r
e
.
t
a
s
k
s
o
r
D
a
t
a
S
t
o
r
e
.
t
a
s
k
s
[
t
a
s
k
i
d
]
.
e
n
g
i
n
e
_
p
r
o
c
e
s
s
(
)
i
s
N
o
n
e
o
r
D
a
t
a
S
t
o
r
e
.
t
a
s
k
s
[
t
a
s
k
i
d
]
.
e
n
g
i
n
e
_
h
a
s
_
t
e
r
m
i
n
a
t
e
d
(
)
)
:
l
o
g
g
e
r
.
w
a
r
n
i
n
g
(
"
[
%
s
]
I
n
v
a
l
i
d
t
a
s
k
I
D
p
r
o
v
i
d
e
d
t
o
s
c
a
n
_
k
i
l
l
(
)
"
%
t
a
s
k
i
d
)
r
e
t
u
r
n
j
s
o
n
i
z
e
(
{
"
s
u
c
c
e
s
s
"
:
F
a
l
s
e
,
"
m
e
s
s
a
g
e
"
:
"
I
n
v
a
l
i
d
t
a
s
k
I
D
"
}
)
D
a
t
a
S
t
o
r
e
.
t
a
s
k
s
[
t
a
s
k
i
d
]
.
e
n
g
i
n
e
_
k
i
l
l
(
)
l
o
g
g
e
r
.
d
e
b
u
g
(
"
(
%
s
)
K
i
l
l
e
d
s
c
a
n
"
%
t
a
s
k
i
d
)
r
e
t
u
r
n
j
s
o
n
i
z
e
(
{
"
s
u
c
c
e
s
s
"
:
T
r
u
e
}
)
该
接
口
可
查
询
扫
描
状
态
,
调
用
时
请
指
定
t
a
s
k
i
d
,
不
然
会
出
现
问
题
。
具
体
代
码
如
下
:
下
图
是
调
用
该
接
口
的
截
图
:
@
g
e
t
(
“
/
s
c
a
n
/
/
d
a
t
a
”
)
该
接
口
可
获
得
到
扫
描
结
果
,
调
用
时
请
指
定
t
a
s
k
i
d
,
不
然
会
出
现
问
题
。
具
体
代
码
如
下
:
下
图
是
调
用
该
接
口
的
截
图
:
存
在
S
Q
L
注
入
的
返
回
结
果
,
返
回
的
内
容
包
括
p
a
y
l
o
a
d
、
数
据
库
类
型
等
等
。
@
g
e
t
(
“
/
s
c
a
n
/
/
l
o
g
”
)
/
@
g
e
t
(
“
/
s
c
a
n
/
/
l
o
g
/
/
“
)
该
接
口
可
查
询
特
定
任
务
的
扫
描
的
日
志
,
调
用
时
请
指
定
t
a
s
k
i
d
,
不
然
会
出
现
问
题
。
具
体
代
码
如
下
:
d
e
f
s
c
a
n
_
s
t
a
t
u
s
(
t
a
s
k
i
d
)
:
"
"
"
R
e
t
u
r
n
s
s
t
a
t
u
s
o
f
a
s
c
a
n
"
"
"
i
f
t
a
s
k
i
d
n
o
t
i
n
D
a
t
a
S
t
o
r
e
.
t
a
s
k
s
:
l
o
g
g
e
r
.
w
a
r
n
i
n
g
(
"
[
%
s
]
I
n
v
a
l
i
d
t
a
s
k
I
D
p
r
o
v
i
d
e
d
t
o
s
c
a
n
_
s
t
a
t
u
s
(
)
"
%
t
a
s
k
i
d
)
r
e
t
u
r
n
j
s
o
n
i
z
e
(
{
"
s
u
c
c
e
s
s
"
:
F
a
l
s
e
,
"
m
e
s
s
a
g
e
"
:
"
I
n
v
a
l
i
d
t
a
s
k
I
D
"
}
)
i
f
D
a
t
a
S
t
o
r
e
.
t
a
s
k
s
[
t
a
s
k
i
d
]
.
e
n
g
i
n
e
_
p
r
o
c
e
s
s
(
)
i
s
N
o
n
e
:
s
t
a
t
u
s
=
"
n
o
t
r
u
n
n
i
n
g
"
e
l
s
e
:
s
t
a
t
u
s
=
"
t
e
r
m
i
n
a
t
e
d
"
i
f
D
a
t
a
S
t
o
r
e
.
t
a
s
k
s
[
t
a
s
k
i
d
]
.
e
n
g
i
n
e
_
h
a
s
_
t
e
r
m
i
n
a
t
e
d
(
)
i
s
T
r
u
e
e
l
s
e
"
r
u
n
n
i
n
g
"
l
o
g
g
e
r
.
d
e
b
u
g
(
"
(
%
s
)
R
e
t
r
i
e
v
e
d
s
c
a
n
s
t
a
t
u
s
"
%
t
a
s
k
i
d
)
r
e
t
u
r
n
j
s
o
n
i
z
e
(
{
"
s
u
c
c
e
s
s
"
:
T
r
u
e
,
"
s
t
a
t
u
s
"
:
s
t
a
t
u
s
,
"
r
e
t
u
r
n
c
o
d
e
"
:
D
a
t
a
S
t
o
r
e
.
t
a
s
k
s
[
t
a
s
k
i
d
]
.
e
n
g
i
n
e
_
g
e
t
_
r
e
t
u
r
n
c
o
d
e
(
)
}
)
d
e
f
s
c
a
n
_
d
a
t
a
(
t
a
s
k
i
d
)
:
"
"
"
R
e
t
r
i
e
v
e
t
h
e
d
a
t
a
o
f
a
s
c
a
n
"
"
"
j
s
o
n
_
d
a
t
a
_
m
e
s
s
a
g
e
=
l
i
s
t
(
)
j
s
o
n
_
e
r
r
o
r
s
_
m
e
s
s
a
g
e
=
l
i
s
t
(
)
i
f
t
a
s
k
i
d
n
o
t
i
n
D
a
t
a
S
t
o
r
e
.
t
a
s
k
s
:
l
o
g
g
e
r
.
w
a
r
n
i
n
g
(
"
[
%
s
]
I
n
v
a
l
i
d
t
a
s
k
I
D
p
r
o
v
i
d
e
d
t
o
s
c
a
n
_
d
a
t
a
(
)
"
%
t
a
s
k
i
d
)
r
e
t
u
r
n
j
s
o
n
i
z
e
(
{
"
s
u
c
c
e
s
s
"
:
F
a
l
s
e
,
"
m
e
s
s
a
g
e
"
:
"
I
n
v
a
l
i
d
t
a
s
k
I
D
"
}
)
#
R
e
a
d
a
l
l
d
a
t
a
f
r
o
m
t
h
e
I
P
C
d
a
t
a
b
a
s
e
f
o
r
t
h
e
t
a
s
k
i
d
f
o
r
s
t
a
t
u
s
,
c
o
n
t
e
n
t
_
t
y
p
e
,
v
a
l
u
e
i
n
D
a
t
a
S
t
o
r
e
.
c
u
r
r
e
n
t
_
d
b
.
e
x
e
c
u
t
e
(
"
S
E
L
E
C
T
s
t
a
t
u
s
,
c
o
n
t
e
n
t
_
t
y
p
e
,
v
a
l
u
e
F
R
O
M
d
a
t
a
W
H
E
R
E
t
a
s
k
i
d
=
?
O
R
D
E
R
B
Y
i
d
A
S
C
"
,
(
t
a
s
k
i
d
,
)
)
:
j
s
o
n
_
d
a
t
a
_
m
e
s
s
a
g
e
.
a
p
p
e
n
d
(
{
"
s
t
a
t
u
s
"
:
s
t
a
t
u
s
,
"
t
y
p
e
"
:
c
o
n
t
e
n
t
_
t
y
p
e
,
"
v
a
l
u
e
"
:
d
e
j
s
o
n
i
z
e
(
v
a
l
u
e
)
}
)
#
R
e
a
d
a
l
l
e
r
r
o
r
m
e
s
s
a
g
e
s
f
r
o
m
t
h
e
I
P
C
d
a
t
a
b
a
s
e
f
o
r
e
r
r
o
r
i
n
D
a
t
a
S
t
o
r
e
.
c
u
r
r
e
n
t
_
d
b
.
e
x
e
c
u
t
e
(
"
S
E
L
E
C
T
e
r
r
o
r
F
R
O
M
e
r
r
o
r
s
W
H
E
R
E
t
a
s
k
i
d
=
?
O
R
D
E
R
B
Y
i
d
A
S
C
"
,
(
t
a
s
k
i
d
,
)
)
:
j
s
o
n
_
e
r
r
o
r
s
_
m
e
s
s
a
g
e
.
a
p
p
e
n
d
(
e
r
r
o
r
)
l
o
g
g
e
r
.
d
e
b
u
g
(
"
(
%
s
)
R
e
t
r
i
e
v
e
d
s
c
a
n
d
a
t
a
a
n
d
e
r
r
o
r
m
e
s
s
a
g
e
s
"
%
t
a
s
k
i
d
)
r
e
t
u
r
n
j
s
o
n
i
z
e
(
{
"
s
u
c
c
e
s
s
"
:
T
r
u
e
,
"
d
a
t
a
"
:
j
s
o
n
_
d
a
t
a
_
m
e
s
s
a
g
e
,
"
e
r
r
o
r
"
:
j
s
o
n
_
e
r
r
o
r
s
_
m
e
s
s
a
g
e
}
)
d
e
f
s
c
a
n
_
l
o
g
(
t
a
s
k
i
d
)
:
"
"
"
R
e
t
r
i
e
v
e
t
h
e
l
o
g
m
e
s
s
a
g
e
s
"
"
"
j
s
o
n
_
l
o
g
_
m
e
s
s
a
g
e
s
=
l
i
s
t
(
)
i
f
t
a
s
k
i
d
n
o
t
i
n
D
a
t
a
S
t
o
r
e
.
t
a
s
k
s
:
l
o
g
g
e
r
.
w
a
r
n
i
n
g
(
"
[
%
s
]
I
n
v
a
l
i
d
t
a
s
k
I
D
p
r
o
v
i
d
e
d
t
o
s
c
a
n
_
l
o
g
(
)
"
%
t
a
s
k
i
d
)
r
e
t
u
r
n
j
s
o
n
i
z
e
(
{
"
s
u
c
c
e
s
s
"
:
F
a
l
s
e
,
"
m
e
s
s
a
g
e
"
:
"
I
n
v
a
l
i
d
t
a
s
k
I
D
"
}
)
#
R
e
a
d
a
l
l
l
o
g
m
e
s
s
a
g
e
s
f
r
o
m
t
h
e
I
P
C
d
a
t
a
b
a
s
e
f
o
r
t
i
m
e
_
,
l
e
v
e
l
,
m
e
s
s
a
g
e
i
n
D
a
t
a
S
t
o
r
e
.
c
u
r
r
e
n
t
_
d
b
.
e
x
e
c
u
t
e
(
"
S
E
L
E
C
T
t
i
m
e
,
l
e
v
e
l
,
m
e
s
s
a
g
e
F
R
O
M
l
o
g
s
W
H
E
R
E
t
a
s
k
i
d
=
?
O
R
D
E
R
B
Y
i
d
A
S
C
"
,
(
t
a
s
k
i
d
,
)
)
:
j
s
o
n
_
l
o
g
_
m
e
s
s
a
g
e
s
.
a
p
p
e
n
d
(
{
"
t
i
m
e
"
:
t
i
m
e
_
,
"
l
e
v
e
l
"
:
l
e
v
e
l
,
"
m
e
s
s
a
g
e
"
:
m
e
s
s
a
g
e
}
)
l
o
g
g
e
r
.
d
e
b
u
g
(
"
(
%
s
)
R
e
t
r
i
e
v
e
d
s
c
a
n
l
o
g
m
e
s
s
a
g
e
s
"
%
t
a
s
k
i
d
)
r
e
t
u
r
n
j
s
o
n
i
z
e
(
{
"
s
u
c
c
e
s
s
"
:
T
r
u
e
,
"
l
o
g
"
:
j
s
o
n
_
l
o
g
_
m
e
s
s
a
g
e
s
}
)
d
e
f
s
c
a
n
_
l
o
g
_
l
i
m
i
t
e
d
(
t
a
s
k
i
d
,
s
t
a
r
t
,
e
n
d
)
:
"
"
"
R
e
t
r
i
e
v
e
a
s
u
b
s
e
t
o
f
l
o
g
m
e
s
s
a
g
e
s
"
"
"
j
s
o
n
_
l
o
g
_
m
e
s
s
a
g
e
s
=
l
i
s
t
(
)
i
f
t
a
s
k
i
d
n
o
t
i
n
D
a
t
a
S
t
o
r
e
.
t
a
s
k
s
:
l
o
g
g
e
r
.
w
a
r
n
i
n
g
(
"
[
%
s
]
I
n
v
a
l
i
d
t
a
s
k
I
D
p
r
o
v
i
d
e
d
t
o
s
c
a
n
_
l
o
g
_
l
i
m
i
t
e
d
(
)
"
%
t
a
s
k
i
d
)
r
e
t
u
r
n
j
s
o
n
i
z
e
(
{
"
s
u
c
c
e
s
s
"
:
F
a
l
s
e
,
"
m
e
s
s
a
g
e
"
:
"
I
n
v
a
l
i
d
t
a
s
k
I
D
"
}
)
i
f
n
o
t
s
t
a
r
t
.
i
s
d
i
g
i
t
(
)
o
r
n
o
t
e
n
d
.
i
s
d
i
g
i
t
(
)
o
r
e
n
d
<
s
t
a
r
t
:
l
o
g
g
e
r
.
w
a
r
n
i
n
g
(
"
[
%
s
]
I
n
v
a
l
i
d
s
t
a
r
t
o
r
e
n
d
v
a
l
u
e
p
r
o
v
i
d
e
d
t
o
s
c
a
n
_
l
o
g
_
l
i
m
i
t
e
d
(
)
"
%
t
a
s
k
i
d
)
r
e
t
u
r
n
j
s
o
n
i
z
e
(
{
"
s
u
c
c
e
s
s
"
:
F
a
l
s
e
,
"
m
e
s
s
a
g
e
"
:
"
I
n
v
a
l
i
d
s
t
a
r
t
o
r
e
n
d
v
a
l
u
e
,
m
u
s
t
b
e
d
i
g
i
t
s
"
}
)
下
图
是
调
用
该
接
口
的
截
图
:
@
g
e
t
(
“
/
d
o
w
n
l
o
a
d
/
/
/
“
)
下
载
服
务
端
指
定
任
务
的
文
件
。
具
体
代
码
如
下
:
看
完
了
以
上
的
接
口
代
码
,
我
相
信
您
一
定
会
使
用
了
吧
,
那
么
下
面
就
通
过
一
个
s
q
l
注
入
来
演
示
该
模
式
接
口
下
检
测
s
q
l
注
入
的
流
程
。
准
备
准
备
使
用
该
模
式
接
口
需
要
用
到
p
y
t
h
o
n
的
两
个
库
文
件
,
一
个
是
r
e
q
u
e
s
t
s
库
,
一
个
是
j
s
o
n
库
。
下
图
是
导
入
库
的
操
作
:
检
测
检
测
G
E
T
型
注
入
型
注
入
下
面
是
完
整
的
一
次
A
P
I
接
口
访
问
,
”
从
创
建
任
务
I
D
,
到
发
送
扫
描
指
令
,
再
到
查
询
扫
描
状
态
,
最
后
查
询
结
果
”
的
过
程
。
具
体
输
入
输
出
代
码
如
下
:
可
能
您
会
被
最
后
返
回
的
结
果
好
奇
,
p
t
y
p
e
、
s
u
f
f
i
x
、
c
l
a
u
s
e
等
等
都
是
什
么
意
思
呢
?
下
面
我
给
出
部
分
字
段
的
含
义
:
|
字
段
|
含
义
|
值
|
|
:
—
—
:
|
:
—
—
:
|
:
—
—
:
|
|
d
b
m
s
|
数
据
库
类
型
|
M
i
c
r
o
s
o
f
t
A
c
c
e
s
s
I
B
M
D
B
2
F
i
r
e
b
i
r
d
S
A
P
M
a
x
D
B
M
i
c
r
o
s
o
f
t
S
Q
L
S
e
r
v
e
r
M
y
S
Q
L
O
r
a
c
l
e
P
o
s
t
g
r
e
S
Q
L
S
Q
L
i
t
e
S
y
b
a
s
e
H
S
Q
L
D
B
H
2
I
n
f
o
r
m
i
x
|
|
s
u
f
f
i
x
|
在
有
些
时
候
,
需
要
在
注
入
的
p
a
y
l
o
a
d
的
后
面
加
一
些
字
符
,
来
保
证
p
a
y
l
o
a
d
的
正
常
执
行
。
|
[
G
E
N
E
R
I
C
_
S
Q
L
_
C
O
M
M
E
N
T
]
A
N
D
(
[
R
A
N
D
N
U
M
]
=
[
R
A
N
D
N
U
M
]
A
N
D
(
(
[
R
A
N
D
N
U
M
]
=
[
R
A
N
D
N
U
M
]
A
N
D
(
(
(
[
R
A
N
D
N
U
M
]
=
…
太
多
了
,
具
体
可
查
看
x
m
l
/
b
o
u
n
d
a
r
i
e
s
.
x
m
l
文
件
。
|
|
p
r
e
f
i
x
|
在
有
些
时
候
,
需
要
在
注
入
的
p
a
y
l
o
a
d
的
前
面
加
一
些
字
符
,
来
保
证
p
a
y
l
o
a
d
的
正
常
执
行
。
|
)
’
)
’
”
…
太
多
了
,
具
体
可
查
看
x
m
l
/
b
o
u
n
d
a
r
i
e
s
.
x
m
l
文
件
。
|
|
c
l
a
u
s
e
|
p
a
y
l
o
a
d
在
哪
个
语
句
里
生
效
|
0
:
s
t
a
r
t
=
m
a
x
(
1
,
i
n
t
(
s
t
a
r
t
)
)
e
n
d
=
m
a
x
(
1
,
i
n
t
(
e
n
d
)
)
#
R
e
a
d
a
s
u
b
s
e
t
o
f
l
o
g
m
e
s
s
a
g
e
s
f
r
o
m
t
h
e
I
P
C
d
a
t
a
b
a
s
e
f
o
r
t
i
m
e
_
,
l
e
v
e
l
,
m
e
s
s
a
g
e
i
n
D
a
t
a
S
t
o
r
e
.
c
u
r
r
e
n
t
_
d
b
.
e
x
e
c
u
t
e
(
"
S
E
L
E
C
T
t
i
m
e
,
l
e
v
e
l
,
m
e
s
s
a
g
e
F
R
O
M
l
o
g
s
W
H
E
R
E
t
a
s
k
i
d
=
?
A
N
D
i
d
>
=
?
A
N
D
i
d
<
=
?
O
R
D
E
R
B
Y
i
d
A
S
C
"
,
(
t
a
s
k
i
d
,
s
t
a
r
t
,
e
n
d
)
)
:
j
s
o
n
_
l
o
g
_
m
e
s
s
a
g
e
s
.
a
p
p
e
n
d
(
{
"
t
i
m
e
"
:
t
i
m
e
_
,
"
l
e
v
e
l
"
:
l
e
v
e
l
,
"
m
e
s
s
a
g
e
"
:
m
e
s
s
a
g
e
}
)
l
o
g
g
e
r
.
d
e
b
u
g
(
"
(
%
s
)
R
e
t
r
i
e
v
e
d
s
c
a
n
l
o
g
m
e
s
s
a
g
e
s
s
u
b
s
e
t
"
%
t
a
s
k
i
d
)
r
e
t
u
r
n
j
s
o
n
i
z
e
(
{
"
s
u
c
c
e
s
s
"
:
T
r
u
e
,
"
l
o
g
"
:
j
s
o
n
_
l
o
g
_
m
e
s
s
a
g
e
s
}
)
d
e
f
d
o
w
n
l
o
a
d
(
t
a
s
k
i
d
,
t
a
r
g
e
t
,
f
i
l
e
n
a
m
e
)
:
"
"
"
D
o
w
n
l
o
a
d
a
c
e
r
t
a
i
n
f
i
l
e
f
r
o
m
t
h
e
f
i
l
e
s
y
s
t
e
m
"
"
"
i
f
t
a
s
k
i
d
n
o
t
i
n
D
a
t
a
S
t
o
r
e
.
t
a
s
k
s
:
l
o
g
g
e
r
.
w
a
r
n
i
n
g
(
"
[
%
s
]
I
n
v
a
l
i
d
t
a
s
k
I
D
p
r
o
v
i
d
e
d
t
o
d
o
w
n
l
o
a
d
(
)
"
%
t
a
s
k
i
d
)
r
e
t
u
r
n
j
s
o
n
i
z
e
(
{
"
s
u
c
c
e
s
s
"
:
F
a
l
s
e
,
"
m
e
s
s
a
g
e
"
:
"
I
n
v
a
l
i
d
t
a
s
k
I
D
"
}
)
p
a
t
h
=
o
s
.
p
a
t
h
.
a
b
s
p
a
t
h
(
o
s
.
p
a
t
h
.
j
o
i
n
(
p
a
t
h
s
.
S
Q
L
M
A
P
_
O
U
T
P
U
T
_
P
A
T
H
,
t
a
r
g
e
t
,
f
i
l
e
n
a
m
e
)
)
#
P
r
e
v
e
n
t
f
i
l
e
p
a
t
h
t
r
a
v
e
r
s
a
l
i
f
n
o
t
p
a
t
h
.
s
t
a
r
t
s
w
i
t
h
(
p
a
t
h
s
.
S
Q
L
M
A
P
_
O
U
T
P
U
T
_
P
A
T
H
)
:
l
o
g
g
e
r
.
w
a
r
n
i
n
g
(
"
[
%
s
]
F
o
r
b
i
d
d
e
n
p
a
t
h
(
%
s
)
"
%
(
t
a
s
k
i
d
,
t
a
r
g
e
t
)
)
r
e
t
u
r
n
j
s
o
n
i
z
e
(
{
"
s
u
c
c
e
s
s
"
:
F
a
l
s
e
,
"
m
e
s
s
a
g
e
"
:
"
F
o
r
b
i
d
d
e
n
p
a
t
h
"
}
)
i
f
o
s
.
p
a
t
h
.
i
s
f
i
l
e
(
p
a
t
h
)
:
l
o
g
g
e
r
.
d
e
b
u
g
(
"
(
%
s
)
R
e
t
r
i
e
v
e
d
c
o
n
t
e
n
t
o
f
f
i
l
e
%
s
"
%
(
t
a
s
k
i
d
,
t
a
r
g
e
t
)
)
w
i
t
h
o
p
e
n
(
p
a
t
h
,
'
r
b
'
)
a
s
i
n
f
:
f
i
l
e
_
c
o
n
t
e
n
t
=
i
n
f
.
r
e
a
d
(
)
r
e
t
u
r
n
j
s
o
n
i
z
e
(
{
"
s
u
c
c
e
s
s
"
:
T
r
u
e
,
"
f
i
l
e
"
:
b
a
s
e
6
4
e
n
c
o
d
e
(
f
i
l
e
_
c
o
n
t
e
n
t
)
}
)
e
l
s
e
:
l
o
g
g
e
r
.
w
a
r
n
i
n
g
(
"
[
%
s
]
F
i
l
e
d
o
e
s
n
o
t
e
x
i
s
t
%
s
"
%
(
t
a
s
k
i
d
,
t
a
r
g
e
t
)
)
r
e
t
u
r
n
j
s
o
n
i
z
e
(
{
"
s
u
c
c
e
s
s
"
:
F
a
l
s
e
,
"
m
e
s
s
a
g
e
"
:
"
F
i
l
e
d
o
e
s
n
o
t
e
x
i
s
t
"
}
)
>
>
>
r
=
r
e
q
u
e
s
t
s
.
g
e
t
(
"
h
t
t
p
:
/
/
1
2
7
.
0
.
0
.
1
:
8
7
7
5
/
t
a
s
k
/
n
e
w
"
)
创
建
一
个
新
的
扫
描
任
务
>
>
>
r
.
j
s
o
n
(
)
{
'
t
a
s
k
i
d
'
:
'
c
8
7
d
b
b
0
0
6
4
4
e
d
7
b
7
'
,
'
s
u
c
c
e
s
s
'
:
T
r
u
e
}
获
取
响
应
的
返
回
内
容
>
>
>
r
=
r
e
q
u
e
s
t
s
.
p
o
s
t
(
'
h
t
t
p
:
/
/
1
2
7
.
0
.
0
.
1
:
8
7
7
5
/
s
c
a
n
/
c
8
7
d
b
b
0
0
6
4
4
e
d
7
b
7
/
s
t
a
r
t
'
,
d
a
t
a
=
j
s
o
n
.
d
u
m
p
s
(
{
'
u
r
l
'
:
'
h
t
t
p
:
/
/
1
9
2
.
1
6
8
.
1
.
1
0
4
/
s
q
l
-
l
a
b
s
/
L
e
s
s
-
2
/
?
i
d
=
1
'
}
)
,
h
e
a
d
e
r
s
=
{
'
C
o
n
t
e
n
t
-
T
y
p
e
'
:
'
a
p
p
l
i
c
a
t
i
o
n
/
j
s
o
n
'
>
>
>
r
=
r
e
q
u
e
s
t
s
.
g
e
t
(
"
h
t
t
p
:
/
/
1
2
7
.
0
.
0
.
1
:
8
7
7
5
/
s
c
a
n
/
c
8
7
d
b
b
0
0
6
4
4
e
d
7
b
7
/
s
t
a
t
u
s
"
)
查
询
任
务
的
扫
描
状
态
>
>
>
r
.
j
s
o
n
(
)
{
'
s
t
a
t
u
s
'
:
'
t
e
r
m
i
n
a
t
e
d
'
,
'
r
e
t
u
r
n
c
o
d
e
'
:
0
,
'
s
u
c
c
e
s
s
'
:
T
r
u
e
}
>
>
>
r
=
r
e
q
u
e
s
t
s
.
g
e
t
(
"
h
t
t
p
:
/
/
1
2
7
.
0
.
0
.
1
:
8
7
7
5
/
s
c
a
n
/
c
8
7
d
b
b
0
0
6
4
4
e
d
7
b
7
/
d
a
t
a
"
)
获
取
扫
描
的
结
果
>
>
>
r
.
j
s
o
n
(
)
{
'
d
a
t
a
'
:
[
{
'
s
t
a
t
u
s
'
:
1
,
'
t
y
p
e
'
:
0
,
'
v
a
l
u
e
'
:
{
'
u
r
l
'
:
'
h
t
t
p
:
/
/
1
9
2
.
1
6
8
.
1
.
1
0
4
:
8
0
/
s
q
l
-
l
a
b
s
/
L
e
s
s
-
2
/
'
,
'
q
u
e
r
y
'
:
'
i
d
=
1
'
,
'
d
a
t
a
'
:
N
o
n
e
}
}
,
{
'
s
t
a
t
u
s
'
:
1
,
'
t
y
p
e
'
:
1
,
'
v
a
l
u
e
'
:
[
{
'
d
b
m
s
'
:
'
M
y
S
Q
L
'
“
A
l
w
a
y
s
”
,
1
:
“
W
H
E
R
E
”
,
2
:
“
G
R
O
U
P
B
Y
”
,
3
:
“
O
R
D
E
R
B
Y
”
,
4
:
“
L
I
M
I
T
”
,
5
:
“
O
F
F
S
E
T
”
,
6
:
“
T
O
P
”
,
7
:
“
T
a
b
l
e
n
a
m
e
”
,
8
:
“
C
o
l
u
m
n
n
a
m
e
”
,
9
:
“
P
r
e
-
W
H
E
R
E
(
n
o
n
-
q
u
e
r
y
)
”
|
|
w
h
e
r
e
|
以
什
么
样
的
方
式
将
我
们
的
p
a
y
l
o
a
d
添
加
进
去
|
O
R
I
G
I
N
A
L
=
1
N
E
G
A
T
I
V
E
=
2
R
E
P
L
A
C
E
=
3
|
|
p
t
y
p
e
|
p
a
r
a
m
e
t
e
r
t
y
p
e
;
注
入
点
的
类
型
|
1
:
“
U
n
e
s
c
a
p
e
d
n
u
m
e
r
i
c
”
,
2
:
“
S
i
n
g
l
e
q
u
o
t
e
d
s
t
r
i
n
g
”
,
3
:
“
L
I
K
E
s
i
n
g
l
e
q
u
o
t
e
d
s
t
r
i
n
g
”
,
4
:
“
D
o
u
b
l
e
q
u
o
t
e
d
s
t
r
i
n
g
”
,
5
:
“
L
I
K
E
d
o
u
b
l
e
q
u
o
t
e
d
s
t
r
i
n
g
”
,
6
:
“
I
d
e
n
t
i
f
i
e
r
(
e
.
g
.
c
o
l
u
m
n
n
a
m
e
)
”
,
|
|
d
b
m
s
_
v
e
r
s
i
o
n
|
数
据
库
的
粗
略
版
本
|
>
=
5
.
5
>
=
5
.
0
.
1
2
…
|
|
p
l
a
c
e
|
请
求
方
式
|
G
E
T
P
O
S
T
(
c
u
s
t
o
m
)
H
E
A
D
E
R
|
|
t
i
t
l
e
|
当
前
测
试
P
a
y
l
o
a
d
的
标
题
,
通
过
标
题
就
可
以
了
解
当
前
的
注
入
手
法
与
测
试
的
数
据
库
类
型
。
|
A
N
D
b
o
o
l
e
a
n
-
b
a
s
e
d
b
l
i
n
d
-
W
H
E
R
E
o
r
H
A
V
I
N
G
c
l
a
u
s
e
…
|
|
v
e
c
t
o
r
|
p
a
y
l
o
a
d
向
量
|
A
N
D
(
S
E
L
E
C
T
*
F
R
O
M
(
S
E
L
E
C
T
(
S
L
E
E
P
(
[
S
L
E
E
P
T
I
M
E
]
-
(
I
F
(
[
I
N
F
E
R
E
N
C
E
]
,
0
,
[
S
L
E
E
P
T
I
M
E
]
)
)
)
)
)
[
R
A
N
D
S
T
R
]
)
…
|
|
p
a
y
l
o
a
d
|
有
效
负
荷
,
进
行
测
试
的
S
Q
L
语
句
|
1
、
n
e
w
s
_
i
d
=
1
A
N
D
6
7
8
8
=
6
7
8
8
2
、
l
o
g
i
n
_
u
s
e
r
=
1
&
l
o
g
i
n
_
p
a
s
s
w
o
r
d
=
-
3
8
1
4
’
O
R
7
1
1
7
=
7
1
1
7
#
&
m
y
s
u
b
m
i
t
=
L
o
g
i
n
|
|
p
a
r
a
m
e
t
e
r
|
哪
个
参
数
可
以
注
入
|
u
s
e
r
n
a
m
e
n
e
w
s
_
i
d
…
.
|
检
测
检
测
P
O
S
T
注
入
、
注
入
、
C
O
O
K
I
E
、
、
U
A
等
注
入
等
注
入
检
测
P
O
S
T
注
入
和
检
测
G
E
T
注
入
类
似
,
但
是
还
是
有
一
定
区
别
的
,
与
G
E
T
注
入
检
测
区
别
如
下
,
流
程
上
是
一
样
的
,
不
同
的
是
开
启
扫
描
任
务
的
时
候
,
多
提
交
一
个
d
a
t
a
字
段
。
下
面
是
一
次
完
整
的
P
O
S
T
注
入
检
测
过
程
具
体
输
入
输
出
代
码
如
下
:
那
么
如
何
检
测
C
O
O
K
I
E
注
入
、
U
A
注
入
这
些
呢
?
下
面
笔
者
将
列
出
a
p
i
接
口
可
接
收
的
所
有
字
段
,
若
要
检
测
C
O
O
K
I
E
注
入
的
话
,
我
们
只
要
在
@
p
o
s
t
(
“
/
s
c
a
n
/
/
s
t
a
r
t
”
)
接
口
中
,
传
入
c
o
o
k
i
e
字
段
;
若
要
检
测
r
e
f
e
r
e
r
注
入
的
话
,
我
们
只
要
在
@
p
o
s
t
(
“
/
s
c
a
n
/
/
s
t
a
r
t
”
)
接
口
中
,
传
入
r
e
f
e
r
e
r
字
段
。
若
要
从
注
入
点
中
获
取
数
据
库
的
版
本
、
数
据
库
的
用
户
名
这
些
,
只
要
在
@
p
o
s
t
(
“
/
s
c
a
n
/
/
s
t
a
r
t
”
)
接
口
中
,
传
入
g
e
t
B
a
n
n
e
r
字
段
,
并
设
置
为
T
r
u
e
,
传
入
g
e
t
U
s
e
r
s
字
段
,
并
设
置
为
T
r
u
e
。
r
e
q
u
e
s
t
s
.
p
o
s
t
(
'
h
t
t
p
:
/
/
1
2
7
.
0
.
0
.
1
:
8
7
7
5
/
s
c
a
n
/
c
b
9
c
4
b
4
e
4
f
1
9
9
6
b
5
/
s
t
a
r
t
'
,
d
a
t
a
=
j
s
o
n
.
d
u
m
p
s
(
{
'
u
r
l
'
:
'
h
t
t
p
:
/
/
1
9
2
.
1
6
8
.
1
.
1
0
4
/
s
q
l
/
s
q
l
/
p
o
s
t
.
p
h
p
'
,
'
d
a
t
a
'
:
'
k
e
y
w
o
r
d
=
1
'
}
)
,
h
e
a
d
e
r
s
=
{
'
C
o
n
t
e
n
t
-
T
y
p
e
>
>
>
r
=
r
e
q
u
e
s
t
s
.
g
e
t
(
"
h
t
t
p
:
/
/
1
2
7
.
0
.
0
.
1
:
8
7
7
5
/
t
a
s
k
/
n
e
w
"
)
>
>
>
r
.
j
s
o
n
(
)
{
'
t
a
s
k
i
d
'
:
'
c
b
9
c
4
b
4
e
4
f
1
9
9
6
b
5
'
,
'
s
u
c
c
e
s
s
'
:
T
r
u
e
}
>
>
>
r
=
r
e
q
u
e
s
t
s
.
p
o
s
t
(
'
h
t
t
p
:
/
/
1
2
7
.
0
.
0
.
1
:
8
7
7
5
/
s
c
a
n
/
c
b
9
c
4
b
4
e
4
f
1
9
9
6
b
5
/
s
t
a
r
t
'
,
d
a
t
a
=
j
s
o
n
.
d
u
m
p
s
(
{
'
u
r
l
'
:
'
h
t
t
p
:
/
/
1
9
2
.
1
6
8
.
1
.
1
0
4
/
s
q
l
/
s
q
l
/
p
o
s
t
.
p
h
p
'
,
'
d
a
t
a
'
:
'
k
e
y
w
o
r
d
=
1
'
}
)
,
h
e
a
d
e
r
s
=
{
'
C
o
n
t
e
n
t
-
T
y
p
e
'
>
>
>
r
.
j
s
o
n
(
)
{
'
e
n
g
i
n
e
i
d
'
:
9
6
8
2
,
'
s
u
c
c
e
s
s
'
:
T
r
u
e
}
>
>
>
r
=
r
e
q
u
e
s
t
s
.
g
e
t
(
"
h
t
t
p
:
/
/
1
2
7
.
0
.
0
.
1
:
8
7
7
5
/
s
c
a
n
/
c
b
9
c
4
b
4
e
4
f
1
9
9
6
b
5
/
s
t
a
t
u
s
"
)
>
>
>
r
.
j
s
o
n
(
)
{
'
s
t
a
t
u
s
'
:
'
t
e
r
m
i
n
a
t
e
d
'
,
'
r
e
t
u
r
n
c
o
d
e
'
:
0
,
'
s
u
c
c
e
s
s
'
:
T
r
u
e
}
>
>
>
r
=
r
e
q
u
e
s
t
s
.
g
e
t
(
"
h
t
t
p
:
/
/
1
2
7
.
0
.
0
.
1
:
8
7
7
5
/
s
c
a
n
/
c
b
9
c
4
b
4
e
4
f
1
9
9
6
b
5
/
d
a
t
a
"
)
>
>
>
r
.
j
s
o
n
(
)
{
'
d
a
t
a
'
:
[
{
'
s
t
a
t
u
s
'
:
1
,
'
t
y
p
e
'
:
0
,
'
v
a
l
u
e
'
:
{
'
u
r
l
'
:
'
h
t
t
p
:
/
/
1
9
2
.
1
6
8
.
1
.
1
0
4
:
8
0
/
s
q
l
/
s
q
l
/
p
o
s
t
.
p
h
p
'
,
'
q
u
e
r
y
'
:
N
o
n
e
,
'
d
a
t
a
'
:
'
k
e
y
w
o
r
d
=
1
'
}
}
,
{
'
s
t
a
t
u
s
'
:
1
,
'
t
y
p
e
'
:
1
,
'
v
a
l
u
e
'
:
[
{
'
d
b
m
s
'
c
r
a
w
l
D
e
p
t
h
:
N
o
n
e
o
s
S
h
e
l
l
:
F
a
l
s
e
g
e
t
U
s
e
r
s
:
F
a
l
s
e
g
e
t
P
a
s
s
w
o
r
d
H
a
s
h
e
s
:
F
a
l
s
e
e
x
c
l
u
d
e
S
y
s
D
b
s
:
T
r
u
e
i
g
n
o
r
e
T
i
m
e
o
u
t
s
:
F
a
l
s
e
r
e
g
D
a
t
a
:
N
o
n
e
f
i
l
e
D
e
s
t
:
N
o
n
e
p
r
e
f
i
x
:
N
o
n
e
c
o
d
e
:
N
o
n
e
g
o
o
g
l
e
P
a
g
e
:
1
s
k
i
p
:
N
o
n
e
q
u
e
r
y
:
N
o
n
e
r
a
n
d
o
m
A
g
e
n
t
:
F
a
l
s
e
o
s
P
w
n
:
F
a
l
s
e
a
u
t
h
T
y
p
e
:
N
o
n
e
s
a
f
e
U
r
l
:
N
o
n
e
r
e
q
u
e
s
t
F
i
l
e
:
N
o
n
e
p
r
e
d
i
c
t
O
u
t
p
u
t
:
F
a
l
s
e
w
i
z
a
r
d
:
F
a
l
s
e
s
t
o
p
F
a
i
l
:
F
a
l
s
e
f
o
r
m
s
:
F
a
l
s
e
u
C
h
a
r
:
N
o
n
e
s
e
c
o
n
d
R
e
q
:
N
o
n
e
t
a
s
k
i
d
:
6
3
0
f
5
0
6
0
7
e
b
f
9
1
d
c
p
i
v
o
t
C
o
l
u
m
n
:
N
o
n
e
p
r
e
p
r
o
c
e
s
s
:
N
o
n
e
d
r
o
p
S
e
t
C
o
o
k
i
e
:
F
a
l
s
e
s
m
a
r
t
:
F
a
l
s
e
p
a
r
a
m
E
x
c
l
u
d
e
:
N
o
n
e
r
i
s
k
:
1
s
q
l
F
i
l
e
:
N
o
n
e
r
P
a
r
a
m
:
N
o
n
e
g
e
t
C
u
r
r
e
n
t
U
s
e
r
:
F
a
l
s
e
n
o
t
S
t
r
i
n
g
:
N
o
n
e
g
e
t
R
o
l
e
s
:
F
a
l
s
e
g
e
t
P
r
i
v
i
l
e
g
e
s
:
F
a
l
s
e
t
e
s
t
P
a
r
a
m
e
t
e
r
:
N
o
n
e
t
b
l
:
N
o
n
e
c
h
a
r
s
e
t
:
N
o
n
e
t
r
a
f
f
i
c
F
i
l
e
:
N
o
n
e
o
s
S
m
b
:
F
a
l
s
e
l
e
v
e
l
:
1
l
e
v
e
l
:
1
d
n
s
D
o
m
a
i
n
:
N
o
n
e
o
u
t
p
u
t
D
i
r
:
N
o
n
e
s
k
i
p
W
a
f
:
F
a
l
s
e
t
i
m
e
o
u
t
:
3
0
f
i
r
s
t
C
h
a
r
:
N
o
n
e
t
o
r
P
o
r
t
:
N
o
n
e
g
e
t
C
o
m
m
e
n
t
s
:
F
a
l
s
e
b
i
n
a
r
y
F
i
e
l
d
s
:
N
o
n
e
c
h
e
c
k
T
o
r
:
F
a
l
s
e
c
o
m
m
o
n
T
a
b
l
e
s
:
F
a
l
s
e
d
i
r
e
c
t
:
N
o
n
e
t
m
p
P
a
t
h
:
N
o
n
e
t
i
t
l
e
s
:
F
a
l
s
e
g
e
t
S
c
h
e
m
a
:
F
a
l
s
e
i
d
e
n
t
i
f
y
W
a
f
:
F
a
l
s
e
p
a
r
a
m
D
e
l
:
N
o
n
e
s
a
f
e
R
e
q
F
i
l
e
:
N
o
n
e
r
e
g
K
e
y
:
N
o
n
e
m
u
r
p
h
y
R
a
t
e
:
N
o
n
e
l
i
m
i
t
S
t
a
r
t
:
N
o
n
e
c
r
a
w
l
E
x
c
l
u
d
e
:
N
o
n
e
f
l
u
s
h
S
e
s
s
i
o
n
:
F
a
l
s
e
l
o
a
d
C
o
o
k
i
e
s
:
N
o
n
e
c
s
v
D
e
l
:
,
o
f
f
l
i
n
e
:
F
a
l
s
e
m
e
t
h
o
d
:
N
o
n
e
t
m
p
D
i
r
:
N
o
n
e
f
i
l
e
W
r
i
t
e
:
N
o
n
e
d
i
s
a
b
l
e
P
r
e
c
o
n
:
F
a
l
s
e
o
s
B
o
f
:
F
a
l
s
e
t
e
s
t
S
k
i
p
:
N
o
n
e
i
n
v
a
l
i
d
L
o
g
i
c
a
l
:
F
a
l
s
e
g
e
t
C
u
r
r
e
n
t
D
b
:
F
a
l
s
e
h
e
x
C
o
n
v
e
r
t
:
F
a
l
s
e
p
r
o
x
y
F
i
l
e
:
N
o
n
e
a
n
s
w
e
r
s
:
N
o
n
e
h
o
s
t
:
N
o
n
e
d
e
p
e
n
d
e
n
c
i
e
s
:
F
a
l
s
e
c
o
o
k
i
e
:
N
o
n
e
p
r
o
x
y
:
N
o
n
e
u
p
d
a
t
e
A
l
l
:
F
a
l
s
e
r
e
g
T
y
p
e
:
N
o
n
e
r
e
p
a
i
r
:
F
a
l
s
e
o
p
t
i
m
i
z
e
:
F
a
l
s
e
l
i
m
i
t
S
t
o
p
:
N
o
n
e
s
e
a
r
c
h
:
F
a
l
s
e
s
h
L
i
b
:
N
o
n
e
u
F
r
o
m
:
N
o
n
e
n
o
C
a
s
t
:
F
a
l
s
e
t
e
s
t
F
i
l
t
e
r
:
N
o
n
e
i
g
n
o
r
e
C
o
d
e
:
N
o
n
e
e
t
a
:
F
a
l
s
e
c
s
r
f
T
o
k
e
n
:
N
o
n
e
t
h
r
e
a
d
s
:
1
l
o
g
F
i
l
e
:
N
o
n
e
o
s
:
N
o
n
e
c
o
l
:
N
o
n
e
s
k
i
p
S
t
a
t
i
c
:
F
a
l
s
e
p
r
o
x
y
C
r
e
d
:
N
o
n
e
v
e
r
b
o
s
e
:
1
i
s
D
b
a
:
F
a
l
s
e
e
n
c
o
d
i
n
g
:
N
o
n
e
p
r
i
v
E
s
c
:
F
a
l
s
e
f
o
r
c
e
D
n
s
:
F
a
l
s
e
g
e
t
A
l
l
:
F
a
l
s
e
a
p
i
:
T
r
u
e
u
r
l
:
h
t
t
p
:
/
/
1
0
.
2
0
.
4
0
.
9
5
/
s
q
l
-
l
a
b
s
/
L
e
s
s
-
4
/
?
i
d
=
1
i
n
v
a
l
i
d
B
i
g
n
u
m
:
F
a
l
s
e
r
e
g
e
x
p
:
N
o
n
e
g
e
t
D
b
s
:
F
a
l
s
e
f
r
e
s
h
Q
u
e
r
i
e
s
:
F
a
l
s
e
u
C
o
l
s
:
N
o
n
e
s
m
o
k
e
T
e
s
t
:
F
a
l
s
e
u
d
f
I
n
j
e
c
t
:
F
a
l
s
e
i
n
v
a
l
i
d
S
t
r
i
n
g
:
F
a
l
s
e
t
o
r
:
F
a
l
s
e
f
o
r
c
e
S
S
L
:
F
a
l
s
e
b
e
e
p
:
F
a
l
s
e
n
o
E
s
c
a
p
e
:
F
a
l
s
e
c
o
n
f
i
g
F
i
l
e
:
N
o
n
e
回复
举报
上一个主题
下一个主题
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
!disable!!post_parseurl!
使用Markdown编辑器编辑
使用富文本编辑器编辑
回帖后跳转到最后一页