Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
JSH ERP
Commits
c1aac18b
Commit
c1aac18b
authored
Feb 15, 2017
by
季圣华
Browse files
删除目录WebRoot
parent
177828ce
Changes
1000
Hide whitespace changes
Inline
Side-by-side
Too many changes to show.
To preserve performance only
20 of 1000+
files are displayed.
Plain diff
Email patch
WebRoot/js/HoorayOS_mini/js/hros.taskbar.js
deleted
100644 → 0
View file @
177828ce
/*
** 任务栏
*/
HROS
.
taskbar
=
(
function
(){
return
{
/*
** 初始化
*/
init
:
function
(){
//当浏览器窗口改变大小时,任务栏的显示也需进行刷新
$
(
window
).
on
(
'
resize
'
,
function
(){
HROS
.
taskbar
.
resize
();
});
//绑定任务栏点击事件
HROS
.
taskbar
.
click
();
//绑定任务栏前进后退按钮事件
HROS
.
taskbar
.
pageClick
();
},
click
:
function
(){
$
(
'
#task-content-inner
'
).
on
(
'
click
'
,
'
a.task-item
'
,
function
(){
if
(
$
(
this
).
hasClass
(
'
task-item-current
'
)){
HROS
.
window
.
hide
(
$
(
this
).
attr
(
'
appid
'
));
}
else
{
HROS
.
window
.
show2top
(
$
(
this
).
attr
(
'
appid
'
));
}
}).
on
(
'
contextmenu
'
,
'
a.task-item
'
,
function
(
e
){
HROS
.
popupMenu
.
hide
();
var
popupmenu
=
HROS
.
popupMenu
.
task
(
$
(
this
));
var
l
=
$
(
window
).
width
()
-
e
.
clientX
<
popupmenu
.
width
()
?
e
.
clientX
-
popupmenu
.
width
()
:
e
.
clientX
;
var
t
=
e
.
clientY
-
popupmenu
.
height
();
popupmenu
.
css
({
left
:
l
,
top
:
t
}).
show
();
return
false
;
});
},
pageClick
:
function
(){
$
(
'
#task-next-btn
'
).
on
(
'
click
'
,
function
(){
if
(
$
(
this
).
hasClass
(
'
disable
'
)
==
false
){
var
w
=
$
(
'
#task-bar
'
).
width
(),
realW
=
$
(
'
#task-content-inner .task-item
'
).
length
*
114
,
showW
=
w
-
112
,
overW
=
realW
-
showW
;
var
marginL
=
parseInt
(
$
(
'
#task-content-inner
'
).
css
(
'
margin-left
'
))
-
114
;
if
(
marginL
<=
overW
*
-
1
){
marginL
=
overW
*
-
1
;
$
(
'
#task-next a
'
).
addClass
(
'
disable
'
);
}
$
(
'
#task-pre a
'
).
removeClass
(
'
disable
'
);
$
(
'
#task-content-inner
'
).
animate
({
marginLeft
:
marginL
},
200
);
}
});
$
(
'
#task-pre-btn
'
).
on
(
'
click
'
,
function
(){
if
(
$
(
this
).
hasClass
(
'
disable
'
)
==
false
){
var
marginL
=
parseInt
(
$
(
'
#task-content-inner
'
).
css
(
'
margin-left
'
))
+
114
;
if
(
marginL
>=
0
){
marginL
=
0
;
$
(
'
#task-pre a
'
).
addClass
(
'
disable
'
);
}
$
(
'
#task-next a
'
).
removeClass
(
'
disable
'
);
$
(
'
#task-content-inner
'
).
animate
({
marginLeft
:
marginL
},
200
);
}
});
},
resize
:
function
(){
$
(
'
#task-content-inner
'
).
removeClass
(
'
fl
'
);
$
(
'
#task-bar
'
).
css
({
'
left
'
:
73
,
'
right
'
:
0
});
var
w
=
$
(
'
#task-bar
'
).
width
(),
realW
=
$
(
'
#task-content-inner .task-item
'
).
length
*
114
,
showW
=
w
-
112
;
$
(
'
#task-content-inner
'
).
css
(
'
width
'
,
realW
);
if
(
realW
>=
showW
){
$
(
'
#task-next, #task-pre
'
).
show
();
$
(
'
#task-content
'
).
css
(
'
width
'
,
showW
);
$
(
'
#task-content-inner
'
).
addClass
(
'
fl
'
).
stop
(
true
,
false
).
animate
({
marginLeft
:
0
},
200
);
$
(
'
#task-next a
'
).
removeClass
(
'
disable
'
);
$
(
'
#task-pre a
'
).
addClass
(
'
disable
'
);
}
else
{
$
(
'
#task-next, #task-pre
'
).
hide
();
$
(
'
#task-content
'
).
css
(
'
width
'
,
'
100%
'
);
$
(
'
#task-content-inner
'
).
css
({
'
margin-left
'
:
0
,
'
margin-right
'
:
0
});
}
}
}
})();
\ No newline at end of file
WebRoot/js/HoorayOS_mini/js/hros.wallpaper.js
deleted
100644 → 0
View file @
177828ce
/*
** 壁纸
*/
HROS
.
wallpaper
=
(
function
(){
return
{
/*
** 初始化
*/
init
:
function
(){
HROS
.
wallpaper
.
set
();
},
/*
** 设置壁纸
*/
set
:
function
(
isreload
){
/*
** 判断壁纸是否需要重新载入
** 比如当浏览器尺寸改变时,只需更新壁纸,而无需重新载入
*/
var
isreload
=
typeof
(
isreload
)
==
'
undefined
'
?
true
:
isreload
;
if
(
isreload
){
$
(
'
#zoomWallpaperGrid
'
).
remove
();
}
var
w
=
$
(
window
).
width
(),
h
=
$
(
window
).
height
();
if
(
isreload
){
$
(
'
body
'
).
append
(
'
<div id="zoomWallpaperGrid" style="position:absolute;z-index:-10;left:0;top:0;overflow:hidden;height:
'
+
h
+
'
px;width:
'
+
w
+
'
px"><img id="zoomWallpaper" style="position:absolute;height:
'
+
h
+
'
px;width:
'
+
w
+
'
px;top:0;left:0"><div style="position:absolute;height:
'
+
h
+
'
px;width:
'
+
w
+
'
px;background:#fff;opacity:0;filter:alpha(opacity=0)"></div></div>
'
);
$
(
'
#zoomWallpaper
'
).
attr
(
'
src
'
,
HROS
.
CONFIG
.
wallpaper
).
on
(
'
load
'
,
function
(){
$
(
this
).
show
();
});
}
else
{
$
(
'
#zoomWallpaperGrid, #zoomWallpaperGrid div, #zoomWallpaper
'
).
css
({
height
:
h
+
'
px
'
,
width
:
w
+
'
px
'
});
}
}
}
})();
\ No newline at end of file
WebRoot/js/HoorayOS_mini/js/hros.widget.js
deleted
100644 → 0
View file @
177828ce
/*
** 小挂件
*/
HROS
.
widget
=
(
function
(){
return
{
init
:
function
(){
//挂件上各个按钮
HROS
.
widget
.
handle
();
//挂件移动
HROS
.
widget
.
move
();
},
/*
** 创建挂件
** 自定义挂件:HROS.widget.createTemp({url,width,height,left,top});
** 示例:HROS.widget.createTemp({url:"http://www.baidu.com",width:800,height:400,left:100,top:100});
*/
createTemp
:
function
(
obj
){
var
appid
=
obj
.
appid
==
null
?
Date
.
parse
(
new
Date
())
:
obj
.
appid
;
//判断窗口是否已打开
var
iswidgetopen
=
false
;
$
(
'
#desk .widget
'
).
each
(
function
(){
if
(
$
(
this
).
attr
(
'
appid
'
)
==
appid
){
iswidgetopen
=
true
;
return
false
;
}
});
//如果没有打开,则进行创建
if
(
!
iswidgetopen
){
function
nextDo
(
options
){
$
(
'
#desk
'
).
append
(
widgetWindowTemp
({
'
width
'
:
options
.
width
,
'
height
'
:
options
.
height
,
'
type
'
:
'
widget
'
,
'
id
'
:
'
w_
'
+
options
.
appid
,
'
appid
'
:
options
.
appid
,
'
top
'
:
options
.
top
,
'
right
'
:
options
.
right
,
'
url
'
:
options
.
url
,
'
zIndex
'
:
HROS
.
CONFIG
.
widgetIndexid
}));
HROS
.
CONFIG
.
widgetIndexid
+=
1
;
}
nextDo
({
appid
:
appid
,
url
:
obj
.
url
,
width
:
obj
.
width
,
height
:
obj
.
height
,
top
:
obj
.
top
==
null
?
0
:
obj
.
top
,
right
:
obj
.
right
==
null
?
0
:
obj
.
right
});
}
},
create
:
function
(
appid
){
//判断窗口是否已打开
var
iswidgetopen
=
false
;
$
(
'
#desk .widget
'
).
each
(
function
(){
if
(
$
(
this
).
attr
(
'
appid
'
)
==
appid
){
iswidgetopen
=
true
;
return
false
;
}
});
//如果没有打开,则进行创建
if
(
!
iswidgetopen
){
function
nextDo
(
options
){
var
widgetId
=
'
#w_
'
+
options
.
appid
;
TEMP
.
widgetTemp
=
{
'
title
'
:
options
.
title
,
'
width
'
:
options
.
width
,
'
height
'
:
options
.
height
,
'
type
'
:
options
.
type
,
'
id
'
:
'
w_
'
+
options
.
appid
,
'
appid
'
:
options
.
appid
,
'
top
'
:
options
.
top
,
'
right
'
:
options
.
right
,
'
url
'
:
options
.
url
,
'
zIndex
'
:
HROS
.
CONFIG
.
widgetIndexid
,
'
issetbar
'
:
1
};
$
(
'
#desk
'
).
append
(
widgetWindowTemp
(
TEMP
.
widgetTemp
));
$
(
widgetId
).
data
(
'
info
'
,
TEMP
.
widgetTemp
);
HROS
.
CONFIG
.
widgetIndexid
+=
1
;
}
$
(
HROS
.
VAR
.
dock
).
each
(
function
(){
if
(
this
.
id
==
appid
){
nextDo
({
appid
:
this
.
id
,
title
:
this
.
title
,
url
:
this
.
url
,
type
:
this
.
type
,
width
:
this
.
width
,
height
:
this
.
height
,
top
:
typeof
(
this
.
top
)
==
'
undefined
'
?
0
:
this
.
top
,
right
:
typeof
(
this
.
right
)
==
'
undefined
'
?
0
:
this
.
right
});
}
});
$
(
HROS
.
VAR
.
desk
).
each
(
function
(){
if
(
this
.
id
==
appid
){
nextDo
({
appid
:
this
.
id
,
title
:
this
.
title
,
url
:
this
.
url
,
type
:
this
.
type
,
width
:
this
.
width
,
height
:
this
.
height
,
top
:
typeof
(
this
.
top
)
==
'
undefined
'
?
0
:
this
.
top
,
right
:
typeof
(
this
.
right
)
==
'
undefined
'
?
0
:
this
.
right
});
}
});
}
},
move
:
function
(){
$
(
'
#desk
'
).
on
(
'
mousedown
'
,
'
.widget .move
'
,
function
(
e
){
var
obj
=
$
(
this
).
parents
(
'
.widget
'
);
HROS
.
widget
.
show2top
(
obj
.
attr
(
'
appid
'
));
var
lay
,
x
,
y
;
x
=
e
.
clientX
-
obj
.
offset
().
left
;
y
=
e
.
clientY
-
obj
.
offset
().
top
;
//绑定鼠标移动事件
$
(
document
).
on
(
'
mousemove
'
,
function
(
e
){
lay
=
HROS
.
maskBox
.
desk
();
lay
.
show
();
_r
=
e
.
clientX
-
x
;
_t
=
e
.
clientY
-
y
;
_t
=
_t
<
0
?
0
:
_t
;
_r
=
$
(
window
).
width
()
-
obj
.
width
()
-
_r
;
obj
.
css
({
right
:
_r
,
top
:
_t
});
}).
on
(
'
mouseup
'
,
function
(){
$
(
this
).
off
(
'
mousemove
'
).
off
(
'
mouseup
'
);
if
(
typeof
(
lay
)
!==
'
undefined
'
){
lay
.
hide
();
}
});
});
},
close
:
function
(
appid
){
var
widgetId
=
'
#w_
'
+
appid
;
$
(
widgetId
).
html
(
''
).
remove
();
},
show2top
:
function
(
appid
){
var
widgetId
=
'
#w_
'
+
appid
;
$
(
widgetId
).
css
(
'
z-index
'
,
HROS
.
CONFIG
.
widgetIndexid
);
HROS
.
CONFIG
.
widgetIndexid
+=
1
;
},
handle
:
function
(){
$
(
'
#desk
'
).
on
(
'
click
'
,
'
.widget .ha-close
'
,
function
(
e
){
var
obj
=
$
(
this
).
parents
(
'
.widget
'
);
HROS
.
widget
.
close
(
obj
.
attr
(
'
appid
'
));
});
}
}
})();
\ No newline at end of file
WebRoot/js/HoorayOS_mini/js/hros.window.js
deleted
100644 → 0
View file @
177828ce
/*
** 应用窗口
*/
HROS
.
window
=
(
function
(){
return
{
init
:
function
(){
//窗口上各个按钮
HROS
.
window
.
handle
();
//窗口移动
HROS
.
window
.
move
();
//窗口拉伸
HROS
.
window
.
resize
();
//绑定窗口遮罩层点击事件
$
(
'
#desk
'
).
on
(
'
click
'
,
'
.window-container .window-mask
'
,
function
(){
HROS
.
window
.
show2top
(
$
(
this
).
parents
(
'
.window-container
'
).
attr
(
'
appid
'
),
true
);
});
//屏蔽窗口右键
$
(
'
#desk
'
).
on
(
'
contextmenu
'
,
'
.window-container
'
,
function
(){
return
false
;
});
},
/*
** 创建窗口
** 自定义窗口:HROS.window.createTemp({title,url,width,height,top,left,resize,isflash});
** 后面参数依次为:标题、地址、宽、高、是否可拉伸、是否打开默认最大化、是否为flash
** 示例:HROS.window.createTemp({title:"百度",url:"http://www.baidu.com",width:800,height:400,top:0,left:100,isresize:false,isopenmax:false,isflash:false});
*/
createTemp
:
function
(
obj
){
var
type
=
'
app
'
,
appid
=
obj
.
appid
==
null
?
Date
.
parse
(
new
Date
())
:
obj
.
appid
;
//判断窗口是否已打开
var
iswindowopen
=
false
;
$
(
'
#task-content-inner a.task-item
'
).
each
(
function
(){
if
(
$
(
this
).
attr
(
'
appid
'
)
==
appid
){
iswindowopen
=
true
;
HROS
.
window
.
show2top
(
$
(
this
).
attr
(
'
appid
'
));
return
false
;
}
});
//如果没有打开,则进行创建
if
(
!
iswindowopen
){
function
nextDo
(
options
){
var
windowId
=
'
#w_
'
+
options
.
appid
;
//新增任务栏
$
(
'
#task-content-inner
'
).
prepend
(
taskTemp
({
'
type
'
:
options
.
type
,
'
id
'
:
'
t_
'
+
options
.
appid
,
'
appid
'
:
options
.
appid
,
'
title
'
:
options
.
title
,
'
imgsrc
'
:
options
.
imgsrc
}));
HROS
.
taskbar
.
resize
();
//新增窗口
TEMP
.
windowTemp
=
{
'
width
'
:
options
.
width
,
'
height
'
:
options
.
height
,
'
top
'
:
options
.
top
,
'
left
'
:
options
.
left
,
'
emptyW
'
:
$
(
window
).
width
()
-
options
.
width
,
'
emptyH
'
:
$
(
window
).
height
()
-
options
.
height
,
'
zIndex
'
:
HROS
.
CONFIG
.
windowIndexid
,
'
type
'
:
options
.
type
,
'
id
'
:
'
w_
'
+
options
.
appid
,
'
appid
'
:
options
.
appid
,
'
title
'
:
options
.
title
,
'
url
'
:
options
.
url
,
'
imgsrc
'
:
options
.
imgsrc
,
'
isresize
'
:
options
.
isresize
,
'
isopenmax
'
:
options
.
isopenmax
,
'
istitlebar
'
:
options
.
isresize
,
'
istitlebarFullscreen
'
:
options
.
isresize
?
window
.
fullScreenApi
.
supportsFullScreen
==
true
?
true
:
false
:
false
,
'
isflash
'
:
options
.
isflash
};
$
(
'
#desk
'
).
append
(
windowTemp
(
TEMP
.
windowTemp
));
$
(
windowId
).
data
(
'
info
'
,
TEMP
.
windowTemp
);
HROS
.
CONFIG
.
windowIndexid
+=
1
;
//iframe加载完毕后,隐藏loading遮罩层
$
(
windowId
+
'
iframe
'
).
load
(
function
(){
$
(
windowId
+
'
.window-frame
'
).
children
(
'
div
'
).
eq
(
1
).
fadeOut
();
});
HROS
.
window
.
show2top
(
options
.
appid
);
}
nextDo
({
type
:
type
,
appid
:
appid
,
imgsrc
:
'
img/ui/default_icon.png
'
,
title
:
obj
.
title
,
url
:
obj
.
url
,
width
:
obj
.
width
,
height
:
obj
.
height
,
top
:
typeof
(
obj
.
top
)
==
'
undefined
'
?
((
$
(
window
).
height
()
-
obj
.
height
)
/
2
<=
0
?
0
:
(
$
(
window
).
height
()
-
obj
.
height
)
/
2
)
:
obj
.
top
,
left
:
typeof
(
obj
.
left
)
==
'
undefined
'
?
((
$
(
window
).
width
()
-
obj
.
width
)
/
2
<=
0
?
0
:
(
$
(
window
).
width
()
-
obj
.
width
)
/
2
)
:
obj
.
left
,
isresize
:
typeof
(
obj
.
isresize
)
==
'
undefined
'
?
false
:
obj
.
isresize
,
isopenmax
:
typeof
(
obj
.
isopenmax
)
==
'
undefined
'
?
false
:
obj
.
isopenmax
,
isflash
:
typeof
(
obj
.
isflash
)
==
'
undefined
'
?
true
:
obj
.
isflash
});
}
else
{
//如果设置强制刷新
if
(
obj
.
refresh
){
var
windowId
=
'
#w_
'
+
appid
;
$
(
windowId
).
find
(
'
iframe
'
).
attr
(
'
src
'
,
obj
.
url
);
}
}
},
/*
** 创建窗口
** 系统窗口:HROS.window.create(appid);
** 示例:HROS.window.create(12);
*/
create
:
function
(
appid
){
//判断窗口是否已打开
var
iswindowopen
=
false
;
$
(
'
#task-content-inner a.task-item
'
).
each
(
function
(){
if
(
$
(
this
).
attr
(
'
appid
'
)
==
appid
){
iswindowopen
=
true
;
HROS
.
window
.
show2top
(
appid
);
return
false
;
}
});
//如果没有打开,则进行创建
if
(
!
iswindowopen
){
function
nextDo
(
options
){
var
windowId
=
'
#w_
'
+
options
.
appid
;
//新增任务栏
$
(
'
#task-content-inner
'
).
prepend
(
taskTemp
({
'
type
'
:
options
.
type
,
'
id
'
:
'
t_
'
+
options
.
appid
,
'
appid
'
:
options
.
appid
,
'
title
'
:
options
.
title
,
'
imgsrc
'
:
options
.
imgsrc
}));
HROS
.
taskbar
.
resize
();
//新增窗口
TEMP
.
windowTemp
=
{
'
width
'
:
options
.
width
,
'
height
'
:
options
.
height
,
'
top
'
:
options
.
top
,
'
left
'
:
options
.
left
,
'
emptyW
'
:
$
(
window
).
width
()
-
options
.
width
,
'
emptyH
'
:
$
(
window
).
height
()
-
options
.
height
,
'
zIndex
'
:
HROS
.
CONFIG
.
windowIndexid
,
'
type
'
:
options
.
type
,
'
id
'
:
'
w_
'
+
options
.
appid
,
'
appid
'
:
options
.
appid
,
'
title
'
:
options
.
title
,
'
url
'
:
options
.
url
,
'
imgsrc
'
:
options
.
imgsrc
,
'
isresize
'
:
options
.
isresize
==
1
?
true
:
false
,
'
isopenmax
'
:
options
.
isresize
==
1
?
options
.
isopenmax
==
1
?
true
:
false
:
false
,
'
istitlebar
'
:
options
.
isresize
==
1
?
true
:
false
,
'
istitlebarFullscreen
'
:
options
.
isresize
==
1
?
window
.
fullScreenApi
.
supportsFullScreen
==
true
?
true
:
false
:
false
,
'
isflash
'
:
options
.
isflash
==
1
?
true
:
false
};
$
(
'
#desk
'
).
append
(
windowTemp
(
TEMP
.
windowTemp
));
$
(
windowId
).
data
(
'
info
'
,
TEMP
.
windowTemp
);
HROS
.
CONFIG
.
windowIndexid
+=
1
;
//iframe加载完毕后,隐藏loading遮罩层
$
(
windowId
+
'
iframe
'
).
load
(
function
(){
$
(
windowId
+
'
.window-frame
'
).
children
(
'
div
'
).
eq
(
1
).
fadeOut
();
});
HROS
.
window
.
show2top
(
options
.
appid
);
}
$
(
HROS
.
VAR
.
dock
).
each
(
function
(){
if
(
this
.
id
==
appid
){
nextDo
({
type
:
this
.
type
,
id
:
this
.
id
,
appid
:
this
.
id
,
title
:
this
.
title
,
imgsrc
:
this
.
icon
,
url
:
this
.
url
,
width
:
this
.
width
,
height
:
this
.
height
,
top
:
typeof
(
this
.
top
)
==
'
undefined
'
?
((
$
(
window
).
height
()
-
this
.
height
)
/
2
<=
0
?
0
:
(
$
(
window
).
height
()
-
this
.
height
)
/
2
)
:
this
.
top
,
left
:
typeof
(
this
.
left
)
==
'
undefined
'
?
((
$
(
window
).
width
()
-
this
.
width
)
/
2
<=
0
?
0
:
(
$
(
window
).
width
()
-
this
.
width
)
/
2
)
:
this
.
left
,
isresize
:
this
.
isresize
,
isopenmax
:
this
.
isopenmax
,
isflash
:
this
.
isflash
});
}
});
$
(
HROS
.
VAR
.
desk
).
each
(
function
(){
if
(
this
.
id
==
appid
){
nextDo
({
type
:
this
.
type
,
id
:
this
.
id
,
appid
:
this
.
id
,
title
:
this
.
title
,
imgsrc
:
this
.
icon
,
url
:
this
.
url
,
width
:
this
.
width
,
height
:
this
.
height
,
top
:
typeof
(
this
.
top
)
==
'
undefined
'
?
((
$
(
window
).
height
()
-
this
.
height
)
/
2
<=
0
?
0
:
(
$
(
window
).
height
()
-
this
.
height
)
/
2
)
:
this
.
top
,
left
:
typeof
(
this
.
left
)
==
'
undefined
'
?
((
$
(
window
).
width
()
-
this
.
width
)
/
2
<=
0
?
0
:
(
$
(
window
).
width
()
-
this
.
width
)
/
2
)
:
this
.
left
,
isresize
:
this
.
isresize
,
isopenmax
:
this
.
isopenmax
,
isflash
:
this
.
isflash
});
}
});
}
},
close
:
function
(
appid
){
var
windowId
=
'
#w_
'
+
appid
,
taskId
=
'
#t_
'
+
appid
;
$
(
windowId
).
removeData
(
'
info
'
).
html
(
''
).
remove
();
$
(
'
#task-content-inner
'
+
taskId
).
html
(
''
).
remove
();
$
(
'
#task-content-inner
'
).
css
(
'
width
'
,
$
(
'
#task-content-inner .task-item
'
).
length
*
114
);
$
(
'
#task-bar, #nav-bar
'
).
removeClass
(
'
min-zIndex
'
);
HROS
.
taskbar
.
resize
();
},
closeAll
:
function
(){
$
(
'
#desk .window-container
'
).
each
(
function
(){
HROS
.
window
.
close
(
$
(
this
).
attr
(
'
appid
'
));
});
},
hide
:
function
(
appid
){
HROS
.
window
.
show2top
(
appid
);
var
windowId
=
'
#w_
'
+
appid
,
taskId
=
'
#t_
'
+
appid
;
$
(
windowId
).
css
(
'
left
'
,
-
10000
).
attr
(
'
state
'
,
'
hide
'
);
$
(
'
#task-content-inner
'
+
taskId
).
removeClass
(
'
task-item-current
'
);
if
(
$
(
windowId
).
attr
(
'
ismax
'
)
==
1
){
$
(
'
#task-bar, #nav-bar
'
).
removeClass
(
'
min-zIndex
'
);
}
},
hideAll
:
function
(){
$
(
'
#task-content-inner a.task-item
'
).
removeClass
(
'
task-item-current
'
);
$
(
'
#desk-1
'
).
nextAll
(
'
div.window-container
'
).
css
(
'
left
'
,
-
10000
).
attr
(
'
state
'
,
'
hide
'
);
},
max
:
function
(
appid
){
HROS
.
window
.
show2top
(
appid
);
var
windowId
=
'
#w_
'
+
appid
,
taskId
=
'
#t_
'
+
appid
;
$
(
windowId
+
'
.title-handle .ha-max
'
).
hide
().
next
(
"
.ha-revert
"
).
show
();
$
(
windowId
).
addClass
(
'
window-maximize
'
).
attr
(
'
ismax
'
,
1
).
animate
({
width
:
'
100%
'
,
height
:
'
100%
'
,
top
:
0
,
left
:
0
},
200
);
$
(
'
#task-bar, #nav-bar
'
).
addClass
(
'
min-zIndex
'
);
},
revert
:
function
(
appid
){
HROS
.
window
.
show2top
(
appid
);
var
windowId
=
'
#w_
'
+
appid
,
taskId
=
'
#t_
'
+
appid
;
$
(
windowId
+
'
.title-handle .ha-revert
'
).
hide
().
prev
(
'
.ha-max
'
).
show
();
var
obj
=
$
(
windowId
),
windowdata
=
obj
.
data
(
'
info
'
);
obj
.
removeClass
(
'
window-maximize
'
).
attr
(
'
ismax
'
,
0
).
animate
({
width
:
windowdata
[
'
width
'
],
height
:
windowdata
[
'
height
'
],
left
:
windowdata
[
'
left
'
],
top
:
windowdata
[
'
top
'
]
},
500
);
$
(
'
#task-bar, #nav-bar
'
).
removeClass
(
'
min-zIndex
'
);
},
show2top
:
function
(
appid
,
isanimate
){
isanimate
=
isanimate
==
null
?
false
:
isanimate
;
var
windowId
=
'
#w_
'
+
appid
,
taskId
=
'
#t_
'
+
appid
;
var
windowdata
=
$
(
windowId
).
data
(
'
info
'
);
var
arr
=
[];
function
show
(){
HROS
.
window
.
show2under
();
//改变当前任务栏样式
$
(
'
#task-content-inner
'
+
taskId
).
addClass
(
'
task-item-current
'
);
if
(
$
(
windowId
).
attr
(
'
ismax
'
)
==
1
){
$
(
'
#task-bar, #nav-bar
'
).
addClass
(
'
min-zIndex
'
);
}
//改变当前窗口样式
$
(
windowId
).
addClass
(
'
window-current
'
).
css
({
'
z-index
'
:
HROS
.
CONFIG
.
windowIndexid
,
'
left
'
:
windowdata
[
'
left
'
],
'
top
'
:
windowdata
[
'
top
'
]
}).
attr
(
'
state
'
,
'
show
'
);
//如果窗口最小化前是最大化状态的,则坐标位置设为0
if
(
$
(
windowId
).
attr
(
'
ismax
'
)
==
1
){
$
(
windowId
).
css
({
'
left
'
:
0
,
'
top
'
:
0
});
}
//改变当前窗口遮罩层样式
$
(
windowId
+
'
.window-mask
'
).
hide
();
//改变当前iframe显示
$
(
windowId
+
'
iframe
'
).
show
();
HROS
.
CONFIG
.
windowIndexid
+=
1
;
}
if
(
isanimate
){
var
baseStartX
=
$
(
windowId
).
offset
().
left
,
baseEndX
=
baseStartX
+
$
(
windowId
).
width
();
var
baseStartY
=
$
(
windowId
).
offset
().
top
,
baseEndY
=
baseStartY
+
$
(
windowId
).
height
();
var
baseCenterX
=
baseStartX
+
(
$
(
windowId
).
width
()
/
2
),
baseCenterY
=
baseStartY
+
(
$
(
windowId
).
height
()
/
2
);
var
baseZIndex
=
parseInt
(
$
(
windowId
).
css
(
'
zIndex
'
));
$
(
'
#desk .window-container:not(
'
+
windowId
+
'
)
'
).
each
(
function
(){
var
thisStartX
=
$
(
this
).
offset
().
left
,
thisEndX
=
thisStartX
+
$
(
this
).
width
();
var
thisStartY
=
$
(
this
).
offset
().
top
,
thisEndY
=
thisStartY
+
$
(
this
).
height
();
var
thisCenterX
=
thisStartX
+
(
$
(
this
).
width
()
/
2
),
thisCenterY
=
thisStartY
+
(
$
(
this
).
height
()
/
2
);
var
thisZIndex
=
parseInt
(
$
(
this
).
css
(
'
zIndex
'
));
var
flag
=
''
;
if
(
thisZIndex
>
baseZIndex
){
// 常规情况,只要有一个角处于区域内,则可以判断窗口有覆盖
// _______ _______ _______ _______
// | ___|___ ___| | ___|___ | | |___
// | | | | | | | | | | | |
// |___| | | |_______| | |___| |_______| |
// |_______| |_______| |_______| |_______|
if
(
(
thisStartX
>=
baseStartX
&&
thisStartX
<=
baseEndX
&&
thisStartY
>=
baseStartY
&&
thisStartY
<=
baseEndY
)
||
(
thisStartX
>=
baseStartX
&&
thisStartX
<=
baseEndX
&&
thisEndY
>=
baseStartY
&&
thisEndY
<=
baseEndY
)
||
(
thisEndX
>=
baseStartX
&&
thisEndX
<=
baseEndX
&&
thisStartY
>=
baseStartY
&&
thisStartY
<=
baseEndY
)
||
(
thisEndX
>=
baseStartX
&&
thisEndX
<=
baseEndX
&&
thisEndY
>=
baseStartY
&&
thisEndY
<=
baseEndY
)
){
flag
=
'
x
'
;
}
// 非常规情况
// _______ _______ _____
// ___| | | |___ _| |___
// | | | | | | | | | |
// |___| | | |___| |_| |___|
// |_______| |_______| |_____|
if
(
(
thisStartX
>=
baseStartX
&&
thisStartX
<=
baseEndX
&&
thisStartY
<
baseStartY
&&
thisEndY
>
baseEndY
)
||
(
thisEndX
>=
baseStartX
&&
thisEndX
<=
baseEndX
&&
thisStartY
<
baseStartY
&&
thisEndY
>
baseEndY
)
){
flag
=
'
x
'
;
}
// _____ ___________ _____
// __|_____|__ | | _|_____|___
// | | | | | |
// | | |___________| |___________|
// |___________| |_____| |_____|
if
(
(
thisStartY
>=
baseStartY
&&
thisStartY
<=
baseEndY
&&
thisStartX
<
baseStartX
&&
thisEndX
>
baseEndX
)
||
(
thisEndY
>=
baseStartY
&&
thisEndY
<=
baseEndY
&&
thisStartX
<
baseStartX
&&
thisEndX
>
baseEndX
)
){
flag
=
'
y
'
;
}
// 两个角处于区域内,另外两种情况不用处理,因为这两种情况下,被移动的窗口是需要进行上下滑动,而非左右
// _____ ___________
// __| |__ | _____ |
// | | | | | | | |
// | |_____| | |__| |__|
// |___________| |_____|
if
(
(
thisStartX
>=
baseStartX
&&
thisStartX
<=
baseEndX
&&
thisEndY
>=
baseStartY
&&
thisEndY
<=
baseEndY
)
&&
(
thisEndX
>=
baseStartX
&&
thisEndX
<=
baseEndX
&&
thisEndY
>=
baseStartY
&&
thisEndY
<=
baseEndY
)
||
(
thisStartX
>=
baseStartX
&&
thisStartX
<=
baseEndX
&&
thisStartY
>=
baseStartY
&&
thisStartY
<=
baseEndY
)
&&
(
thisEndX
>=
baseStartX
&&
thisEndX
<=
baseEndX
&&
thisStartY
>=
baseStartY
&&
thisStartY
<=
baseEndY
)
){
flag
=
'
y
'
;
}
}
if
(
flag
!=
''
){
var
direction
,
distance
;
if
(
flag
==
'
x
'
){
if
(
thisCenterX
>
baseCenterX
){
direction
=
'
right
'
;
distance
=
baseEndX
-
thisStartX
+
30
;
}
else
{
direction
=
'
left
'
;
distance
=
thisEndX
-
baseStartX
+
30
;
}
}
else
{
if
(
thisCenterY
>
baseCenterY
){
direction
=
'
bottom
'
;
distance
=
baseEndY
-
thisStartY
+
30
;
}
else
{
direction
=
'
top
'
;
distance
=
thisEndY
-
baseStartY
+
30
;
}
}
arr
.
push
({
id
:
$
(
this
).
attr
(
'
id
'
),
direction
:
direction
,
//移动方向
distance
:
distance
//移动距离
});
}
});
//开始移动
var
delayTime
=
0
;
for
(
var
i
=
0
;
i
<
arr
.
length
;
i
++
){
var
baseLeft
=
$
(
'
#
'
+
arr
[
i
].
id
).
offset
().
left
,
baseTop
=
$
(
'
#
'
+
arr
[
i
].
id
).
offset
().
top
;
if
(
arr
[
i
].
direction
==
'
left
'
){
$
(
'
#
'
+
arr
[
i
].
id
).
delay
(
delayTime
).
animate
({
left
:
baseLeft
-
arr
[
i
].
distance
},
300
).
animate
({
left
:
baseLeft
},
300
);
}
else
if
(
arr
[
i
].
direction
==
'
right
'
){
$
(
'
#
'
+
arr
[
i
].
id
).
delay
(
delayTime
).
animate
({
left
:
baseLeft
+
arr
[
i
].
distance
},
300
).
animate
({
left
:
baseLeft
},
300
);
}
else
if
(
arr
[
i
].
direction
==
'
top
'
){
$
(
'
#
'
+
arr
[
i
].
id
).
delay
(
delayTime
).
animate
({
top
:
baseTop
-
arr
[
i
].
distance
},
300
).
animate
({
top
:
baseTop
},
300
);
}
else
if
(
arr
[
i
].
direction
==
'
bottom
'
){
$
(
'
#
'
+
arr
[
i
].
id
).
delay
(
delayTime
).
animate
({
top
:
baseTop
+
arr
[
i
].
distance
},
300
).
animate
({
top
:
baseTop
},
300
);
}
delayTime
+=
100
;
}
setTimeout
(
show
,
delayTime
+
100
);
}
else
{
show
();
}
},
show2under
:
function
(){
//改变任务栏样式
$
(
'
#task-content-inner a.task-item
'
).
removeClass
(
'
task-item-current
'
);
//改变窗口样式
$
(
'
#desk .window-container
'
).
removeClass
(
'
window-current
'
);
//改变窗口遮罩层样式
$
(
'
#desk .window-container .window-mask
'
).
show
();
//改变iframe显示
$
(
'
#desk .window-container-flash iframe
'
).
hide
();
},
handle
:
function
(){
$
(
'
#desk
'
).
on
(
'
dblclick
'
,
'
.window-container .title-bar
'
,
function
(
e
){
var
obj
=
$
(
this
).
parents
(
'
.window-container
'
);
//判断当前窗口是否已经是最大化
if
(
obj
.
find
(
'
.ha-max
'
).
is
(
'
:hidden
'
)){
obj
.
find
(
'
.ha-revert
'
).
click
();
}
else
{
obj
.
find
(
'
.ha-max
'
).
click
();
}
}).
on
(
'
click
'
,
'
.window-container .ha-hide
'
,
function
(){
var
obj
=
$
(
this
).
parents
(
'
.window-container
'
);
HROS
.
window
.
hide
(
obj
.
attr
(
'
appid
'
));
}).
on
(
'
click
'
,
'
.window-container .ha-max
'
,
function
(){
var
obj
=
$
(
this
).
parents
(
'
.window-container
'
);
HROS
.
window
.
max
(
obj
.
attr
(
'
appid
'
));
}).
on
(
'
click
'
,
'
.window-container .ha-revert
'
,
function
(){
var
obj
=
$
(
this
).
parents
(
'
.window-container
'
);
HROS
.
window
.
revert
(
obj
.
attr
(
'
appid
'
));
}).
on
(
'
click
'
,
'
.window-container .ha-fullscreen
'
,
function
(){
var
obj
=
$
(
this
).
parents
(
'
.window-container
'
);
window
.
fullScreenApi
.
requestFullScreen
(
document
.
getElementById
(
obj
.
find
(
'
iframe
'
).
attr
(
'
id
'
)));
}).
on
(
'
click
'
,
'
.window-container .ha-close
'
,
function
(){
var
obj
=
$
(
this
).
parents
(
'
.window-container
'
);
HROS
.
window
.
close
(
obj
.
attr
(
'
appid
'
));
}).
on
(
'
contextmenu
'
,
'
.window-container
'
,
function
(){
$
(
'
.popup-menu
'
).
hide
();
$
(
'
.quick_view_container
'
).
remove
();
return
false
;
});
},
move
:
function
(){
$
(
'
#desk
'
).
on
(
'
mousedown
'
,
'
.window-container .title-bar
'
,
function
(
e
){
var
obj
=
$
(
this
).
parents
(
'
.window-container
'
);
if
(
obj
.
attr
(
'
ismax
'
)
==
1
){
return
false
;
}
HROS
.
window
.
show2top
(
obj
.
attr
(
'
appid
'
));
var
windowdata
=
obj
.
data
(
'
info
'
),
lay
,
x
,
y
;
x
=
e
.
clientX
-
obj
.
offset
().
left
;
y
=
e
.
clientY
-
obj
.
offset
().
top
;
//绑定鼠标移动事件
$
(
document
).
on
(
'
mousemove
'
,
function
(
e
){
lay
=
HROS
.
maskBox
.
desk
();
lay
.
show
();
//强制把右上角还原按钮隐藏,最大化按钮显示
obj
.
find
(
'
.ha-revert
'
).
hide
().
prev
(
'
.ha-max
'
).
show
();
_l
=
e
.
clientX
-
x
;
_t
=
e
.
clientY
-
y
;
_w
=
windowdata
[
'
width
'
];
_h
=
windowdata
[
'
height
'
];
//窗口贴屏幕顶部10px内 || 底部60px内
_t
=
_t
<=
10
?
0
:
_t
>=
lay
.
height
()
-
30
?
lay
.
height
()
-
30
:
_t
;
obj
.
css
({
width
:
_w
,
height
:
_h
,
left
:
_l
,
top
:
_t
});
obj
.
data
(
'
info
'
).
left
=
obj
.
offset
().
left
;
obj
.
data
(
'
info
'
).
top
=
obj
.
offset
().
top
;
}).
on
(
'
mouseup
'
,
function
(){
$
(
this
).
off
(
'
mousemove
'
).
off
(
'
mouseup
'
);
if
(
typeof
(
lay
)
!==
'
undefined
'
){
lay
.
hide
();
}
});
});
},
resize
:
function
(
obj
){
$
(
'
#desk
'
).
on
(
'
mousedown
'
,
'
.window-container .window-resize
'
,
function
(
e
){
var
obj
=
$
(
this
).
parents
(
'
.window-container
'
);
//增加背景遮罩层
var
resizeobj
=
$
(
this
),
lay
,
x
=
e
.
clientX
,
y
=
e
.
clientY
,
w
=
obj
.
width
(),
h
=
obj
.
height
();
$
(
document
).
on
(
'
mousemove
'
,
function
(
e
){
lay
=
HROS
.
maskBox
.
desk
();
lay
.
show
();
_x
=
e
.
clientX
;
_y
=
e
.
clientY
;
//当拖动到屏幕边缘时,自动贴屏
_x
=
_x
<=
10
?
0
:
_x
>=
(
lay
.
width
()
-
12
)
?
(
lay
.
width
()
-
2
)
:
_x
;
_y
=
_y
<=
10
?
0
:
_y
>=
(
lay
.
height
()
-
12
)
?
lay
.
height
()
:
_y
;
switch
(
resizeobj
.
attr
(
'
resize
'
)){
case
'
t
'
:
h
+
y
-
_y
>
HROS
.
CONFIG
.
windowMinHeight
?
obj
.
css
({
height
:
h
+
y
-
_y
,
top
:
_y
})
:
obj
.
css
({
height
:
HROS
.
CONFIG
.
windowMinHeight
});
break
;
case
'
r
'
:
w
-
x
+
_x
>
HROS
.
CONFIG
.
windowMinWidth
?
obj
.
css
({
width
:
w
-
x
+
_x
})
:
obj
.
css
({
width
:
HROS
.
CONFIG
.
windowMinWidth
});
break
;
case
'
b
'
:
h
-
y
+
_y
>
HROS
.
CONFIG
.
windowMinHeight
?
obj
.
css
({
height
:
h
-
y
+
_y
})
:
obj
.
css
({
height
:
HROS
.
CONFIG
.
windowMinHeight
});
break
;
case
'
l
'
:
w
+
x
-
_x
>
HROS
.
CONFIG
.
windowMinWidth
?
obj
.
css
({
width
:
w
+
x
-
_x
,
left
:
_x
})
:
obj
.
css
({
width
:
HROS
.
CONFIG
.
windowMinWidth
});
break
;
case
'
rt
'
:
h
+
y
-
_y
>
HROS
.
CONFIG
.
windowMinHeight
?
obj
.
css
({
height
:
h
+
y
-
_y
,
top
:
_y
})
:
obj
.
css
({
height
:
HROS
.
CONFIG
.
windowMinHeight
});
w
-
x
+
_x
>
HROS
.
CONFIG
.
windowMinWidth
?
obj
.
css
({
width
:
w
-
x
+
_x
})
:
obj
.
css
({
width
:
HROS
.
CONFIG
.
windowMinWidth
});
break
;
case
'
rb
'
:
w
-
x
+
_x
>
HROS
.
CONFIG
.
windowMinWidth
?
obj
.
css
({
width
:
w
-
x
+
_x
})
:
obj
.
css
({
width
:
HROS
.
CONFIG
.
windowMinWidth
});
h
-
y
+
_y
>
HROS
.
CONFIG
.
windowMinHeight
?
obj
.
css
({
height
:
h
-
y
+
_y
})
:
obj
.
css
({
height
:
HROS
.
CONFIG
.
windowMinHeight
});
break
;
case
'
lt
'
:
w
+
x
-
_x
>
HROS
.
CONFIG
.
windowMinWidth
?
obj
.
css
({
width
:
w
+
x
-
_x
,
left
:
_x
})
:
obj
.
css
({
width
:
HROS
.
CONFIG
.
windowMinWidth
});
h
+
y
-
_y
>
HROS
.
CONFIG
.
windowMinHeight
?
obj
.
css
({
height
:
h
+
y
-
_y
,
top
:
_y
})
:
obj
.
css
({
height
:
HROS
.
CONFIG
.
windowMinHeight
});
break
;
case
'
lb
'
:
w
+
x
-
_x
>
HROS
.
CONFIG
.
windowMinWidth
?
obj
.
css
({
width
:
w
+
x
-
_x
,
left
:
_x
})
:
obj
.
css
({
width
:
HROS
.
CONFIG
.
windowMinWidth
});
h
-
y
+
_y
>
HROS
.
CONFIG
.
windowMinHeight
?
obj
.
css
({
height
:
h
-
y
+
_y
})
:
obj
.
css
({
height
:
HROS
.
CONFIG
.
windowMinHeight
});
break
;
}
}).
on
(
'
mouseup
'
,
function
(){
if
(
typeof
(
lay
)
!==
'
undefined
'
){
lay
.
hide
();
}
obj
.
data
(
'
info
'
).
width
=
obj
.
width
();
obj
.
data
(
'
info
'
).
height
=
obj
.
height
();
obj
.
data
(
'
info
'
).
left
=
obj
.
offset
().
left
;
obj
.
data
(
'
info
'
).
top
=
obj
.
offset
().
top
;
obj
.
data
(
'
info
'
).
emptyW
=
$
(
window
).
width
()
-
obj
.
width
();
obj
.
data
(
'
info
'
).
emptyH
=
$
(
window
).
height
()
-
obj
.
height
();
$
(
this
).
off
(
'
mousemove
'
).
off
(
'
mouseup
'
);
});
});
}
}
})();
\ No newline at end of file
WebRoot/js/HoorayOS_mini/js/hros.zoom.js
deleted
100644 → 0
View file @
177828ce
/*
** 该功能是从QQ空间里提取出来的
** 用于判断页面是否处于缩放状态中,并给予提示
** 可在浏览页时按住ctrl+鼠标滚轮进行测试预览
*/
HROS
.
zoom
=
(
function
(){
return
{
/*
** 初始化
** 其实也不用初始化,可以直接把object代码写在页面上
** 需要注意的是onchange参数,调用的是HROS.zoom.check方法
*/
init
:
function
(){
$
(
'
body
'
).
append
(
'
<div id="zoombox"></div>
'
);
/*
** 使用SWFObject.js插入flash
** http://www.cnblogs.com/wuxinxi007/archive/2009/10/27/1590709.html
*/
//swfobject.embedSWF('js/zoom.swf?onchange=HROS.zoom.check', 'zoombox', '10', '10', '6.0.0', 'expressInstall.swf', '', {allowScriptAccess : 'always', wmode : 'transparent', scale : 'noScale'}, {id : 'accessory_zoom', name : 'zoom_detect'});
},
/*
** 为什么会有个参数o?其实我也不知道
** o.scale的值是数字,当o.scale大于1时,页面处于放大状态,反之则为缩小状态
*/
check
:
function
(
o
){
var
s
=
o
.
scale
,
m
=
s
>
1
?
'
放大
'
:
'
缩小
'
;
if
(
s
!=
1
){
HROS
.
VAR
.
zoomLevel
=
s
;
$
(
'
#zoom-tip
'
).
show
().
find
(
'
span
'
).
text
(
'
您的浏览器目前处于
'
+
m
+
'
状态,会导致显示不正常,您可以键盘按“ctrl+数字0”组合键恢复初始状态!
'
);
}
else
{
if
(
s
!=
HROS
.
VAR
.
zoomLevel
){
$
(
'
#zoom-tip
'
).
fadeOut
();
}
}
},
/*
** 关闭,其实是删除,如果想做关闭,把代码改成hide()即可
*/
close
:
function
(){
$
(
'
#zoom-tip
'
).
remove
();
}
}
})();
\ No newline at end of file
WebRoot/js/HoorayOS_mini/js/jquery-1.8.3.min.js
deleted
100644 → 0
View file @
177828ce
/*! jQuery v1.8.3 jquery.com | jquery.org/license */
(
function
(
e
,
t
){
function
_
(
e
){
var
t
=
M
[
e
]
=
{};
return
v
.
each
(
e
.
split
(
y
),
function
(
e
,
n
){
t
[
n
]
=!
0
}),
t
}
function
H
(
e
,
n
,
r
){
if
(
r
===
t
&&
e
.
nodeType
===
1
){
var
i
=
"
data-
"
+
n
.
replace
(
P
,
"
-$1
"
).
toLowerCase
();
r
=
e
.
getAttribute
(
i
);
if
(
typeof
r
==
"
string
"
){
try
{
r
=
r
===
"
true
"
?
!
0
:
r
===
"
false
"
?
!
1
:
r
===
"
null
"
?
null
:
+
r
+
""
===
r
?
+
r
:
D
.
test
(
r
)?
v
.
parseJSON
(
r
):
r
}
catch
(
s
){}
v
.
data
(
e
,
n
,
r
)}
else
r
=
t
}
return
r
}
function
B
(
e
){
var
t
;
for
(
t
in
e
){
if
(
t
===
"
data
"
&&
v
.
isEmptyObject
(
e
[
t
]))
continue
;
if
(
t
!==
"
toJSON
"
)
return
!
1
}
return
!
0
}
function
et
(){
return
!
1
}
function
tt
(){
return
!
0
}
function
ut
(
e
){
return
!
e
||!
e
.
parentNode
||
e
.
parentNode
.
nodeType
===
11
}
function
at
(
e
,
t
){
do
e
=
e
[
t
];
while
(
e
&&
e
.
nodeType
!==
1
);
return
e
}
function
ft
(
e
,
t
,
n
){
t
=
t
||
0
;
if
(
v
.
isFunction
(
t
))
return
v
.
grep
(
e
,
function
(
e
,
r
){
var
i
=!!
t
.
call
(
e
,
r
,
e
);
return
i
===
n
});
if
(
t
.
nodeType
)
return
v
.
grep
(
e
,
function
(
e
,
r
){
return
e
===
t
===
n
});
if
(
typeof
t
==
"
string
"
){
var
r
=
v
.
grep
(
e
,
function
(
e
){
return
e
.
nodeType
===
1
});
if
(
it
.
test
(
t
))
return
v
.
filter
(
t
,
r
,
!
n
);
t
=
v
.
filter
(
t
,
r
)}
return
v
.
grep
(
e
,
function
(
e
,
r
){
return
v
.
inArray
(
e
,
t
)
>=
0
===
n
})}
function
lt
(
e
){
var
t
=
ct
.
split
(
"
|
"
),
n
=
e
.
createDocumentFragment
();
if
(
n
.
createElement
)
while
(
t
.
length
)
n
.
createElement
(
t
.
pop
());
return
n
}
function
Lt
(
e
,
t
){
return
e
.
getElementsByTagName
(
t
)[
0
]
||
e
.
appendChild
(
e
.
ownerDocument
.
createElement
(
t
))}
function
At
(
e
,
t
){
if
(
t
.
nodeType
!==
1
||!
v
.
hasData
(
e
))
return
;
var
n
,
r
,
i
,
s
=
v
.
_data
(
e
),
o
=
v
.
_data
(
t
,
s
),
u
=
s
.
events
;
if
(
u
){
delete
o
.
handle
,
o
.
events
=
{};
for
(
n
in
u
)
for
(
r
=
0
,
i
=
u
[
n
].
length
;
r
<
i
;
r
++
)
v
.
event
.
add
(
t
,
n
,
u
[
n
][
r
])}
o
.
data
&&
(
o
.
data
=
v
.
extend
({},
o
.
data
))}
function
Ot
(
e
,
t
){
var
n
;
if
(
t
.
nodeType
!==
1
)
return
;
t
.
clearAttributes
&&
t
.
clearAttributes
(),
t
.
mergeAttributes
&&
t
.
mergeAttributes
(
e
),
n
=
t
.
nodeName
.
toLowerCase
(),
n
===
"
object
"
?(
t
.
parentNode
&&
(
t
.
outerHTML
=
e
.
outerHTML
),
v
.
support
.
html5Clone
&&
e
.
innerHTML
&&!
v
.
trim
(
t
.
innerHTML
)
&&
(
t
.
innerHTML
=
e
.
innerHTML
)):
n
===
"
input
"
&&
Et
.
test
(
e
.
type
)?(
t
.
defaultChecked
=
t
.
checked
=
e
.
checked
,
t
.
value
!==
e
.
value
&&
(
t
.
value
=
e
.
value
)):
n
===
"
option
"
?
t
.
selected
=
e
.
defaultSelected
:
n
===
"
input
"
||
n
===
"
textarea
"
?
t
.
defaultValue
=
e
.
defaultValue
:
n
===
"
script
"
&&
t
.
text
!==
e
.
text
&&
(
t
.
text
=
e
.
text
),
t
.
removeAttribute
(
v
.
expando
)}
function
Mt
(
e
){
return
typeof
e
.
getElementsByTagName
!=
"
undefined
"
?
e
.
getElementsByTagName
(
"
*
"
):
typeof
e
.
querySelectorAll
!=
"
undefined
"
?
e
.
querySelectorAll
(
"
*
"
):[]}
function
_t
(
e
){
Et
.
test
(
e
.
type
)
&&
(
e
.
defaultChecked
=
e
.
checked
)}
function
Qt
(
e
,
t
){
if
(
t
in
e
)
return
t
;
var
n
=
t
.
charAt
(
0
).
toUpperCase
()
+
t
.
slice
(
1
),
r
=
t
,
i
=
Jt
.
length
;
while
(
i
--
){
t
=
Jt
[
i
]
+
n
;
if
(
t
in
e
)
return
t
}
return
r
}
function
Gt
(
e
,
t
){
return
e
=
t
||
e
,
v
.
css
(
e
,
"
display
"
)
===
"
none
"
||!
v
.
contains
(
e
.
ownerDocument
,
e
)}
function
Yt
(
e
,
t
){
var
n
,
r
,
i
=
[],
s
=
0
,
o
=
e
.
length
;
for
(;
s
<
o
;
s
++
){
n
=
e
[
s
];
if
(
!
n
.
style
)
continue
;
i
[
s
]
=
v
.
_data
(
n
,
"
olddisplay
"
),
t
?(
!
i
[
s
]
&&
n
.
style
.
display
===
"
none
"
&&
(
n
.
style
.
display
=
""
),
n
.
style
.
display
===
""
&&
Gt
(
n
)
&&
(
i
[
s
]
=
v
.
_data
(
n
,
"
olddisplay
"
,
nn
(
n
.
nodeName
)))):(
r
=
Dt
(
n
,
"
display
"
),
!
i
[
s
]
&&
r
!==
"
none
"
&&
v
.
_data
(
n
,
"
olddisplay
"
,
r
))}
for
(
s
=
0
;
s
<
o
;
s
++
){
n
=
e
[
s
];
if
(
!
n
.
style
)
continue
;
if
(
!
t
||
n
.
style
.
display
===
"
none
"
||
n
.
style
.
display
===
""
)
n
.
style
.
display
=
t
?
i
[
s
]
||
""
:
"
none
"
}
return
e
}
function
Zt
(
e
,
t
,
n
){
var
r
=
Rt
.
exec
(
t
);
return
r
?
Math
.
max
(
0
,
r
[
1
]
-
(
n
||
0
))
+
(
r
[
2
]
||
"
px
"
):
t
}
function
en
(
e
,
t
,
n
,
r
){
var
i
=
n
===
(
r
?
"
border
"
:
"
content
"
)?
4
:
t
===
"
width
"
?
1
:
0
,
s
=
0
;
for
(;
i
<
4
;
i
+=
2
)
n
===
"
margin
"
&&
(
s
+=
v
.
css
(
e
,
n
+
$t
[
i
],
!
0
)),
r
?(
n
===
"
content
"
&&
(
s
-=
parseFloat
(
Dt
(
e
,
"
padding
"
+
$t
[
i
]))
||
0
),
n
!==
"
margin
"
&&
(
s
-=
parseFloat
(
Dt
(
e
,
"
border
"
+
$t
[
i
]
+
"
Width
"
))
||
0
)):(
s
+=
parseFloat
(
Dt
(
e
,
"
padding
"
+
$t
[
i
]))
||
0
,
n
!==
"
padding
"
&&
(
s
+=
parseFloat
(
Dt
(
e
,
"
border
"
+
$t
[
i
]
+
"
Width
"
))
||
0
));
return
s
}
function
tn
(
e
,
t
,
n
){
var
r
=
t
===
"
width
"
?
e
.
offsetWidth
:
e
.
offsetHeight
,
i
=!
0
,
s
=
v
.
support
.
boxSizing
&&
v
.
css
(
e
,
"
boxSizing
"
)
===
"
border-box
"
;
if
(
r
<=
0
||
r
==
null
){
r
=
Dt
(
e
,
t
);
if
(
r
<
0
||
r
==
null
)
r
=
e
.
style
[
t
];
if
(
Ut
.
test
(
r
))
return
r
;
i
=
s
&&
(
v
.
support
.
boxSizingReliable
||
r
===
e
.
style
[
t
]),
r
=
parseFloat
(
r
)
||
0
}
return
r
+
en
(
e
,
t
,
n
||
(
s
?
"
border
"
:
"
content
"
),
i
)
+
"
px
"
}
function
nn
(
e
){
if
(
Wt
[
e
])
return
Wt
[
e
];
var
t
=
v
(
"
<
"
+
e
+
"
>
"
).
appendTo
(
i
.
body
),
n
=
t
.
css
(
"
display
"
);
t
.
remove
();
if
(
n
===
"
none
"
||
n
===
""
){
Pt
=
i
.
body
.
appendChild
(
Pt
||
v
.
extend
(
i
.
createElement
(
"
iframe
"
),{
frameBorder
:
0
,
width
:
0
,
height
:
0
}));
if
(
!
Ht
||!
Pt
.
createElement
)
Ht
=
(
Pt
.
contentWindow
||
Pt
.
contentDocument
).
document
,
Ht
.
write
(
"
<!doctype html><html><body>
"
),
Ht
.
close
();
t
=
Ht
.
body
.
appendChild
(
Ht
.
createElement
(
e
)),
n
=
Dt
(
t
,
"
display
"
),
i
.
body
.
removeChild
(
Pt
)}
return
Wt
[
e
]
=
n
,
n
}
function
fn
(
e
,
t
,
n
,
r
){
var
i
;
if
(
v
.
isArray
(
t
))
v
.
each
(
t
,
function
(
t
,
i
){
n
||
sn
.
test
(
e
)?
r
(
e
,
i
):
fn
(
e
+
"
[
"
+
(
typeof
i
==
"
object
"
?
t
:
""
)
+
"
]
"
,
i
,
n
,
r
)});
else
if
(
!
n
&&
v
.
type
(
t
)
===
"
object
"
)
for
(
i
in
t
)
fn
(
e
+
"
[
"
+
i
+
"
]
"
,
t
[
i
],
n
,
r
);
else
r
(
e
,
t
)}
function
Cn
(
e
){
return
function
(
t
,
n
){
typeof
t
!=
"
string
"
&&
(
n
=
t
,
t
=
"
*
"
);
var
r
,
i
,
s
,
o
=
t
.
toLowerCase
().
split
(
y
),
u
=
0
,
a
=
o
.
length
;
if
(
v
.
isFunction
(
n
))
for
(;
u
<
a
;
u
++
)
r
=
o
[
u
],
s
=
/^
\+
/
.
test
(
r
),
s
&&
(
r
=
r
.
substr
(
1
)
||
"
*
"
),
i
=
e
[
r
]
=
e
[
r
]
||
[],
i
[
s
?
"
unshift
"
:
"
push
"
](
n
)}}
function
kn
(
e
,
n
,
r
,
i
,
s
,
o
){
s
=
s
||
n
.
dataTypes
[
0
],
o
=
o
||
{},
o
[
s
]
=!
0
;
var
u
,
a
=
e
[
s
],
f
=
0
,
l
=
a
?
a
.
length
:
0
,
c
=
e
===
Sn
;
for
(;
f
<
l
&&
(
c
||!
u
);
f
++
)
u
=
a
[
f
](
n
,
r
,
i
),
typeof
u
==
"
string
"
&&
(
!
c
||
o
[
u
]?
u
=
t
:(
n
.
dataTypes
.
unshift
(
u
),
u
=
kn
(
e
,
n
,
r
,
i
,
u
,
o
)));
return
(
c
||!
u
)
&&!
o
[
"
*
"
]
&&
(
u
=
kn
(
e
,
n
,
r
,
i
,
"
*
"
,
o
)),
u
}
function
Ln
(
e
,
n
){
var
r
,
i
,
s
=
v
.
ajaxSettings
.
flatOptions
||
{};
for
(
r
in
n
)
n
[
r
]
!==
t
&&
((
s
[
r
]?
e
:
i
||
(
i
=
{}))[
r
]
=
n
[
r
]);
i
&&
v
.
extend
(
!
0
,
e
,
i
)}
function
An
(
e
,
n
,
r
){
var
i
,
s
,
o
,
u
,
a
=
e
.
contents
,
f
=
e
.
dataTypes
,
l
=
e
.
responseFields
;
for
(
s
in
l
)
s
in
r
&&
(
n
[
l
[
s
]]
=
r
[
s
]);
while
(
f
[
0
]
===
"
*
"
)
f
.
shift
(),
i
===
t
&&
(
i
=
e
.
mimeType
||
n
.
getResponseHeader
(
"
content-type
"
));
if
(
i
)
for
(
s
in
a
)
if
(
a
[
s
]
&&
a
[
s
].
test
(
i
)){
f
.
unshift
(
s
);
break
}
if
(
f
[
0
]
in
r
)
o
=
f
[
0
];
else
{
for
(
s
in
r
){
if
(
!
f
[
0
]
||
e
.
converters
[
s
+
"
"
+
f
[
0
]]){
o
=
s
;
break
}
u
||
(
u
=
s
)}
o
=
o
||
u
}
if
(
o
)
return
o
!==
f
[
0
]
&&
f
.
unshift
(
o
),
r
[
o
]}
function
On
(
e
,
t
){
var
n
,
r
,
i
,
s
,
o
=
e
.
dataTypes
.
slice
(),
u
=
o
[
0
],
a
=
{},
f
=
0
;
e
.
dataFilter
&&
(
t
=
e
.
dataFilter
(
t
,
e
.
dataType
));
if
(
o
[
1
])
for
(
n
in
e
.
converters
)
a
[
n
.
toLowerCase
()]
=
e
.
converters
[
n
];
for
(;
i
=
o
[
++
f
];)
if
(
i
!==
"
*
"
){
if
(
u
!==
"
*
"
&&
u
!==
i
){
n
=
a
[
u
+
"
"
+
i
]
||
a
[
"
*
"
+
i
];
if
(
!
n
)
for
(
r
in
a
){
s
=
r
.
split
(
"
"
);
if
(
s
[
1
]
===
i
){
n
=
a
[
u
+
"
"
+
s
[
0
]]
||
a
[
"
*
"
+
s
[
0
]];
if
(
n
){
n
===!
0
?
n
=
a
[
r
]:
a
[
r
]
!==!
0
&&
(
i
=
s
[
0
],
o
.
splice
(
f
--
,
0
,
i
));
break
}}}
if
(
n
!==!
0
)
if
(
n
&&
e
[
"
throws
"
])
t
=
n
(
t
);
else
try
{
t
=
n
(
t
)}
catch
(
l
){
return
{
state
:
"
parsererror
"
,
error
:
n
?
l
:
"
No conversion from
"
+
u
+
"
to
"
+
i
}}}
u
=
i
}
return
{
state
:
"
success
"
,
data
:
t
}}
function
Fn
(){
try
{
return
new
e
.
XMLHttpRequest
}
catch
(
t
){}}
function
In
(){
try
{
return
new
e
.
ActiveXObject
(
"
Microsoft.XMLHTTP
"
)}
catch
(
t
){}}
function
$n
(){
return
setTimeout
(
function
(){
qn
=
t
},
0
),
qn
=
v
.
now
()}
function
Jn
(
e
,
t
){
v
.
each
(
t
,
function
(
t
,
n
){
var
r
=
(
Vn
[
t
]
||
[]).
concat
(
Vn
[
"
*
"
]),
i
=
0
,
s
=
r
.
length
;
for
(;
i
<
s
;
i
++
)
if
(
r
[
i
].
call
(
e
,
t
,
n
))
return
})}
function
Kn
(
e
,
t
,
n
){
var
r
,
i
=
0
,
s
=
0
,
o
=
Xn
.
length
,
u
=
v
.
Deferred
().
always
(
function
(){
delete
a
.
elem
}),
a
=
function
(){
var
t
=
qn
||
$n
(),
n
=
Math
.
max
(
0
,
f
.
startTime
+
f
.
duration
-
t
),
r
=
n
/
f
.
duration
||
0
,
i
=
1
-
r
,
s
=
0
,
o
=
f
.
tweens
.
length
;
for
(;
s
<
o
;
s
++
)
f
.
tweens
[
s
].
run
(
i
);
return
u
.
notifyWith
(
e
,[
f
,
i
,
n
]),
i
<
1
&&
o
?
n
:(
u
.
resolveWith
(
e
,[
f
]),
!
1
)},
f
=
u
.
promise
({
elem
:
e
,
props
:
v
.
extend
({},
t
),
opts
:
v
.
extend
(
!
0
,{
specialEasing
:{}},
n
),
originalProperties
:
t
,
originalOptions
:
n
,
startTime
:
qn
||
$n
(),
duration
:
n
.
duration
,
tweens
:[],
createTween
:
function
(
t
,
n
,
r
){
var
i
=
v
.
Tween
(
e
,
f
.
opts
,
t
,
n
,
f
.
opts
.
specialEasing
[
t
]
||
f
.
opts
.
easing
);
return
f
.
tweens
.
push
(
i
),
i
},
stop
:
function
(
t
){
var
n
=
0
,
r
=
t
?
f
.
tweens
.
length
:
0
;
for
(;
n
<
r
;
n
++
)
f
.
tweens
[
n
].
run
(
1
);
return
t
?
u
.
resolveWith
(
e
,[
f
,
t
]):
u
.
rejectWith
(
e
,[
f
,
t
]),
this
}}),
l
=
f
.
props
;
Qn
(
l
,
f
.
opts
.
specialEasing
);
for
(;
i
<
o
;
i
++
){
r
=
Xn
[
i
].
call
(
f
,
e
,
l
,
f
.
opts
);
if
(
r
)
return
r
}
return
Jn
(
f
,
l
),
v
.
isFunction
(
f
.
opts
.
start
)
&&
f
.
opts
.
start
.
call
(
e
,
f
),
v
.
fx
.
timer
(
v
.
extend
(
a
,{
anim
:
f
,
queue
:
f
.
opts
.
queue
,
elem
:
e
})),
f
.
progress
(
f
.
opts
.
progress
).
done
(
f
.
opts
.
done
,
f
.
opts
.
complete
).
fail
(
f
.
opts
.
fail
).
always
(
f
.
opts
.
always
)}
function
Qn
(
e
,
t
){
var
n
,
r
,
i
,
s
,
o
;
for
(
n
in
e
){
r
=
v
.
camelCase
(
n
),
i
=
t
[
r
],
s
=
e
[
n
],
v
.
isArray
(
s
)
&&
(
i
=
s
[
1
],
s
=
e
[
n
]
=
s
[
0
]),
n
!==
r
&&
(
e
[
r
]
=
s
,
delete
e
[
n
]),
o
=
v
.
cssHooks
[
r
];
if
(
o
&&
"
expand
"
in
o
){
s
=
o
.
expand
(
s
),
delete
e
[
r
];
for
(
n
in
s
)
n
in
e
||
(
e
[
n
]
=
s
[
n
],
t
[
n
]
=
i
)}
else
t
[
r
]
=
i
}}
function
Gn
(
e
,
t
,
n
){
var
r
,
i
,
s
,
o
,
u
,
a
,
f
,
l
,
c
,
h
=
this
,
p
=
e
.
style
,
d
=
{},
m
=
[],
g
=
e
.
nodeType
&&
Gt
(
e
);
n
.
queue
||
(
l
=
v
.
_queueHooks
(
e
,
"
fx
"
),
l
.
unqueued
==
null
&&
(
l
.
unqueued
=
0
,
c
=
l
.
empty
.
fire
,
l
.
empty
.
fire
=
function
(){
l
.
unqueued
||
c
()}),
l
.
unqueued
++
,
h
.
always
(
function
(){
h
.
always
(
function
(){
l
.
unqueued
--
,
v
.
queue
(
e
,
"
fx
"
).
length
||
l
.
empty
.
fire
()})})),
e
.
nodeType
===
1
&&
(
"
height
"
in
t
||
"
width
"
in
t
)
&&
(
n
.
overflow
=
[
p
.
overflow
,
p
.
overflowX
,
p
.
overflowY
],
v
.
css
(
e
,
"
display
"
)
===
"
inline
"
&&
v
.
css
(
e
,
"
float
"
)
===
"
none
"
&&
(
!
v
.
support
.
inlineBlockNeedsLayout
||
nn
(
e
.
nodeName
)
===
"
inline
"
?
p
.
display
=
"
inline-block
"
:
p
.
zoom
=
1
)),
n
.
overflow
&&
(
p
.
overflow
=
"
hidden
"
,
v
.
support
.
shrinkWrapBlocks
||
h
.
done
(
function
(){
p
.
overflow
=
n
.
overflow
[
0
],
p
.
overflowX
=
n
.
overflow
[
1
],
p
.
overflowY
=
n
.
overflow
[
2
]}));
for
(
r
in
t
){
s
=
t
[
r
];
if
(
Un
.
exec
(
s
)){
delete
t
[
r
],
a
=
a
||
s
===
"
toggle
"
;
if
(
s
===
(
g
?
"
hide
"
:
"
show
"
))
continue
;
m
.
push
(
r
)}}
o
=
m
.
length
;
if
(
o
){
u
=
v
.
_data
(
e
,
"
fxshow
"
)
||
v
.
_data
(
e
,
"
fxshow
"
,{}),
"
hidden
"
in
u
&&
(
g
=
u
.
hidden
),
a
&&
(
u
.
hidden
=!
g
),
g
?
v
(
e
).
show
():
h
.
done
(
function
(){
v
(
e
).
hide
()}),
h
.
done
(
function
(){
var
t
;
v
.
removeData
(
e
,
"
fxshow
"
,
!
0
);
for
(
t
in
d
)
v
.
style
(
e
,
t
,
d
[
t
])});
for
(
r
=
0
;
r
<
o
;
r
++
)
i
=
m
[
r
],
f
=
h
.
createTween
(
i
,
g
?
u
[
i
]:
0
),
d
[
i
]
=
u
[
i
]
||
v
.
style
(
e
,
i
),
i
in
u
||
(
u
[
i
]
=
f
.
start
,
g
&&
(
f
.
end
=
f
.
start
,
f
.
start
=
i
===
"
width
"
||
i
===
"
height
"
?
1
:
0
))}}
function
Yn
(
e
,
t
,
n
,
r
,
i
){
return
new
Yn
.
prototype
.
init
(
e
,
t
,
n
,
r
,
i
)}
function
Zn
(
e
,
t
){
var
n
,
r
=
{
height
:
e
},
i
=
0
;
t
=
t
?
1
:
0
;
for
(;
i
<
4
;
i
+=
2
-
t
)
n
=
$t
[
i
],
r
[
"
margin
"
+
n
]
=
r
[
"
padding
"
+
n
]
=
e
;
return
t
&&
(
r
.
opacity
=
r
.
width
=
e
),
r
}
function
tr
(
e
){
return
v
.
isWindow
(
e
)?
e
:
e
.
nodeType
===
9
?
e
.
defaultView
||
e
.
parentWindow
:
!
1
}
var
n
,
r
,
i
=
e
.
document
,
s
=
e
.
location
,
o
=
e
.
navigator
,
u
=
e
.
jQuery
,
a
=
e
.
$
,
f
=
Array
.
prototype
.
push
,
l
=
Array
.
prototype
.
slice
,
c
=
Array
.
prototype
.
indexOf
,
h
=
Object
.
prototype
.
toString
,
p
=
Object
.
prototype
.
hasOwnProperty
,
d
=
String
.
prototype
.
trim
,
v
=
function
(
e
,
t
){
return
new
v
.
fn
.
init
(
e
,
t
,
n
)},
m
=
/
[\-
+
]?(?:\d
*
\.
|
)\d
+
(?:[
eE
][\-
+
]?\d
+|
)
/
.
source
,
g
=
/
\S
/
,
y
=
/
\s
+/
,
b
=
/^
[\s\u
FEFF
\x
A0
]
+|
[\s\u
FEFF
\x
A0
]
+$/g
,
w
=
/^
(?:[^
#<
]
*
(
<
[\w\W]
+>
)[^
>
]
*$|#
([\w\-]
*
)
$
)
/
,
E
=
/^<
(\w
+
)\s
*
\/?
>
(?:
<
\/\1
>|
)
$/
,
S
=
/^
[\]
,:{}
\s]
*$/
,
x
=
/
(?:
^|:|,
)(?:\s
*
\[)
+/g
,
T
=
/
\\(?:[
"
\\\/
bfnrt
]
|u
[\d
a-fA-F
]{4})
/g
,
N
=
/"
[^
"
\\\r\n]
*"|true|false|null|-
?(?:\d\d
*
\.
|
)\d
+
(?:[
eE
][\-
+
]?\d
+|
)
/g
,
C
=
/^-ms-/
,
k
=
/-
([\d
a-z
])
/gi
,
L
=
function
(
e
,
t
){
return
(
t
+
""
).
toUpperCase
()},
A
=
function
(){
i
.
addEventListener
?(
i
.
removeEventListener
(
"
DOMContentLoaded
"
,
A
,
!
1
),
v
.
ready
()):
i
.
readyState
===
"
complete
"
&&
(
i
.
detachEvent
(
"
onreadystatechange
"
,
A
),
v
.
ready
())},
O
=
{};
v
.
fn
=
v
.
prototype
=
{
constructor
:
v
,
init
:
function
(
e
,
n
,
r
){
var
s
,
o
,
u
,
a
;
if
(
!
e
)
return
this
;
if
(
e
.
nodeType
)
return
this
.
context
=
this
[
0
]
=
e
,
this
.
length
=
1
,
this
;
if
(
typeof
e
==
"
string
"
){
e
.
charAt
(
0
)
===
"
<
"
&&
e
.
charAt
(
e
.
length
-
1
)
===
"
>
"
&&
e
.
length
>=
3
?
s
=
[
null
,
e
,
null
]:
s
=
w
.
exec
(
e
);
if
(
s
&&
(
s
[
1
]
||!
n
)){
if
(
s
[
1
])
return
n
=
n
instanceof
v
?
n
[
0
]:
n
,
a
=
n
&&
n
.
nodeType
?
n
.
ownerDocument
||
n
:
i
,
e
=
v
.
parseHTML
(
s
[
1
],
a
,
!
0
),
E
.
test
(
s
[
1
])
&&
v
.
isPlainObject
(
n
)
&&
this
.
attr
.
call
(
e
,
n
,
!
0
),
v
.
merge
(
this
,
e
);
o
=
i
.
getElementById
(
s
[
2
]);
if
(
o
&&
o
.
parentNode
){
if
(
o
.
id
!==
s
[
2
])
return
r
.
find
(
e
);
this
.
length
=
1
,
this
[
0
]
=
o
}
return
this
.
context
=
i
,
this
.
selector
=
e
,
this
}
return
!
n
||
n
.
jquery
?(
n
||
r
).
find
(
e
):
this
.
constructor
(
n
).
find
(
e
)}
return
v
.
isFunction
(
e
)?
r
.
ready
(
e
):(
e
.
selector
!==
t
&&
(
this
.
selector
=
e
.
selector
,
this
.
context
=
e
.
context
),
v
.
makeArray
(
e
,
this
))},
selector
:
""
,
jquery
:
"
1.8.3
"
,
length
:
0
,
size
:
function
(){
return
this
.
length
},
toArray
:
function
(){
return
l
.
call
(
this
)},
get
:
function
(
e
){
return
e
==
null
?
this
.
toArray
():
e
<
0
?
this
[
this
.
length
+
e
]:
this
[
e
]},
pushStack
:
function
(
e
,
t
,
n
){
var
r
=
v
.
merge
(
this
.
constructor
(),
e
);
return
r
.
prevObject
=
this
,
r
.
context
=
this
.
context
,
t
===
"
find
"
?
r
.
selector
=
this
.
selector
+
(
this
.
selector
?
"
"
:
""
)
+
n
:
t
&&
(
r
.
selector
=
this
.
selector
+
"
.
"
+
t
+
"
(
"
+
n
+
"
)
"
),
r
},
each
:
function
(
e
,
t
){
return
v
.
each
(
this
,
e
,
t
)},
ready
:
function
(
e
){
return
v
.
ready
.
promise
().
done
(
e
),
this
},
eq
:
function
(
e
){
return
e
=+
e
,
e
===-
1
?
this
.
slice
(
e
):
this
.
slice
(
e
,
e
+
1
)},
first
:
function
(){
return
this
.
eq
(
0
)},
last
:
function
(){
return
this
.
eq
(
-
1
)},
slice
:
function
(){
return
this
.
pushStack
(
l
.
apply
(
this
,
arguments
),
"
slice
"
,
l
.
call
(
arguments
).
join
(
"
,
"
))},
map
:
function
(
e
){
return
this
.
pushStack
(
v
.
map
(
this
,
function
(
t
,
n
){
return
e
.
call
(
t
,
n
,
t
)}))},
end
:
function
(){
return
this
.
prevObject
||
this
.
constructor
(
null
)},
push
:
f
,
sort
:[].
sort
,
splice
:[].
splice
},
v
.
fn
.
init
.
prototype
=
v
.
fn
,
v
.
extend
=
v
.
fn
.
extend
=
function
(){
var
e
,
n
,
r
,
i
,
s
,
o
,
u
=
arguments
[
0
]
||
{},
a
=
1
,
f
=
arguments
.
length
,
l
=!
1
;
typeof
u
==
"
boolean
"
&&
(
l
=
u
,
u
=
arguments
[
1
]
||
{},
a
=
2
),
typeof
u
!=
"
object
"
&&!
v
.
isFunction
(
u
)
&&
(
u
=
{}),
f
===
a
&&
(
u
=
this
,
--
a
);
for
(;
a
<
f
;
a
++
)
if
((
e
=
arguments
[
a
])
!=
null
)
for
(
n
in
e
){
r
=
u
[
n
],
i
=
e
[
n
];
if
(
u
===
i
)
continue
;
l
&&
i
&&
(
v
.
isPlainObject
(
i
)
||
(
s
=
v
.
isArray
(
i
)))?(
s
?(
s
=!
1
,
o
=
r
&&
v
.
isArray
(
r
)?
r
:[]):
o
=
r
&&
v
.
isPlainObject
(
r
)?
r
:{},
u
[
n
]
=
v
.
extend
(
l
,
o
,
i
)):
i
!==
t
&&
(
u
[
n
]
=
i
)}
return
u
},
v
.
extend
({
noConflict
:
function
(
t
){
return
e
.
$
===
v
&&
(
e
.
$
=
a
),
t
&&
e
.
jQuery
===
v
&&
(
e
.
jQuery
=
u
),
v
},
isReady
:
!
1
,
readyWait
:
1
,
holdReady
:
function
(
e
){
e
?
v
.
readyWait
++
:
v
.
ready
(
!
0
)},
ready
:
function
(
e
){
if
(
e
===!
0
?
--
v
.
readyWait
:
v
.
isReady
)
return
;
if
(
!
i
.
body
)
return
setTimeout
(
v
.
ready
,
1
);
v
.
isReady
=!
0
;
if
(
e
!==!
0
&&--
v
.
readyWait
>
0
)
return
;
r
.
resolveWith
(
i
,[
v
]),
v
.
fn
.
trigger
&&
v
(
i
).
trigger
(
"
ready
"
).
off
(
"
ready
"
)},
isFunction
:
function
(
e
){
return
v
.
type
(
e
)
===
"
function
"
},
isArray
:
Array
.
isArray
||
function
(
e
){
return
v
.
type
(
e
)
===
"
array
"
},
isWindow
:
function
(
e
){
return
e
!=
null
&&
e
==
e
.
window
},
isNumeric
:
function
(
e
){
return
!
isNaN
(
parseFloat
(
e
))
&&
isFinite
(
e
)},
type
:
function
(
e
){
return
e
==
null
?
String
(
e
):
O
[
h
.
call
(
e
)]
||
"
object
"
},
isPlainObject
:
function
(
e
){
if
(
!
e
||
v
.
type
(
e
)
!==
"
object
"
||
e
.
nodeType
||
v
.
isWindow
(
e
))
return
!
1
;
try
{
if
(
e
.
constructor
&&!
p
.
call
(
e
,
"
constructor
"
)
&&!
p
.
call
(
e
.
constructor
.
prototype
,
"
isPrototypeOf
"
))
return
!
1
}
catch
(
n
){
return
!
1
}
var
r
;
for
(
r
in
e
);
return
r
===
t
||
p
.
call
(
e
,
r
)},
isEmptyObject
:
function
(
e
){
var
t
;
for
(
t
in
e
)
return
!
1
;
return
!
0
},
error
:
function
(
e
){
throw
new
Error
(
e
)},
parseHTML
:
function
(
e
,
t
,
n
){
var
r
;
return
!
e
||
typeof
e
!=
"
string
"
?
null
:(
typeof
t
==
"
boolean
"
&&
(
n
=
t
,
t
=
0
),
t
=
t
||
i
,(
r
=
E
.
exec
(
e
))?[
t
.
createElement
(
r
[
1
])]:(
r
=
v
.
buildFragment
([
e
],
t
,
n
?
null
:[]),
v
.
merge
([],(
r
.
cacheable
?
v
.
clone
(
r
.
fragment
):
r
.
fragment
).
childNodes
)))},
parseJSON
:
function
(
t
){
if
(
!
t
||
typeof
t
!=
"
string
"
)
return
null
;
t
=
v
.
trim
(
t
);
if
(
e
.
JSON
&&
e
.
JSON
.
parse
)
return
e
.
JSON
.
parse
(
t
);
if
(
S
.
test
(
t
.
replace
(
T
,
"
@
"
).
replace
(
N
,
"
]
"
).
replace
(
x
,
""
)))
return
(
new
Function
(
"
return
"
+
t
))();
v
.
error
(
"
Invalid JSON:
"
+
t
)},
parseXML
:
function
(
n
){
var
r
,
i
;
if
(
!
n
||
typeof
n
!=
"
string
"
)
return
null
;
try
{
e
.
DOMParser
?(
i
=
new
DOMParser
,
r
=
i
.
parseFromString
(
n
,
"
text/xml
"
)):(
r
=
new
ActiveXObject
(
"
Microsoft.XMLDOM
"
),
r
.
async
=
"
false
"
,
r
.
loadXML
(
n
))}
catch
(
s
){
r
=
t
}
return
(
!
r
||!
r
.
documentElement
||
r
.
getElementsByTagName
(
"
parsererror
"
).
length
)
&&
v
.
error
(
"
Invalid XML:
"
+
n
),
r
},
noop
:
function
(){},
globalEval
:
function
(
t
){
t
&&
g
.
test
(
t
)
&&
(
e
.
execScript
||
function
(
t
){
e
.
eval
.
call
(
e
,
t
)})(
t
)},
camelCase
:
function
(
e
){
return
e
.
replace
(
C
,
"
ms-
"
).
replace
(
k
,
L
)},
nodeName
:
function
(
e
,
t
){
return
e
.
nodeName
&&
e
.
nodeName
.
toLowerCase
()
===
t
.
toLowerCase
()},
each
:
function
(
e
,
n
,
r
){
var
i
,
s
=
0
,
o
=
e
.
length
,
u
=
o
===
t
||
v
.
isFunction
(
e
);
if
(
r
){
if
(
u
){
for
(
i
in
e
)
if
(
n
.
apply
(
e
[
i
],
r
)
===!
1
)
break
}
else
for
(;
s
<
o
;)
if
(
n
.
apply
(
e
[
s
++
],
r
)
===!
1
)
break
}
else
if
(
u
){
for
(
i
in
e
)
if
(
n
.
call
(
e
[
i
],
i
,
e
[
i
])
===!
1
)
break
}
else
for
(;
s
<
o
;)
if
(
n
.
call
(
e
[
s
],
s
,
e
[
s
++
])
===!
1
)
break
;
return
e
},
trim
:
d
&&!
d
.
call
(
"
\
ufeff
\
u00a0
"
)?
function
(
e
){
return
e
==
null
?
""
:
d
.
call
(
e
)}:
function
(
e
){
return
e
==
null
?
""
:(
e
+
""
).
replace
(
b
,
""
)},
makeArray
:
function
(
e
,
t
){
var
n
,
r
=
t
||
[];
return
e
!=
null
&&
(
n
=
v
.
type
(
e
),
e
.
length
==
null
||
n
===
"
string
"
||
n
===
"
function
"
||
n
===
"
regexp
"
||
v
.
isWindow
(
e
)?
f
.
call
(
r
,
e
):
v
.
merge
(
r
,
e
)),
r
},
inArray
:
function
(
e
,
t
,
n
){
var
r
;
if
(
t
){
if
(
c
)
return
c
.
call
(
t
,
e
,
n
);
r
=
t
.
length
,
n
=
n
?
n
<
0
?
Math
.
max
(
0
,
r
+
n
):
n
:
0
;
for
(;
n
<
r
;
n
++
)
if
(
n
in
t
&&
t
[
n
]
===
e
)
return
n
}
return
-
1
},
merge
:
function
(
e
,
n
){
var
r
=
n
.
length
,
i
=
e
.
length
,
s
=
0
;
if
(
typeof
r
==
"
number
"
)
for
(;
s
<
r
;
s
++
)
e
[
i
++
]
=
n
[
s
];
else
while
(
n
[
s
]
!==
t
)
e
[
i
++
]
=
n
[
s
++
];
return
e
.
length
=
i
,
e
},
grep
:
function
(
e
,
t
,
n
){
var
r
,
i
=
[],
s
=
0
,
o
=
e
.
length
;
n
=!!
n
;
for
(;
s
<
o
;
s
++
)
r
=!!
t
(
e
[
s
],
s
),
n
!==
r
&&
i
.
push
(
e
[
s
]);
return
i
},
map
:
function
(
e
,
n
,
r
){
var
i
,
s
,
o
=
[],
u
=
0
,
a
=
e
.
length
,
f
=
e
instanceof
v
||
a
!==
t
&&
typeof
a
==
"
number
"
&&
(
a
>
0
&&
e
[
0
]
&&
e
[
a
-
1
]
||
a
===
0
||
v
.
isArray
(
e
));
if
(
f
)
for
(;
u
<
a
;
u
++
)
i
=
n
(
e
[
u
],
u
,
r
),
i
!=
null
&&
(
o
[
o
.
length
]
=
i
);
else
for
(
s
in
e
)
i
=
n
(
e
[
s
],
s
,
r
),
i
!=
null
&&
(
o
[
o
.
length
]
=
i
);
return
o
.
concat
.
apply
([],
o
)},
guid
:
1
,
proxy
:
function
(
e
,
n
){
var
r
,
i
,
s
;
return
typeof
n
==
"
string
"
&&
(
r
=
e
[
n
],
n
=
e
,
e
=
r
),
v
.
isFunction
(
e
)?(
i
=
l
.
call
(
arguments
,
2
),
s
=
function
(){
return
e
.
apply
(
n
,
i
.
concat
(
l
.
call
(
arguments
)))},
s
.
guid
=
e
.
guid
=
e
.
guid
||
v
.
guid
++
,
s
):
t
},
access
:
function
(
e
,
n
,
r
,
i
,
s
,
o
,
u
){
var
a
,
f
=
r
==
null
,
l
=
0
,
c
=
e
.
length
;
if
(
r
&&
typeof
r
==
"
object
"
){
for
(
l
in
r
)
v
.
access
(
e
,
n
,
l
,
r
[
l
],
1
,
o
,
i
);
s
=
1
}
else
if
(
i
!==
t
){
a
=
u
===
t
&&
v
.
isFunction
(
i
),
f
&&
(
a
?(
a
=
n
,
n
=
function
(
e
,
t
,
n
){
return
a
.
call
(
v
(
e
),
n
)}):(
n
.
call
(
e
,
i
),
n
=
null
));
if
(
n
)
for
(;
l
<
c
;
l
++
)
n
(
e
[
l
],
r
,
a
?
i
.
call
(
e
[
l
],
l
,
n
(
e
[
l
],
r
)):
i
,
u
);
s
=
1
}
return
s
?
e
:
f
?
n
.
call
(
e
):
c
?
n
(
e
[
0
],
r
):
o
},
now
:
function
(){
return
(
new
Date
).
getTime
()}}),
v
.
ready
.
promise
=
function
(
t
){
if
(
!
r
){
r
=
v
.
Deferred
();
if
(
i
.
readyState
===
"
complete
"
)
setTimeout
(
v
.
ready
,
1
);
else
if
(
i
.
addEventListener
)
i
.
addEventListener
(
"
DOMContentLoaded
"
,
A
,
!
1
),
e
.
addEventListener
(
"
load
"
,
v
.
ready
,
!
1
);
else
{
i
.
attachEvent
(
"
onreadystatechange
"
,
A
),
e
.
attachEvent
(
"
onload
"
,
v
.
ready
);
var
n
=!
1
;
try
{
n
=
e
.
frameElement
==
null
&&
i
.
documentElement
}
catch
(
s
){}
n
&&
n
.
doScroll
&&
function
o
(){
if
(
!
v
.
isReady
){
try
{
n
.
doScroll
(
"
left
"
)}
catch
(
e
){
return
setTimeout
(
o
,
50
)}
v
.
ready
()}}()}}
return
r
.
promise
(
t
)},
v
.
each
(
"
Boolean Number String Function Array Date RegExp Object
"
.
split
(
"
"
),
function
(
e
,
t
){
O
[
"
[object
"
+
t
+
"
]
"
]
=
t
.
toLowerCase
()}),
n
=
v
(
i
);
var
M
=
{};
v
.
Callbacks
=
function
(
e
){
e
=
typeof
e
==
"
string
"
?
M
[
e
]
||
_
(
e
):
v
.
extend
({},
e
);
var
n
,
r
,
i
,
s
,
o
,
u
,
a
=
[],
f
=!
e
.
once
&&
[],
l
=
function
(
t
){
n
=
e
.
memory
&&
t
,
r
=!
0
,
u
=
s
||
0
,
s
=
0
,
o
=
a
.
length
,
i
=!
0
;
for
(;
a
&&
u
<
o
;
u
++
)
if
(
a
[
u
].
apply
(
t
[
0
],
t
[
1
])
===!
1
&&
e
.
stopOnFalse
){
n
=!
1
;
break
}
i
=!
1
,
a
&&
(
f
?
f
.
length
&&
l
(
f
.
shift
()):
n
?
a
=
[]:
c
.
disable
())},
c
=
{
add
:
function
(){
if
(
a
){
var
t
=
a
.
length
;(
function
r
(
t
){
v
.
each
(
t
,
function
(
t
,
n
){
var
i
=
v
.
type
(
n
);
i
===
"
function
"
?(
!
e
.
unique
||!
c
.
has
(
n
))
&&
a
.
push
(
n
):
n
&&
n
.
length
&&
i
!==
"
string
"
&&
r
(
n
)})})(
arguments
),
i
?
o
=
a
.
length
:
n
&&
(
s
=
t
,
l
(
n
))}
return
this
},
remove
:
function
(){
return
a
&&
v
.
each
(
arguments
,
function
(
e
,
t
){
var
n
;
while
((
n
=
v
.
inArray
(
t
,
a
,
n
))
>-
1
)
a
.
splice
(
n
,
1
),
i
&&
(
n
<=
o
&&
o
--
,
n
<=
u
&&
u
--
)}),
this
},
has
:
function
(
e
){
return
v
.
inArray
(
e
,
a
)
>-
1
},
empty
:
function
(){
return
a
=
[],
this
},
disable
:
function
(){
return
a
=
f
=
n
=
t
,
this
},
disabled
:
function
(){
return
!
a
},
lock
:
function
(){
return
f
=
t
,
n
||
c
.
disable
(),
this
},
locked
:
function
(){
return
!
f
},
fireWith
:
function
(
e
,
t
){
return
t
=
t
||
[],
t
=
[
e
,
t
.
slice
?
t
.
slice
():
t
],
a
&&
(
!
r
||
f
)
&&
(
i
?
f
.
push
(
t
):
l
(
t
)),
this
},
fire
:
function
(){
return
c
.
fireWith
(
this
,
arguments
),
this
},
fired
:
function
(){
return
!!
r
}};
return
c
},
v
.
extend
({
Deferred
:
function
(
e
){
var
t
=
[[
"
resolve
"
,
"
done
"
,
v
.
Callbacks
(
"
once memory
"
),
"
resolved
"
],[
"
reject
"
,
"
fail
"
,
v
.
Callbacks
(
"
once memory
"
),
"
rejected
"
],[
"
notify
"
,
"
progress
"
,
v
.
Callbacks
(
"
memory
"
)]],
n
=
"
pending
"
,
r
=
{
state
:
function
(){
return
n
},
always
:
function
(){
return
i
.
done
(
arguments
).
fail
(
arguments
),
this
},
then
:
function
(){
var
e
=
arguments
;
return
v
.
Deferred
(
function
(
n
){
v
.
each
(
t
,
function
(
t
,
r
){
var
s
=
r
[
0
],
o
=
e
[
t
];
i
[
r
[
1
]](
v
.
isFunction
(
o
)?
function
(){
var
e
=
o
.
apply
(
this
,
arguments
);
e
&&
v
.
isFunction
(
e
.
promise
)?
e
.
promise
().
done
(
n
.
resolve
).
fail
(
n
.
reject
).
progress
(
n
.
notify
):
n
[
s
+
"
With
"
](
this
===
i
?
n
:
this
,[
e
])}:
n
[
s
])}),
e
=
null
}).
promise
()},
promise
:
function
(
e
){
return
e
!=
null
?
v
.
extend
(
e
,
r
):
r
}},
i
=
{};
return
r
.
pipe
=
r
.
then
,
v
.
each
(
t
,
function
(
e
,
s
){
var
o
=
s
[
2
],
u
=
s
[
3
];
r
[
s
[
1
]]
=
o
.
add
,
u
&&
o
.
add
(
function
(){
n
=
u
},
t
[
e
^
1
][
2
].
disable
,
t
[
2
][
2
].
lock
),
i
[
s
[
0
]]
=
o
.
fire
,
i
[
s
[
0
]
+
"
With
"
]
=
o
.
fireWith
}),
r
.
promise
(
i
),
e
&&
e
.
call
(
i
,
i
),
i
},
when
:
function
(
e
){
var
t
=
0
,
n
=
l
.
call
(
arguments
),
r
=
n
.
length
,
i
=
r
!==
1
||
e
&&
v
.
isFunction
(
e
.
promise
)?
r
:
0
,
s
=
i
===
1
?
e
:
v
.
Deferred
(),
o
=
function
(
e
,
t
,
n
){
return
function
(
r
){
t
[
e
]
=
this
,
n
[
e
]
=
arguments
.
length
>
1
?
l
.
call
(
arguments
):
r
,
n
===
u
?
s
.
notifyWith
(
t
,
n
):
--
i
||
s
.
resolveWith
(
t
,
n
)}},
u
,
a
,
f
;
if
(
r
>
1
){
u
=
new
Array
(
r
),
a
=
new
Array
(
r
),
f
=
new
Array
(
r
);
for
(;
t
<
r
;
t
++
)
n
[
t
]
&&
v
.
isFunction
(
n
[
t
].
promise
)?
n
[
t
].
promise
().
done
(
o
(
t
,
f
,
n
)).
fail
(
s
.
reject
).
progress
(
o
(
t
,
a
,
u
)):
--
i
}
return
i
||
s
.
resolveWith
(
f
,
n
),
s
.
promise
()}}),
v
.
support
=
function
(){
var
t
,
n
,
r
,
s
,
o
,
u
,
a
,
f
,
l
,
c
,
h
,
p
=
i
.
createElement
(
"
div
"
);
p
.
setAttribute
(
"
className
"
,
"
t
"
),
p
.
innerHTML
=
"
<link/><table></table><a href='/a'>a</a><input type='checkbox'/>
"
,
n
=
p
.
getElementsByTagName
(
"
*
"
),
r
=
p
.
getElementsByTagName
(
"
a
"
)[
0
];
if
(
!
n
||!
r
||!
n
.
length
)
return
{};
s
=
i
.
createElement
(
"
select
"
),
o
=
s
.
appendChild
(
i
.
createElement
(
"
option
"
)),
u
=
p
.
getElementsByTagName
(
"
input
"
)[
0
],
r
.
style
.
cssText
=
"
top:1px;float:left;opacity:.5
"
,
t
=
{
leadingWhitespace
:
p
.
firstChild
.
nodeType
===
3
,
tbody
:
!
p
.
getElementsByTagName
(
"
tbody
"
).
length
,
htmlSerialize
:
!!
p
.
getElementsByTagName
(
"
link
"
).
length
,
style
:
/top/
.
test
(
r
.
getAttribute
(
"
style
"
)),
hrefNormalized
:
r
.
getAttribute
(
"
href
"
)
===
"
/a
"
,
opacity
:
/^0.5/
.
test
(
r
.
style
.
opacity
),
cssFloat
:
!!
r
.
style
.
cssFloat
,
checkOn
:
u
.
value
===
"
on
"
,
optSelected
:
o
.
selected
,
getSetAttribute
:
p
.
className
!==
"
t
"
,
enctype
:
!!
i
.
createElement
(
"
form
"
).
enctype
,
html5Clone
:
i
.
createElement
(
"
nav
"
).
cloneNode
(
!
0
).
outerHTML
!==
"
<:nav></:nav>
"
,
boxModel
:
i
.
compatMode
===
"
CSS1Compat
"
,
submitBubbles
:
!
0
,
changeBubbles
:
!
0
,
focusinBubbles
:
!
1
,
deleteExpando
:
!
0
,
noCloneEvent
:
!
0
,
inlineBlockNeedsLayout
:
!
1
,
shrinkWrapBlocks
:
!
1
,
reliableMarginRight
:
!
0
,
boxSizingReliable
:
!
0
,
pixelPosition
:
!
1
},
u
.
checked
=!
0
,
t
.
noCloneChecked
=
u
.
cloneNode
(
!
0
).
checked
,
s
.
disabled
=!
0
,
t
.
optDisabled
=!
o
.
disabled
;
try
{
delete
p
.
test
}
catch
(
d
){
t
.
deleteExpando
=!
1
}
!
p
.
addEventListener
&&
p
.
attachEvent
&&
p
.
fireEvent
&&
(
p
.
attachEvent
(
"
onclick
"
,
h
=
function
(){
t
.
noCloneEvent
=!
1
}),
p
.
cloneNode
(
!
0
).
fireEvent
(
"
onclick
"
),
p
.
detachEvent
(
"
onclick
"
,
h
)),
u
=
i
.
createElement
(
"
input
"
),
u
.
value
=
"
t
"
,
u
.
setAttribute
(
"
type
"
,
"
radio
"
),
t
.
radioValue
=
u
.
value
===
"
t
"
,
u
.
setAttribute
(
"
checked
"
,
"
checked
"
),
u
.
setAttribute
(
"
name
"
,
"
t
"
),
p
.
appendChild
(
u
),
a
=
i
.
createDocumentFragment
(),
a
.
appendChild
(
p
.
lastChild
),
t
.
checkClone
=
a
.
cloneNode
(
!
0
).
cloneNode
(
!
0
).
lastChild
.
checked
,
t
.
appendChecked
=
u
.
checked
,
a
.
removeChild
(
u
),
a
.
appendChild
(
p
);
if
(
p
.
attachEvent
)
for
(
l
in
{
submit
:
!
0
,
change
:
!
0
,
focusin
:
!
0
})
f
=
"
on
"
+
l
,
c
=
f
in
p
,
c
||
(
p
.
setAttribute
(
f
,
"
return;
"
),
c
=
typeof
p
[
f
]
==
"
function
"
),
t
[
l
+
"
Bubbles
"
]
=
c
;
return
v
(
function
(){
var
n
,
r
,
s
,
o
,
u
=
"
padding:0;margin:0;border:0;display:block;overflow:hidden;
"
,
a
=
i
.
getElementsByTagName
(
"
body
"
)[
0
];
if
(
!
a
)
return
;
n
=
i
.
createElement
(
"
div
"
),
n
.
style
.
cssText
=
"
visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px
"
,
a
.
insertBefore
(
n
,
a
.
firstChild
),
r
=
i
.
createElement
(
"
div
"
),
n
.
appendChild
(
r
),
r
.
innerHTML
=
"
<table><tr><td></td><td>t</td></tr></table>
"
,
s
=
r
.
getElementsByTagName
(
"
td
"
),
s
[
0
].
style
.
cssText
=
"
padding:0;margin:0;border:0;display:none
"
,
c
=
s
[
0
].
offsetHeight
===
0
,
s
[
0
].
style
.
display
=
""
,
s
[
1
].
style
.
display
=
"
none
"
,
t
.
reliableHiddenOffsets
=
c
&&
s
[
0
].
offsetHeight
===
0
,
r
.
innerHTML
=
""
,
r
.
style
.
cssText
=
"
box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;
"
,
t
.
boxSizing
=
r
.
offsetWidth
===
4
,
t
.
doesNotIncludeMarginInBodyOffset
=
a
.
offsetTop
!==
1
,
e
.
getComputedStyle
&&
(
t
.
pixelPosition
=
(
e
.
getComputedStyle
(
r
,
null
)
||
{}).
top
!==
"
1%
"
,
t
.
boxSizingReliable
=
(
e
.
getComputedStyle
(
r
,
null
)
||
{
width
:
"
4px
"
}).
width
===
"
4px
"
,
o
=
i
.
createElement
(
"
div
"
),
o
.
style
.
cssText
=
r
.
style
.
cssText
=
u
,
o
.
style
.
marginRight
=
o
.
style
.
width
=
"
0
"
,
r
.
style
.
width
=
"
1px
"
,
r
.
appendChild
(
o
),
t
.
reliableMarginRight
=!
parseFloat
((
e
.
getComputedStyle
(
o
,
null
)
||
{}).
marginRight
)),
typeof
r
.
style
.
zoom
!=
"
undefined
"
&&
(
r
.
innerHTML
=
""
,
r
.
style
.
cssText
=
u
+
"
width:1px;padding:1px;display:inline;zoom:1
"
,
t
.
inlineBlockNeedsLayout
=
r
.
offsetWidth
===
3
,
r
.
style
.
display
=
"
block
"
,
r
.
style
.
overflow
=
"
visible
"
,
r
.
innerHTML
=
"
<div></div>
"
,
r
.
firstChild
.
style
.
width
=
"
5px
"
,
t
.
shrinkWrapBlocks
=
r
.
offsetWidth
!==
3
,
n
.
style
.
zoom
=
1
),
a
.
removeChild
(
n
),
n
=
r
=
s
=
o
=
null
}),
a
.
removeChild
(
p
),
n
=
r
=
s
=
o
=
u
=
a
=
p
=
null
,
t
}();
var
D
=
/
(?:\{[\s\S]
*
\}
|
\[[\s\S]
*
\])
$/
,
P
=
/
([
A-Z
])
/g
;
v
.
extend
({
cache
:{},
deletedIds
:[],
uuid
:
0
,
expando
:
"
jQuery
"
+
(
v
.
fn
.
jquery
+
Math
.
random
()).
replace
(
/
\D
/g
,
""
),
noData
:{
embed
:
!
0
,
object
:
"
clsid:D27CDB6E-AE6D-11cf-96B8-444553540000
"
,
applet
:
!
0
},
hasData
:
function
(
e
){
return
e
=
e
.
nodeType
?
v
.
cache
[
e
[
v
.
expando
]]:
e
[
v
.
expando
],
!!
e
&&!
B
(
e
)},
data
:
function
(
e
,
n
,
r
,
i
){
if
(
!
v
.
acceptData
(
e
))
return
;
var
s
,
o
,
u
=
v
.
expando
,
a
=
typeof
n
==
"
string
"
,
f
=
e
.
nodeType
,
l
=
f
?
v
.
cache
:
e
,
c
=
f
?
e
[
u
]:
e
[
u
]
&&
u
;
if
((
!
c
||!
l
[
c
]
||!
i
&&!
l
[
c
].
data
)
&&
a
&&
r
===
t
)
return
;
c
||
(
f
?
e
[
u
]
=
c
=
v
.
deletedIds
.
pop
()
||
v
.
guid
++
:
c
=
u
),
l
[
c
]
||
(
l
[
c
]
=
{},
f
||
(
l
[
c
].
toJSON
=
v
.
noop
));
if
(
typeof
n
==
"
object
"
||
typeof
n
==
"
function
"
)
i
?
l
[
c
]
=
v
.
extend
(
l
[
c
],
n
):
l
[
c
].
data
=
v
.
extend
(
l
[
c
].
data
,
n
);
return
s
=
l
[
c
],
i
||
(
s
.
data
||
(
s
.
data
=
{}),
s
=
s
.
data
),
r
!==
t
&&
(
s
[
v
.
camelCase
(
n
)]
=
r
),
a
?(
o
=
s
[
n
],
o
==
null
&&
(
o
=
s
[
v
.
camelCase
(
n
)])):
o
=
s
,
o
},
removeData
:
function
(
e
,
t
,
n
){
if
(
!
v
.
acceptData
(
e
))
return
;
var
r
,
i
,
s
,
o
=
e
.
nodeType
,
u
=
o
?
v
.
cache
:
e
,
a
=
o
?
e
[
v
.
expando
]:
v
.
expando
;
if
(
!
u
[
a
])
return
;
if
(
t
){
r
=
n
?
u
[
a
]:
u
[
a
].
data
;
if
(
r
){
v
.
isArray
(
t
)
||
(
t
in
r
?
t
=
[
t
]:(
t
=
v
.
camelCase
(
t
),
t
in
r
?
t
=
[
t
]:
t
=
t
.
split
(
"
"
)));
for
(
i
=
0
,
s
=
t
.
length
;
i
<
s
;
i
++
)
delete
r
[
t
[
i
]];
if
(
!
(
n
?
B
:
v
.
isEmptyObject
)(
r
))
return
}}
if
(
!
n
){
delete
u
[
a
].
data
;
if
(
!
B
(
u
[
a
]))
return
}
o
?
v
.
cleanData
([
e
],
!
0
):
v
.
support
.
deleteExpando
||
u
!=
u
.
window
?
delete
u
[
a
]:
u
[
a
]
=
null
},
_data
:
function
(
e
,
t
,
n
){
return
v
.
data
(
e
,
t
,
n
,
!
0
)},
acceptData
:
function
(
e
){
var
t
=
e
.
nodeName
&&
v
.
noData
[
e
.
nodeName
.
toLowerCase
()];
return
!
t
||
t
!==!
0
&&
e
.
getAttribute
(
"
classid
"
)
===
t
}}),
v
.
fn
.
extend
({
data
:
function
(
e
,
n
){
var
r
,
i
,
s
,
o
,
u
,
a
=
this
[
0
],
f
=
0
,
l
=
null
;
if
(
e
===
t
){
if
(
this
.
length
){
l
=
v
.
data
(
a
);
if
(
a
.
nodeType
===
1
&&!
v
.
_data
(
a
,
"
parsedAttrs
"
)){
s
=
a
.
attributes
;
for
(
u
=
s
.
length
;
f
<
u
;
f
++
)
o
=
s
[
f
].
name
,
o
.
indexOf
(
"
data-
"
)
||
(
o
=
v
.
camelCase
(
o
.
substring
(
5
)),
H
(
a
,
o
,
l
[
o
]));
v
.
_data
(
a
,
"
parsedAttrs
"
,
!
0
)}}
return
l
}
return
typeof
e
==
"
object
"
?
this
.
each
(
function
(){
v
.
data
(
this
,
e
)}):(
r
=
e
.
split
(
"
.
"
,
2
),
r
[
1
]
=
r
[
1
]?
"
.
"
+
r
[
1
]:
""
,
i
=
r
[
1
]
+
"
!
"
,
v
.
access
(
this
,
function
(
n
){
if
(
n
===
t
)
return
l
=
this
.
triggerHandler
(
"
getData
"
+
i
,[
r
[
0
]]),
l
===
t
&&
a
&&
(
l
=
v
.
data
(
a
,
e
),
l
=
H
(
a
,
e
,
l
)),
l
===
t
&&
r
[
1
]?
this
.
data
(
r
[
0
]):
l
;
r
[
1
]
=
n
,
this
.
each
(
function
(){
var
t
=
v
(
this
);
t
.
triggerHandler
(
"
setData
"
+
i
,
r
),
v
.
data
(
this
,
e
,
n
),
t
.
triggerHandler
(
"
changeData
"
+
i
,
r
)})},
null
,
n
,
arguments
.
length
>
1
,
null
,
!
1
))},
removeData
:
function
(
e
){
return
this
.
each
(
function
(){
v
.
removeData
(
this
,
e
)})}}),
v
.
extend
({
queue
:
function
(
e
,
t
,
n
){
var
r
;
if
(
e
)
return
t
=
(
t
||
"
fx
"
)
+
"
queue
"
,
r
=
v
.
_data
(
e
,
t
),
n
&&
(
!
r
||
v
.
isArray
(
n
)?
r
=
v
.
_data
(
e
,
t
,
v
.
makeArray
(
n
)):
r
.
push
(
n
)),
r
||
[]},
dequeue
:
function
(
e
,
t
){
t
=
t
||
"
fx
"
;
var
n
=
v
.
queue
(
e
,
t
),
r
=
n
.
length
,
i
=
n
.
shift
(),
s
=
v
.
_queueHooks
(
e
,
t
),
o
=
function
(){
v
.
dequeue
(
e
,
t
)};
i
===
"
inprogress
"
&&
(
i
=
n
.
shift
(),
r
--
),
i
&&
(
t
===
"
fx
"
&&
n
.
unshift
(
"
inprogress
"
),
delete
s
.
stop
,
i
.
call
(
e
,
o
,
s
)),
!
r
&&
s
&&
s
.
empty
.
fire
()},
_queueHooks
:
function
(
e
,
t
){
var
n
=
t
+
"
queueHooks
"
;
return
v
.
_data
(
e
,
n
)
||
v
.
_data
(
e
,
n
,{
empty
:
v
.
Callbacks
(
"
once memory
"
).
add
(
function
(){
v
.
removeData
(
e
,
t
+
"
queue
"
,
!
0
),
v
.
removeData
(
e
,
n
,
!
0
)})})}}),
v
.
fn
.
extend
({
queue
:
function
(
e
,
n
){
var
r
=
2
;
return
typeof
e
!=
"
string
"
&&
(
n
=
e
,
e
=
"
fx
"
,
r
--
),
arguments
.
length
<
r
?
v
.
queue
(
this
[
0
],
e
):
n
===
t
?
this
:
this
.
each
(
function
(){
var
t
=
v
.
queue
(
this
,
e
,
n
);
v
.
_queueHooks
(
this
,
e
),
e
===
"
fx
"
&&
t
[
0
]
!==
"
inprogress
"
&&
v
.
dequeue
(
this
,
e
)})},
dequeue
:
function
(
e
){
return
this
.
each
(
function
(){
v
.
dequeue
(
this
,
e
)})},
delay
:
function
(
e
,
t
){
return
e
=
v
.
fx
?
v
.
fx
.
speeds
[
e
]
||
e
:
e
,
t
=
t
||
"
fx
"
,
this
.
queue
(
t
,
function
(
t
,
n
){
var
r
=
setTimeout
(
t
,
e
);
n
.
stop
=
function
(){
clearTimeout
(
r
)}})},
clearQueue
:
function
(
e
){
return
this
.
queue
(
e
||
"
fx
"
,[])},
promise
:
function
(
e
,
n
){
var
r
,
i
=
1
,
s
=
v
.
Deferred
(),
o
=
this
,
u
=
this
.
length
,
a
=
function
(){
--
i
||
s
.
resolveWith
(
o
,[
o
])};
typeof
e
!=
"
string
"
&&
(
n
=
e
,
e
=
t
),
e
=
e
||
"
fx
"
;
while
(
u
--
)
r
=
v
.
_data
(
o
[
u
],
e
+
"
queueHooks
"
),
r
&&
r
.
empty
&&
(
i
++
,
r
.
empty
.
add
(
a
));
return
a
(),
s
.
promise
(
n
)}});
var
j
,
F
,
I
,
q
=
/
[\t\r\n]
/g
,
R
=
/
\r
/g
,
U
=
/^
(?:
button|input
)
$/i
,
z
=
/^
(?:
button|input|object|select|textarea
)
$/i
,
W
=
/^a
(?:
rea|
)
$/i
,
X
=
/^
(?:
autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected
)
$/i
,
V
=
v
.
support
.
getSetAttribute
;
v
.
fn
.
extend
({
attr
:
function
(
e
,
t
){
return
v
.
access
(
this
,
v
.
attr
,
e
,
t
,
arguments
.
length
>
1
)},
removeAttr
:
function
(
e
){
return
this
.
each
(
function
(){
v
.
removeAttr
(
this
,
e
)})},
prop
:
function
(
e
,
t
){
return
v
.
access
(
this
,
v
.
prop
,
e
,
t
,
arguments
.
length
>
1
)},
removeProp
:
function
(
e
){
return
e
=
v
.
propFix
[
e
]
||
e
,
this
.
each
(
function
(){
try
{
this
[
e
]
=
t
,
delete
this
[
e
]}
catch
(
n
){}})},
addClass
:
function
(
e
){
var
t
,
n
,
r
,
i
,
s
,
o
,
u
;
if
(
v
.
isFunction
(
e
))
return
this
.
each
(
function
(
t
){
v
(
this
).
addClass
(
e
.
call
(
this
,
t
,
this
.
className
))});
if
(
e
&&
typeof
e
==
"
string
"
){
t
=
e
.
split
(
y
);
for
(
n
=
0
,
r
=
this
.
length
;
n
<
r
;
n
++
){
i
=
this
[
n
];
if
(
i
.
nodeType
===
1
)
if
(
!
i
.
className
&&
t
.
length
===
1
)
i
.
className
=
e
;
else
{
s
=
"
"
+
i
.
className
+
"
"
;
for
(
o
=
0
,
u
=
t
.
length
;
o
<
u
;
o
++
)
s
.
indexOf
(
"
"
+
t
[
o
]
+
"
"
)
<
0
&&
(
s
+=
t
[
o
]
+
"
"
);
i
.
className
=
v
.
trim
(
s
)}}}
return
this
},
removeClass
:
function
(
e
){
var
n
,
r
,
i
,
s
,
o
,
u
,
a
;
if
(
v
.
isFunction
(
e
))
return
this
.
each
(
function
(
t
){
v
(
this
).
removeClass
(
e
.
call
(
this
,
t
,
this
.
className
))});
if
(
e
&&
typeof
e
==
"
string
"
||
e
===
t
){
n
=
(
e
||
""
).
split
(
y
);
for
(
u
=
0
,
a
=
this
.
length
;
u
<
a
;
u
++
){
i
=
this
[
u
];
if
(
i
.
nodeType
===
1
&&
i
.
className
){
r
=
(
"
"
+
i
.
className
+
"
"
).
replace
(
q
,
"
"
);
for
(
s
=
0
,
o
=
n
.
length
;
s
<
o
;
s
++
)
while
(
r
.
indexOf
(
"
"
+
n
[
s
]
+
"
"
)
>=
0
)
r
=
r
.
replace
(
"
"
+
n
[
s
]
+
"
"
,
"
"
);
i
.
className
=
e
?
v
.
trim
(
r
):
""
}}}
return
this
},
toggleClass
:
function
(
e
,
t
){
var
n
=
typeof
e
,
r
=
typeof
t
==
"
boolean
"
;
return
v
.
isFunction
(
e
)?
this
.
each
(
function
(
n
){
v
(
this
).
toggleClass
(
e
.
call
(
this
,
n
,
this
.
className
,
t
),
t
)}):
this
.
each
(
function
(){
if
(
n
===
"
string
"
){
var
i
,
s
=
0
,
o
=
v
(
this
),
u
=
t
,
a
=
e
.
split
(
y
);
while
(
i
=
a
[
s
++
])
u
=
r
?
u
:
!
o
.
hasClass
(
i
),
o
[
u
?
"
addClass
"
:
"
removeClass
"
](
i
)}
else
if
(
n
===
"
undefined
"
||
n
===
"
boolean
"
)
this
.
className
&&
v
.
_data
(
this
,
"
__className__
"
,
this
.
className
),
this
.
className
=
this
.
className
||
e
===!
1
?
""
:
v
.
_data
(
this
,
"
__className__
"
)
||
""
})},
hasClass
:
function
(
e
){
var
t
=
"
"
+
e
+
"
"
,
n
=
0
,
r
=
this
.
length
;
for
(;
n
<
r
;
n
++
)
if
(
this
[
n
].
nodeType
===
1
&&
(
"
"
+
this
[
n
].
className
+
"
"
).
replace
(
q
,
"
"
).
indexOf
(
t
)
>=
0
)
return
!
0
;
return
!
1
},
val
:
function
(
e
){
var
n
,
r
,
i
,
s
=
this
[
0
];
if
(
!
arguments
.
length
){
if
(
s
)
return
n
=
v
.
valHooks
[
s
.
type
]
||
v
.
valHooks
[
s
.
nodeName
.
toLowerCase
()],
n
&&
"
get
"
in
n
&&
(
r
=
n
.
get
(
s
,
"
value
"
))
!==
t
?
r
:(
r
=
s
.
value
,
typeof
r
==
"
string
"
?
r
.
replace
(
R
,
""
):
r
==
null
?
""
:
r
);
return
}
return
i
=
v
.
isFunction
(
e
),
this
.
each
(
function
(
r
){
var
s
,
o
=
v
(
this
);
if
(
this
.
nodeType
!==
1
)
return
;
i
?
s
=
e
.
call
(
this
,
r
,
o
.
val
()):
s
=
e
,
s
==
null
?
s
=
""
:
typeof
s
==
"
number
"
?
s
+=
""
:
v
.
isArray
(
s
)
&&
(
s
=
v
.
map
(
s
,
function
(
e
){
return
e
==
null
?
""
:
e
+
""
})),
n
=
v
.
valHooks
[
this
.
type
]
||
v
.
valHooks
[
this
.
nodeName
.
toLowerCase
()];
if
(
!
n
||!
(
"
set
"
in
n
)
||
n
.
set
(
this
,
s
,
"
value
"
)
===
t
)
this
.
value
=
s
})}}),
v
.
extend
({
valHooks
:{
option
:{
get
:
function
(
e
){
var
t
=
e
.
attributes
.
value
;
return
!
t
||
t
.
specified
?
e
.
value
:
e
.
text
}},
select
:{
get
:
function
(
e
){
var
t
,
n
,
r
=
e
.
options
,
i
=
e
.
selectedIndex
,
s
=
e
.
type
===
"
select-one
"
||
i
<
0
,
o
=
s
?
null
:[],
u
=
s
?
i
+
1
:
r
.
length
,
a
=
i
<
0
?
u
:
s
?
i
:
0
;
for
(;
a
<
u
;
a
++
){
n
=
r
[
a
];
if
((
n
.
selected
||
a
===
i
)
&&
(
v
.
support
.
optDisabled
?
!
n
.
disabled
:
n
.
getAttribute
(
"
disabled
"
)
===
null
)
&&
(
!
n
.
parentNode
.
disabled
||!
v
.
nodeName
(
n
.
parentNode
,
"
optgroup
"
))){
t
=
v
(
n
).
val
();
if
(
s
)
return
t
;
o
.
push
(
t
)}}
return
o
},
set
:
function
(
e
,
t
){
var
n
=
v
.
makeArray
(
t
);
return
v
(
e
).
find
(
"
option
"
).
each
(
function
(){
this
.
selected
=
v
.
inArray
(
v
(
this
).
val
(),
n
)
>=
0
}),
n
.
length
||
(
e
.
selectedIndex
=-
1
),
n
}}},
attrFn
:{},
attr
:
function
(
e
,
n
,
r
,
i
){
var
s
,
o
,
u
,
a
=
e
.
nodeType
;
if
(
!
e
||
a
===
3
||
a
===
8
||
a
===
2
)
return
;
if
(
i
&&
v
.
isFunction
(
v
.
fn
[
n
]))
return
v
(
e
)[
n
](
r
);
if
(
typeof
e
.
getAttribute
==
"
undefined
"
)
return
v
.
prop
(
e
,
n
,
r
);
u
=
a
!==
1
||!
v
.
isXMLDoc
(
e
),
u
&&
(
n
=
n
.
toLowerCase
(),
o
=
v
.
attrHooks
[
n
]
||
(
X
.
test
(
n
)?
F
:
j
));
if
(
r
!==
t
){
if
(
r
===
null
){
v
.
removeAttr
(
e
,
n
);
return
}
return
o
&&
"
set
"
in
o
&&
u
&&
(
s
=
o
.
set
(
e
,
r
,
n
))
!==
t
?
s
:(
e
.
setAttribute
(
n
,
r
+
""
),
r
)}
return
o
&&
"
get
"
in
o
&&
u
&&
(
s
=
o
.
get
(
e
,
n
))
!==
null
?
s
:(
s
=
e
.
getAttribute
(
n
),
s
===
null
?
t
:
s
)},
removeAttr
:
function
(
e
,
t
){
var
n
,
r
,
i
,
s
,
o
=
0
;
if
(
t
&&
e
.
nodeType
===
1
){
r
=
t
.
split
(
y
);
for
(;
o
<
r
.
length
;
o
++
)
i
=
r
[
o
],
i
&&
(
n
=
v
.
propFix
[
i
]
||
i
,
s
=
X
.
test
(
i
),
s
||
v
.
attr
(
e
,
i
,
""
),
e
.
removeAttribute
(
V
?
i
:
n
),
s
&&
n
in
e
&&
(
e
[
n
]
=!
1
))}},
attrHooks
:{
type
:{
set
:
function
(
e
,
t
){
if
(
U
.
test
(
e
.
nodeName
)
&&
e
.
parentNode
)
v
.
error
(
"
type property can't be changed
"
);
else
if
(
!
v
.
support
.
radioValue
&&
t
===
"
radio
"
&&
v
.
nodeName
(
e
,
"
input
"
)){
var
n
=
e
.
value
;
return
e
.
setAttribute
(
"
type
"
,
t
),
n
&&
(
e
.
value
=
n
),
t
}}},
value
:{
get
:
function
(
e
,
t
){
return
j
&&
v
.
nodeName
(
e
,
"
button
"
)?
j
.
get
(
e
,
t
):
t
in
e
?
e
.
value
:
null
},
set
:
function
(
e
,
t
,
n
){
if
(
j
&&
v
.
nodeName
(
e
,
"
button
"
))
return
j
.
set
(
e
,
t
,
n
);
e
.
value
=
t
}}},
propFix
:{
tabindex
:
"
tabIndex
"
,
readonly
:
"
readOnly
"
,
"
for
"
:
"
htmlFor
"
,
"
class
"
:
"
className
"
,
maxlength
:
"
maxLength
"
,
cellspacing
:
"
cellSpacing
"
,
cellpadding
:
"
cellPadding
"
,
rowspan
:
"
rowSpan
"
,
colspan
:
"
colSpan
"
,
usemap
:
"
useMap
"
,
frameborder
:
"
frameBorder
"
,
contenteditable
:
"
contentEditable
"
},
prop
:
function
(
e
,
n
,
r
){
var
i
,
s
,
o
,
u
=
e
.
nodeType
;
if
(
!
e
||
u
===
3
||
u
===
8
||
u
===
2
)
return
;
return
o
=
u
!==
1
||!
v
.
isXMLDoc
(
e
),
o
&&
(
n
=
v
.
propFix
[
n
]
||
n
,
s
=
v
.
propHooks
[
n
]),
r
!==
t
?
s
&&
"
set
"
in
s
&&
(
i
=
s
.
set
(
e
,
r
,
n
))
!==
t
?
i
:
e
[
n
]
=
r
:
s
&&
"
get
"
in
s
&&
(
i
=
s
.
get
(
e
,
n
))
!==
null
?
i
:
e
[
n
]},
propHooks
:{
tabIndex
:{
get
:
function
(
e
){
var
n
=
e
.
getAttributeNode
(
"
tabindex
"
);
return
n
&&
n
.
specified
?
parseInt
(
n
.
value
,
10
):
z
.
test
(
e
.
nodeName
)
||
W
.
test
(
e
.
nodeName
)
&&
e
.
href
?
0
:
t
}}}}),
F
=
{
get
:
function
(
e
,
n
){
var
r
,
i
=
v
.
prop
(
e
,
n
);
return
i
===!
0
||
typeof
i
!=
"
boolean
"
&&
(
r
=
e
.
getAttributeNode
(
n
))
&&
r
.
nodeValue
!==!
1
?
n
.
toLowerCase
():
t
},
set
:
function
(
e
,
t
,
n
){
var
r
;
return
t
===!
1
?
v
.
removeAttr
(
e
,
n
):(
r
=
v
.
propFix
[
n
]
||
n
,
r
in
e
&&
(
e
[
r
]
=!
0
),
e
.
setAttribute
(
n
,
n
.
toLowerCase
())),
n
}},
V
||
(
I
=
{
name
:
!
0
,
id
:
!
0
,
coords
:
!
0
},
j
=
v
.
valHooks
.
button
=
{
get
:
function
(
e
,
n
){
var
r
;
return
r
=
e
.
getAttributeNode
(
n
),
r
&&
(
I
[
n
]?
r
.
value
!==
""
:
r
.
specified
)?
r
.
value
:
t
},
set
:
function
(
e
,
t
,
n
){
var
r
=
e
.
getAttributeNode
(
n
);
return
r
||
(
r
=
i
.
createAttribute
(
n
),
e
.
setAttributeNode
(
r
)),
r
.
value
=
t
+
""
}},
v
.
each
([
"
width
"
,
"
height
"
],
function
(
e
,
t
){
v
.
attrHooks
[
t
]
=
v
.
extend
(
v
.
attrHooks
[
t
],{
set
:
function
(
e
,
n
){
if
(
n
===
""
)
return
e
.
setAttribute
(
t
,
"
auto
"
),
n
}})}),
v
.
attrHooks
.
contenteditable
=
{
get
:
j
.
get
,
set
:
function
(
e
,
t
,
n
){
t
===
""
&&
(
t
=
"
false
"
),
j
.
set
(
e
,
t
,
n
)}}),
v
.
support
.
hrefNormalized
||
v
.
each
([
"
href
"
,
"
src
"
,
"
width
"
,
"
height
"
],
function
(
e
,
n
){
v
.
attrHooks
[
n
]
=
v
.
extend
(
v
.
attrHooks
[
n
],{
get
:
function
(
e
){
var
r
=
e
.
getAttribute
(
n
,
2
);
return
r
===
null
?
t
:
r
}})}),
v
.
support
.
style
||
(
v
.
attrHooks
.
style
=
{
get
:
function
(
e
){
return
e
.
style
.
cssText
.
toLowerCase
()
||
t
},
set
:
function
(
e
,
t
){
return
e
.
style
.
cssText
=
t
+
""
}}),
v
.
support
.
optSelected
||
(
v
.
propHooks
.
selected
=
v
.
extend
(
v
.
propHooks
.
selected
,{
get
:
function
(
e
){
var
t
=
e
.
parentNode
;
return
t
&&
(
t
.
selectedIndex
,
t
.
parentNode
&&
t
.
parentNode
.
selectedIndex
),
null
}})),
v
.
support
.
enctype
||
(
v
.
propFix
.
enctype
=
"
encoding
"
),
v
.
support
.
checkOn
||
v
.
each
([
"
radio
"
,
"
checkbox
"
],
function
(){
v
.
valHooks
[
this
]
=
{
get
:
function
(
e
){
return
e
.
getAttribute
(
"
value
"
)
===
null
?
"
on
"
:
e
.
value
}}}),
v
.
each
([
"
radio
"
,
"
checkbox
"
],
function
(){
v
.
valHooks
[
this
]
=
v
.
extend
(
v
.
valHooks
[
this
],{
set
:
function
(
e
,
t
){
if
(
v
.
isArray
(
t
))
return
e
.
checked
=
v
.
inArray
(
v
(
e
).
val
(),
t
)
>=
0
}})});
var
$
=
/^
(?:
textarea|input|select
)
$/i
,
J
=
/^
([^\.]
*|
)(?:\.(
.+
)
|
)
$/
,
K
=
/
(?:
^|
\s)
hover
(\.\S
+|
)\b
/
,
Q
=
/^key/
,
G
=
/^
(?:
mouse|contextmenu
)
|click/
,
Y
=
/^
(?:
focusinfocus|focusoutblur
)
$/
,
Z
=
function
(
e
){
return
v
.
event
.
special
.
hover
?
e
:
e
.
replace
(
K
,
"
mouseenter$1 mouseleave$1
"
)};
v
.
event
=
{
add
:
function
(
e
,
n
,
r
,
i
,
s
){
var
o
,
u
,
a
,
f
,
l
,
c
,
h
,
p
,
d
,
m
,
g
;
if
(
e
.
nodeType
===
3
||
e
.
nodeType
===
8
||!
n
||!
r
||!
(
o
=
v
.
_data
(
e
)))
return
;
r
.
handler
&&
(
d
=
r
,
r
=
d
.
handler
,
s
=
d
.
selector
),
r
.
guid
||
(
r
.
guid
=
v
.
guid
++
),
a
=
o
.
events
,
a
||
(
o
.
events
=
a
=
{}),
u
=
o
.
handle
,
u
||
(
o
.
handle
=
u
=
function
(
e
){
return
typeof
v
==
"
undefined
"
||!!
e
&&
v
.
event
.
triggered
===
e
.
type
?
t
:
v
.
event
.
dispatch
.
apply
(
u
.
elem
,
arguments
)},
u
.
elem
=
e
),
n
=
v
.
trim
(
Z
(
n
)).
split
(
"
"
);
for
(
f
=
0
;
f
<
n
.
length
;
f
++
){
l
=
J
.
exec
(
n
[
f
])
||
[],
c
=
l
[
1
],
h
=
(
l
[
2
]
||
""
).
split
(
"
.
"
).
sort
(),
g
=
v
.
event
.
special
[
c
]
||
{},
c
=
(
s
?
g
.
delegateType
:
g
.
bindType
)
||
c
,
g
=
v
.
event
.
special
[
c
]
||
{},
p
=
v
.
extend
({
type
:
c
,
origType
:
l
[
1
],
data
:
i
,
handler
:
r
,
guid
:
r
.
guid
,
selector
:
s
,
needsContext
:
s
&&
v
.
expr
.
match
.
needsContext
.
test
(
s
),
namespace
:
h
.
join
(
"
.
"
)},
d
),
m
=
a
[
c
];
if
(
!
m
){
m
=
a
[
c
]
=
[],
m
.
delegateCount
=
0
;
if
(
!
g
.
setup
||
g
.
setup
.
call
(
e
,
i
,
h
,
u
)
===!
1
)
e
.
addEventListener
?
e
.
addEventListener
(
c
,
u
,
!
1
):
e
.
attachEvent
&&
e
.
attachEvent
(
"
on
"
+
c
,
u
)}
g
.
add
&&
(
g
.
add
.
call
(
e
,
p
),
p
.
handler
.
guid
||
(
p
.
handler
.
guid
=
r
.
guid
)),
s
?
m
.
splice
(
m
.
delegateCount
++
,
0
,
p
):
m
.
push
(
p
),
v
.
event
.
global
[
c
]
=!
0
}
e
=
null
},
global
:{},
remove
:
function
(
e
,
t
,
n
,
r
,
i
){
var
s
,
o
,
u
,
a
,
f
,
l
,
c
,
h
,
p
,
d
,
m
,
g
=
v
.
hasData
(
e
)
&&
v
.
_data
(
e
);
if
(
!
g
||!
(
h
=
g
.
events
))
return
;
t
=
v
.
trim
(
Z
(
t
||
""
)).
split
(
"
"
);
for
(
s
=
0
;
s
<
t
.
length
;
s
++
){
o
=
J
.
exec
(
t
[
s
])
||
[],
u
=
a
=
o
[
1
],
f
=
o
[
2
];
if
(
!
u
){
for
(
u
in
h
)
v
.
event
.
remove
(
e
,
u
+
t
[
s
],
n
,
r
,
!
0
);
continue
}
p
=
v
.
event
.
special
[
u
]
||
{},
u
=
(
r
?
p
.
delegateType
:
p
.
bindType
)
||
u
,
d
=
h
[
u
]
||
[],
l
=
d
.
length
,
f
=
f
?
new
RegExp
(
"
(^|
\\
.)
"
+
f
.
split
(
"
.
"
).
sort
().
join
(
"
\\
.(?:.*
\\
.|)
"
)
+
"
(
\\
.|$)
"
):
null
;
for
(
c
=
0
;
c
<
d
.
length
;
c
++
)
m
=
d
[
c
],(
i
||
a
===
m
.
origType
)
&&
(
!
n
||
n
.
guid
===
m
.
guid
)
&&
(
!
f
||
f
.
test
(
m
.
namespace
))
&&
(
!
r
||
r
===
m
.
selector
||
r
===
"
**
"
&&
m
.
selector
)
&&
(
d
.
splice
(
c
--
,
1
),
m
.
selector
&&
d
.
delegateCount
--
,
p
.
remove
&&
p
.
remove
.
call
(
e
,
m
));
d
.
length
===
0
&&
l
!==
d
.
length
&&
((
!
p
.
teardown
||
p
.
teardown
.
call
(
e
,
f
,
g
.
handle
)
===!
1
)
&&
v
.
removeEvent
(
e
,
u
,
g
.
handle
),
delete
h
[
u
])}
v
.
isEmptyObject
(
h
)
&&
(
delete
g
.
handle
,
v
.
removeData
(
e
,
"
events
"
,
!
0
))},
customEvent
:{
getData
:
!
0
,
setData
:
!
0
,
changeData
:
!
0
},
trigger
:
function
(
n
,
r
,
s
,
o
){
if
(
!
s
||
s
.
nodeType
!==
3
&&
s
.
nodeType
!==
8
){
var
u
,
a
,
f
,
l
,
c
,
h
,
p
,
d
,
m
,
g
,
y
=
n
.
type
||
n
,
b
=
[];
if
(
Y
.
test
(
y
+
v
.
event
.
triggered
))
return
;
y
.
indexOf
(
"
!
"
)
>=
0
&&
(
y
=
y
.
slice
(
0
,
-
1
),
a
=!
0
),
y
.
indexOf
(
"
.
"
)
>=
0
&&
(
b
=
y
.
split
(
"
.
"
),
y
=
b
.
shift
(),
b
.
sort
());
if
((
!
s
||
v
.
event
.
customEvent
[
y
])
&&!
v
.
event
.
global
[
y
])
return
;
n
=
typeof
n
==
"
object
"
?
n
[
v
.
expando
]?
n
:
new
v
.
Event
(
y
,
n
):
new
v
.
Event
(
y
),
n
.
type
=
y
,
n
.
isTrigger
=!
0
,
n
.
exclusive
=
a
,
n
.
namespace
=
b
.
join
(
"
.
"
),
n
.
namespace_re
=
n
.
namespace
?
new
RegExp
(
"
(^|
\\
.)
"
+
b
.
join
(
"
\\
.(?:.*
\\
.|)
"
)
+
"
(
\\
.|$)
"
):
null
,
h
=
y
.
indexOf
(
"
:
"
)
<
0
?
"
on
"
+
y
:
""
;
if
(
!
s
){
u
=
v
.
cache
;
for
(
f
in
u
)
u
[
f
].
events
&&
u
[
f
].
events
[
y
]
&&
v
.
event
.
trigger
(
n
,
r
,
u
[
f
].
handle
.
elem
,
!
0
);
return
}
n
.
result
=
t
,
n
.
target
||
(
n
.
target
=
s
),
r
=
r
!=
null
?
v
.
makeArray
(
r
):[],
r
.
unshift
(
n
),
p
=
v
.
event
.
special
[
y
]
||
{};
if
(
p
.
trigger
&&
p
.
trigger
.
apply
(
s
,
r
)
===!
1
)
return
;
m
=
[[
s
,
p
.
bindType
||
y
]];
if
(
!
o
&&!
p
.
noBubble
&&!
v
.
isWindow
(
s
)){
g
=
p
.
delegateType
||
y
,
l
=
Y
.
test
(
g
+
y
)?
s
:
s
.
parentNode
;
for
(
c
=
s
;
l
;
l
=
l
.
parentNode
)
m
.
push
([
l
,
g
]),
c
=
l
;
c
===
(
s
.
ownerDocument
||
i
)
&&
m
.
push
([
c
.
defaultView
||
c
.
parentWindow
||
e
,
g
])}
for
(
f
=
0
;
f
<
m
.
length
&&!
n
.
isPropagationStopped
();
f
++
)
l
=
m
[
f
][
0
],
n
.
type
=
m
[
f
][
1
],
d
=
(
v
.
_data
(
l
,
"
events
"
)
||
{})[
n
.
type
]
&&
v
.
_data
(
l
,
"
handle
"
),
d
&&
d
.
apply
(
l
,
r
),
d
=
h
&&
l
[
h
],
d
&&
v
.
acceptData
(
l
)
&&
d
.
apply
&&
d
.
apply
(
l
,
r
)
===!
1
&&
n
.
preventDefault
();
return
n
.
type
=
y
,
!
o
&&!
n
.
isDefaultPrevented
()
&&
(
!
p
.
_default
||
p
.
_default
.
apply
(
s
.
ownerDocument
,
r
)
===!
1
)
&&
(
y
!==
"
click
"
||!
v
.
nodeName
(
s
,
"
a
"
))
&&
v
.
acceptData
(
s
)
&&
h
&&
s
[
y
]
&&
(
y
!==
"
focus
"
&&
y
!==
"
blur
"
||
n
.
target
.
offsetWidth
!==
0
)
&&!
v
.
isWindow
(
s
)
&&
(
c
=
s
[
h
],
c
&&
(
s
[
h
]
=
null
),
v
.
event
.
triggered
=
y
,
s
[
y
](),
v
.
event
.
triggered
=
t
,
c
&&
(
s
[
h
]
=
c
)),
n
.
result
}
return
},
dispatch
:
function
(
n
){
n
=
v
.
event
.
fix
(
n
||
e
.
event
);
var
r
,
i
,
s
,
o
,
u
,
a
,
f
,
c
,
h
,
p
,
d
=
(
v
.
_data
(
this
,
"
events
"
)
||
{})[
n
.
type
]
||
[],
m
=
d
.
delegateCount
,
g
=
l
.
call
(
arguments
),
y
=!
n
.
exclusive
&&!
n
.
namespace
,
b
=
v
.
event
.
special
[
n
.
type
]
||
{},
w
=
[];
g
[
0
]
=
n
,
n
.
delegateTarget
=
this
;
if
(
b
.
preDispatch
&&
b
.
preDispatch
.
call
(
this
,
n
)
===!
1
)
return
;
if
(
m
&&
(
!
n
.
button
||
n
.
type
!==
"
click
"
))
for
(
s
=
n
.
target
;
s
!=
this
;
s
=
s
.
parentNode
||
this
)
if
(
s
.
disabled
!==!
0
||
n
.
type
!==
"
click
"
){
u
=
{},
f
=
[];
for
(
r
=
0
;
r
<
m
;
r
++
)
c
=
d
[
r
],
h
=
c
.
selector
,
u
[
h
]
===
t
&&
(
u
[
h
]
=
c
.
needsContext
?
v
(
h
,
this
).
index
(
s
)
>=
0
:
v
.
find
(
h
,
this
,
null
,[
s
]).
length
),
u
[
h
]
&&
f
.
push
(
c
);
f
.
length
&&
w
.
push
({
elem
:
s
,
matches
:
f
})}
d
.
length
>
m
&&
w
.
push
({
elem
:
this
,
matches
:
d
.
slice
(
m
)});
for
(
r
=
0
;
r
<
w
.
length
&&!
n
.
isPropagationStopped
();
r
++
){
a
=
w
[
r
],
n
.
currentTarget
=
a
.
elem
;
for
(
i
=
0
;
i
<
a
.
matches
.
length
&&!
n
.
isImmediatePropagationStopped
();
i
++
){
c
=
a
.
matches
[
i
];
if
(
y
||!
n
.
namespace
&&!
c
.
namespace
||
n
.
namespace_re
&&
n
.
namespace_re
.
test
(
c
.
namespace
))
n
.
data
=
c
.
data
,
n
.
handleObj
=
c
,
o
=
((
v
.
event
.
special
[
c
.
origType
]
||
{}).
handle
||
c
.
handler
).
apply
(
a
.
elem
,
g
),
o
!==
t
&&
(
n
.
result
=
o
,
o
===!
1
&&
(
n
.
preventDefault
(),
n
.
stopPropagation
()))}}
return
b
.
postDispatch
&&
b
.
postDispatch
.
call
(
this
,
n
),
n
.
result
},
props
:
"
attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which
"
.
split
(
"
"
),
fixHooks
:{},
keyHooks
:{
props
:
"
char charCode key keyCode
"
.
split
(
"
"
),
filter
:
function
(
e
,
t
){
return
e
.
which
==
null
&&
(
e
.
which
=
t
.
charCode
!=
null
?
t
.
charCode
:
t
.
keyCode
),
e
}},
mouseHooks
:{
props
:
"
button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement
"
.
split
(
"
"
),
filter
:
function
(
e
,
n
){
var
r
,
s
,
o
,
u
=
n
.
button
,
a
=
n
.
fromElement
;
return
e
.
pageX
==
null
&&
n
.
clientX
!=
null
&&
(
r
=
e
.
target
.
ownerDocument
||
i
,
s
=
r
.
documentElement
,
o
=
r
.
body
,
e
.
pageX
=
n
.
clientX
+
(
s
&&
s
.
scrollLeft
||
o
&&
o
.
scrollLeft
||
0
)
-
(
s
&&
s
.
clientLeft
||
o
&&
o
.
clientLeft
||
0
),
e
.
pageY
=
n
.
clientY
+
(
s
&&
s
.
scrollTop
||
o
&&
o
.
scrollTop
||
0
)
-
(
s
&&
s
.
clientTop
||
o
&&
o
.
clientTop
||
0
)),
!
e
.
relatedTarget
&&
a
&&
(
e
.
relatedTarget
=
a
===
e
.
target
?
n
.
toElement
:
a
),
!
e
.
which
&&
u
!==
t
&&
(
e
.
which
=
u
&
1
?
1
:
u
&
2
?
3
:
u
&
4
?
2
:
0
),
e
}},
fix
:
function
(
e
){
if
(
e
[
v
.
expando
])
return
e
;
var
t
,
n
,
r
=
e
,
s
=
v
.
event
.
fixHooks
[
e
.
type
]
||
{},
o
=
s
.
props
?
this
.
props
.
concat
(
s
.
props
):
this
.
props
;
e
=
v
.
Event
(
r
);
for
(
t
=
o
.
length
;
t
;)
n
=
o
[
--
t
],
e
[
n
]
=
r
[
n
];
return
e
.
target
||
(
e
.
target
=
r
.
srcElement
||
i
),
e
.
target
.
nodeType
===
3
&&
(
e
.
target
=
e
.
target
.
parentNode
),
e
.
metaKey
=!!
e
.
metaKey
,
s
.
filter
?
s
.
filter
(
e
,
r
):
e
},
special
:{
load
:{
noBubble
:
!
0
},
focus
:{
delegateType
:
"
focusin
"
},
blur
:{
delegateType
:
"
focusout
"
},
beforeunload
:{
setup
:
function
(
e
,
t
,
n
){
v
.
isWindow
(
this
)
&&
(
this
.
onbeforeunload
=
n
)},
teardown
:
function
(
e
,
t
){
this
.
onbeforeunload
===
t
&&
(
this
.
onbeforeunload
=
null
)}}},
simulate
:
function
(
e
,
t
,
n
,
r
){
var
i
=
v
.
extend
(
new
v
.
Event
,
n
,{
type
:
e
,
isSimulated
:
!
0
,
originalEvent
:{}});
r
?
v
.
event
.
trigger
(
i
,
null
,
t
):
v
.
event
.
dispatch
.
call
(
t
,
i
),
i
.
isDefaultPrevented
()
&&
n
.
preventDefault
()}},
v
.
event
.
handle
=
v
.
event
.
dispatch
,
v
.
removeEvent
=
i
.
removeEventListener
?
function
(
e
,
t
,
n
){
e
.
removeEventListener
&&
e
.
removeEventListener
(
t
,
n
,
!
1
)}:
function
(
e
,
t
,
n
){
var
r
=
"
on
"
+
t
;
e
.
detachEvent
&&
(
typeof
e
[
r
]
==
"
undefined
"
&&
(
e
[
r
]
=
null
),
e
.
detachEvent
(
r
,
n
))},
v
.
Event
=
function
(
e
,
t
){
if
(
!
(
this
instanceof
v
.
Event
))
return
new
v
.
Event
(
e
,
t
);
e
&&
e
.
type
?(
this
.
originalEvent
=
e
,
this
.
type
=
e
.
type
,
this
.
isDefaultPrevented
=
e
.
defaultPrevented
||
e
.
returnValue
===!
1
||
e
.
getPreventDefault
&&
e
.
getPreventDefault
()?
tt
:
et
):
this
.
type
=
e
,
t
&&
v
.
extend
(
this
,
t
),
this
.
timeStamp
=
e
&&
e
.
timeStamp
||
v
.
now
(),
this
[
v
.
expando
]
=!
0
},
v
.
Event
.
prototype
=
{
preventDefault
:
function
(){
this
.
isDefaultPrevented
=
tt
;
var
e
=
this
.
originalEvent
;
if
(
!
e
)
return
;
e
.
preventDefault
?
e
.
preventDefault
():
e
.
returnValue
=!
1
},
stopPropagation
:
function
(){
this
.
isPropagationStopped
=
tt
;
var
e
=
this
.
originalEvent
;
if
(
!
e
)
return
;
e
.
stopPropagation
&&
e
.
stopPropagation
(),
e
.
cancelBubble
=!
0
},
stopImmediatePropagation
:
function
(){
this
.
isImmediatePropagationStopped
=
tt
,
this
.
stopPropagation
()},
isDefaultPrevented
:
et
,
isPropagationStopped
:
et
,
isImmediatePropagationStopped
:
et
},
v
.
each
({
mouseenter
:
"
mouseover
"
,
mouseleave
:
"
mouseout
"
},
function
(
e
,
t
){
v
.
event
.
special
[
e
]
=
{
delegateType
:
t
,
bindType
:
t
,
handle
:
function
(
e
){
var
n
,
r
=
this
,
i
=
e
.
relatedTarget
,
s
=
e
.
handleObj
,
o
=
s
.
selector
;
if
(
!
i
||
i
!==
r
&&!
v
.
contains
(
r
,
i
))
e
.
type
=
s
.
origType
,
n
=
s
.
handler
.
apply
(
this
,
arguments
),
e
.
type
=
t
;
return
n
}}}),
v
.
support
.
submitBubbles
||
(
v
.
event
.
special
.
submit
=
{
setup
:
function
(){
if
(
v
.
nodeName
(
this
,
"
form
"
))
return
!
1
;
v
.
event
.
add
(
this
,
"
click._submit keypress._submit
"
,
function
(
e
){
var
n
=
e
.
target
,
r
=
v
.
nodeName
(
n
,
"
input
"
)
||
v
.
nodeName
(
n
,
"
button
"
)?
n
.
form
:
t
;
r
&&!
v
.
_data
(
r
,
"
_submit_attached
"
)
&&
(
v
.
event
.
add
(
r
,
"
submit._submit
"
,
function
(
e
){
e
.
_submit_bubble
=!
0
}),
v
.
_data
(
r
,
"
_submit_attached
"
,
!
0
))})},
postDispatch
:
function
(
e
){
e
.
_submit_bubble
&&
(
delete
e
.
_submit_bubble
,
this
.
parentNode
&&!
e
.
isTrigger
&&
v
.
event
.
simulate
(
"
submit
"
,
this
.
parentNode
,
e
,
!
0
))},
teardown
:
function
(){
if
(
v
.
nodeName
(
this
,
"
form
"
))
return
!
1
;
v
.
event
.
remove
(
this
,
"
._submit
"
)}}),
v
.
support
.
changeBubbles
||
(
v
.
event
.
special
.
change
=
{
setup
:
function
(){
if
(
$
.
test
(
this
.
nodeName
)){
if
(
this
.
type
===
"
checkbox
"
||
this
.
type
===
"
radio
"
)
v
.
event
.
add
(
this
,
"
propertychange._change
"
,
function
(
e
){
e
.
originalEvent
.
propertyName
===
"
checked
"
&&
(
this
.
_just_changed
=!
0
)}),
v
.
event
.
add
(
this
,
"
click._change
"
,
function
(
e
){
this
.
_just_changed
&&!
e
.
isTrigger
&&
(
this
.
_just_changed
=!
1
),
v
.
event
.
simulate
(
"
change
"
,
this
,
e
,
!
0
)});
return
!
1
}
v
.
event
.
add
(
this
,
"
beforeactivate._change
"
,
function
(
e
){
var
t
=
e
.
target
;
$
.
test
(
t
.
nodeName
)
&&!
v
.
_data
(
t
,
"
_change_attached
"
)
&&
(
v
.
event
.
add
(
t
,
"
change._change
"
,
function
(
e
){
this
.
parentNode
&&!
e
.
isSimulated
&&!
e
.
isTrigger
&&
v
.
event
.
simulate
(
"
change
"
,
this
.
parentNode
,
e
,
!
0
)}),
v
.
_data
(
t
,
"
_change_attached
"
,
!
0
))})},
handle
:
function
(
e
){
var
t
=
e
.
target
;
if
(
this
!==
t
||
e
.
isSimulated
||
e
.
isTrigger
||
t
.
type
!==
"
radio
"
&&
t
.
type
!==
"
checkbox
"
)
return
e
.
handleObj
.
handler
.
apply
(
this
,
arguments
)},
teardown
:
function
(){
return
v
.
event
.
remove
(
this
,
"
._change
"
),
!
$
.
test
(
this
.
nodeName
)}}),
v
.
support
.
focusinBubbles
||
v
.
each
({
focus
:
"
focusin
"
,
blur
:
"
focusout
"
},
function
(
e
,
t
){
var
n
=
0
,
r
=
function
(
e
){
v
.
event
.
simulate
(
t
,
e
.
target
,
v
.
event
.
fix
(
e
),
!
0
)};
v
.
event
.
special
[
t
]
=
{
setup
:
function
(){
n
++===
0
&&
i
.
addEventListener
(
e
,
r
,
!
0
)},
teardown
:
function
(){
--
n
===
0
&&
i
.
removeEventListener
(
e
,
r
,
!
0
)}}}),
v
.
fn
.
extend
({
on
:
function
(
e
,
n
,
r
,
i
,
s
){
var
o
,
u
;
if
(
typeof
e
==
"
object
"
){
typeof
n
!=
"
string
"
&&
(
r
=
r
||
n
,
n
=
t
);
for
(
u
in
e
)
this
.
on
(
u
,
n
,
r
,
e
[
u
],
s
);
return
this
}
r
==
null
&&
i
==
null
?(
i
=
n
,
r
=
n
=
t
):
i
==
null
&&
(
typeof
n
==
"
string
"
?(
i
=
r
,
r
=
t
):(
i
=
r
,
r
=
n
,
n
=
t
));
if
(
i
===!
1
)
i
=
et
;
else
if
(
!
i
)
return
this
;
return
s
===
1
&&
(
o
=
i
,
i
=
function
(
e
){
return
v
().
off
(
e
),
o
.
apply
(
this
,
arguments
)},
i
.
guid
=
o
.
guid
||
(
o
.
guid
=
v
.
guid
++
)),
this
.
each
(
function
(){
v
.
event
.
add
(
this
,
e
,
i
,
r
,
n
)})},
one
:
function
(
e
,
t
,
n
,
r
){
return
this
.
on
(
e
,
t
,
n
,
r
,
1
)},
off
:
function
(
e
,
n
,
r
){
var
i
,
s
;
if
(
e
&&
e
.
preventDefault
&&
e
.
handleObj
)
return
i
=
e
.
handleObj
,
v
(
e
.
delegateTarget
).
off
(
i
.
namespace
?
i
.
origType
+
"
.
"
+
i
.
namespace
:
i
.
origType
,
i
.
selector
,
i
.
handler
),
this
;
if
(
typeof
e
==
"
object
"
){
for
(
s
in
e
)
this
.
off
(
s
,
n
,
e
[
s
]);
return
this
}
if
(
n
===!
1
||
typeof
n
==
"
function
"
)
r
=
n
,
n
=
t
;
return
r
===!
1
&&
(
r
=
et
),
this
.
each
(
function
(){
v
.
event
.
remove
(
this
,
e
,
r
,
n
)})},
bind
:
function
(
e
,
t
,
n
){
return
this
.
on
(
e
,
null
,
t
,
n
)},
unbind
:
function
(
e
,
t
){
return
this
.
off
(
e
,
null
,
t
)},
live
:
function
(
e
,
t
,
n
){
return
v
(
this
.
context
).
on
(
e
,
this
.
selector
,
t
,
n
),
this
},
die
:
function
(
e
,
t
){
return
v
(
this
.
context
).
off
(
e
,
this
.
selector
||
"
**
"
,
t
),
this
},
delegate
:
function
(
e
,
t
,
n
,
r
){
return
this
.
on
(
t
,
e
,
n
,
r
)},
undelegate
:
function
(
e
,
t
,
n
){
return
arguments
.
length
===
1
?
this
.
off
(
e
,
"
**
"
):
this
.
off
(
t
,
e
||
"
**
"
,
n
)},
trigger
:
function
(
e
,
t
){
return
this
.
each
(
function
(){
v
.
event
.
trigger
(
e
,
t
,
this
)})},
triggerHandler
:
function
(
e
,
t
){
if
(
this
[
0
])
return
v
.
event
.
trigger
(
e
,
t
,
this
[
0
],
!
0
)},
toggle
:
function
(
e
){
var
t
=
arguments
,
n
=
e
.
guid
||
v
.
guid
++
,
r
=
0
,
i
=
function
(
n
){
var
i
=
(
v
.
_data
(
this
,
"
lastToggle
"
+
e
.
guid
)
||
0
)
%
r
;
return
v
.
_data
(
this
,
"
lastToggle
"
+
e
.
guid
,
i
+
1
),
n
.
preventDefault
(),
t
[
i
].
apply
(
this
,
arguments
)
||!
1
};
i
.
guid
=
n
;
while
(
r
<
t
.
length
)
t
[
r
++
].
guid
=
n
;
return
this
.
click
(
i
)},
hover
:
function
(
e
,
t
){
return
this
.
mouseenter
(
e
).
mouseleave
(
t
||
e
)}}),
v
.
each
(
"
blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu
"
.
split
(
"
"
),
function
(
e
,
t
){
v
.
fn
[
t
]
=
function
(
e
,
n
){
return
n
==
null
&&
(
n
=
e
,
e
=
null
),
arguments
.
length
>
0
?
this
.
on
(
t
,
null
,
e
,
n
):
this
.
trigger
(
t
)},
Q
.
test
(
t
)
&&
(
v
.
event
.
fixHooks
[
t
]
=
v
.
event
.
keyHooks
),
G
.
test
(
t
)
&&
(
v
.
event
.
fixHooks
[
t
]
=
v
.
event
.
mouseHooks
)}),
function
(
e
,
t
){
function
nt
(
e
,
t
,
n
,
r
){
n
=
n
||
[],
t
=
t
||
g
;
var
i
,
s
,
a
,
f
,
l
=
t
.
nodeType
;
if
(
!
e
||
typeof
e
!=
"
string
"
)
return
n
;
if
(
l
!==
1
&&
l
!==
9
)
return
[];
a
=
o
(
t
);
if
(
!
a
&&!
r
)
if
(
i
=
R
.
exec
(
e
))
if
(
f
=
i
[
1
]){
if
(
l
===
9
){
s
=
t
.
getElementById
(
f
);
if
(
!
s
||!
s
.
parentNode
)
return
n
;
if
(
s
.
id
===
f
)
return
n
.
push
(
s
),
n
}
else
if
(
t
.
ownerDocument
&&
(
s
=
t
.
ownerDocument
.
getElementById
(
f
))
&&
u
(
t
,
s
)
&&
s
.
id
===
f
)
return
n
.
push
(
s
),
n
}
else
{
if
(
i
[
2
])
return
S
.
apply
(
n
,
x
.
call
(
t
.
getElementsByTagName
(
e
),
0
)),
n
;
if
((
f
=
i
[
3
])
&&
Z
&&
t
.
getElementsByClassName
)
return
S
.
apply
(
n
,
x
.
call
(
t
.
getElementsByClassName
(
f
),
0
)),
n
}
return
vt
(
e
.
replace
(
j
,
"
$1
"
),
t
,
n
,
r
,
a
)}
function
rt
(
e
){
return
function
(
t
){
var
n
=
t
.
nodeName
.
toLowerCase
();
return
n
===
"
input
"
&&
t
.
type
===
e
}}
function
it
(
e
){
return
function
(
t
){
var
n
=
t
.
nodeName
.
toLowerCase
();
return
(
n
===
"
input
"
||
n
===
"
button
"
)
&&
t
.
type
===
e
}}
function
st
(
e
){
return
N
(
function
(
t
){
return
t
=+
t
,
N
(
function
(
n
,
r
){
var
i
,
s
=
e
([],
n
.
length
,
t
),
o
=
s
.
length
;
while
(
o
--
)
n
[
i
=
s
[
o
]]
&&
(
n
[
i
]
=!
(
r
[
i
]
=
n
[
i
]))})})}
function
ot
(
e
,
t
,
n
){
if
(
e
===
t
)
return
n
;
var
r
=
e
.
nextSibling
;
while
(
r
){
if
(
r
===
t
)
return
-
1
;
r
=
r
.
nextSibling
}
return
1
}
function
ut
(
e
,
t
){
var
n
,
r
,
s
,
o
,
u
,
a
,
f
,
l
=
L
[
d
][
e
+
"
"
];
if
(
l
)
return
t
?
0
:
l
.
slice
(
0
);
u
=
e
,
a
=
[],
f
=
i
.
preFilter
;
while
(
u
){
if
(
!
n
||
(
r
=
F
.
exec
(
u
)))
r
&&
(
u
=
u
.
slice
(
r
[
0
].
length
)
||
u
),
a
.
push
(
s
=
[]);
n
=!
1
;
if
(
r
=
I
.
exec
(
u
))
s
.
push
(
n
=
new
m
(
r
.
shift
())),
u
=
u
.
slice
(
n
.
length
),
n
.
type
=
r
[
0
].
replace
(
j
,
"
"
);
for
(
o
in
i
.
filter
)(
r
=
J
[
o
].
exec
(
u
))
&&
(
!
f
[
o
]
||
(
r
=
f
[
o
](
r
)))
&&
(
s
.
push
(
n
=
new
m
(
r
.
shift
())),
u
=
u
.
slice
(
n
.
length
),
n
.
type
=
o
,
n
.
matches
=
r
);
if
(
!
n
)
break
}
return
t
?
u
.
length
:
u
?
nt
.
error
(
e
):
L
(
e
,
a
).
slice
(
0
)}
function
at
(
e
,
t
,
r
){
var
i
=
t
.
dir
,
s
=
r
&&
t
.
dir
===
"
parentNode
"
,
o
=
w
++
;
return
t
.
first
?
function
(
t
,
n
,
r
){
while
(
t
=
t
[
i
])
if
(
s
||
t
.
nodeType
===
1
)
return
e
(
t
,
n
,
r
)}:
function
(
t
,
r
,
u
){
if
(
!
u
){
var
a
,
f
=
b
+
"
"
+
o
+
"
"
,
l
=
f
+
n
;
while
(
t
=
t
[
i
])
if
(
s
||
t
.
nodeType
===
1
){
if
((
a
=
t
[
d
])
===
l
)
return
t
.
sizset
;
if
(
typeof
a
==
"
string
"
&&
a
.
indexOf
(
f
)
===
0
){
if
(
t
.
sizset
)
return
t
}
else
{
t
[
d
]
=
l
;
if
(
e
(
t
,
r
,
u
))
return
t
.
sizset
=!
0
,
t
;
t
.
sizset
=!
1
}}}
else
while
(
t
=
t
[
i
])
if
(
s
||
t
.
nodeType
===
1
)
if
(
e
(
t
,
r
,
u
))
return
t
}}
function
ft
(
e
){
return
e
.
length
>
1
?
function
(
t
,
n
,
r
){
var
i
=
e
.
length
;
while
(
i
--
)
if
(
!
e
[
i
](
t
,
n
,
r
))
return
!
1
;
return
!
0
}:
e
[
0
]}
function
lt
(
e
,
t
,
n
,
r
,
i
){
var
s
,
o
=
[],
u
=
0
,
a
=
e
.
length
,
f
=
t
!=
null
;
for
(;
u
<
a
;
u
++
)
if
(
s
=
e
[
u
])
if
(
!
n
||
n
(
s
,
r
,
i
))
o
.
push
(
s
),
f
&&
t
.
push
(
u
);
return
o
}
function
ct
(
e
,
t
,
n
,
r
,
i
,
s
){
return
r
&&!
r
[
d
]
&&
(
r
=
ct
(
r
)),
i
&&!
i
[
d
]
&&
(
i
=
ct
(
i
,
s
)),
N
(
function
(
s
,
o
,
u
,
a
){
var
f
,
l
,
c
,
h
=
[],
p
=
[],
d
=
o
.
length
,
v
=
s
||
dt
(
t
||
"
*
"
,
u
.
nodeType
?[
u
]:
u
,[]),
m
=
e
&&
(
s
||!
t
)?
lt
(
v
,
h
,
e
,
u
,
a
):
v
,
g
=
n
?
i
||
(
s
?
e
:
d
||
r
)?[]:
o
:
m
;
n
&&
n
(
m
,
g
,
u
,
a
);
if
(
r
){
f
=
lt
(
g
,
p
),
r
(
f
,[],
u
,
a
),
l
=
f
.
length
;
while
(
l
--
)
if
(
c
=
f
[
l
])
g
[
p
[
l
]]
=!
(
m
[
p
[
l
]]
=
c
)}
if
(
s
){
if
(
i
||
e
){
if
(
i
){
f
=
[],
l
=
g
.
length
;
while
(
l
--
)(
c
=
g
[
l
])
&&
f
.
push
(
m
[
l
]
=
c
);
i
(
null
,
g
=
[],
f
,
a
)}
l
=
g
.
length
;
while
(
l
--
)(
c
=
g
[
l
])
&&
(
f
=
i
?
T
.
call
(
s
,
c
):
h
[
l
])
>-
1
&&
(
s
[
f
]
=!
(
o
[
f
]
=
c
))}}
else
g
=
lt
(
g
===
o
?
g
.
splice
(
d
,
g
.
length
):
g
),
i
?
i
(
null
,
o
,
g
,
a
):
S
.
apply
(
o
,
g
)})}
function
ht
(
e
){
var
t
,
n
,
r
,
s
=
e
.
length
,
o
=
i
.
relative
[
e
[
0
].
type
],
u
=
o
||
i
.
relative
[
"
"
],
a
=
o
?
1
:
0
,
f
=
at
(
function
(
e
){
return
e
===
t
},
u
,
!
0
),
l
=
at
(
function
(
e
){
return
T
.
call
(
t
,
e
)
>-
1
},
u
,
!
0
),
h
=
[
function
(
e
,
n
,
r
){
return
!
o
&&
(
r
||
n
!==
c
)
||
((
t
=
n
).
nodeType
?
f
(
e
,
n
,
r
):
l
(
e
,
n
,
r
))}];
for
(;
a
<
s
;
a
++
)
if
(
n
=
i
.
relative
[
e
[
a
].
type
])
h
=
[
at
(
ft
(
h
),
n
)];
else
{
n
=
i
.
filter
[
e
[
a
].
type
].
apply
(
null
,
e
[
a
].
matches
);
if
(
n
[
d
]){
r
=++
a
;
for
(;
r
<
s
;
r
++
)
if
(
i
.
relative
[
e
[
r
].
type
])
break
;
return
ct
(
a
>
1
&&
ft
(
h
),
a
>
1
&&
e
.
slice
(
0
,
a
-
1
).
join
(
""
).
replace
(
j
,
"
$1
"
),
n
,
a
<
r
&&
ht
(
e
.
slice
(
a
,
r
)),
r
<
s
&&
ht
(
e
=
e
.
slice
(
r
)),
r
<
s
&&
e
.
join
(
""
))}
h
.
push
(
n
)}
return
ft
(
h
)}
function
pt
(
e
,
t
){
var
r
=
t
.
length
>
0
,
s
=
e
.
length
>
0
,
o
=
function
(
u
,
a
,
f
,
l
,
h
){
var
p
,
d
,
v
,
m
=
[],
y
=
0
,
w
=
"
0
"
,
x
=
u
&&
[],
T
=
h
!=
null
,
N
=
c
,
C
=
u
||
s
&&
i
.
find
.
TAG
(
"
*
"
,
h
&&
a
.
parentNode
||
a
),
k
=
b
+=
N
==
null
?
1
:
Math
.
E
;
T
&&
(
c
=
a
!==
g
&&
a
,
n
=
o
.
el
);
for
(;(
p
=
C
[
w
])
!=
null
;
w
++
){
if
(
s
&&
p
){
for
(
d
=
0
;
v
=
e
[
d
];
d
++
)
if
(
v
(
p
,
a
,
f
)){
l
.
push
(
p
);
break
}
T
&&
(
b
=
k
,
n
=++
o
.
el
)}
r
&&
((
p
=!
v
&&
p
)
&&
y
--
,
u
&&
x
.
push
(
p
))}
y
+=
w
;
if
(
r
&&
w
!==
y
){
for
(
d
=
0
;
v
=
t
[
d
];
d
++
)
v
(
x
,
m
,
a
,
f
);
if
(
u
){
if
(
y
>
0
)
while
(
w
--
)
!
x
[
w
]
&&!
m
[
w
]
&&
(
m
[
w
]
=
E
.
call
(
l
));
m
=
lt
(
m
)}
S
.
apply
(
l
,
m
),
T
&&!
u
&&
m
.
length
>
0
&&
y
+
t
.
length
>
1
&&
nt
.
uniqueSort
(
l
)}
return
T
&&
(
b
=
k
,
c
=
N
),
x
};
return
o
.
el
=
0
,
r
?
N
(
o
):
o
}
function
dt
(
e
,
t
,
n
){
var
r
=
0
,
i
=
t
.
length
;
for
(;
r
<
i
;
r
++
)
nt
(
e
,
t
[
r
],
n
);
return
n
}
function
vt
(
e
,
t
,
n
,
r
,
s
){
var
o
,
u
,
f
,
l
,
c
,
h
=
ut
(
e
),
p
=
h
.
length
;
if
(
!
r
&&
h
.
length
===
1
){
u
=
h
[
0
]
=
h
[
0
].
slice
(
0
);
if
(
u
.
length
>
2
&&
(
f
=
u
[
0
]).
type
===
"
ID
"
&&
t
.
nodeType
===
9
&&!
s
&&
i
.
relative
[
u
[
1
].
type
]){
t
=
i
.
find
.
ID
(
f
.
matches
[
0
].
replace
(
$
,
""
),
t
,
s
)[
0
];
if
(
!
t
)
return
n
;
e
=
e
.
slice
(
u
.
shift
().
length
)}
for
(
o
=
J
.
POS
.
test
(
e
)?
-
1
:
u
.
length
-
1
;
o
>=
0
;
o
--
){
f
=
u
[
o
];
if
(
i
.
relative
[
l
=
f
.
type
])
break
;
if
(
c
=
i
.
find
[
l
])
if
(
r
=
c
(
f
.
matches
[
0
].
replace
(
$
,
""
),
z
.
test
(
u
[
0
].
type
)
&&
t
.
parentNode
||
t
,
s
)){
u
.
splice
(
o
,
1
),
e
=
r
.
length
&&
u
.
join
(
""
);
if
(
!
e
)
return
S
.
apply
(
n
,
x
.
call
(
r
,
0
)),
n
;
break
}}}
return
a
(
e
,
h
)(
r
,
t
,
s
,
n
,
z
.
test
(
e
)),
n
}
function
mt
(){}
var
n
,
r
,
i
,
s
,
o
,
u
,
a
,
f
,
l
,
c
,
h
=!
0
,
p
=
"
undefined
"
,
d
=
(
"
sizcache
"
+
Math
.
random
()).
replace
(
"
.
"
,
""
),
m
=
String
,
g
=
e
.
document
,
y
=
g
.
documentElement
,
b
=
0
,
w
=
0
,
E
=
[].
pop
,
S
=
[].
push
,
x
=
[].
slice
,
T
=
[].
indexOf
||
function
(
e
){
var
t
=
0
,
n
=
this
.
length
;
for
(;
t
<
n
;
t
++
)
if
(
this
[
t
]
===
e
)
return
t
;
return
-
1
},
N
=
function
(
e
,
t
){
return
e
[
d
]
=
t
==
null
||
t
,
e
},
C
=
function
(){
var
e
=
{},
t
=
[];
return
N
(
function
(
n
,
r
){
return
t
.
push
(
n
)
>
i
.
cacheLength
&&
delete
e
[
t
.
shift
()],
e
[
n
+
"
"
]
=
r
},
e
)},
k
=
C
(),
L
=
C
(),
A
=
C
(),
O
=
"
[
\\
x20
\\
t
\\
r
\\
n
\\
f]
"
,
M
=
"
(?:
\\\\
.|[-
\\
w]|[^
\\
x00-
\\
xa0])+
"
,
_
=
M
.
replace
(
"
w
"
,
"
w#
"
),
D
=
"
([*^$|!~]?=)
"
,
P
=
"
\\
[
"
+
O
+
"
*(
"
+
M
+
"
)
"
+
O
+
"
*(?:
"
+
D
+
O
+
"
*(?:(['
\"
])((?:
\\\\
.|[^
\\\\
])*?)
\\
3|(
"
+
_
+
"
)|)|)
"
+
O
+
"
*
\\
]
"
,
H
=
"
:(
"
+
M
+
"
)(?:
\\
((?:(['
\"
])((?:
\\\\
.|[^
\\\\
])*?)
\\
2|([^()[
\\
]]*|(?:(?:
"
+
P
+
"
)|[^:]|
\\\\
.)*|.*))
\\
)|)
"
,
B
=
"
:(even|odd|eq|gt|lt|nth|first|last)(?:
\\
(
"
+
O
+
"
*((?:-
\\
d)?
\\
d*)
"
+
O
+
"
*
\\
)|)(?=[^-]|$)
"
,
j
=
new
RegExp
(
"
^
"
+
O
+
"
+|((?:^|[^
\\\\
])(?:
\\\\
.)*)
"
+
O
+
"
+$
"
,
"
g
"
),
F
=
new
RegExp
(
"
^
"
+
O
+
"
*,
"
+
O
+
"
*
"
),
I
=
new
RegExp
(
"
^
"
+
O
+
"
*([
\\
x20
\\
t
\\
r
\\
n
\\
f>+~])
"
+
O
+
"
*
"
),
q
=
new
RegExp
(
H
),
R
=
/^
(?:
#
([\w\-]
+
)
|
(\w
+
)
|
\.([\w\-]
+
))
$/
,
U
=
/^:not/
,
z
=
/
[\x
20
\t\r\n\f]
*
[
+~
]
/
,
W
=
/:not
\(
$/
,
X
=
/h
\d
/i
,
V
=
/input|select|textarea|button/i
,
$
=
/
\\(?!\\)
/g
,
J
=
{
ID
:
new
RegExp
(
"
^#(
"
+
M
+
"
)
"
),
CLASS
:
new
RegExp
(
"
^
\\
.(
"
+
M
+
"
)
"
),
NAME
:
new
RegExp
(
"
^
\\
[name=['
\"
]?(
"
+
M
+
"
)['
\"
]?
\\
]
"
),
TAG
:
new
RegExp
(
"
^(
"
+
M
.
replace
(
"
w
"
,
"
w*
"
)
+
"
)
"
),
ATTR
:
new
RegExp
(
"
^
"
+
P
),
PSEUDO
:
new
RegExp
(
"
^
"
+
H
),
POS
:
new
RegExp
(
B
,
"
i
"
),
CHILD
:
new
RegExp
(
"
^:(only|nth|first|last)-child(?:
\\
(
"
+
O
+
"
*(even|odd|(([+-]|)(
\\
d*)n|)
"
+
O
+
"
*(?:([+-]|)
"
+
O
+
"
*(
\\
d+)|))
"
+
O
+
"
*
\\
)|)
"
,
"
i
"
),
needsContext
:
new
RegExp
(
"
^
"
+
O
+
"
*[>+~]|
"
+
B
,
"
i
"
)},
K
=
function
(
e
){
var
t
=
g
.
createElement
(
"
div
"
);
try
{
return
e
(
t
)}
catch
(
n
){
return
!
1
}
finally
{
t
=
null
}},
Q
=
K
(
function
(
e
){
return
e
.
appendChild
(
g
.
createComment
(
""
)),
!
e
.
getElementsByTagName
(
"
*
"
).
length
}),
G
=
K
(
function
(
e
){
return
e
.
innerHTML
=
"
<a href='#'></a>
"
,
e
.
firstChild
&&
typeof
e
.
firstChild
.
getAttribute
!==
p
&&
e
.
firstChild
.
getAttribute
(
"
href
"
)
===
"
#
"
}),
Y
=
K
(
function
(
e
){
e
.
innerHTML
=
"
<select></select>
"
;
var
t
=
typeof
e
.
lastChild
.
getAttribute
(
"
multiple
"
);
return
t
!==
"
boolean
"
&&
t
!==
"
string
"
}),
Z
=
K
(
function
(
e
){
return
e
.
innerHTML
=
"
<div class='hidden e'></div><div class='hidden'></div>
"
,
!
e
.
getElementsByClassName
||!
e
.
getElementsByClassName
(
"
e
"
).
length
?
!
1
:(
e
.
lastChild
.
className
=
"
e
"
,
e
.
getElementsByClassName
(
"
e
"
).
length
===
2
)}),
et
=
K
(
function
(
e
){
e
.
id
=
d
+
0
,
e
.
innerHTML
=
"
<a name='
"
+
d
+
"
'></a><div name='
"
+
d
+
"
'></div>
"
,
y
.
insertBefore
(
e
,
y
.
firstChild
);
var
t
=
g
.
getElementsByName
&&
g
.
getElementsByName
(
d
).
length
===
2
+
g
.
getElementsByName
(
d
+
0
).
length
;
return
r
=!
g
.
getElementById
(
d
),
y
.
removeChild
(
e
),
t
});
try
{
x
.
call
(
y
.
childNodes
,
0
)[
0
].
nodeType
}
catch
(
tt
){
x
=
function
(
e
){
var
t
,
n
=
[];
for
(;
t
=
this
[
e
];
e
++
)
n
.
push
(
t
);
return
n
}}
nt
.
matches
=
function
(
e
,
t
){
return
nt
(
e
,
null
,
null
,
t
)},
nt
.
matchesSelector
=
function
(
e
,
t
){
return
nt
(
t
,
null
,
null
,[
e
]).
length
>
0
},
s
=
nt
.
getText
=
function
(
e
){
var
t
,
n
=
""
,
r
=
0
,
i
=
e
.
nodeType
;
if
(
i
){
if
(
i
===
1
||
i
===
9
||
i
===
11
){
if
(
typeof
e
.
textContent
==
"
string
"
)
return
e
.
textContent
;
for
(
e
=
e
.
firstChild
;
e
;
e
=
e
.
nextSibling
)
n
+=
s
(
e
)}
else
if
(
i
===
3
||
i
===
4
)
return
e
.
nodeValue
}
else
for
(;
t
=
e
[
r
];
r
++
)
n
+=
s
(
t
);
return
n
},
o
=
nt
.
isXML
=
function
(
e
){
var
t
=
e
&&
(
e
.
ownerDocument
||
e
).
documentElement
;
return
t
?
t
.
nodeName
!==
"
HTML
"
:
!
1
},
u
=
nt
.
contains
=
y
.
contains
?
function
(
e
,
t
){
var
n
=
e
.
nodeType
===
9
?
e
.
documentElement
:
e
,
r
=
t
&&
t
.
parentNode
;
return
e
===
r
||!!
(
r
&&
r
.
nodeType
===
1
&&
n
.
contains
&&
n
.
contains
(
r
))}:
y
.
compareDocumentPosition
?
function
(
e
,
t
){
return
t
&&!!
(
e
.
compareDocumentPosition
(
t
)
&
16
)}:
function
(
e
,
t
){
while
(
t
=
t
.
parentNode
)
if
(
t
===
e
)
return
!
0
;
return
!
1
},
nt
.
attr
=
function
(
e
,
t
){
var
n
,
r
=
o
(
e
);
return
r
||
(
t
=
t
.
toLowerCase
()),(
n
=
i
.
attrHandle
[
t
])?
n
(
e
):
r
||
Y
?
e
.
getAttribute
(
t
):(
n
=
e
.
getAttributeNode
(
t
),
n
?
typeof
e
[
t
]
==
"
boolean
"
?
e
[
t
]?
t
:
null
:
n
.
specified
?
n
.
value
:
null
:
null
)},
i
=
nt
.
selectors
=
{
cacheLength
:
50
,
createPseudo
:
N
,
match
:
J
,
attrHandle
:
G
?{}:{
href
:
function
(
e
){
return
e
.
getAttribute
(
"
href
"
,
2
)},
type
:
function
(
e
){
return
e
.
getAttribute
(
"
type
"
)}},
find
:{
ID
:
r
?
function
(
e
,
t
,
n
){
if
(
typeof
t
.
getElementById
!==
p
&&!
n
){
var
r
=
t
.
getElementById
(
e
);
return
r
&&
r
.
parentNode
?[
r
]:[]}}:
function
(
e
,
n
,
r
){
if
(
typeof
n
.
getElementById
!==
p
&&!
r
){
var
i
=
n
.
getElementById
(
e
);
return
i
?
i
.
id
===
e
||
typeof
i
.
getAttributeNode
!==
p
&&
i
.
getAttributeNode
(
"
id
"
).
value
===
e
?[
i
]:
t
:[]}},
TAG
:
Q
?
function
(
e
,
t
){
if
(
typeof
t
.
getElementsByTagName
!==
p
)
return
t
.
getElementsByTagName
(
e
)}:
function
(
e
,
t
){
var
n
=
t
.
getElementsByTagName
(
e
);
if
(
e
===
"
*
"
){
var
r
,
i
=
[],
s
=
0
;
for
(;
r
=
n
[
s
];
s
++
)
r
.
nodeType
===
1
&&
i
.
push
(
r
);
return
i
}
return
n
},
NAME
:
et
&&
function
(
e
,
t
){
if
(
typeof
t
.
getElementsByName
!==
p
)
return
t
.
getElementsByName
(
name
)},
CLASS
:
Z
&&
function
(
e
,
t
,
n
){
if
(
typeof
t
.
getElementsByClassName
!==
p
&&!
n
)
return
t
.
getElementsByClassName
(
e
)}},
relative
:{
"
>
"
:{
dir
:
"
parentNode
"
,
first
:
!
0
},
"
"
:{
dir
:
"
parentNode
"
},
"
+
"
:{
dir
:
"
previousSibling
"
,
first
:
!
0
},
"
~
"
:{
dir
:
"
previousSibling
"
}},
preFilter
:{
ATTR
:
function
(
e
){
return
e
[
1
]
=
e
[
1
].
replace
(
$
,
""
),
e
[
3
]
=
(
e
[
4
]
||
e
[
5
]
||
""
).
replace
(
$
,
""
),
e
[
2
]
===
"
~=
"
&&
(
e
[
3
]
=
"
"
+
e
[
3
]
+
"
"
),
e
.
slice
(
0
,
4
)},
CHILD
:
function
(
e
){
return
e
[
1
]
=
e
[
1
].
toLowerCase
(),
e
[
1
]
===
"
nth
"
?(
e
[
2
]
||
nt
.
error
(
e
[
0
]),
e
[
3
]
=+
(
e
[
3
]?
e
[
4
]
+
(
e
[
5
]
||
1
):
2
*
(
e
[
2
]
===
"
even
"
||
e
[
2
]
===
"
odd
"
)),
e
[
4
]
=+
(
e
[
6
]
+
e
[
7
]
||
e
[
2
]
===
"
odd
"
)):
e
[
2
]
&&
nt
.
error
(
e
[
0
]),
e
},
PSEUDO
:
function
(
e
){
var
t
,
n
;
if
(
J
.
CHILD
.
test
(
e
[
0
]))
return
null
;
if
(
e
[
3
])
e
[
2
]
=
e
[
3
];
else
if
(
t
=
e
[
4
])
q
.
test
(
t
)
&&
(
n
=
ut
(
t
,
!
0
))
&&
(
n
=
t
.
indexOf
(
"
)
"
,
t
.
length
-
n
)
-
t
.
length
)
&&
(
t
=
t
.
slice
(
0
,
n
),
e
[
0
]
=
e
[
0
].
slice
(
0
,
n
)),
e
[
2
]
=
t
;
return
e
.
slice
(
0
,
3
)}},
filter
:{
ID
:
r
?
function
(
e
){
return
e
=
e
.
replace
(
$
,
""
),
function
(
t
){
return
t
.
getAttribute
(
"
id
"
)
===
e
}}:
function
(
e
){
return
e
=
e
.
replace
(
$
,
""
),
function
(
t
){
var
n
=
typeof
t
.
getAttributeNode
!==
p
&&
t
.
getAttributeNode
(
"
id
"
);
return
n
&&
n
.
value
===
e
}},
TAG
:
function
(
e
){
return
e
===
"
*
"
?
function
(){
return
!
0
}:(
e
=
e
.
replace
(
$
,
""
).
toLowerCase
(),
function
(
t
){
return
t
.
nodeName
&&
t
.
nodeName
.
toLowerCase
()
===
e
})},
CLASS
:
function
(
e
){
var
t
=
k
[
d
][
e
+
"
"
];
return
t
||
(
t
=
new
RegExp
(
"
(^|
"
+
O
+
"
)
"
+
e
+
"
(
"
+
O
+
"
|$)
"
))
&&
k
(
e
,
function
(
e
){
return
t
.
test
(
e
.
className
||
typeof
e
.
getAttribute
!==
p
&&
e
.
getAttribute
(
"
class
"
)
||
""
)})},
ATTR
:
function
(
e
,
t
,
n
){
return
function
(
r
,
i
){
var
s
=
nt
.
attr
(
r
,
e
);
return
s
==
null
?
t
===
"
!=
"
:
t
?(
s
+=
""
,
t
===
"
=
"
?
s
===
n
:
t
===
"
!=
"
?
s
!==
n
:
t
===
"
^=
"
?
n
&&
s
.
indexOf
(
n
)
===
0
:
t
===
"
*=
"
?
n
&&
s
.
indexOf
(
n
)
>-
1
:
t
===
"
$=
"
?
n
&&
s
.
substr
(
s
.
length
-
n
.
length
)
===
n
:
t
===
"
~=
"
?(
"
"
+
s
+
"
"
).
indexOf
(
n
)
>-
1
:
t
===
"
|=
"
?
s
===
n
||
s
.
substr
(
0
,
n
.
length
+
1
)
===
n
+
"
-
"
:
!
1
):
!
0
}},
CHILD
:
function
(
e
,
t
,
n
,
r
){
return
e
===
"
nth
"
?
function
(
e
){
var
t
,
i
,
s
=
e
.
parentNode
;
if
(
n
===
1
&&
r
===
0
)
return
!
0
;
if
(
s
){
i
=
0
;
for
(
t
=
s
.
firstChild
;
t
;
t
=
t
.
nextSibling
)
if
(
t
.
nodeType
===
1
){
i
++
;
if
(
e
===
t
)
break
}}
return
i
-=
r
,
i
===
n
||
i
%
n
===
0
&&
i
/
n
>=
0
}:
function
(
t
){
var
n
=
t
;
switch
(
e
){
case
"
only
"
:
case
"
first
"
:
while
(
n
=
n
.
previousSibling
)
if
(
n
.
nodeType
===
1
)
return
!
1
;
if
(
e
===
"
first
"
)
return
!
0
;
n
=
t
;
case
"
last
"
:
while
(
n
=
n
.
nextSibling
)
if
(
n
.
nodeType
===
1
)
return
!
1
;
return
!
0
}}},
PSEUDO
:
function
(
e
,
t
){
var
n
,
r
=
i
.
pseudos
[
e
]
||
i
.
setFilters
[
e
.
toLowerCase
()]
||
nt
.
error
(
"
unsupported pseudo:
"
+
e
);
return
r
[
d
]?
r
(
t
):
r
.
length
>
1
?(
n
=
[
e
,
e
,
""
,
t
],
i
.
setFilters
.
hasOwnProperty
(
e
.
toLowerCase
())?
N
(
function
(
e
,
n
){
var
i
,
s
=
r
(
e
,
t
),
o
=
s
.
length
;
while
(
o
--
)
i
=
T
.
call
(
e
,
s
[
o
]),
e
[
i
]
=!
(
n
[
i
]
=
s
[
o
])}):
function
(
e
){
return
r
(
e
,
0
,
n
)}):
r
}},
pseudos
:{
not
:
N
(
function
(
e
){
var
t
=
[],
n
=
[],
r
=
a
(
e
.
replace
(
j
,
"
$1
"
));
return
r
[
d
]?
N
(
function
(
e
,
t
,
n
,
i
){
var
s
,
o
=
r
(
e
,
null
,
i
,[]),
u
=
e
.
length
;
while
(
u
--
)
if
(
s
=
o
[
u
])
e
[
u
]
=!
(
t
[
u
]
=
s
)}):
function
(
e
,
i
,
s
){
return
t
[
0
]
=
e
,
r
(
t
,
null
,
s
,
n
),
!
n
.
pop
()}}),
has
:
N
(
function
(
e
){
return
function
(
t
){
return
nt
(
e
,
t
).
length
>
0
}}),
contains
:
N
(
function
(
e
){
return
function
(
t
){
return
(
t
.
textContent
||
t
.
innerText
||
s
(
t
)).
indexOf
(
e
)
>-
1
}}),
enabled
:
function
(
e
){
return
e
.
disabled
===!
1
},
disabled
:
function
(
e
){
return
e
.
disabled
===!
0
},
checked
:
function
(
e
){
var
t
=
e
.
nodeName
.
toLowerCase
();
return
t
===
"
input
"
&&!!
e
.
checked
||
t
===
"
option
"
&&!!
e
.
selected
},
selected
:
function
(
e
){
return
e
.
parentNode
&&
e
.
parentNode
.
selectedIndex
,
e
.
selected
===!
0
},
parent
:
function
(
e
){
return
!
i
.
pseudos
.
empty
(
e
)},
empty
:
function
(
e
){
var
t
;
e
=
e
.
firstChild
;
while
(
e
){
if
(
e
.
nodeName
>
"
@
"
||
(
t
=
e
.
nodeType
)
===
3
||
t
===
4
)
return
!
1
;
e
=
e
.
nextSibling
}
return
!
0
},
header
:
function
(
e
){
return
X
.
test
(
e
.
nodeName
)},
text
:
function
(
e
){
var
t
,
n
;
return
e
.
nodeName
.
toLowerCase
()
===
"
input
"
&&
(
t
=
e
.
type
)
===
"
text
"
&&
((
n
=
e
.
getAttribute
(
"
type
"
))
==
null
||
n
.
toLowerCase
()
===
t
)},
radio
:
rt
(
"
radio
"
),
checkbox
:
rt
(
"
checkbox
"
),
file
:
rt
(
"
file
"
),
password
:
rt
(
"
password
"
),
image
:
rt
(
"
image
"
),
submit
:
it
(
"
submit
"
),
reset
:
it
(
"
reset
"
),
button
:
function
(
e
){
var
t
=
e
.
nodeName
.
toLowerCase
();
return
t
===
"
input
"
&&
e
.
type
===
"
button
"
||
t
===
"
button
"
},
input
:
function
(
e
){
return
V
.
test
(
e
.
nodeName
)},
focus
:
function
(
e
){
var
t
=
e
.
ownerDocument
;
return
e
===
t
.
activeElement
&&
(
!
t
.
hasFocus
||
t
.
hasFocus
())
&&!!
(
e
.
type
||
e
.
href
||~
e
.
tabIndex
)},
active
:
function
(
e
){
return
e
===
e
.
ownerDocument
.
activeElement
},
first
:
st
(
function
(){
return
[
0
]}),
last
:
st
(
function
(
e
,
t
){
return
[
t
-
1
]}),
eq
:
st
(
function
(
e
,
t
,
n
){
return
[
n
<
0
?
n
+
t
:
n
]}),
even
:
st
(
function
(
e
,
t
){
for
(
var
n
=
0
;
n
<
t
;
n
+=
2
)
e
.
push
(
n
);
return
e
}),
odd
:
st
(
function
(
e
,
t
){
for
(
var
n
=
1
;
n
<
t
;
n
+=
2
)
e
.
push
(
n
);
return
e
}),
lt
:
st
(
function
(
e
,
t
,
n
){
for
(
var
r
=
n
<
0
?
n
+
t
:
n
;
--
r
>=
0
;)
e
.
push
(
r
);
return
e
}),
gt
:
st
(
function
(
e
,
t
,
n
){
for
(
var
r
=
n
<
0
?
n
+
t
:
n
;
++
r
<
t
;)
e
.
push
(
r
);
return
e
})}},
f
=
y
.
compareDocumentPosition
?
function
(
e
,
t
){
return
e
===
t
?(
l
=!
0
,
0
):(
!
e
.
compareDocumentPosition
||!
t
.
compareDocumentPosition
?
e
.
compareDocumentPosition
:
e
.
compareDocumentPosition
(
t
)
&
4
)?
-
1
:
1
}:
function
(
e
,
t
){
if
(
e
===
t
)
return
l
=!
0
,
0
;
if
(
e
.
sourceIndex
&&
t
.
sourceIndex
)
return
e
.
sourceIndex
-
t
.
sourceIndex
;
var
n
,
r
,
i
=
[],
s
=
[],
o
=
e
.
parentNode
,
u
=
t
.
parentNode
,
a
=
o
;
if
(
o
===
u
)
return
ot
(
e
,
t
);
if
(
!
o
)
return
-
1
;
if
(
!
u
)
return
1
;
while
(
a
)
i
.
unshift
(
a
),
a
=
a
.
parentNode
;
a
=
u
;
while
(
a
)
s
.
unshift
(
a
),
a
=
a
.
parentNode
;
n
=
i
.
length
,
r
=
s
.
length
;
for
(
var
f
=
0
;
f
<
n
&&
f
<
r
;
f
++
)
if
(
i
[
f
]
!==
s
[
f
])
return
ot
(
i
[
f
],
s
[
f
]);
return
f
===
n
?
ot
(
e
,
s
[
f
],
-
1
):
ot
(
i
[
f
],
t
,
1
)},[
0
,
0
].
sort
(
f
),
h
=!
l
,
nt
.
uniqueSort
=
function
(
e
){
var
t
,
n
=
[],
r
=
1
,
i
=
0
;
l
=
h
,
e
.
sort
(
f
);
if
(
l
){
for
(;
t
=
e
[
r
];
r
++
)
t
===
e
[
r
-
1
]
&&
(
i
=
n
.
push
(
r
));
while
(
i
--
)
e
.
splice
(
n
[
i
],
1
)}
return
e
},
nt
.
error
=
function
(
e
){
throw
new
Error
(
"
Syntax error, unrecognized expression:
"
+
e
)},
a
=
nt
.
compile
=
function
(
e
,
t
){
var
n
,
r
=
[],
i
=
[],
s
=
A
[
d
][
e
+
"
"
];
if
(
!
s
){
t
||
(
t
=
ut
(
e
)),
n
=
t
.
length
;
while
(
n
--
)
s
=
ht
(
t
[
n
]),
s
[
d
]?
r
.
push
(
s
):
i
.
push
(
s
);
s
=
A
(
e
,
pt
(
i
,
r
))}
return
s
},
g
.
querySelectorAll
&&
function
(){
var
e
,
t
=
vt
,
n
=
/'|
\\
/g
,
r
=
/
\=[\x
20
\t\r\n\f]
*
([^
'"
\]]
*
)[\x
20
\t\r\n\f]
*
\]
/g
,
i
=
[
"
:focus
"
],
s
=
[
"
:active
"
],
u
=
y
.
matchesSelector
||
y
.
mozMatchesSelector
||
y
.
webkitMatchesSelector
||
y
.
oMatchesSelector
||
y
.
msMatchesSelector
;
K
(
function
(
e
){
e
.
innerHTML
=
"
<select><option selected=''></option></select>
"
,
e
.
querySelectorAll
(
"
[selected]
"
).
length
||
i
.
push
(
"
\\
[
"
+
O
+
"
*(?:checked|disabled|ismap|multiple|readonly|selected|value)
"
),
e
.
querySelectorAll
(
"
:checked
"
).
length
||
i
.
push
(
"
:checked
"
)}),
K
(
function
(
e
){
e
.
innerHTML
=
"
<p test=''></p>
"
,
e
.
querySelectorAll
(
"
[test^='']
"
).
length
&&
i
.
push
(
"
[*^$]=
"
+
O
+
"
*(?:
\"\"
|'')
"
),
e
.
innerHTML
=
"
<input type='hidden'/>
"
,
e
.
querySelectorAll
(
"
:enabled
"
).
length
||
i
.
push
(
"
:enabled
"
,
"
:disabled
"
)}),
i
=
new
RegExp
(
i
.
join
(
"
|
"
)),
vt
=
function
(
e
,
r
,
s
,
o
,
u
){
if
(
!
o
&&!
u
&&!
i
.
test
(
e
)){
var
a
,
f
,
l
=!
0
,
c
=
d
,
h
=
r
,
p
=
r
.
nodeType
===
9
&&
e
;
if
(
r
.
nodeType
===
1
&&
r
.
nodeName
.
toLowerCase
()
!==
"
object
"
){
a
=
ut
(
e
),(
l
=
r
.
getAttribute
(
"
id
"
))?
c
=
l
.
replace
(
n
,
"
\\
$&
"
):
r
.
setAttribute
(
"
id
"
,
c
),
c
=
"
[id='
"
+
c
+
"
']
"
,
f
=
a
.
length
;
while
(
f
--
)
a
[
f
]
=
c
+
a
[
f
].
join
(
""
);
h
=
z
.
test
(
e
)
&&
r
.
parentNode
||
r
,
p
=
a
.
join
(
"
,
"
)}
if
(
p
)
try
{
return
S
.
apply
(
s
,
x
.
call
(
h
.
querySelectorAll
(
p
),
0
)),
s
}
catch
(
v
){}
finally
{
l
||
r
.
removeAttribute
(
"
id
"
)}}
return
t
(
e
,
r
,
s
,
o
,
u
)},
u
&&
(
K
(
function
(
t
){
e
=
u
.
call
(
t
,
"
div
"
);
try
{
u
.
call
(
t
,
"
[test!='']:sizzle
"
),
s
.
push
(
"
!=
"
,
H
)}
catch
(
n
){}}),
s
=
new
RegExp
(
s
.
join
(
"
|
"
)),
nt
.
matchesSelector
=
function
(
t
,
n
){
n
=
n
.
replace
(
r
,
"
='$1']
"
);
if
(
!
o
(
t
)
&&!
s
.
test
(
n
)
&&!
i
.
test
(
n
))
try
{
var
a
=
u
.
call
(
t
,
n
);
if
(
a
||
e
||
t
.
document
&&
t
.
document
.
nodeType
!==
11
)
return
a
}
catch
(
f
){}
return
nt
(
n
,
null
,
null
,[
t
]).
length
>
0
})}(),
i
.
pseudos
.
nth
=
i
.
pseudos
.
eq
,
i
.
filters
=
mt
.
prototype
=
i
.
pseudos
,
i
.
setFilters
=
new
mt
,
nt
.
attr
=
v
.
attr
,
v
.
find
=
nt
,
v
.
expr
=
nt
.
selectors
,
v
.
expr
[
"
:
"
]
=
v
.
expr
.
pseudos
,
v
.
unique
=
nt
.
uniqueSort
,
v
.
text
=
nt
.
getText
,
v
.
isXMLDoc
=
nt
.
isXML
,
v
.
contains
=
nt
.
contains
}(
e
);
var
nt
=
/Until$/
,
rt
=
/^
(?:
parents|prev
(?:
Until|All
))
/
,
it
=
/^.
[^
:#
\[\.
,
]
*$/
,
st
=
v
.
expr
.
match
.
needsContext
,
ot
=
{
children
:
!
0
,
contents
:
!
0
,
next
:
!
0
,
prev
:
!
0
};
v
.
fn
.
extend
({
find
:
function
(
e
){
var
t
,
n
,
r
,
i
,
s
,
o
,
u
=
this
;
if
(
typeof
e
!=
"
string
"
)
return
v
(
e
).
filter
(
function
(){
for
(
t
=
0
,
n
=
u
.
length
;
t
<
n
;
t
++
)
if
(
v
.
contains
(
u
[
t
],
this
))
return
!
0
});
o
=
this
.
pushStack
(
""
,
"
find
"
,
e
);
for
(
t
=
0
,
n
=
this
.
length
;
t
<
n
;
t
++
){
r
=
o
.
length
,
v
.
find
(
e
,
this
[
t
],
o
);
if
(
t
>
0
)
for
(
i
=
r
;
i
<
o
.
length
;
i
++
)
for
(
s
=
0
;
s
<
r
;
s
++
)
if
(
o
[
s
]
===
o
[
i
]){
o
.
splice
(
i
--
,
1
);
break
}}
return
o
},
has
:
function
(
e
){
var
t
,
n
=
v
(
e
,
this
),
r
=
n
.
length
;
return
this
.
filter
(
function
(){
for
(
t
=
0
;
t
<
r
;
t
++
)
if
(
v
.
contains
(
this
,
n
[
t
]))
return
!
0
})},
not
:
function
(
e
){
return
this
.
pushStack
(
ft
(
this
,
e
,
!
1
),
"
not
"
,
e
)},
filter
:
function
(
e
){
return
this
.
pushStack
(
ft
(
this
,
e
,
!
0
),
"
filter
"
,
e
)},
is
:
function
(
e
){
return
!!
e
&&
(
typeof
e
==
"
string
"
?
st
.
test
(
e
)?
v
(
e
,
this
.
context
).
index
(
this
[
0
])
>=
0
:
v
.
filter
(
e
,
this
).
length
>
0
:
this
.
filter
(
e
).
length
>
0
)},
closest
:
function
(
e
,
t
){
var
n
,
r
=
0
,
i
=
this
.
length
,
s
=
[],
o
=
st
.
test
(
e
)
||
typeof
e
!=
"
string
"
?
v
(
e
,
t
||
this
.
context
):
0
;
for
(;
r
<
i
;
r
++
){
n
=
this
[
r
];
while
(
n
&&
n
.
ownerDocument
&&
n
!==
t
&&
n
.
nodeType
!==
11
){
if
(
o
?
o
.
index
(
n
)
>-
1
:
v
.
find
.
matchesSelector
(
n
,
e
)){
s
.
push
(
n
);
break
}
n
=
n
.
parentNode
}}
return
s
=
s
.
length
>
1
?
v
.
unique
(
s
):
s
,
this
.
pushStack
(
s
,
"
closest
"
,
e
)},
index
:
function
(
e
){
return
e
?
typeof
e
==
"
string
"
?
v
.
inArray
(
this
[
0
],
v
(
e
)):
v
.
inArray
(
e
.
jquery
?
e
[
0
]:
e
,
this
):
this
[
0
]
&&
this
[
0
].
parentNode
?
this
.
prevAll
().
length
:
-
1
},
add
:
function
(
e
,
t
){
var
n
=
typeof
e
==
"
string
"
?
v
(
e
,
t
):
v
.
makeArray
(
e
&&
e
.
nodeType
?[
e
]:
e
),
r
=
v
.
merge
(
this
.
get
(),
n
);
return
this
.
pushStack
(
ut
(
n
[
0
])
||
ut
(
r
[
0
])?
r
:
v
.
unique
(
r
))},
addBack
:
function
(
e
){
return
this
.
add
(
e
==
null
?
this
.
prevObject
:
this
.
prevObject
.
filter
(
e
))}}),
v
.
fn
.
andSelf
=
v
.
fn
.
addBack
,
v
.
each
({
parent
:
function
(
e
){
var
t
=
e
.
parentNode
;
return
t
&&
t
.
nodeType
!==
11
?
t
:
null
},
parents
:
function
(
e
){
return
v
.
dir
(
e
,
"
parentNode
"
)},
parentsUntil
:
function
(
e
,
t
,
n
){
return
v
.
dir
(
e
,
"
parentNode
"
,
n
)},
next
:
function
(
e
){
return
at
(
e
,
"
nextSibling
"
)},
prev
:
function
(
e
){
return
at
(
e
,
"
previousSibling
"
)},
nextAll
:
function
(
e
){
return
v
.
dir
(
e
,
"
nextSibling
"
)},
prevAll
:
function
(
e
){
return
v
.
dir
(
e
,
"
previousSibling
"
)},
nextUntil
:
function
(
e
,
t
,
n
){
return
v
.
dir
(
e
,
"
nextSibling
"
,
n
)},
prevUntil
:
function
(
e
,
t
,
n
){
return
v
.
dir
(
e
,
"
previousSibling
"
,
n
)},
siblings
:
function
(
e
){
return
v
.
sibling
((
e
.
parentNode
||
{}).
firstChild
,
e
)},
children
:
function
(
e
){
return
v
.
sibling
(
e
.
firstChild
)},
contents
:
function
(
e
){
return
v
.
nodeName
(
e
,
"
iframe
"
)?
e
.
contentDocument
||
e
.
contentWindow
.
document
:
v
.
merge
([],
e
.
childNodes
)}},
function
(
e
,
t
){
v
.
fn
[
e
]
=
function
(
n
,
r
){
var
i
=
v
.
map
(
this
,
t
,
n
);
return
nt
.
test
(
e
)
||
(
r
=
n
),
r
&&
typeof
r
==
"
string
"
&&
(
i
=
v
.
filter
(
r
,
i
)),
i
=
this
.
length
>
1
&&!
ot
[
e
]?
v
.
unique
(
i
):
i
,
this
.
length
>
1
&&
rt
.
test
(
e
)
&&
(
i
=
i
.
reverse
()),
this
.
pushStack
(
i
,
e
,
l
.
call
(
arguments
).
join
(
"
,
"
))}}),
v
.
extend
({
filter
:
function
(
e
,
t
,
n
){
return
n
&&
(
e
=
"
:not(
"
+
e
+
"
)
"
),
t
.
length
===
1
?
v
.
find
.
matchesSelector
(
t
[
0
],
e
)?[
t
[
0
]]:[]:
v
.
find
.
matches
(
e
,
t
)},
dir
:
function
(
e
,
n
,
r
){
var
i
=
[],
s
=
e
[
n
];
while
(
s
&&
s
.
nodeType
!==
9
&&
(
r
===
t
||
s
.
nodeType
!==
1
||!
v
(
s
).
is
(
r
)))
s
.
nodeType
===
1
&&
i
.
push
(
s
),
s
=
s
[
n
];
return
i
},
sibling
:
function
(
e
,
t
){
var
n
=
[];
for
(;
e
;
e
=
e
.
nextSibling
)
e
.
nodeType
===
1
&&
e
!==
t
&&
n
.
push
(
e
);
return
n
}});
var
ct
=
"
abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video
"
,
ht
=
/ jQuery
\d
+="
(?:
null|
\d
+
)
"/g
,
pt
=
/^
\s
+/
,
dt
=
/<
(?!
area|br|col|embed|hr|img|input|link|meta|param
)(([\w
:
]
+
)[^
>
]
*
)\/
>/gi
,
vt
=
/<
([\w
:
]
+
)
/
,
mt
=
/<tbody/i
,
gt
=
/<|&#
?\w
+;/
,
yt
=
/<
(?:
script|style|link
)
/i
,
bt
=
/<
(?:
script|object|embed|option|style
)
/i
,
wt
=
new
RegExp
(
"
<(?:
"
+
ct
+
"
)[
\\
s/>]
"
,
"
i
"
),
Et
=
/^
(?:
checkbox|radio
)
$/
,
St
=
/checked
\s
*
(?:[^
=
]
|=
\s
*.checked.
)
/i
,
xt
=
/
\/(
java|ecma
)
script/i
,
Tt
=
/^
\s
*<!
(?:\[
CDATA
\[
|
\-\-)
|
[\]\-]{2}
>
\s
*$/g
,
Nt
=
{
option
:[
1
,
"
<select multiple='multiple'>
"
,
"
</select>
"
],
legend
:[
1
,
"
<fieldset>
"
,
"
</fieldset>
"
],
thead
:[
1
,
"
<table>
"
,
"
</table>
"
],
tr
:[
2
,
"
<table><tbody>
"
,
"
</tbody></table>
"
],
td
:[
3
,
"
<table><tbody><tr>
"
,
"
</tr></tbody></table>
"
],
col
:[
2
,
"
<table><tbody></tbody><colgroup>
"
,
"
</colgroup></table>
"
],
area
:[
1
,
"
<map>
"
,
"
</map>
"
],
_default
:[
0
,
""
,
""
]},
Ct
=
lt
(
i
),
kt
=
Ct
.
appendChild
(
i
.
createElement
(
"
div
"
));
Nt
.
optgroup
=
Nt
.
option
,
Nt
.
tbody
=
Nt
.
tfoot
=
Nt
.
colgroup
=
Nt
.
caption
=
Nt
.
thead
,
Nt
.
th
=
Nt
.
td
,
v
.
support
.
htmlSerialize
||
(
Nt
.
_default
=
[
1
,
"
X<div>
"
,
"
</div>
"
]),
v
.
fn
.
extend
({
text
:
function
(
e
){
return
v
.
access
(
this
,
function
(
e
){
return
e
===
t
?
v
.
text
(
this
):
this
.
empty
().
append
((
this
[
0
]
&&
this
[
0
].
ownerDocument
||
i
).
createTextNode
(
e
))},
null
,
e
,
arguments
.
length
)},
wrapAll
:
function
(
e
){
if
(
v
.
isFunction
(
e
))
return
this
.
each
(
function
(
t
){
v
(
this
).
wrapAll
(
e
.
call
(
this
,
t
))});
if
(
this
[
0
]){
var
t
=
v
(
e
,
this
[
0
].
ownerDocument
).
eq
(
0
).
clone
(
!
0
);
this
[
0
].
parentNode
&&
t
.
insertBefore
(
this
[
0
]),
t
.
map
(
function
(){
var
e
=
this
;
while
(
e
.
firstChild
&&
e
.
firstChild
.
nodeType
===
1
)
e
=
e
.
firstChild
;
return
e
}).
append
(
this
)}
return
this
},
wrapInner
:
function
(
e
){
return
v
.
isFunction
(
e
)?
this
.
each
(
function
(
t
){
v
(
this
).
wrapInner
(
e
.
call
(
this
,
t
))}):
this
.
each
(
function
(){
var
t
=
v
(
this
),
n
=
t
.
contents
();
n
.
length
?
n
.
wrapAll
(
e
):
t
.
append
(
e
)})},
wrap
:
function
(
e
){
var
t
=
v
.
isFunction
(
e
);
return
this
.
each
(
function
(
n
){
v
(
this
).
wrapAll
(
t
?
e
.
call
(
this
,
n
):
e
)})},
unwrap
:
function
(){
return
this
.
parent
().
each
(
function
(){
v
.
nodeName
(
this
,
"
body
"
)
||
v
(
this
).
replaceWith
(
this
.
childNodes
)}).
end
()},
append
:
function
(){
return
this
.
domManip
(
arguments
,
!
0
,
function
(
e
){(
this
.
nodeType
===
1
||
this
.
nodeType
===
11
)
&&
this
.
appendChild
(
e
)})},
prepend
:
function
(){
return
this
.
domManip
(
arguments
,
!
0
,
function
(
e
){(
this
.
nodeType
===
1
||
this
.
nodeType
===
11
)
&&
this
.
insertBefore
(
e
,
this
.
firstChild
)})},
before
:
function
(){
if
(
!
ut
(
this
[
0
]))
return
this
.
domManip
(
arguments
,
!
1
,
function
(
e
){
this
.
parentNode
.
insertBefore
(
e
,
this
)});
if
(
arguments
.
length
){
var
e
=
v
.
clean
(
arguments
);
return
this
.
pushStack
(
v
.
merge
(
e
,
this
),
"
before
"
,
this
.
selector
)}},
after
:
function
(){
if
(
!
ut
(
this
[
0
]))
return
this
.
domManip
(
arguments
,
!
1
,
function
(
e
){
this
.
parentNode
.
insertBefore
(
e
,
this
.
nextSibling
)});
if
(
arguments
.
length
){
var
e
=
v
.
clean
(
arguments
);
return
this
.
pushStack
(
v
.
merge
(
this
,
e
),
"
after
"
,
this
.
selector
)}},
remove
:
function
(
e
,
t
){
var
n
,
r
=
0
;
for
(;(
n
=
this
[
r
])
!=
null
;
r
++
)
if
(
!
e
||
v
.
filter
(
e
,[
n
]).
length
)
!
t
&&
n
.
nodeType
===
1
&&
(
v
.
cleanData
(
n
.
getElementsByTagName
(
"
*
"
)),
v
.
cleanData
([
n
])),
n
.
parentNode
&&
n
.
parentNode
.
removeChild
(
n
);
return
this
},
empty
:
function
(){
var
e
,
t
=
0
;
for
(;(
e
=
this
[
t
])
!=
null
;
t
++
){
e
.
nodeType
===
1
&&
v
.
cleanData
(
e
.
getElementsByTagName
(
"
*
"
));
while
(
e
.
firstChild
)
e
.
removeChild
(
e
.
firstChild
)}
return
this
},
clone
:
function
(
e
,
t
){
return
e
=
e
==
null
?
!
1
:
e
,
t
=
t
==
null
?
e
:
t
,
this
.
map
(
function
(){
return
v
.
clone
(
this
,
e
,
t
)})},
html
:
function
(
e
){
return
v
.
access
(
this
,
function
(
e
){
var
n
=
this
[
0
]
||
{},
r
=
0
,
i
=
this
.
length
;
if
(
e
===
t
)
return
n
.
nodeType
===
1
?
n
.
innerHTML
.
replace
(
ht
,
""
):
t
;
if
(
typeof
e
==
"
string
"
&&!
yt
.
test
(
e
)
&&
(
v
.
support
.
htmlSerialize
||!
wt
.
test
(
e
))
&&
(
v
.
support
.
leadingWhitespace
||!
pt
.
test
(
e
))
&&!
Nt
[(
vt
.
exec
(
e
)
||
[
""
,
""
])[
1
].
toLowerCase
()]){
e
=
e
.
replace
(
dt
,
"
<$1></$2>
"
);
try
{
for
(;
r
<
i
;
r
++
)
n
=
this
[
r
]
||
{},
n
.
nodeType
===
1
&&
(
v
.
cleanData
(
n
.
getElementsByTagName
(
"
*
"
)),
n
.
innerHTML
=
e
);
n
=
0
}
catch
(
s
){}}
n
&&
this
.
empty
().
append
(
e
)},
null
,
e
,
arguments
.
length
)},
replaceWith
:
function
(
e
){
return
ut
(
this
[
0
])?
this
.
length
?
this
.
pushStack
(
v
(
v
.
isFunction
(
e
)?
e
():
e
),
"
replaceWith
"
,
e
):
this
:
v
.
isFunction
(
e
)?
this
.
each
(
function
(
t
){
var
n
=
v
(
this
),
r
=
n
.
html
();
n
.
replaceWith
(
e
.
call
(
this
,
t
,
r
))}):(
typeof
e
!=
"
string
"
&&
(
e
=
v
(
e
).
detach
()),
this
.
each
(
function
(){
var
t
=
this
.
nextSibling
,
n
=
this
.
parentNode
;
v
(
this
).
remove
(),
t
?
v
(
t
).
before
(
e
):
v
(
n
).
append
(
e
)}))},
detach
:
function
(
e
){
return
this
.
remove
(
e
,
!
0
)},
domManip
:
function
(
e
,
n
,
r
){
e
=
[].
concat
.
apply
([],
e
);
var
i
,
s
,
o
,
u
,
a
=
0
,
f
=
e
[
0
],
l
=
[],
c
=
this
.
length
;
if
(
!
v
.
support
.
checkClone
&&
c
>
1
&&
typeof
f
==
"
string
"
&&
St
.
test
(
f
))
return
this
.
each
(
function
(){
v
(
this
).
domManip
(
e
,
n
,
r
)});
if
(
v
.
isFunction
(
f
))
return
this
.
each
(
function
(
i
){
var
s
=
v
(
this
);
e
[
0
]
=
f
.
call
(
this
,
i
,
n
?
s
.
html
():
t
),
s
.
domManip
(
e
,
n
,
r
)});
if
(
this
[
0
]){
i
=
v
.
buildFragment
(
e
,
this
,
l
),
o
=
i
.
fragment
,
s
=
o
.
firstChild
,
o
.
childNodes
.
length
===
1
&&
(
o
=
s
);
if
(
s
){
n
=
n
&&
v
.
nodeName
(
s
,
"
tr
"
);
for
(
u
=
i
.
cacheable
||
c
-
1
;
a
<
c
;
a
++
)
r
.
call
(
n
&&
v
.
nodeName
(
this
[
a
],
"
table
"
)?
Lt
(
this
[
a
],
"
tbody
"
):
this
[
a
],
a
===
u
?
o
:
v
.
clone
(
o
,
!
0
,
!
0
))}
o
=
s
=
null
,
l
.
length
&&
v
.
each
(
l
,
function
(
e
,
t
){
t
.
src
?
v
.
ajax
?
v
.
ajax
({
url
:
t
.
src
,
type
:
"
GET
"
,
dataType
:
"
script
"
,
async
:
!
1
,
global
:
!
1
,
"
throws
"
:
!
0
}):
v
.
error
(
"
no ajax
"
):
v
.
globalEval
((
t
.
text
||
t
.
textContent
||
t
.
innerHTML
||
""
).
replace
(
Tt
,
""
)),
t
.
parentNode
&&
t
.
parentNode
.
removeChild
(
t
)})}
return
this
}}),
v
.
buildFragment
=
function
(
e
,
n
,
r
){
var
s
,
o
,
u
,
a
=
e
[
0
];
return
n
=
n
||
i
,
n
=!
n
.
nodeType
&&
n
[
0
]
||
n
,
n
=
n
.
ownerDocument
||
n
,
e
.
length
===
1
&&
typeof
a
==
"
string
"
&&
a
.
length
<
512
&&
n
===
i
&&
a
.
charAt
(
0
)
===
"
<
"
&&!
bt
.
test
(
a
)
&&
(
v
.
support
.
checkClone
||!
St
.
test
(
a
))
&&
(
v
.
support
.
html5Clone
||!
wt
.
test
(
a
))
&&
(
o
=!
0
,
s
=
v
.
fragments
[
a
],
u
=
s
!==
t
),
s
||
(
s
=
n
.
createDocumentFragment
(),
v
.
clean
(
e
,
n
,
s
,
r
),
o
&&
(
v
.
fragments
[
a
]
=
u
&&
s
)),{
fragment
:
s
,
cacheable
:
o
}},
v
.
fragments
=
{},
v
.
each
({
appendTo
:
"
append
"
,
prependTo
:
"
prepend
"
,
insertBefore
:
"
before
"
,
insertAfter
:
"
after
"
,
replaceAll
:
"
replaceWith
"
},
function
(
e
,
t
){
v
.
fn
[
e
]
=
function
(
n
){
var
r
,
i
=
0
,
s
=
[],
o
=
v
(
n
),
u
=
o
.
length
,
a
=
this
.
length
===
1
&&
this
[
0
].
parentNode
;
if
((
a
==
null
||
a
&&
a
.
nodeType
===
11
&&
a
.
childNodes
.
length
===
1
)
&&
u
===
1
)
return
o
[
t
](
this
[
0
]),
this
;
for
(;
i
<
u
;
i
++
)
r
=
(
i
>
0
?
this
.
clone
(
!
0
):
this
).
get
(),
v
(
o
[
i
])[
t
](
r
),
s
=
s
.
concat
(
r
);
return
this
.
pushStack
(
s
,
e
,
o
.
selector
)}}),
v
.
extend
({
clone
:
function
(
e
,
t
,
n
){
var
r
,
i
,
s
,
o
;
v
.
support
.
html5Clone
||
v
.
isXMLDoc
(
e
)
||!
wt
.
test
(
"
<
"
+
e
.
nodeName
+
"
>
"
)?
o
=
e
.
cloneNode
(
!
0
):(
kt
.
innerHTML
=
e
.
outerHTML
,
kt
.
removeChild
(
o
=
kt
.
firstChild
));
if
((
!
v
.
support
.
noCloneEvent
||!
v
.
support
.
noCloneChecked
)
&&
(
e
.
nodeType
===
1
||
e
.
nodeType
===
11
)
&&!
v
.
isXMLDoc
(
e
)){
Ot
(
e
,
o
),
r
=
Mt
(
e
),
i
=
Mt
(
o
);
for
(
s
=
0
;
r
[
s
];
++
s
)
i
[
s
]
&&
Ot
(
r
[
s
],
i
[
s
])}
if
(
t
){
At
(
e
,
o
);
if
(
n
){
r
=
Mt
(
e
),
i
=
Mt
(
o
);
for
(
s
=
0
;
r
[
s
];
++
s
)
At
(
r
[
s
],
i
[
s
])}}
return
r
=
i
=
null
,
o
},
clean
:
function
(
e
,
t
,
n
,
r
){
var
s
,
o
,
u
,
a
,
f
,
l
,
c
,
h
,
p
,
d
,
m
,
g
,
y
=
t
===
i
&&
Ct
,
b
=
[];
if
(
!
t
||
typeof
t
.
createDocumentFragment
==
"
undefined
"
)
t
=
i
;
for
(
s
=
0
;(
u
=
e
[
s
])
!=
null
;
s
++
){
typeof
u
==
"
number
"
&&
(
u
+=
""
);
if
(
!
u
)
continue
;
if
(
typeof
u
==
"
string
"
)
if
(
!
gt
.
test
(
u
))
u
=
t
.
createTextNode
(
u
);
else
{
y
=
y
||
lt
(
t
),
c
=
t
.
createElement
(
"
div
"
),
y
.
appendChild
(
c
),
u
=
u
.
replace
(
dt
,
"
<$1></$2>
"
),
a
=
(
vt
.
exec
(
u
)
||
[
""
,
""
])[
1
].
toLowerCase
(),
f
=
Nt
[
a
]
||
Nt
.
_default
,
l
=
f
[
0
],
c
.
innerHTML
=
f
[
1
]
+
u
+
f
[
2
];
while
(
l
--
)
c
=
c
.
lastChild
;
if
(
!
v
.
support
.
tbody
){
h
=
mt
.
test
(
u
),
p
=
a
===
"
table
"
&&!
h
?
c
.
firstChild
&&
c
.
firstChild
.
childNodes
:
f
[
1
]
===
"
<table>
"
&&!
h
?
c
.
childNodes
:[];
for
(
o
=
p
.
length
-
1
;
o
>=
0
;
--
o
)
v
.
nodeName
(
p
[
o
],
"
tbody
"
)
&&!
p
[
o
].
childNodes
.
length
&&
p
[
o
].
parentNode
.
removeChild
(
p
[
o
])}
!
v
.
support
.
leadingWhitespace
&&
pt
.
test
(
u
)
&&
c
.
insertBefore
(
t
.
createTextNode
(
pt
.
exec
(
u
)[
0
]),
c
.
firstChild
),
u
=
c
.
childNodes
,
c
.
parentNode
.
removeChild
(
c
)}
u
.
nodeType
?
b
.
push
(
u
):
v
.
merge
(
b
,
u
)}
c
&&
(
u
=
c
=
y
=
null
);
if
(
!
v
.
support
.
appendChecked
)
for
(
s
=
0
;(
u
=
b
[
s
])
!=
null
;
s
++
)
v
.
nodeName
(
u
,
"
input
"
)?
_t
(
u
):
typeof
u
.
getElementsByTagName
!=
"
undefined
"
&&
v
.
grep
(
u
.
getElementsByTagName
(
"
input
"
),
_t
);
if
(
n
){
m
=
function
(
e
){
if
(
!
e
.
type
||
xt
.
test
(
e
.
type
))
return
r
?
r
.
push
(
e
.
parentNode
?
e
.
parentNode
.
removeChild
(
e
):
e
):
n
.
appendChild
(
e
)};
for
(
s
=
0
;(
u
=
b
[
s
])
!=
null
;
s
++
)
if
(
!
v
.
nodeName
(
u
,
"
script
"
)
||!
m
(
u
))
n
.
appendChild
(
u
),
typeof
u
.
getElementsByTagName
!=
"
undefined
"
&&
(
g
=
v
.
grep
(
v
.
merge
([],
u
.
getElementsByTagName
(
"
script
"
)),
m
),
b
.
splice
.
apply
(
b
,[
s
+
1
,
0
].
concat
(
g
)),
s
+=
g
.
length
)}
return
b
},
cleanData
:
function
(
e
,
t
){
var
n
,
r
,
i
,
s
,
o
=
0
,
u
=
v
.
expando
,
a
=
v
.
cache
,
f
=
v
.
support
.
deleteExpando
,
l
=
v
.
event
.
special
;
for
(;(
i
=
e
[
o
])
!=
null
;
o
++
)
if
(
t
||
v
.
acceptData
(
i
)){
r
=
i
[
u
],
n
=
r
&&
a
[
r
];
if
(
n
){
if
(
n
.
events
)
for
(
s
in
n
.
events
)
l
[
s
]?
v
.
event
.
remove
(
i
,
s
):
v
.
removeEvent
(
i
,
s
,
n
.
handle
);
a
[
r
]
&&
(
delete
a
[
r
],
f
?
delete
i
[
u
]:
i
.
removeAttribute
?
i
.
removeAttribute
(
u
):
i
[
u
]
=
null
,
v
.
deletedIds
.
push
(
r
))}}}}),
function
(){
var
e
,
t
;
v
.
uaMatch
=
function
(
e
){
e
=
e
.
toLowerCase
();
var
t
=
/
(
chrome
)[
\/]([\w
.
]
+
)
/
.
exec
(
e
)
||
/
(
webkit
)[
\/]([\w
.
]
+
)
/
.
exec
(
e
)
||
/
(
opera
)(?:
.*version|
)[
\/]([\w
.
]
+
)
/
.
exec
(
e
)
||
/
(
msie
)
([\w
.
]
+
)
/
.
exec
(
e
)
||
e
.
indexOf
(
"
compatible
"
)
<
0
&&
/
(
mozilla
)(?:
.*
?
rv:
([\w
.
]
+
)
|
)
/
.
exec
(
e
)
||
[];
return
{
browser
:
t
[
1
]
||
""
,
version
:
t
[
2
]
||
"
0
"
}},
e
=
v
.
uaMatch
(
o
.
userAgent
),
t
=
{},
e
.
browser
&&
(
t
[
e
.
browser
]
=!
0
,
t
.
version
=
e
.
version
),
t
.
chrome
?
t
.
webkit
=!
0
:
t
.
webkit
&&
(
t
.
safari
=!
0
),
v
.
browser
=
t
,
v
.
sub
=
function
(){
function
e
(
t
,
n
){
return
new
e
.
fn
.
init
(
t
,
n
)}
v
.
extend
(
!
0
,
e
,
this
),
e
.
superclass
=
this
,
e
.
fn
=
e
.
prototype
=
this
(),
e
.
fn
.
constructor
=
e
,
e
.
sub
=
this
.
sub
,
e
.
fn
.
init
=
function
(
r
,
i
){
return
i
&&
i
instanceof
v
&&!
(
i
instanceof
e
)
&&
(
i
=
e
(
i
)),
v
.
fn
.
init
.
call
(
this
,
r
,
i
,
t
)},
e
.
fn
.
init
.
prototype
=
e
.
fn
;
var
t
=
e
(
i
);
return
e
}}();
var
Dt
,
Pt
,
Ht
,
Bt
=
/alpha
\([^
)
]
*
\)
/i
,
jt
=
/opacity=
([^
)
]
*
)
/
,
Ft
=
/^
(
top|right|bottom|left
)
$/
,
It
=
/^
(
none|table
(?!
-c
[
ea
])
.+
)
/
,
qt
=
/^margin/
,
Rt
=
new
RegExp
(
"
^(
"
+
m
+
"
)(.*)$
"
,
"
i
"
),
Ut
=
new
RegExp
(
"
^(
"
+
m
+
"
)(?!px)[a-z%]+$
"
,
"
i
"
),
zt
=
new
RegExp
(
"
^([-+])=(
"
+
m
+
"
)
"
,
"
i
"
),
Wt
=
{
BODY
:
"
block
"
},
Xt
=
{
position
:
"
absolute
"
,
visibility
:
"
hidden
"
,
display
:
"
block
"
},
Vt
=
{
letterSpacing
:
0
,
fontWeight
:
400
},
$t
=
[
"
Top
"
,
"
Right
"
,
"
Bottom
"
,
"
Left
"
],
Jt
=
[
"
Webkit
"
,
"
O
"
,
"
Moz
"
,
"
ms
"
],
Kt
=
v
.
fn
.
toggle
;
v
.
fn
.
extend
({
css
:
function
(
e
,
n
){
return
v
.
access
(
this
,
function
(
e
,
n
,
r
){
return
r
!==
t
?
v
.
style
(
e
,
n
,
r
):
v
.
css
(
e
,
n
)},
e
,
n
,
arguments
.
length
>
1
)},
show
:
function
(){
return
Yt
(
this
,
!
0
)},
hide
:
function
(){
return
Yt
(
this
)},
toggle
:
function
(
e
,
t
){
var
n
=
typeof
e
==
"
boolean
"
;
return
v
.
isFunction
(
e
)
&&
v
.
isFunction
(
t
)?
Kt
.
apply
(
this
,
arguments
):
this
.
each
(
function
(){(
n
?
e
:
Gt
(
this
))?
v
(
this
).
show
():
v
(
this
).
hide
()})}}),
v
.
extend
({
cssHooks
:{
opacity
:{
get
:
function
(
e
,
t
){
if
(
t
){
var
n
=
Dt
(
e
,
"
opacity
"
);
return
n
===
""
?
"
1
"
:
n
}}}},
cssNumber
:{
fillOpacity
:
!
0
,
fontWeight
:
!
0
,
lineHeight
:
!
0
,
opacity
:
!
0
,
orphans
:
!
0
,
widows
:
!
0
,
zIndex
:
!
0
,
zoom
:
!
0
},
cssProps
:{
"
float
"
:
v
.
support
.
cssFloat
?
"
cssFloat
"
:
"
styleFloat
"
},
style
:
function
(
e
,
n
,
r
,
i
){
if
(
!
e
||
e
.
nodeType
===
3
||
e
.
nodeType
===
8
||!
e
.
style
)
return
;
var
s
,
o
,
u
,
a
=
v
.
camelCase
(
n
),
f
=
e
.
style
;
n
=
v
.
cssProps
[
a
]
||
(
v
.
cssProps
[
a
]
=
Qt
(
f
,
a
)),
u
=
v
.
cssHooks
[
n
]
||
v
.
cssHooks
[
a
];
if
(
r
===
t
)
return
u
&&
"
get
"
in
u
&&
(
s
=
u
.
get
(
e
,
!
1
,
i
))
!==
t
?
s
:
f
[
n
];
o
=
typeof
r
,
o
===
"
string
"
&&
(
s
=
zt
.
exec
(
r
))
&&
(
r
=
(
s
[
1
]
+
1
)
*
s
[
2
]
+
parseFloat
(
v
.
css
(
e
,
n
)),
o
=
"
number
"
);
if
(
r
==
null
||
o
===
"
number
"
&&
isNaN
(
r
))
return
;
o
===
"
number
"
&&!
v
.
cssNumber
[
a
]
&&
(
r
+=
"
px
"
);
if
(
!
u
||!
(
"
set
"
in
u
)
||
(
r
=
u
.
set
(
e
,
r
,
i
))
!==
t
)
try
{
f
[
n
]
=
r
}
catch
(
l
){}},
css
:
function
(
e
,
n
,
r
,
i
){
var
s
,
o
,
u
,
a
=
v
.
camelCase
(
n
);
return
n
=
v
.
cssProps
[
a
]
||
(
v
.
cssProps
[
a
]
=
Qt
(
e
.
style
,
a
)),
u
=
v
.
cssHooks
[
n
]
||
v
.
cssHooks
[
a
],
u
&&
"
get
"
in
u
&&
(
s
=
u
.
get
(
e
,
!
0
,
i
)),
s
===
t
&&
(
s
=
Dt
(
e
,
n
)),
s
===
"
normal
"
&&
n
in
Vt
&&
(
s
=
Vt
[
n
]),
r
||
i
!==
t
?(
o
=
parseFloat
(
s
),
r
||
v
.
isNumeric
(
o
)?
o
||
0
:
s
):
s
},
swap
:
function
(
e
,
t
,
n
){
var
r
,
i
,
s
=
{};
for
(
i
in
t
)
s
[
i
]
=
e
.
style
[
i
],
e
.
style
[
i
]
=
t
[
i
];
r
=
n
.
call
(
e
);
for
(
i
in
t
)
e
.
style
[
i
]
=
s
[
i
];
return
r
}}),
e
.
getComputedStyle
?
Dt
=
function
(
t
,
n
){
var
r
,
i
,
s
,
o
,
u
=
e
.
getComputedStyle
(
t
,
null
),
a
=
t
.
style
;
return
u
&&
(
r
=
u
.
getPropertyValue
(
n
)
||
u
[
n
],
r
===
""
&&!
v
.
contains
(
t
.
ownerDocument
,
t
)
&&
(
r
=
v
.
style
(
t
,
n
)),
Ut
.
test
(
r
)
&&
qt
.
test
(
n
)
&&
(
i
=
a
.
width
,
s
=
a
.
minWidth
,
o
=
a
.
maxWidth
,
a
.
minWidth
=
a
.
maxWidth
=
a
.
width
=
r
,
r
=
u
.
width
,
a
.
width
=
i
,
a
.
minWidth
=
s
,
a
.
maxWidth
=
o
)),
r
}:
i
.
documentElement
.
currentStyle
&&
(
Dt
=
function
(
e
,
t
){
var
n
,
r
,
i
=
e
.
currentStyle
&&
e
.
currentStyle
[
t
],
s
=
e
.
style
;
return
i
==
null
&&
s
&&
s
[
t
]
&&
(
i
=
s
[
t
]),
Ut
.
test
(
i
)
&&!
Ft
.
test
(
t
)
&&
(
n
=
s
.
left
,
r
=
e
.
runtimeStyle
&&
e
.
runtimeStyle
.
left
,
r
&&
(
e
.
runtimeStyle
.
left
=
e
.
currentStyle
.
left
),
s
.
left
=
t
===
"
fontSize
"
?
"
1em
"
:
i
,
i
=
s
.
pixelLeft
+
"
px
"
,
s
.
left
=
n
,
r
&&
(
e
.
runtimeStyle
.
left
=
r
)),
i
===
""
?
"
auto
"
:
i
}),
v
.
each
([
"
height
"
,
"
width
"
],
function
(
e
,
t
){
v
.
cssHooks
[
t
]
=
{
get
:
function
(
e
,
n
,
r
){
if
(
n
)
return
e
.
offsetWidth
===
0
&&
It
.
test
(
Dt
(
e
,
"
display
"
))?
v
.
swap
(
e
,
Xt
,
function
(){
return
tn
(
e
,
t
,
r
)}):
tn
(
e
,
t
,
r
)},
set
:
function
(
e
,
n
,
r
){
return
Zt
(
e
,
n
,
r
?
en
(
e
,
t
,
r
,
v
.
support
.
boxSizing
&&
v
.
css
(
e
,
"
boxSizing
"
)
===
"
border-box
"
):
0
)}}}),
v
.
support
.
opacity
||
(
v
.
cssHooks
.
opacity
=
{
get
:
function
(
e
,
t
){
return
jt
.
test
((
t
&&
e
.
currentStyle
?
e
.
currentStyle
.
filter
:
e
.
style
.
filter
)
||
""
)?.
01
*
parseFloat
(
RegExp
.
$1
)
+
""
:
t
?
"
1
"
:
""
},
set
:
function
(
e
,
t
){
var
n
=
e
.
style
,
r
=
e
.
currentStyle
,
i
=
v
.
isNumeric
(
t
)?
"
alpha(opacity=
"
+
t
*
100
+
"
)
"
:
""
,
s
=
r
&&
r
.
filter
||
n
.
filter
||
""
;
n
.
zoom
=
1
;
if
(
t
>=
1
&&
v
.
trim
(
s
.
replace
(
Bt
,
""
))
===
""
&&
n
.
removeAttribute
){
n
.
removeAttribute
(
"
filter
"
);
if
(
r
&&!
r
.
filter
)
return
}
n
.
filter
=
Bt
.
test
(
s
)?
s
.
replace
(
Bt
,
i
):
s
+
"
"
+
i
}}),
v
(
function
(){
v
.
support
.
reliableMarginRight
||
(
v
.
cssHooks
.
marginRight
=
{
get
:
function
(
e
,
t
){
return
v
.
swap
(
e
,{
display
:
"
inline-block
"
},
function
(){
if
(
t
)
return
Dt
(
e
,
"
marginRight
"
)})}}),
!
v
.
support
.
pixelPosition
&&
v
.
fn
.
position
&&
v
.
each
([
"
top
"
,
"
left
"
],
function
(
e
,
t
){
v
.
cssHooks
[
t
]
=
{
get
:
function
(
e
,
n
){
if
(
n
){
var
r
=
Dt
(
e
,
t
);
return
Ut
.
test
(
r
)?
v
(
e
).
position
()[
t
]
+
"
px
"
:
r
}}}})}),
v
.
expr
&&
v
.
expr
.
filters
&&
(
v
.
expr
.
filters
.
hidden
=
function
(
e
){
return
e
.
offsetWidth
===
0
&&
e
.
offsetHeight
===
0
||!
v
.
support
.
reliableHiddenOffsets
&&
(
e
.
style
&&
e
.
style
.
display
||
Dt
(
e
,
"
display
"
))
===
"
none
"
},
v
.
expr
.
filters
.
visible
=
function
(
e
){
return
!
v
.
expr
.
filters
.
hidden
(
e
)}),
v
.
each
({
margin
:
""
,
padding
:
""
,
border
:
"
Width
"
},
function
(
e
,
t
){
v
.
cssHooks
[
e
+
t
]
=
{
expand
:
function
(
n
){
var
r
,
i
=
typeof
n
==
"
string
"
?
n
.
split
(
"
"
):[
n
],
s
=
{};
for
(
r
=
0
;
r
<
4
;
r
++
)
s
[
e
+
$t
[
r
]
+
t
]
=
i
[
r
]
||
i
[
r
-
2
]
||
i
[
0
];
return
s
}},
qt
.
test
(
e
)
||
(
v
.
cssHooks
[
e
+
t
].
set
=
Zt
)});
var
rn
=
/%20/g
,
sn
=
/
\[\]
$/
,
on
=
/
\r?\n
/g
,
un
=
/^
(?:
color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week
)
$/i
,
an
=
/^
(?:
select|textarea
)
/i
;
v
.
fn
.
extend
({
serialize
:
function
(){
return
v
.
param
(
this
.
serializeArray
())},
serializeArray
:
function
(){
return
this
.
map
(
function
(){
return
this
.
elements
?
v
.
makeArray
(
this
.
elements
):
this
}).
filter
(
function
(){
return
this
.
name
&&!
this
.
disabled
&&
(
this
.
checked
||
an
.
test
(
this
.
nodeName
)
||
un
.
test
(
this
.
type
))}).
map
(
function
(
e
,
t
){
var
n
=
v
(
this
).
val
();
return
n
==
null
?
null
:
v
.
isArray
(
n
)?
v
.
map
(
n
,
function
(
e
,
n
){
return
{
name
:
t
.
name
,
value
:
e
.
replace
(
on
,
"
\r\n
"
)}}):{
name
:
t
.
name
,
value
:
n
.
replace
(
on
,
"
\r\n
"
)}}).
get
()}}),
v
.
param
=
function
(
e
,
n
){
var
r
,
i
=
[],
s
=
function
(
e
,
t
){
t
=
v
.
isFunction
(
t
)?
t
():
t
==
null
?
""
:
t
,
i
[
i
.
length
]
=
encodeURIComponent
(
e
)
+
"
=
"
+
encodeURIComponent
(
t
)};
n
===
t
&&
(
n
=
v
.
ajaxSettings
&&
v
.
ajaxSettings
.
traditional
);
if
(
v
.
isArray
(
e
)
||
e
.
jquery
&&!
v
.
isPlainObject
(
e
))
v
.
each
(
e
,
function
(){
s
(
this
.
name
,
this
.
value
)});
else
for
(
r
in
e
)
fn
(
r
,
e
[
r
],
n
,
s
);
return
i
.
join
(
"
&
"
).
replace
(
rn
,
"
+
"
)};
var
ln
,
cn
,
hn
=
/#.*$/
,
pn
=
/^
(
.*
?)
:
[
\t]
*
([^\r\n]
*
)\r?
$/mg
,
dn
=
/^
(?:
about|app|app
\-
storage|.+
\-
extension|file|res|widget
)
:$/
,
vn
=
/^
(?:
GET|HEAD
)
$/
,
mn
=
/^
\/\/
/
,
gn
=
/
\?
/
,
yn
=
/<script
\b[^
<
]
*
(?:(?!
<
\/
script>
)
<
[^
<
]
*
)
*<
\/
script>/gi
,
bn
=
/
([
?&
])
_=
[^
&
]
*/
,
wn
=
/^
([\w\+\.\-]
+:
)(?:\/\/([^\/
?#:
]
*
)(?:
:
(\d
+
)
|
)
|
)
/
,
En
=
v
.
fn
.
load
,
Sn
=
{},
xn
=
{},
Tn
=
[
"
*/
"
]
+
[
"
*
"
];
try
{
cn
=
s
.
href
}
catch
(
Nn
){
cn
=
i
.
createElement
(
"
a
"
),
cn
.
href
=
""
,
cn
=
cn
.
href
}
ln
=
wn
.
exec
(
cn
.
toLowerCase
())
||
[],
v
.
fn
.
load
=
function
(
e
,
n
,
r
){
if
(
typeof
e
!=
"
string
"
&&
En
)
return
En
.
apply
(
this
,
arguments
);
if
(
!
this
.
length
)
return
this
;
var
i
,
s
,
o
,
u
=
this
,
a
=
e
.
indexOf
(
"
"
);
return
a
>=
0
&&
(
i
=
e
.
slice
(
a
,
e
.
length
),
e
=
e
.
slice
(
0
,
a
)),
v
.
isFunction
(
n
)?(
r
=
n
,
n
=
t
):
n
&&
typeof
n
==
"
object
"
&&
(
s
=
"
POST
"
),
v
.
ajax
({
url
:
e
,
type
:
s
,
dataType
:
"
html
"
,
data
:
n
,
complete
:
function
(
e
,
t
){
r
&&
u
.
each
(
r
,
o
||
[
e
.
responseText
,
t
,
e
])}}).
done
(
function
(
e
){
o
=
arguments
,
u
.
html
(
i
?
v
(
"
<div>
"
).
append
(
e
.
replace
(
yn
,
""
)).
find
(
i
):
e
)}),
this
},
v
.
each
(
"
ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend
"
.
split
(
"
"
),
function
(
e
,
t
){
v
.
fn
[
t
]
=
function
(
e
){
return
this
.
on
(
t
,
e
)}}),
v
.
each
([
"
get
"
,
"
post
"
],
function
(
e
,
n
){
v
[
n
]
=
function
(
e
,
r
,
i
,
s
){
return
v
.
isFunction
(
r
)
&&
(
s
=
s
||
i
,
i
=
r
,
r
=
t
),
v
.
ajax
({
type
:
n
,
url
:
e
,
data
:
r
,
success
:
i
,
dataType
:
s
})}}),
v
.
extend
({
getScript
:
function
(
e
,
n
){
return
v
.
get
(
e
,
t
,
n
,
"
script
"
)},
getJSON
:
function
(
e
,
t
,
n
){
return
v
.
get
(
e
,
t
,
n
,
"
json
"
)},
ajaxSetup
:
function
(
e
,
t
){
return
t
?
Ln
(
e
,
v
.
ajaxSettings
):(
t
=
e
,
e
=
v
.
ajaxSettings
),
Ln
(
e
,
t
),
e
},
ajaxSettings
:{
url
:
cn
,
isLocal
:
dn
.
test
(
ln
[
1
]),
global
:
!
0
,
type
:
"
GET
"
,
contentType
:
"
application/x-www-form-urlencoded; charset=UTF-8
"
,
processData
:
!
0
,
async
:
!
0
,
accepts
:{
xml
:
"
application/xml, text/xml
"
,
html
:
"
text/html
"
,
text
:
"
text/plain
"
,
json
:
"
application/json, text/javascript
"
,
"
*
"
:
Tn
},
contents
:{
xml
:
/xml/
,
html
:
/html/
,
json
:
/json/
},
responseFields
:{
xml
:
"
responseXML
"
,
text
:
"
responseText
"
},
converters
:{
"
* text
"
:
e
.
String
,
"
text html
"
:
!
0
,
"
text json
"
:
v
.
parseJSON
,
"
text xml
"
:
v
.
parseXML
},
flatOptions
:{
context
:
!
0
,
url
:
!
0
}},
ajaxPrefilter
:
Cn
(
Sn
),
ajaxTransport
:
Cn
(
xn
),
ajax
:
function
(
e
,
n
){
function
T
(
e
,
n
,
s
,
a
){
var
l
,
y
,
b
,
w
,
S
,
T
=
n
;
if
(
E
===
2
)
return
;
E
=
2
,
u
&&
clearTimeout
(
u
),
o
=
t
,
i
=
a
||
""
,
x
.
readyState
=
e
>
0
?
4
:
0
,
s
&&
(
w
=
An
(
c
,
x
,
s
));
if
(
e
>=
200
&&
e
<
300
||
e
===
304
)
c
.
ifModified
&&
(
S
=
x
.
getResponseHeader
(
"
Last-Modified
"
),
S
&&
(
v
.
lastModified
[
r
]
=
S
),
S
=
x
.
getResponseHeader
(
"
Etag
"
),
S
&&
(
v
.
etag
[
r
]
=
S
)),
e
===
304
?(
T
=
"
notmodified
"
,
l
=!
0
):(
l
=
On
(
c
,
w
),
T
=
l
.
state
,
y
=
l
.
data
,
b
=
l
.
error
,
l
=!
b
);
else
{
b
=
T
;
if
(
!
T
||
e
)
T
=
"
error
"
,
e
<
0
&&
(
e
=
0
)}
x
.
status
=
e
,
x
.
statusText
=
(
n
||
T
)
+
""
,
l
?
d
.
resolveWith
(
h
,[
y
,
T
,
x
]):
d
.
rejectWith
(
h
,[
x
,
T
,
b
]),
x
.
statusCode
(
g
),
g
=
t
,
f
&&
p
.
trigger
(
"
ajax
"
+
(
l
?
"
Success
"
:
"
Error
"
),[
x
,
c
,
l
?
y
:
b
]),
m
.
fireWith
(
h
,[
x
,
T
]),
f
&&
(
p
.
trigger
(
"
ajaxComplete
"
,[
x
,
c
]),
--
v
.
active
||
v
.
event
.
trigger
(
"
ajaxStop
"
))}
typeof
e
==
"
object
"
&&
(
n
=
e
,
e
=
t
),
n
=
n
||
{};
var
r
,
i
,
s
,
o
,
u
,
a
,
f
,
l
,
c
=
v
.
ajaxSetup
({},
n
),
h
=
c
.
context
||
c
,
p
=
h
!==
c
&&
(
h
.
nodeType
||
h
instanceof
v
)?
v
(
h
):
v
.
event
,
d
=
v
.
Deferred
(),
m
=
v
.
Callbacks
(
"
once memory
"
),
g
=
c
.
statusCode
||
{},
b
=
{},
w
=
{},
E
=
0
,
S
=
"
canceled
"
,
x
=
{
readyState
:
0
,
setRequestHeader
:
function
(
e
,
t
){
if
(
!
E
){
var
n
=
e
.
toLowerCase
();
e
=
w
[
n
]
=
w
[
n
]
||
e
,
b
[
e
]
=
t
}
return
this
},
getAllResponseHeaders
:
function
(){
return
E
===
2
?
i
:
null
},
getResponseHeader
:
function
(
e
){
var
n
;
if
(
E
===
2
){
if
(
!
s
){
s
=
{};
while
(
n
=
pn
.
exec
(
i
))
s
[
n
[
1
].
toLowerCase
()]
=
n
[
2
]}
n
=
s
[
e
.
toLowerCase
()]}
return
n
===
t
?
null
:
n
},
overrideMimeType
:
function
(
e
){
return
E
||
(
c
.
mimeType
=
e
),
this
},
abort
:
function
(
e
){
return
e
=
e
||
S
,
o
&&
o
.
abort
(
e
),
T
(
0
,
e
),
this
}};
d
.
promise
(
x
),
x
.
success
=
x
.
done
,
x
.
error
=
x
.
fail
,
x
.
complete
=
m
.
add
,
x
.
statusCode
=
function
(
e
){
if
(
e
){
var
t
;
if
(
E
<
2
)
for
(
t
in
e
)
g
[
t
]
=
[
g
[
t
],
e
[
t
]];
else
t
=
e
[
x
.
status
],
x
.
always
(
t
)}
return
this
},
c
.
url
=
((
e
||
c
.
url
)
+
""
).
replace
(
hn
,
""
).
replace
(
mn
,
ln
[
1
]
+
"
//
"
),
c
.
dataTypes
=
v
.
trim
(
c
.
dataType
||
"
*
"
).
toLowerCase
().
split
(
y
),
c
.
crossDomain
==
null
&&
(
a
=
wn
.
exec
(
c
.
url
.
toLowerCase
()),
c
.
crossDomain
=!
(
!
a
||
a
[
1
]
===
ln
[
1
]
&&
a
[
2
]
===
ln
[
2
]
&&
(
a
[
3
]
||
(
a
[
1
]
===
"
http:
"
?
80
:
443
))
==
(
ln
[
3
]
||
(
ln
[
1
]
===
"
http:
"
?
80
:
443
)))),
c
.
data
&&
c
.
processData
&&
typeof
c
.
data
!=
"
string
"
&&
(
c
.
data
=
v
.
param
(
c
.
data
,
c
.
traditional
)),
kn
(
Sn
,
c
,
n
,
x
);
if
(
E
===
2
)
return
x
;
f
=
c
.
global
,
c
.
type
=
c
.
type
.
toUpperCase
(),
c
.
hasContent
=!
vn
.
test
(
c
.
type
),
f
&&
v
.
active
++===
0
&&
v
.
event
.
trigger
(
"
ajaxStart
"
);
if
(
!
c
.
hasContent
){
c
.
data
&&
(
c
.
url
+=
(
gn
.
test
(
c
.
url
)?
"
&
"
:
"
?
"
)
+
c
.
data
,
delete
c
.
data
),
r
=
c
.
url
;
if
(
c
.
cache
===!
1
){
var
N
=
v
.
now
(),
C
=
c
.
url
.
replace
(
bn
,
"
$1_=
"
+
N
);
c
.
url
=
C
+
(
C
===
c
.
url
?(
gn
.
test
(
c
.
url
)?
"
&
"
:
"
?
"
)
+
"
_=
"
+
N
:
""
)}}(
c
.
data
&&
c
.
hasContent
&&
c
.
contentType
!==!
1
||
n
.
contentType
)
&&
x
.
setRequestHeader
(
"
Content-Type
"
,
c
.
contentType
),
c
.
ifModified
&&
(
r
=
r
||
c
.
url
,
v
.
lastModified
[
r
]
&&
x
.
setRequestHeader
(
"
If-Modified-Since
"
,
v
.
lastModified
[
r
]),
v
.
etag
[
r
]
&&
x
.
setRequestHeader
(
"
If-None-Match
"
,
v
.
etag
[
r
])),
x
.
setRequestHeader
(
"
Accept
"
,
c
.
dataTypes
[
0
]
&&
c
.
accepts
[
c
.
dataTypes
[
0
]]?
c
.
accepts
[
c
.
dataTypes
[
0
]]
+
(
c
.
dataTypes
[
0
]
!==
"
*
"
?
"
,
"
+
Tn
+
"
; q=0.01
"
:
""
):
c
.
accepts
[
"
*
"
]);
for
(
l
in
c
.
headers
)
x
.
setRequestHeader
(
l
,
c
.
headers
[
l
]);
if
(
!
c
.
beforeSend
||
c
.
beforeSend
.
call
(
h
,
x
,
c
)
!==!
1
&&
E
!==
2
){
S
=
"
abort
"
;
for
(
l
in
{
success
:
1
,
error
:
1
,
complete
:
1
})
x
[
l
](
c
[
l
]);
o
=
kn
(
xn
,
c
,
n
,
x
);
if
(
!
o
)
T
(
-
1
,
"
No Transport
"
);
else
{
x
.
readyState
=
1
,
f
&&
p
.
trigger
(
"
ajaxSend
"
,[
x
,
c
]),
c
.
async
&&
c
.
timeout
>
0
&&
(
u
=
setTimeout
(
function
(){
x
.
abort
(
"
timeout
"
)},
c
.
timeout
));
try
{
E
=
1
,
o
.
send
(
b
,
T
)}
catch
(
k
){
if
(
!
(
E
<
2
))
throw
k
;
T
(
-
1
,
k
)}}
return
x
}
return
x
.
abort
()},
active
:
0
,
lastModified
:{},
etag
:{}});
var
Mn
=
[],
_n
=
/
\?
/
,
Dn
=
/
(
=
)\?(?=
&|$
)
|
\?\?
/
,
Pn
=
v
.
now
();
v
.
ajaxSetup
({
jsonp
:
"
callback
"
,
jsonpCallback
:
function
(){
var
e
=
Mn
.
pop
()
||
v
.
expando
+
"
_
"
+
Pn
++
;
return
this
[
e
]
=!
0
,
e
}}),
v
.
ajaxPrefilter
(
"
json jsonp
"
,
function
(
n
,
r
,
i
){
var
s
,
o
,
u
,
a
=
n
.
data
,
f
=
n
.
url
,
l
=
n
.
jsonp
!==!
1
,
c
=
l
&&
Dn
.
test
(
f
),
h
=
l
&&!
c
&&
typeof
a
==
"
string
"
&&!
(
n
.
contentType
||
""
).
indexOf
(
"
application/x-www-form-urlencoded
"
)
&&
Dn
.
test
(
a
);
if
(
n
.
dataTypes
[
0
]
===
"
jsonp
"
||
c
||
h
)
return
s
=
n
.
jsonpCallback
=
v
.
isFunction
(
n
.
jsonpCallback
)?
n
.
jsonpCallback
():
n
.
jsonpCallback
,
o
=
e
[
s
],
c
?
n
.
url
=
f
.
replace
(
Dn
,
"
$1
"
+
s
):
h
?
n
.
data
=
a
.
replace
(
Dn
,
"
$1
"
+
s
):
l
&&
(
n
.
url
+=
(
_n
.
test
(
f
)?
"
&
"
:
"
?
"
)
+
n
.
jsonp
+
"
=
"
+
s
),
n
.
converters
[
"
script json
"
]
=
function
(){
return
u
||
v
.
error
(
s
+
"
was not called
"
),
u
[
0
]},
n
.
dataTypes
[
0
]
=
"
json
"
,
e
[
s
]
=
function
(){
u
=
arguments
},
i
.
always
(
function
(){
e
[
s
]
=
o
,
n
[
s
]
&&
(
n
.
jsonpCallback
=
r
.
jsonpCallback
,
Mn
.
push
(
s
)),
u
&&
v
.
isFunction
(
o
)
&&
o
(
u
[
0
]),
u
=
o
=
t
}),
"
script
"
}),
v
.
ajaxSetup
({
accepts
:{
script
:
"
text/javascript, application/javascript, application/ecmascript, application/x-ecmascript
"
},
contents
:{
script
:
/javascript|ecmascript/
},
converters
:{
"
text script
"
:
function
(
e
){
return
v
.
globalEval
(
e
),
e
}}}),
v
.
ajaxPrefilter
(
"
script
"
,
function
(
e
){
e
.
cache
===
t
&&
(
e
.
cache
=!
1
),
e
.
crossDomain
&&
(
e
.
type
=
"
GET
"
,
e
.
global
=!
1
)}),
v
.
ajaxTransport
(
"
script
"
,
function
(
e
){
if
(
e
.
crossDomain
){
var
n
,
r
=
i
.
head
||
i
.
getElementsByTagName
(
"
head
"
)[
0
]
||
i
.
documentElement
;
return
{
send
:
function
(
s
,
o
){
n
=
i
.
createElement
(
"
script
"
),
n
.
async
=
"
async
"
,
e
.
scriptCharset
&&
(
n
.
charset
=
e
.
scriptCharset
),
n
.
src
=
e
.
url
,
n
.
onload
=
n
.
onreadystatechange
=
function
(
e
,
i
){
if
(
i
||!
n
.
readyState
||
/loaded|complete/
.
test
(
n
.
readyState
))
n
.
onload
=
n
.
onreadystatechange
=
null
,
r
&&
n
.
parentNode
&&
r
.
removeChild
(
n
),
n
=
t
,
i
||
o
(
200
,
"
success
"
)},
r
.
insertBefore
(
n
,
r
.
firstChild
)},
abort
:
function
(){
n
&&
n
.
onload
(
0
,
1
)}}}});
var
Hn
,
Bn
=
e
.
ActiveXObject
?
function
(){
for
(
var
e
in
Hn
)
Hn
[
e
](
0
,
1
)}:
!
1
,
jn
=
0
;
v
.
ajaxSettings
.
xhr
=
e
.
ActiveXObject
?
function
(){
return
!
this
.
isLocal
&&
Fn
()
||
In
()}:
Fn
,
function
(
e
){
v
.
extend
(
v
.
support
,{
ajax
:
!!
e
,
cors
:
!!
e
&&
"
withCredentials
"
in
e
})}(
v
.
ajaxSettings
.
xhr
()),
v
.
support
.
ajax
&&
v
.
ajaxTransport
(
function
(
n
){
if
(
!
n
.
crossDomain
||
v
.
support
.
cors
){
var
r
;
return
{
send
:
function
(
i
,
s
){
var
o
,
u
,
a
=
n
.
xhr
();
n
.
username
?
a
.
open
(
n
.
type
,
n
.
url
,
n
.
async
,
n
.
username
,
n
.
password
):
a
.
open
(
n
.
type
,
n
.
url
,
n
.
async
);
if
(
n
.
xhrFields
)
for
(
u
in
n
.
xhrFields
)
a
[
u
]
=
n
.
xhrFields
[
u
];
n
.
mimeType
&&
a
.
overrideMimeType
&&
a
.
overrideMimeType
(
n
.
mimeType
),
!
n
.
crossDomain
&&!
i
[
"
X-Requested-With
"
]
&&
(
i
[
"
X-Requested-With
"
]
=
"
XMLHttpRequest
"
);
try
{
for
(
u
in
i
)
a
.
setRequestHeader
(
u
,
i
[
u
])}
catch
(
f
){}
a
.
send
(
n
.
hasContent
&&
n
.
data
||
null
),
r
=
function
(
e
,
i
){
var
u
,
f
,
l
,
c
,
h
;
try
{
if
(
r
&&
(
i
||
a
.
readyState
===
4
)){
r
=
t
,
o
&&
(
a
.
onreadystatechange
=
v
.
noop
,
Bn
&&
delete
Hn
[
o
]);
if
(
i
)
a
.
readyState
!==
4
&&
a
.
abort
();
else
{
u
=
a
.
status
,
l
=
a
.
getAllResponseHeaders
(),
c
=
{},
h
=
a
.
responseXML
,
h
&&
h
.
documentElement
&&
(
c
.
xml
=
h
);
try
{
c
.
text
=
a
.
responseText
}
catch
(
p
){}
try
{
f
=
a
.
statusText
}
catch
(
p
){
f
=
""
}
!
u
&&
n
.
isLocal
&&!
n
.
crossDomain
?
u
=
c
.
text
?
200
:
404
:
u
===
1223
&&
(
u
=
204
)}}}
catch
(
d
){
i
||
s
(
-
1
,
d
)}
c
&&
s
(
u
,
f
,
c
,
l
)},
n
.
async
?
a
.
readyState
===
4
?
setTimeout
(
r
,
0
):(
o
=++
jn
,
Bn
&&
(
Hn
||
(
Hn
=
{},
v
(
e
).
unload
(
Bn
)),
Hn
[
o
]
=
r
),
a
.
onreadystatechange
=
r
):
r
()},
abort
:
function
(){
r
&&
r
(
0
,
1
)}}}});
var
qn
,
Rn
,
Un
=
/^
(?:
toggle|show|hide
)
$/
,
zn
=
new
RegExp
(
"
^(?:([-+])=|)(
"
+
m
+
"
)([a-z%]*)$
"
,
"
i
"
),
Wn
=
/queueHooks$/
,
Xn
=
[
Gn
],
Vn
=
{
"
*
"
:[
function
(
e
,
t
){
var
n
,
r
,
i
=
this
.
createTween
(
e
,
t
),
s
=
zn
.
exec
(
t
),
o
=
i
.
cur
(),
u
=+
o
||
0
,
a
=
1
,
f
=
20
;
if
(
s
){
n
=+
s
[
2
],
r
=
s
[
3
]
||
(
v
.
cssNumber
[
e
]?
""
:
"
px
"
);
if
(
r
!==
"
px
"
&&
u
){
u
=
v
.
css
(
i
.
elem
,
e
,
!
0
)
||
n
||
1
;
do
a
=
a
||
"
.5
"
,
u
/=
a
,
v
.
style
(
i
.
elem
,
e
,
u
+
r
);
while
(
a
!==
(
a
=
i
.
cur
()
/
o
)
&&
a
!==
1
&&--
f
)}
i
.
unit
=
r
,
i
.
start
=
u
,
i
.
end
=
s
[
1
]?
u
+
(
s
[
1
]
+
1
)
*
n
:
n
}
return
i
}]};
v
.
Animation
=
v
.
extend
(
Kn
,{
tweener
:
function
(
e
,
t
){
v
.
isFunction
(
e
)?(
t
=
e
,
e
=
[
"
*
"
]):
e
=
e
.
split
(
"
"
);
var
n
,
r
=
0
,
i
=
e
.
length
;
for
(;
r
<
i
;
r
++
)
n
=
e
[
r
],
Vn
[
n
]
=
Vn
[
n
]
||
[],
Vn
[
n
].
unshift
(
t
)},
prefilter
:
function
(
e
,
t
){
t
?
Xn
.
unshift
(
e
):
Xn
.
push
(
e
)}}),
v
.
Tween
=
Yn
,
Yn
.
prototype
=
{
constructor
:
Yn
,
init
:
function
(
e
,
t
,
n
,
r
,
i
,
s
){
this
.
elem
=
e
,
this
.
prop
=
n
,
this
.
easing
=
i
||
"
swing
"
,
this
.
options
=
t
,
this
.
start
=
this
.
now
=
this
.
cur
(),
this
.
end
=
r
,
this
.
unit
=
s
||
(
v
.
cssNumber
[
n
]?
""
:
"
px
"
)},
cur
:
function
(){
var
e
=
Yn
.
propHooks
[
this
.
prop
];
return
e
&&
e
.
get
?
e
.
get
(
this
):
Yn
.
propHooks
.
_default
.
get
(
this
)},
run
:
function
(
e
){
var
t
,
n
=
Yn
.
propHooks
[
this
.
prop
];
return
this
.
options
.
duration
?
this
.
pos
=
t
=
v
.
easing
[
this
.
easing
](
e
,
this
.
options
.
duration
*
e
,
0
,
1
,
this
.
options
.
duration
):
this
.
pos
=
t
=
e
,
this
.
now
=
(
this
.
end
-
this
.
start
)
*
t
+
this
.
start
,
this
.
options
.
step
&&
this
.
options
.
step
.
call
(
this
.
elem
,
this
.
now
,
this
),
n
&&
n
.
set
?
n
.
set
(
this
):
Yn
.
propHooks
.
_default
.
set
(
this
),
this
}},
Yn
.
prototype
.
init
.
prototype
=
Yn
.
prototype
,
Yn
.
propHooks
=
{
_default
:{
get
:
function
(
e
){
var
t
;
return
e
.
elem
[
e
.
prop
]
==
null
||!!
e
.
elem
.
style
&&
e
.
elem
.
style
[
e
.
prop
]
!=
null
?(
t
=
v
.
css
(
e
.
elem
,
e
.
prop
,
!
1
,
""
),
!
t
||
t
===
"
auto
"
?
0
:
t
):
e
.
elem
[
e
.
prop
]},
set
:
function
(
e
){
v
.
fx
.
step
[
e
.
prop
]?
v
.
fx
.
step
[
e
.
prop
](
e
):
e
.
elem
.
style
&&
(
e
.
elem
.
style
[
v
.
cssProps
[
e
.
prop
]]
!=
null
||
v
.
cssHooks
[
e
.
prop
])?
v
.
style
(
e
.
elem
,
e
.
prop
,
e
.
now
+
e
.
unit
):
e
.
elem
[
e
.
prop
]
=
e
.
now
}}},
Yn
.
propHooks
.
scrollTop
=
Yn
.
propHooks
.
scrollLeft
=
{
set
:
function
(
e
){
e
.
elem
.
nodeType
&&
e
.
elem
.
parentNode
&&
(
e
.
elem
[
e
.
prop
]
=
e
.
now
)}},
v
.
each
([
"
toggle
"
,
"
show
"
,
"
hide
"
],
function
(
e
,
t
){
var
n
=
v
.
fn
[
t
];
v
.
fn
[
t
]
=
function
(
r
,
i
,
s
){
return
r
==
null
||
typeof
r
==
"
boolean
"
||!
e
&&
v
.
isFunction
(
r
)
&&
v
.
isFunction
(
i
)?
n
.
apply
(
this
,
arguments
):
this
.
animate
(
Zn
(
t
,
!
0
),
r
,
i
,
s
)}}),
v
.
fn
.
extend
({
fadeTo
:
function
(
e
,
t
,
n
,
r
){
return
this
.
filter
(
Gt
).
css
(
"
opacity
"
,
0
).
show
().
end
().
animate
({
opacity
:
t
},
e
,
n
,
r
)},
animate
:
function
(
e
,
t
,
n
,
r
){
var
i
=
v
.
isEmptyObject
(
e
),
s
=
v
.
speed
(
t
,
n
,
r
),
o
=
function
(){
var
t
=
Kn
(
this
,
v
.
extend
({},
e
),
s
);
i
&&
t
.
stop
(
!
0
)};
return
i
||
s
.
queue
===!
1
?
this
.
each
(
o
):
this
.
queue
(
s
.
queue
,
o
)},
stop
:
function
(
e
,
n
,
r
){
var
i
=
function
(
e
){
var
t
=
e
.
stop
;
delete
e
.
stop
,
t
(
r
)};
return
typeof
e
!=
"
string
"
&&
(
r
=
n
,
n
=
e
,
e
=
t
),
n
&&
e
!==!
1
&&
this
.
queue
(
e
||
"
fx
"
,[]),
this
.
each
(
function
(){
var
t
=!
0
,
n
=
e
!=
null
&&
e
+
"
queueHooks
"
,
s
=
v
.
timers
,
o
=
v
.
_data
(
this
);
if
(
n
)
o
[
n
]
&&
o
[
n
].
stop
&&
i
(
o
[
n
]);
else
for
(
n
in
o
)
o
[
n
]
&&
o
[
n
].
stop
&&
Wn
.
test
(
n
)
&&
i
(
o
[
n
]);
for
(
n
=
s
.
length
;
n
--
;)
s
[
n
].
elem
===
this
&&
(
e
==
null
||
s
[
n
].
queue
===
e
)
&&
(
s
[
n
].
anim
.
stop
(
r
),
t
=!
1
,
s
.
splice
(
n
,
1
));(
t
||!
r
)
&&
v
.
dequeue
(
this
,
e
)})}}),
v
.
each
({
slideDown
:
Zn
(
"
show
"
),
slideUp
:
Zn
(
"
hide
"
),
slideToggle
:
Zn
(
"
toggle
"
),
fadeIn
:{
opacity
:
"
show
"
},
fadeOut
:{
opacity
:
"
hide
"
},
fadeToggle
:{
opacity
:
"
toggle
"
}},
function
(
e
,
t
){
v
.
fn
[
e
]
=
function
(
e
,
n
,
r
){
return
this
.
animate
(
t
,
e
,
n
,
r
)}}),
v
.
speed
=
function
(
e
,
t
,
n
){
var
r
=
e
&&
typeof
e
==
"
object
"
?
v
.
extend
({},
e
):{
complete
:
n
||!
n
&&
t
||
v
.
isFunction
(
e
)
&&
e
,
duration
:
e
,
easing
:
n
&&
t
||
t
&&!
v
.
isFunction
(
t
)
&&
t
};
r
.
duration
=
v
.
fx
.
off
?
0
:
typeof
r
.
duration
==
"
number
"
?
r
.
duration
:
r
.
duration
in
v
.
fx
.
speeds
?
v
.
fx
.
speeds
[
r
.
duration
]:
v
.
fx
.
speeds
.
_default
;
if
(
r
.
queue
==
null
||
r
.
queue
===!
0
)
r
.
queue
=
"
fx
"
;
return
r
.
old
=
r
.
complete
,
r
.
complete
=
function
(){
v
.
isFunction
(
r
.
old
)
&&
r
.
old
.
call
(
this
),
r
.
queue
&&
v
.
dequeue
(
this
,
r
.
queue
)},
r
},
v
.
easing
=
{
linear
:
function
(
e
){
return
e
},
swing
:
function
(
e
){
return
.
5
-
Math
.
cos
(
e
*
Math
.
PI
)
/
2
}},
v
.
timers
=
[],
v
.
fx
=
Yn
.
prototype
.
init
,
v
.
fx
.
tick
=
function
(){
var
e
,
n
=
v
.
timers
,
r
=
0
;
qn
=
v
.
now
();
for
(;
r
<
n
.
length
;
r
++
)
e
=
n
[
r
],
!
e
()
&&
n
[
r
]
===
e
&&
n
.
splice
(
r
--
,
1
);
n
.
length
||
v
.
fx
.
stop
(),
qn
=
t
},
v
.
fx
.
timer
=
function
(
e
){
e
()
&&
v
.
timers
.
push
(
e
)
&&!
Rn
&&
(
Rn
=
setInterval
(
v
.
fx
.
tick
,
v
.
fx
.
interval
))},
v
.
fx
.
interval
=
13
,
v
.
fx
.
stop
=
function
(){
clearInterval
(
Rn
),
Rn
=
null
},
v
.
fx
.
speeds
=
{
slow
:
600
,
fast
:
200
,
_default
:
400
},
v
.
fx
.
step
=
{},
v
.
expr
&&
v
.
expr
.
filters
&&
(
v
.
expr
.
filters
.
animated
=
function
(
e
){
return
v
.
grep
(
v
.
timers
,
function
(
t
){
return
e
===
t
.
elem
}).
length
});
var
er
=
/^
(?:
body|html
)
$/i
;
v
.
fn
.
offset
=
function
(
e
){
if
(
arguments
.
length
)
return
e
===
t
?
this
:
this
.
each
(
function
(
t
){
v
.
offset
.
setOffset
(
this
,
e
,
t
)});
var
n
,
r
,
i
,
s
,
o
,
u
,
a
,
f
=
{
top
:
0
,
left
:
0
},
l
=
this
[
0
],
c
=
l
&&
l
.
ownerDocument
;
if
(
!
c
)
return
;
return
(
r
=
c
.
body
)
===
l
?
v
.
offset
.
bodyOffset
(
l
):(
n
=
c
.
documentElement
,
v
.
contains
(
n
,
l
)?(
typeof
l
.
getBoundingClientRect
!=
"
undefined
"
&&
(
f
=
l
.
getBoundingClientRect
()),
i
=
tr
(
c
),
s
=
n
.
clientTop
||
r
.
clientTop
||
0
,
o
=
n
.
clientLeft
||
r
.
clientLeft
||
0
,
u
=
i
.
pageYOffset
||
n
.
scrollTop
,
a
=
i
.
pageXOffset
||
n
.
scrollLeft
,{
top
:
f
.
top
+
u
-
s
,
left
:
f
.
left
+
a
-
o
}):
f
)},
v
.
offset
=
{
bodyOffset
:
function
(
e
){
var
t
=
e
.
offsetTop
,
n
=
e
.
offsetLeft
;
return
v
.
support
.
doesNotIncludeMarginInBodyOffset
&&
(
t
+=
parseFloat
(
v
.
css
(
e
,
"
marginTop
"
))
||
0
,
n
+=
parseFloat
(
v
.
css
(
e
,
"
marginLeft
"
))
||
0
),{
top
:
t
,
left
:
n
}},
setOffset
:
function
(
e
,
t
,
n
){
var
r
=
v
.
css
(
e
,
"
position
"
);
r
===
"
static
"
&&
(
e
.
style
.
position
=
"
relative
"
);
var
i
=
v
(
e
),
s
=
i
.
offset
(),
o
=
v
.
css
(
e
,
"
top
"
),
u
=
v
.
css
(
e
,
"
left
"
),
a
=
(
r
===
"
absolute
"
||
r
===
"
fixed
"
)
&&
v
.
inArray
(
"
auto
"
,[
o
,
u
])
>-
1
,
f
=
{},
l
=
{},
c
,
h
;
a
?(
l
=
i
.
position
(),
c
=
l
.
top
,
h
=
l
.
left
):(
c
=
parseFloat
(
o
)
||
0
,
h
=
parseFloat
(
u
)
||
0
),
v
.
isFunction
(
t
)
&&
(
t
=
t
.
call
(
e
,
n
,
s
)),
t
.
top
!=
null
&&
(
f
.
top
=
t
.
top
-
s
.
top
+
c
),
t
.
left
!=
null
&&
(
f
.
left
=
t
.
left
-
s
.
left
+
h
),
"
using
"
in
t
?
t
.
using
.
call
(
e
,
f
):
i
.
css
(
f
)}},
v
.
fn
.
extend
({
position
:
function
(){
if
(
!
this
[
0
])
return
;
var
e
=
this
[
0
],
t
=
this
.
offsetParent
(),
n
=
this
.
offset
(),
r
=
er
.
test
(
t
[
0
].
nodeName
)?{
top
:
0
,
left
:
0
}:
t
.
offset
();
return
n
.
top
-=
parseFloat
(
v
.
css
(
e
,
"
marginTop
"
))
||
0
,
n
.
left
-=
parseFloat
(
v
.
css
(
e
,
"
marginLeft
"
))
||
0
,
r
.
top
+=
parseFloat
(
v
.
css
(
t
[
0
],
"
borderTopWidth
"
))
||
0
,
r
.
left
+=
parseFloat
(
v
.
css
(
t
[
0
],
"
borderLeftWidth
"
))
||
0
,{
top
:
n
.
top
-
r
.
top
,
left
:
n
.
left
-
r
.
left
}},
offsetParent
:
function
(){
return
this
.
map
(
function
(){
var
e
=
this
.
offsetParent
||
i
.
body
;
while
(
e
&&!
er
.
test
(
e
.
nodeName
)
&&
v
.
css
(
e
,
"
position
"
)
===
"
static
"
)
e
=
e
.
offsetParent
;
return
e
||
i
.
body
})}}),
v
.
each
({
scrollLeft
:
"
pageXOffset
"
,
scrollTop
:
"
pageYOffset
"
},
function
(
e
,
n
){
var
r
=
/Y/
.
test
(
n
);
v
.
fn
[
e
]
=
function
(
i
){
return
v
.
access
(
this
,
function
(
e
,
i
,
s
){
var
o
=
tr
(
e
);
if
(
s
===
t
)
return
o
?
n
in
o
?
o
[
n
]:
o
.
document
.
documentElement
[
i
]:
e
[
i
];
o
?
o
.
scrollTo
(
r
?
v
(
o
).
scrollLeft
():
s
,
r
?
s
:
v
(
o
).
scrollTop
()):
e
[
i
]
=
s
},
e
,
i
,
arguments
.
length
,
null
)}}),
v
.
each
({
Height
:
"
height
"
,
Width
:
"
width
"
},
function
(
e
,
n
){
v
.
each
({
padding
:
"
inner
"
+
e
,
content
:
n
,
""
:
"
outer
"
+
e
},
function
(
r
,
i
){
v
.
fn
[
i
]
=
function
(
i
,
s
){
var
o
=
arguments
.
length
&&
(
r
||
typeof
i
!=
"
boolean
"
),
u
=
r
||
(
i
===!
0
||
s
===!
0
?
"
margin
"
:
"
border
"
);
return
v
.
access
(
this
,
function
(
n
,
r
,
i
){
var
s
;
return
v
.
isWindow
(
n
)?
n
.
document
.
documentElement
[
"
client
"
+
e
]:
n
.
nodeType
===
9
?(
s
=
n
.
documentElement
,
Math
.
max
(
n
.
body
[
"
scroll
"
+
e
],
s
[
"
scroll
"
+
e
],
n
.
body
[
"
offset
"
+
e
],
s
[
"
offset
"
+
e
],
s
[
"
client
"
+
e
])):
i
===
t
?
v
.
css
(
n
,
r
,
i
,
u
):
v
.
style
(
n
,
r
,
i
,
u
)},
n
,
o
?
i
:
t
,
o
,
null
)}})}),
e
.
jQuery
=
e
.
$
=
v
,
typeof
define
==
"
function
"
&&
define
.
amd
&&
define
.
amd
.
jQuery
&&
define
(
"
jquery
"
,[],
function
(){
return
v
})})(
window
);
\ No newline at end of file
WebRoot/js/HoorayOS_mini/js/templates.js
deleted
100644 → 0
View file @
177828ce
//桌面应用
var
appbtnTemp
=
template
(
'
<li class="appbtn" id="<%=id%>" appid="<%=appid%>" type="<%=type%>" top="<%=top%>" left="<%=left%>" style="top:<%=top%>px;left:<%=left%>px">
'
+
'
<div><img src="<%=imgsrc%>" alt="<%=title%>"></div>
'
+
'
<span><%=title%></span>
'
+
'
</li>
'
);
//任务栏
var
taskTemp
=
template
(
'
<a id="<%=id%>" appid="<%=appid%>" type="<%=type%>" class="task-item task-item-current">
'
+
'
<div class="task-item-icon">
'
+
'
<img src="<%=imgsrc%>">
'
+
'
</div>
'
+
'
<div class="task-item-txt"><%=title%></div>
'
+
'
</a>
'
);
//小挂件
var
widgetWindowTemp
=
template
(
'
<div id="<%=id%>" appid="<%=appid%>" type="<%=type%>" class="widget" style="z-index:<%=zIndex%>;width:<%=width%>px;height:<%=height%>px;top:<%=top%>px;right:<%=right%>px">
'
+
'
<div class="move"></div>
'
+
'
<a class="ha-close" href="javascript:;" title="关闭"></a>
'
+
'
<div class="frame">
'
+
'
<iframe src="<%=url%>" frameborder="0" allowtransparency="true"></iframe>
'
+
'
</div>
'
+
'
</div>
'
);
//应用窗口
var
windowTemp
=
template
(
'
<div id="<%=id%>" appid="<%=appid%>" type="<%=type%>" state="show" class="window-container window-current<% if(isflash){ %> window-container-flash<% } %>" style="<% if(isopenmax){ %>width:100%;height:100%;left:0;top:0;<% }else{ %>width:<%=width%>px;height:<%=height%>px;top:<%=top%>px;left:<%=left%>px;<% } %>z-index:<%=zIndex%>" ismax="<% if(isopenmax){ %>1<% }else{ %>0<% } %>">
'
+
'
<div style="height:100%">
'
+
'
<div class="title-bar">
'
+
'
<img class="icon" src="<%=imgsrc%>"><span class="title"><%=title%></span>
'
+
'
</div>
'
+
'
<div class="title-handle">
'
+
'
<a class="ha-hide" btn="hide" href="javascript:;" title="最小化"><b class="hide-b"></b></a>
'
+
'
<% if(istitlebar){ %>
'
+
'
<a class="ha-max" btn="max" href="javascript:;" title="最大化" <% if(isopenmax){ %>style="display:none"<% } %>><b class="max-b"></b></a>
'
+
'
<a class="ha-revert" btn="revert" href="javascript:;" title="还原" <% if(!isopenmax){ %>style="display:none"<% } %>><b class="revert-b"></b><b class="revert-t"></b></a>
'
+
'
<% } %>
'
+
'
<% if(istitlebarFullscreen){ %>
'
+
'
<a class="ha-fullscreen" btn="fullscreen" href="javascript:;" title="全屏">+</a>
'
+
'
<% } %>
'
+
'
<a class="ha-close" btn="close" href="javascript:;" title="关闭">×</a>
'
+
'
</div>
'
+
'
<div class="window-frame">
'
+
'
<% if(isflash){ %>
'
+
'
<div class="window-mask"><div class="maskbg"></div><div>运行中,点击恢复显示 :)</div></div>
'
+
'
<% }else{ %>
'
+
'
<div class="window-mask window-mask-noflash"></div>
'
+
'
<% } %>
'
+
'
<div class="window-loading"></div>
'
+
'
<iframe id="<%=id%>_iframe" frameborder="0" src="<%=url%>"></iframe>
'
+
'
</div>
'
+
'
</div>
'
+
'
<% if(isresize){ %>
'
+
'
<div class="window-resize window-resize-t" resize="t"></div>
'
+
'
<div class="window-resize window-resize-r" resize="r"></div>
'
+
'
<div class="window-resize window-resize-b" resize="b"></div>
'
+
'
<div class="window-resize window-resize-l" resize="l"></div>
'
+
'
<div class="window-resize window-resize-rt" resize="rt"></div>
'
+
'
<div class="window-resize window-resize-rb" resize="rb"></div>
'
+
'
<div class="window-resize window-resize-lt" resize="lt"></div>
'
+
'
<div class="window-resize window-resize-lb" resize="lb"></div>
'
+
'
<% } %>
'
+
'
</div>
'
);
\ No newline at end of file
WebRoot/js/HoorayOS_mini/js/wallpaper.jpg
deleted
100644 → 0
View file @
177828ce
483 KB
WebRoot/js/HoorayOS_mini/js/zoom.swf
deleted
100644 → 0
View file @
177828ce
File deleted
WebRoot/js/HoorayOS_mini/说明.txt
deleted
100644 → 0
View file @
177828ce
===== 桌面应用数据 =====
桌面通过读取data.js里的json数据显示桌面应用,其data.js可替换成后端输出,打开hros.app.js,找到17行,把data.js的路径替换成后端输出桌面json数据的地址即可。
===== 应用结构参数说明 =====
app应用
id : 0, //应用id,确保该id唯一不重复,因为打开、关闭等操作都是根据这个唯一id来查找应用的
title : "我的博客", //应用名称
type : "app", //应用类型,分别有app、widget可选,app为窗口应用,widget为挂件应用
icon : "img/ui/system-shapes.png", //应用图标
url : "http://www.cnblogs.com/hooray", //应用地址
width : 1000, //应用显示宽度
height : 500, //应用显示高度
left : 100, //距离页面左部偏移量,不设置默认水平居中
top : 100, //距离页面顶部偏移量,不设置默认垂直居中
isresize : true, //应用是否可以拉伸
isopenmax : false, //应用是否打开自动最大化状态
isflash : false //应用是否为flash应用
widget应用
id : 0, //应用id,确保该id唯一不重复,因为打开、关闭等操作都是根据这个唯一id来查找应用的
title : "我的博客", //应用名称
type : "widget", //应用类型,分别有app、widget可选,app为窗口应用,widget为挂件应用
icon : "img/ui/system-shapes.png", //应用图标
url : "http://www.cnblogs.com/hooray", //应用地址
width : 1000, //应用显示宽度
height : 500, //应用显示高度
right : 100, //距离页面右部偏移量,不设置默认为0
top : 100 //距离页面顶部偏移量,不设置默认为0
===== 如何更换壁纸 =====
打开index.html,找到:
HROS.CONFIG.wallpaper = 'img/wallpaper/wallpaper.jpg';
将后面的地址替换成其它壁纸图片链接即可
===== 如何创建临时窗口和挂件 =====
创建一个临时窗口,多次调用会多次创建,窗口不唯一
HROS.window.createTemp({title:'百度',url:'http://hoorayos.com',width:800,height:400,left:100,top:100,isresize:false,isopenmax:false,isflash:false});
创建一个临时挂件,多次调用会多次创建,窗口不唯一
HROS.widget.createTemp({url:'http://hoorayos.com',width:800,height:400,right:100,top:100});
创建一个临时窗口,多次调用不会重复创建,窗口唯一,需要在参数里加上appid属性,内容随便填写,但确保appid唯一,以免与系统窗口重复
参数说明:title:标题,url:网址,width:窗口宽度,height:窗口高度,left:挂件距离页面左部偏移量(可不填,默认0),top:挂件距离页面顶部偏移量(可不填,默认0),isresize:窗口是否可以拉伸(可不填,默认false),isopenmax:窗口打开是否默认最大化(可不填,默认false),isflash:窗口内是否为flash应用(可不填,默认false)
HROS.window.createTemp({appid:'window_baidu',title:'百度',url:'hoorayos.com',width:800,height:400,left:100,top:100,isresize:false,isopenmax:false,isflash:false});
创建一个临时挂件,多次调用不会重复创建,窗口唯一,需要在参数里加上appid属性,内容随便填写,但确保appid唯一,以免与系统挂件重复
参数说明:url:网址,width:窗口宽度,height:窗口高度,right:挂件距离页面左部偏移量(可不填,默认0),top:挂件距离页面顶部偏移量(可不填,默认0)
HROS.widget.createTemp({appid:'widget_baidu',url:'hoorayos.com',width:800,height:400,right:100,top:100});
\ No newline at end of file
WebRoot/js/My97DatePicker/My97DatePicker.htm
deleted
100644 → 0
View file @
177828ce
<html>
<head>
<meta
http-equiv=
"content-type"
content=
"text/xml; charset=utf-8"
/>
<title>
My97DatePicker
</title>
<script
type=
"text/javascript"
src=
"config.js"
></script>
<script>
if
(
parent
==
window
)
location
.
href
=
'
http://www.my97.net
'
;
var
$d
,
$dp
,
$pdp
=
parent
.
$dp
,
$dt
,
$tdt
,
$sdt
,
$IE
=
$pdp
.
ie
,
$FF
=
$pdp
.
ff
,
$OPERA
=
$pdp
.
opera
,
$ny
,
$cMark
=
false
;
if
(
$pdp
.
eCont
)
{
$dp
=
{};
for
(
var
p
in
$pdp
)
{
$dp
[
p
]
=
$pdp
[
p
];
}
}
else
$dp
=
$pdp
;
$dp
.
getLangIndex
=
function
(
name
){
var
arr
=
langList
;
for
(
var
i
=
0
;
i
<
arr
.
length
;
i
++
)
{
if
(
arr
[
i
].
name
==
name
)
{
return
i
;
}
}
return
-
1
;
}
$dp
.
getLang
=
function
(
name
){
var
index
=
$dp
.
getLangIndex
(
name
);
if
(
index
==
-
1
)
{
index
=
0
;
}
return
langList
[
index
];
}
$dp
.
realLang
=
$dp
.
getLang
(
$dp
.
lang
);
document
.
write
(
"
<script src='lang/
"
+
$dp
.
realLang
.
name
+
"
.js' charset='
"
+
$dp
.
realLang
.
charset
+
"
'><
\
/script>
"
);
for
(
var
i
=
0
;
i
<
skinList
.
length
;
i
++
)
{
document
.
write
(
'
<link rel="stylesheet" type="text/css" href="skin/
'
+
skinList
[
i
].
name
+
'
/datepicker.css" title="
'
+
skinList
[
i
].
name
+
'
" charset="
'
+
skinList
[
i
].
charset
+
'
" disabled="true"/>
'
);
}
</script>
<script
type=
"text/javascript"
src=
"calendar.js"
></script>
</head>
<body
leftmargin=
"0"
topmargin=
"0"
onload=
"$c.autoSize()"
tabindex=
0
>
</body>
</html>
<script>
new
My97DP
();
</script>
\ No newline at end of file
WebRoot/js/My97DatePicker/WdatePicker.js
deleted
100644 → 0
View file @
177828ce
/*
* My97 DatePicker 4.72 Release
* License: http://www.my97.net/dp/license.asp
*/
var
$dp
,
WdatePicker
;(
function
(){
var
_
=
{
$wdate
:
true
,
$dpPath
:
""
,
$crossFrame
:
true
,
doubleCalendar
:
false
,
enableKeyboard
:
true
,
enableInputMask
:
true
,
autoUpdateOnChanged
:
null
,
whichDayIsfirstWeek
:
4
,
position
:{},
lang
:
"
auto
"
,
skin
:
"
default
"
,
dateFmt
:
"
yyyy-MM-dd
"
,
realDateFmt
:
"
yyyy-MM-dd
"
,
realTimeFmt
:
"
HH:mm:ss
"
,
realFullFmt
:
"
%Date %Time
"
,
minDate
:
"
1900-01-01 00:00:00
"
,
maxDate
:
"
2099-12-31 23:59:59
"
,
startDate
:
""
,
alwaysUseStartDate
:
false
,
yearOffset
:
1911
,
firstDayOfWeek
:
0
,
isShowWeek
:
false
,
highLineWeekDay
:
true
,
isShowClear
:
true
,
isShowToday
:
true
,
isShowOK
:
true
,
isShowOthers
:
true
,
readOnly
:
false
,
errDealMode
:
0
,
autoPickDate
:
null
,
qsEnabled
:
true
,
autoShowQS
:
false
,
specialDates
:
null
,
specialDays
:
null
,
disabledDates
:
null
,
disabledDays
:
null
,
opposite
:
false
,
onpicking
:
null
,
onpicked
:
null
,
onclearing
:
null
,
oncleared
:
null
,
ychanging
:
null
,
ychanged
:
null
,
Mchanging
:
null
,
Mchanged
:
null
,
dchanging
:
null
,
dchanged
:
null
,
Hchanging
:
null
,
Hchanged
:
null
,
mchanging
:
null
,
mchanged
:
null
,
schanging
:
null
,
schanged
:
null
,
eCont
:
null
,
vel
:
null
,
errMsg
:
""
,
quickSel
:[],
has
:{}};
WdatePicker
=
U
;
var
X
=
window
,
O
=
"
document
"
,
J
=
"
documentElement
"
,
C
=
"
getElementsByTagName
"
,
V
,
A
,
T
,
I
,
b
;
switch
(
navigator
.
appName
){
case
"
Microsoft Internet Explorer
"
:
T
=
true
;
break
;
case
"
Opera
"
:
b
=
true
;
break
;
default
:
I
=
true
;
break
}
A
=
L
();
if
(
_
.
$wdate
)
M
(
A
+
"
skin/WdatePicker.css
"
);
V
=
X
;
if
(
_
.
$crossFrame
){
try
{
while
(
V
.
parent
&&
V
.
parent
[
O
]
!=
V
[
O
]
&&
V
.
parent
[
O
][
C
](
"
frameset
"
).
length
==
0
)
V
=
V
.
parent
}
catch
(
P
){}}
if
(
!
V
.
$dp
)
V
.
$dp
=
{
ff
:
I
,
ie
:
T
,
opera
:
b
,
el
:
null
,
win
:
X
,
status
:
0
,
defMinDate
:
_
.
minDate
,
defMaxDate
:
_
.
maxDate
,
flatCfgs
:[]};
B
();
if
(
$dp
.
status
==
0
)
Z
(
X
,
function
(){
U
(
null
,
true
)});
if
(
!
X
[
O
].
docMD
){
E
(
X
[
O
],
"
onmousedown
"
,
D
);
X
[
O
].
docMD
=
true
}
if
(
!
V
[
O
].
docMD
){
E
(
V
[
O
],
"
onmousedown
"
,
D
);
V
[
O
].
docMD
=
true
}
E
(
X
,
"
onunload
"
,
function
(){
if
(
$dp
.
dd
)
Q
(
$dp
.
dd
,
"
none
"
)});
function
B
(){
V
.
$dp
=
V
.
$dp
||
{};
obj
=
{
$
:
function
(
$
){
return
(
typeof
$
==
"
string
"
)?
X
[
O
].
getElementById
(
$
):
$
},
$D
:
function
(
$
,
_
){
return
this
.
$DV
(
this
.
$
(
$
).
value
,
_
)},
$DV
:
function
(
_
,
$
){
if
(
_
!=
""
){
this
.
dt
=
$dp
.
cal
.
splitDate
(
_
,
$dp
.
cal
.
dateFmt
);
if
(
$
)
for
(
var
B
in
$
)
if
(
this
.
dt
[
B
]
===
undefined
)
this
.
errMsg
=
"
invalid property:
"
+
B
;
else
{
this
.
dt
[
B
]
+=
$
[
B
];
if
(
B
==
"
M
"
){
var
C
=
$
[
"
M
"
]
>
0
?
1
:
0
,
A
=
new
Date
(
this
.
dt
[
"
y
"
],
this
.
dt
[
"
M
"
],
0
).
getDate
();
this
.
dt
[
"
d
"
]
=
Math
.
min
(
A
+
C
,
this
.
dt
[
"
d
"
])}}
if
(
this
.
dt
.
refresh
())
return
this
.
dt
}
return
""
},
show
:
function
(){
var
A
=
V
[
O
].
getElementsByTagName
(
"
div
"
),
$
=
100000
;
for
(
var
B
=
0
;
B
<
A
.
length
;
B
++
){
var
_
=
parseInt
(
A
[
B
].
style
.
zIndex
);
if
(
_
>
$
)
$
=
_
}
this
.
dd
.
style
.
zIndex
=
$
+
2
;
Q
(
this
.
dd
,
"
block
"
)},
hide
:
function
(){
Q
(
this
.
dd
,
"
none
"
)},
attachEvent
:
E
};
for
(
var
$
in
obj
)
V
.
$dp
[
$
]
=
obj
[
$
];
$dp
=
V
.
$dp
;
$dp
.
dd
=
V
[
O
].
getElementById
(
"
_my97DP
"
)}
function
E
(
A
,
$
,
_
){
if
(
T
)
A
.
attachEvent
(
$
,
_
);
else
if
(
_
){
var
B
=
$
.
replace
(
/on/
,
""
);
_
.
_ieEmuEventHandler
=
function
(
$
){
return
_
(
$
)};
A
.
addEventListener
(
B
,
_
.
_ieEmuEventHandler
,
false
)}}
function
L
(){
var
_
,
A
,
$
=
X
[
O
][
C
](
"
script
"
);
for
(
var
B
=
0
;
B
<
$
.
length
;
B
++
){
_
=
$
[
B
].
src
.
substring
(
0
,
$
[
B
].
src
.
toLowerCase
().
indexOf
(
"
wdatepicker.js
"
));
A
=
_
.
lastIndexOf
(
"
/
"
);
if
(
A
>
0
)
_
=
_
.
substring
(
0
,
A
+
1
);
if
(
_
)
break
}
return
_
}
function
F
(
F
){
var
E
,
C
;
if
(
F
.
substring
(
0
,
1
)
!=
"
/
"
&&
F
.
indexOf
(
"
://
"
)
==-
1
){
E
=
V
.
location
.
href
;
C
=
location
.
href
;
if
(
E
.
indexOf
(
"
?
"
)
>-
1
)
E
=
E
.
substring
(
0
,
E
.
indexOf
(
"
?
"
));
if
(
C
.
indexOf
(
"
?
"
)
>-
1
)
C
=
C
.
substring
(
0
,
C
.
indexOf
(
"
?
"
));
var
G
,
I
,
$
=
""
,
D
=
""
,
A
=
""
,
J
,
H
,
B
=
""
;
for
(
J
=
0
;
J
<
Math
.
max
(
E
.
length
,
C
.
length
);
J
++
){
G
=
E
.
charAt
(
J
).
toLowerCase
();
I
=
C
.
charAt
(
J
).
toLowerCase
();
if
(
G
==
I
){
if
(
G
==
"
/
"
)
H
=
J
}
else
{
$
=
E
.
substring
(
H
+
1
,
E
.
length
);
$
=
$
.
substring
(
0
,
$
.
lastIndexOf
(
"
/
"
));
D
=
C
.
substring
(
H
+
1
,
C
.
length
);
D
=
D
.
substring
(
0
,
D
.
lastIndexOf
(
"
/
"
));
break
}}
if
(
$
!=
""
)
for
(
J
=
0
;
J
<
$
.
split
(
"
/
"
).
length
;
J
++
)
B
+=
"
../
"
;
if
(
D
!=
""
)
B
+=
D
+
"
/
"
;
F
=
E
.
substring
(
0
,
E
.
lastIndexOf
(
"
/
"
)
+
1
)
+
B
+
F
}
_
.
$dpPath
=
F
}
function
M
(
A
,
$
,
B
){
var
D
=
X
[
O
][
C
](
"
HEAD
"
).
item
(
0
),
_
=
X
[
O
].
createElement
(
"
link
"
);
if
(
D
){
_
.
href
=
A
;
_
.
rel
=
"
stylesheet
"
;
_
.
type
=
"
text/css
"
;
if
(
$
)
_
.
title
=
$
;
if
(
B
)
_
.
charset
=
B
;
D
.
appendChild
(
_
)}}
function
Z
(
$
,
_
){
E
(
$
,
"
onload
"
,
_
)}
function
G
(
$
){
$
=
$
||
V
;
var
A
=
0
,
_
=
0
;
while
(
$
!=
V
){
var
D
=
$
.
parent
[
O
][
C
](
"
iframe
"
);
for
(
var
F
=
0
;
F
<
D
.
length
;
F
++
){
try
{
if
(
D
[
F
].
contentWindow
==
$
){
var
E
=
W
(
D
[
F
]);
A
+=
E
.
left
;
_
+=
E
.
top
;
break
}}
catch
(
B
){}}
$
=
$
.
parent
}
return
{
"
leftM
"
:
A
,
"
topM
"
:
_
}}
function
W
(
F
){
if
(
F
.
getBoundingClientRect
)
return
F
.
getBoundingClientRect
();
else
{
var
A
=
{
ROOT_TAG
:
/^body|html$/i
,
OP_SCROLL
:
/^
(?:
inline|table-row
)
$/i
},
E
=
false
,
H
=
null
,
_
=
F
.
offsetTop
,
G
=
F
.
offsetLeft
,
D
=
F
.
offsetWidth
,
B
=
F
.
offsetHeight
,
C
=
F
.
offsetParent
;
if
(
C
!=
F
)
while
(
C
){
G
+=
C
.
offsetLeft
;
_
+=
C
.
offsetTop
;
if
(
S
(
C
,
"
position
"
).
toLowerCase
()
==
"
fixed
"
)
E
=
true
;
else
if
(
C
.
tagName
.
toLowerCase
()
==
"
body
"
)
H
=
C
.
ownerDocument
.
defaultView
;
C
=
C
.
offsetParent
}
C
=
F
.
parentNode
;
while
(
C
.
tagName
&&!
A
.
ROOT_TAG
.
test
(
C
.
tagName
)){
if
(
C
.
scrollTop
||
C
.
scrollLeft
)
if
(
!
A
.
OP_SCROLL
.
test
(
Q
(
C
)))
if
(
!
b
||
C
.
style
.
overflow
!==
"
visible
"
){
G
-=
C
.
scrollLeft
;
_
-=
C
.
scrollTop
}
C
=
C
.
parentNode
}
if
(
!
E
){
var
$
=
a
(
H
);
G
-=
$
.
left
;
_
-=
$
.
top
}
D
+=
G
;
B
+=
_
;
return
{
"
left
"
:
G
,
"
top
"
:
_
,
"
right
"
:
D
,
"
bottom
"
:
B
}}}
function
N
(
$
){
$
=
$
||
V
;
var
B
=
$
[
O
],
A
=
(
$
.
innerWidth
)?
$
.
innerWidth
:(
B
[
J
]
&&
B
[
J
].
clientWidth
)?
B
[
J
].
clientWidth
:
B
.
body
.
offsetWidth
,
_
=
(
$
.
innerHeight
)?
$
.
innerHeight
:(
B
[
J
]
&&
B
[
J
].
clientHeight
)?
B
[
J
].
clientHeight
:
B
.
body
.
offsetHeight
;
return
{
"
width
"
:
A
,
"
height
"
:
_
}}
function
a
(
$
){
$
=
$
||
V
;
var
B
=
$
[
O
],
A
=
B
[
J
],
_
=
B
.
body
;
B
=
(
A
&&
A
.
scrollTop
!=
null
&&
(
A
.
scrollTop
>
_
.
scrollTop
||
A
.
scrollLeft
>
_
.
scrollLeft
))?
A
:
_
;
return
{
"
top
"
:
B
.
scrollTop
,
"
left
"
:
B
.
scrollLeft
}}
function
D
(
$
){
var
_
=
$
?(
$
.
srcElement
||
$
.
target
):
null
;
try
{
if
(
$dp
.
cal
&&!
$dp
.
eCont
&&
$dp
.
dd
&&
_
!=
$dp
.
el
&&
$dp
.
dd
.
style
.
display
==
"
block
"
)
$dp
.
cal
.
close
()}
catch
(
$
){}}
function
Y
(){
$dp
.
status
=
2
;
H
()}
function
H
(){
if
(
$dp
.
flatCfgs
.
length
>
0
){
var
$
=
$dp
.
flatCfgs
.
shift
();
$
.
el
=
{
innerHTML
:
""
};
$
.
autoPickDate
=
true
;
$
.
qsEnabled
=
false
;
K
(
$
)}}
var
R
,
$
;
function
U
(
J
,
C
){
$dp
.
win
=
X
;
B
();
J
=
J
||
{};
if
(
C
){
if
(
!
G
()){
$
=
$
||
setInterval
(
function
(){
if
(
V
[
O
].
readyState
==
"
complete
"
)
clearInterval
(
$
);
U
(
null
,
true
)},
50
);
return
}
if
(
$dp
.
status
==
0
){
$dp
.
status
=
1
;
K
({
el
:{
innerHTML
:
""
}},
true
)}
else
return
}
else
if
(
J
.
eCont
){
J
.
eCont
=
$dp
.
$
(
J
.
eCont
);
$dp
.
flatCfgs
.
push
(
J
);
if
(
$dp
.
status
==
2
)
H
()}
else
{
if
(
$dp
.
status
==
0
){
U
(
null
,
true
);
return
}
if
(
$dp
.
status
!=
2
)
return
;
var
F
=
D
();
if
(
F
){
$dp
.
srcEl
=
F
.
srcElement
||
F
.
target
;
F
.
cancelBubble
=
true
}
$dp
.
el
=
J
.
el
=
$dp
.
$
(
J
.
el
||
$dp
.
srcEl
);
if
(
!
$dp
.
el
||
$dp
.
el
[
"
My97Mark
"
]
===
true
||
$dp
.
el
.
disabled
||
(
$dp
.
el
==
$dp
.
el
&&
Q
(
$dp
.
dd
)
!=
"
none
"
&&
$dp
.
dd
.
style
.
left
!=
"
-1970px
"
)){
$dp
.
el
[
"
My97Mark
"
]
=
false
;
return
}
K
(
J
);
if
(
F
&&
$dp
.
el
.
nodeType
==
1
&&
$dp
.
el
[
"
My97Mark
"
]
===
undefined
){
$dp
.
el
[
"
My97Mark
"
]
=
false
;
var
_
,
A
;
if
(
F
.
type
==
"
focus
"
){
_
=
"
onclick
"
;
A
=
"
onfocus
"
}
else
{
_
=
"
onfocus
"
;
A
=
"
onclick
"
}
E
(
$dp
.
el
,
_
,
$dp
.
el
[
A
])}}
function
G
(){
if
(
T
&&
V
!=
X
&&
V
[
O
].
readyState
!=
"
complete
"
)
return
false
;
return
true
}
function
D
(){
if
(
I
){
func
=
D
.
caller
;
while
(
func
!=
null
){
var
$
=
func
.
arguments
[
0
];
if
(
$
&&
(
$
+
""
).
indexOf
(
"
Event
"
)
>=
0
)
return
$
;
func
=
func
.
caller
}
return
null
}
return
event
}}
function
S
(
_
,
$
){
return
_
.
currentStyle
?
_
.
currentStyle
[
$
]:
document
.
defaultView
.
getComputedStyle
(
_
,
false
)[
$
]}
function
Q
(
_
,
$
){
if
(
_
)
if
(
$
!=
null
)
_
.
style
.
display
=
$
;
else
return
S
(
_
,
"
display
"
)}
function
K
(
H
,
$
){
for
(
var
D
in
_
)
if
(
D
.
substring
(
0
,
1
)
!=
"
$
"
)
$dp
[
D
]
=
_
[
D
];
for
(
D
in
H
)
if
(
$dp
[
D
]
!==
undefined
)
$dp
[
D
]
=
H
[
D
];
var
E
=
$dp
.
el
?
$dp
.
el
.
nodeName
:
"
INPUT
"
;
if
(
$
||
$dp
.
eCont
||
new
RegExp
(
/input|textarea|div|span|p|a/ig
).
test
(
E
))
$dp
.
elProp
=
E
==
"
INPUT
"
?
"
value
"
:
"
innerHTML
"
;
else
return
;
if
(
$dp
.
lang
==
"
auto
"
)
$dp
.
lang
=
T
?
navigator
.
browserLanguage
.
toLowerCase
():
navigator
.
language
.
toLowerCase
();
if
(
!
$dp
.
dd
||
$dp
.
eCont
||
(
$dp
.
lang
&&
$dp
.
realLang
&&
$dp
.
realLang
.
name
!=
$dp
.
lang
&&
$dp
.
getLangIndex
&&
$dp
.
getLangIndex
(
$dp
.
lang
)
>=
0
)){
if
(
$dp
.
dd
&&!
$dp
.
eCont
)
V
[
O
].
body
.
removeChild
(
$dp
.
dd
);
if
(
_
.
$dpPath
==
""
)
F
(
A
);
var
B
=
"
<iframe style=
\"
width:1px;height:1px
\"
src=
\"
"
+
_
.
$dpPath
+
"
My97DatePicker.htm
\"
frameborder=
\"
0
\"
border=
\"
0
\"
scrolling=
\"
no
\"
></iframe>
"
;
if
(
$dp
.
eCont
){
$dp
.
eCont
.
innerHTML
=
B
;
Z
(
$dp
.
eCont
.
childNodes
[
0
],
Y
)}
else
{
$dp
.
dd
=
V
[
O
].
createElement
(
"
DIV
"
);
$dp
.
dd
.
id
=
"
_my97DP
"
;
$dp
.
dd
.
style
.
cssText
=
"
position:absolute
"
;
$dp
.
dd
.
innerHTML
=
B
;
V
[
O
].
body
.
appendChild
(
$dp
.
dd
);
Z
(
$dp
.
dd
.
childNodes
[
0
],
Y
);
if
(
$
)
$dp
.
dd
.
style
.
left
=
$dp
.
dd
.
style
.
top
=
"
-1970px
"
;
else
{
$dp
.
show
();
C
()}}}
else
if
(
$dp
.
cal
){
$dp
.
show
();
$dp
.
cal
.
init
();
if
(
!
$dp
.
eCont
)
C
()}
function
C
(){
var
F
=
$dp
.
position
.
left
,
B
=
$dp
.
position
.
top
,
C
=
$dp
.
el
;
if
(
C
!=
$dp
.
srcEl
&&
(
Q
(
C
)
==
"
none
"
||
C
.
type
==
"
hidden
"
))
C
=
$dp
.
srcEl
;
var
H
=
W
(
C
),
$
=
G
(
X
),
D
=
N
(
V
),
A
=
a
(
V
),
E
=
$dp
.
dd
.
offsetHeight
,
_
=
$dp
.
dd
.
offsetWidth
;
if
(
isNaN
(
B
)){
if
(
B
==
"
above
"
||
(
B
!=
"
under
"
&&
((
$
.
topM
+
H
.
bottom
+
E
>
D
.
height
)
&&
(
$
.
topM
+
H
.
top
-
E
>
0
))))
B
=
A
.
top
+
$
.
topM
+
H
.
top
-
E
-
2
;
else
B
=
A
.
top
+
$
.
topM
+
Math
.
min
(
H
.
bottom
,
D
.
height
-
E
)
+
2
}
else
B
+=
A
.
top
+
$
.
topM
;
if
(
isNaN
(
F
))
F
=
A
.
left
+
Math
.
min
(
$
.
leftM
+
H
.
left
,
D
.
width
-
_
-
5
)
-
(
T
?
2
:
0
);
else
F
+=
A
.
left
+
$
.
leftM
;
$dp
.
dd
.
style
.
top
=
B
+
"
px
"
;
$dp
.
dd
.
style
.
left
=
F
+
"
px
"
}}})()
\ No newline at end of file
WebRoot/js/My97DatePicker/calendar.js
deleted
100644 → 0
View file @
177828ce
/*
* My97 DatePicker 4.72 Release
* License: http://www.my97.net/dp/license.asp
*/
eval
(
function
(
p
,
a
,
c
,
k
,
e
,
d
){
e
=
function
(
c
){
return
(
c
<
a
?
""
:
e
(
parseInt
(
c
/
a
)))
+
((
c
=
c
%
a
)
>
35
?
String
.
fromCharCode
(
c
+
29
):
c
.
toString
(
36
))};
if
(
!
''
.
replace
(
/^/
,
String
)){
while
(
c
--
)
d
[
e
(
c
)]
=
k
[
c
]
||
e
(
c
);
k
=
[
function
(
e
){
return
d
[
e
]}];
e
=
function
(){
return
'
\\
w+
'
};
c
=
1
;};
while
(
c
--
)
if
(
k
[
c
])
p
=
p
.
replace
(
new
RegExp
(
'
\\
b
'
+
e
(
c
)
+
'
\\
b
'
,
'
g
'
),
k
[
c
]);
return
p
;}(
'
o $c;k($5u){5Q.2X.7n("6G",l($){k(!$)h.25();t $});5Q.2X.7e("6w",l(){o $=h.6t;3i($.5M!=1)$=$.7g;t $});7f.2X.2I=l($,b){o A=$.1l(/6p/,"");b.5R=l($){6L.1Y=$;t b()};h.7t(A,b.5R,1m)}}l 5H(){$c=h;h.2Y=[];$d=1Q.7q("x");$d.1d="4d";$d.1L="<x 1D=6Y><x Y=
\\
"3H 6W
\\
"><a 3W=
\\
"###
\\
"></a></x><x Y=
\\
"3H 76
\\
"><a 3W=
\\
"###
\\
"></a></x><x 1c=
\\
"3g:2v
\\
"><x Y=
\\
"33 7a
\\
"></x><1v Y=3M></x><x 1c=
\\
"3g:2v
\\
"><x Y=
\\
"33 81
\\
"></x><1v Y=3M></x><x Y=
\\
"3H 83
\\
"><a 3W=
\\
"###
\\
"></a></x><x Y=
\\
"3H 84
\\
"><a 3W=
\\
"###
\\
"></a></x><x 1c=
\\
"3g:5i
\\
"></x></x><x 1c=
\\
"86:85;7B:6A
\\
"></x><x></x><x 1D=7x><x Y=
\\
"33 7A
\\
"></x><x Y=
\\
"33 7M
\\
"></x><x Y=
\\
"33 7P
\\
"></x><1x 2o=0 2m=0 2u=0><1j><18 7J=2><4h 1D=7L></4h>&4B;<1v Y=7o 4b=2><1v 1g=
\\
":
\\
" Y=5P 5N><1v Y=5O 4b=2><1v 1g=
\\
":
\\
" Y=5P 5N><1v Y=5O 4b=2></18><18><1O 1D=7I></1O></18></1j><1j><18><1O 1D=7Q></1O></18></1j></1x></x><x 1D=7O></x><x 1D=7N><1v Y=4e 1D=7G 3o=1O><1v Y=4e 1D=7z 3o=1O><1v Y=4e 1D=7E 3o=1O></x>";6M($d,l(){3t()});A();$f.1W=[1Q,$d.1M,$d.1t,$d.2V,$d.3r,$d.3I,$d.2S,$d.28,$d.1U];1b(o B=0;B<$f.1W.u;B++){o b=$f.1W[B];b.3q=B==$f.1W.u-1?$f.1W[1]:$f.1W[B+1];$f.2I(b,"4c",4R)}h.5F();$();4Q("y,M,H,m,s");$d.5S.1q=l(){4Z(1)};$d.5T.1q=l(){4Z(-1)};$d.4i.1q=l(){k($d.1E.1c.2h!="6K"){$c.4p();3w($d.1E)}q 1n($d.1E)};1Q.6N.4q($d);l A(){o b=$("a");1r=$("x"),1I=$("1v"),4g=$("1O"),5G=$("4h");$d.3y=b[0];$d.3V=b[1];$d.42=b[3];$d.3Y=b[2];$d.3K=1r[9];$d.1M=1I[0];$d.1t=1I[1];$d.4k=1r[0];$d.3T=1r[4];$d.2J=1r[6];$d.1E=1r[10];$d.2T=1r[11];$d.2H=1r[12];$d.6R=1r[13];$d.6Q=1r[14];$d.6O=1r[15];$d.4i=1r[16];$d.3z=1r[17];$d.2V=1I[2];$d.3r=1I[4];$d.3I=1I[6];$d.2S=1I[7];$d.28=1I[8];$d.1U=1I[9];$d.5S=4g[0];$d.5T=4g[1];$d.5L=5G[0];l $($){t $d.4o($)}}l $(){$d.3y.1q=l(){$1P=$1P<=0?$1P-1:-1;k($1P%5==0){$d.1t.2d();t}$d.1t.1g=$n.y-1;$d.1t.2n()};$d.3V.1q=l(){$n.2C("M",-1);$d.1M.2n()};$d.42.1q=l(){$n.2C("M",1);$d.1M.2n()};$d.3Y.1q=l(){$1P=$1P>=0?$1P+1:1;k($1P%5==0){$d.1t.2d();t}$d.1t.1g=$n.y+1;$d.1t.2n()}}}5H.2X={5F:l(){$1P=0;$f.5K=h;k($f.3N&&$f.z.3N!=1i){$f.z.3N=19;$f.z.4w()}$();h.5j();$n=h.6f=1a 1C();$1B=1a 1C();$1w=h.2w=1a 1C();h.1y=h.34($f.1y);h.2P=$f.2P==1i?($f.Z.2a&&$f.Z.2a?1m:19):$f.2P;$f.2z=$f.2z==1i?($f.4j&&$f.Z.d?1m:19):$f.2z;h.49=h.3f("8a");h.68=h.3f("8b");h.64=h.3f("89");h.5C=h.3f("87");h.1X=h.3P($f.1X,$f.1X!=$f.5D?$f.1S:$f.3j,$f.5D);h.1Z=h.3P($f.1Z,$f.1Z!=$f.5E?$f.1S:$f.3j,$f.5E);k(h.1X.2r(h.1Z)>0)$f.4f=$1k.7V;k(h.1R()){h.5J();h.3O=$f.z[$f.1z]}q h.3m(1m,2);4u($n);$d.5L.1L=$1k.7R;$d.2S.1g=$1k.7S;$d.28.1g=$1k.7Z;$d.1U.1g=$1k.80;$d.1U.1N=!$c.1u($1w);h.5c();h.6l();k($f.4f)7Y($f.4f);h.4C();k($f.z.5M==1&&$f.z["4m"]===4Y){$f.2I($f.z,"4c",4R);$f.2I($f.z,"2n",l(){k($f.1K.1c.2h=="2E"){$c.3Q();k($f.5K.3O!=$f.z[$f.1z]&&$f.z.75)4I($f.z,"73")}})}$c.1f=$f.z;3t();l $(){o b,$;1b(b=0;($=1Q.4o("71")[b]);b++)k($["72"].1o("1c")!=-1&&$["5I"]){$.1N=19;k($["5I"]==$f.79)$.1N=1m}}},5J:l(){o b=h.2L();k(b!=0){o $;k(b>0)$=h.1Z;q $=h.1X;k($f.Z.3u){$n.y=$.y;$n.M=$.M;$n.d=$.d}k($f.Z.2a){$n.H=$.H;$n.m=$.m;$n.s=$.s}}},3b:l(J,C,Q,E,B,G,F,K,L){o $;k(J&&J.1R)$=J;q{$=1a 1C();k(J!=""){C=C||$f.1y;o H,P=0,O,A=/3a|2l|36|y|2A|2Z|3U|M|1K|d|%2k|4J|H|4K|m|4G|s|3c|D|4H|W|w/g,b=C.35(A);A.2x=0;k(L)O=J.4O(/
\\
W+/);q{o D=0,M="^";3i((O=A.3h(C))!==1i){k(D>=0)M+=C.1F(D,O.3x);D=A.2x;2G(O[0]){1e"3a":M+="(
\\\\
d{4})";1h;1e"2l":M+="(
\\\\
d{3})";1h;1e"2A":1e"2Z":1e"3c":1e"D":M+="(
\\\\
D+)";1h;5X:M+="(
\\\\
d
\\\\
d?)";1h}}M+=".*$";O=1a 4r(M).3h(J);P=1}k(O){1b(H=0;H<b.u;H++){o I=O[H+P];k(I)2G(b[H]){1e"2A":1e"2Z":$.M=N(b[H],I);1h;1e"y":1e"36":I=3E(I,0);k(I<50)I+=5z;q I+=78;$.y=I;1h;1e"2l":$.y=3E(I,0)+$f.5p;1h;5X:$[b[H].4T(-1)]=I;1h}}}q $.d=32}}$.6r(Q,E,B,G,F,K);t $;l N(A,$){o b=A=="2A"?$1k.5m:$1k.29;1b(o B=0;B<12;B++)k(b[B].3X()==$.77(0,b[B].u).3X())t B+1;t-1}},3f:l(b){o B,$=$f[b],A="(?:";k($){1b(B=0;B<$.u;B++){A+=h.34($[B]);k(B!=$.u-1)A+="|"}A=1a 4r(A+")")}q A=1i;t A},2p:l(){o $=h.4s();k($f.z[$f.1z]!=$)$f.z[$f.1z]=$;h.3R()},3R:l($){o b=$f.$($f.6V),$=2K($,h.4s($f.1S));k(b)b.1g=$;$f.z["3v"]=$},34:l(s){o 3D="2N",1s,2B,6c=/#?
\\
{(.*?)
\\
}/;s=s+"";1b(o i=0;i<3D.u;i++)s=s.1l("%"+3D.1J(i),h.1V(3D.1J(i),1i,$1B));k(s.1F(0,3)=="#F{"){s=s.1F(3,s.u-1);k(s.1o("t ")<0)s="t "+s;s=$f.4N.2W("1a 6S(
\\
""+s+"
\\
");");s=s()}q 3i((1s=6c.3h(s))!=1i){1s.2x=1s.3x+1s[1].u+1s[0].u-1s[1].u-1;2B=2e(2W(1s[1]));k(2B<0)2B="2b"+(-2B);s=s.1F(0,1s.3x)+2B+s.1F(1s.2x+1)}t s},3P:l(A,B,b){o $;A=h.34(A);k(!A||A=="")A=b;k(6Z A=="70")$=A;q{$=h.3b(A,B,1i,1i,1,0,0,0,19);$.y=(""+$.y).1l(/^2b/,"-");$.M=(""+$.M).1l(/^2b/,"-");$.d=(""+$.d).1l(/^2b/,"-");$.H=(""+$.H).1l(/^2b/,"-");$.m=(""+$.m).1l(/^2b/,"-");$.s=(""+$.s).1l(/^2b/,"-");k(A.1o("%2k")>=0){A=A.1l(/%2k/g,"0");$.d=0;$.M=2e($.M)+1}$.20()}t $},1R:l(){o b,$;k($f.7b||($f.6b!=""&&$f.z[$f.1z]=="")){b=h.34($f.6b);$=$f.1S}q{b=$f.z[$f.1z];$=h.1y}$n.2c(h.3b(b,$));k(b!=""){o A=1;k($f.Z.3u&&!h.44($n)){$n.y=$1B.y;$n.M=$1B.M;$n.d=$1B.d;A=0}k($f.Z.2a&&!h.4a($n)){$n.H=$1B.H;$n.m=$1B.m;$n.s=$1B.s;A=0}t A&&h.1u($n)}t 1},44:l($){k($.y!=1i)$=3n($.y,4)+"-"+$.M+"-"+$.d;t $.35(/^((
\\
d{2}(([69][7p])|([6a][26]))[
\\
-
\\
/
\\
s]?((((0?[6h])|(1[6i]))[
\\
-
\\
/
\\
s]?((0?[1-9])|([1-2][0-9])|(3[6g])))|(((0?[6e])|(11))[
\\
-
\\
/
\\
s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[
\\
-
\\
/
\\
s]?((0?[1-9])|([1-2][0-9])))))|(
\\
d{2}(([69][74])|([6a][7u]))[
\\
-
\\
/
\\
s]?((((0?[6h])|(1[6i]))[
\\
-
\\
/
\\
s]?((0?[1-9])|([1-2][0-9])|(3[6g])))|(((0?[6e])|(11))[
\\
-
\\
/
\\
s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[
\\
-
\\
/
\\
s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(
\\
s(((0?[0-9])|([1-2][0-3]))
\\
:([0-5]?[0-9])((
\\
s)|(
\\
:([0-5]?[0-9])))))?$/)},4a:l($){k($.H!=1i)$=$.H+":"+$.m+":"+$.s;t $.35(/^([0-9]|([0-1][0-9])|([2][0-3])):([0-9]|([0-5][0-9])):([0-9]|([0-5][0-9]))$/)},2L:l($,A){$=$||$n;o b=$.2r(h.1X,A);k(b>0){b=$.2r(h.1Z,A);k(b<0)b=0}t b},1u:l($,A,B){A=A||$f.Z.3A;o b=h.2L($,A);k(b==0){b=1;k(A=="d"&&B==1i)B=2y.5Y((1a 1G($.y,$.M-1,$.d).21()-$f.41)%7);b=!h.67(B)&&!h.5Z($,A)}q b=0;t b},62:l(){o b=$f.z,A=h,$=$f.z[$f.1z];k($!=1i){k($!="")A.2w.2c(A.3b($,A.1y));k($==""||(A.44(A.2w)&&A.4a(A.2w)&&A.1u(A.2w))){k($!=""){A.6f.2c(A.2w);A.2p()}q A.3R("")}q t 1m}t 19},3Q:l($){3t();k(h.62()){h.3m(19);$f.1n()}q{k($){3k($);h.3m(1m,2)}q h.3m(1m);$f.24()}},3F:l(){o E,C,D,K,A,H=1a 2s(),F=$1k.5y,G=$f.41,I="",$="",b=1a 1C($n.y,$n.M,$n.d,0,0,0),J=b.y,B=b.M;A=1-1a 1G(J,B-1,1).21()+G;k(A>1)A-=7;H.a("<1x Y=5g 2U=3p% 2u=0 2o=0 2m=0>");H.a("<1j Y=5f 4A=5h>");k($f.61)H.a("<18>"+F[0]+"</18>");1b(E=0;E<7;E++)H.a("<18>"+F[(G+E)%7+1]+"</18>");H.a("</1j>");1b(E=1,C=A;E<7;E++){H.a("<1j>");1b(D=0;D<7;D++){b.1R(J,B,C++);b.20();k(b.M==B){K=19;k(b.2r($1w,"d")==0)I="7s";q k(b.2r($1B,"d")==0)I="7d";q I=($f.63&&(0==(G+D)%7||6==(G+D)%7)?"7k":"7l");$=($f.63&&(0==(G+D)%7||6==(G+D)%7)?"7i":"7j")}q k($f.5s){K=19;I="7c";$="8L"}q K=1m;k($f.61&&D==0&&(E<4||K))H.a("<18 Y=8H>"+4t(b,$f.41==0?1:0)+"</18>");H.a("<18 ");k(K){k(h.1u(b,"d",D)){k(h.65(2y.5Y((1a 1G(b.y,b.M-1,b.d).21()-$f.41)%7))||h.66(b))I="8K";H.a("1q=
\\
"2O("+b.y+","+b.M+","+b.d+");
\\
" ");H.a("2t=
\\
"h.1d=
\'
"+$+"
\'\\
" ");H.a("2q=
\\
"h.1d=
\'
"+I+"
\'\\
" ")}q I="8M";H.a("Y="+I);H.a(">"+b.d+"</18>")}q H.a("></18>")}H.a("</1j>")}H.a("</1x>");t H.j()},5Z:l(b,A){o $=h.47(b,h.49,A);t(h.49&&$f.5e)?!$:$},67:l($){t h.4x($,h.68)},66:l($){t h.47($,h.64)},65:l($){t h.4x($,h.5C)},47:l($,B,A){o b=A=="d"?$f.4l:$f.1S;t B?B.4P(h.3S(b,$)):0},4x:l(b,$){t $?$.4P(b):0},2R:l(p,c,r,e,2j){o s=1a 2s(),4y=2j?"r"+p:p;5b=$n[p];s.a("<1x 2o=0 2m=3 2u=0");1b(o i=0;i<r;i++){s.a("<1j 3d=
\\
"3d
\\
">");1b(o j=0;j<c;j++){s.a("<18 3d ");$n[p]=2W(e);k(($f.5e&&h.2L($n,p)==0)||h.1u($n,p)){s.a("Y=
\'
1A
\'
2t=
\\
"h.1d=
\'
3e
\'\\
" 2q=
\\
"h.1d=
\'
1A
\'\\
" 3Z=
\\
"");s.a("1n($d."+p+"D);$d."+4y+"I.1g="+$n[p]+";$d."+4y+"I.4w();
\\
"")}q s.a("Y=
\'
4z
\'
");s.a(">"+(p=="M"?$1k.29[$n[p]-1]:$n[p])+"</18>")}s.a("</1j>")}s.a("</1x>");$n[p]=5b;t s.j()},4E:l($,b){k($){o A=$.8Q;k($6m)A=$.8V().2v;b.1c.2v=A}},8E:l($){h.4E($,$d.3T);$d.3T.1L=h.2R("M",2,6,"i+j*6+1",$==$d.2i)},4v:l(b,A){o $=1a 2s();A=2K(A,$n.y-5);$.a(h.2R("y",2,5,A+"+i+j*5",b==$d.2D));$.a("<1x 2o=0 2m=3 2u=0 4A=5h><1j><18 ");$.a(h.1X.y<A?"Y=
\'
1A
\'
2t=
\\
"h.1d=
\'
3e
\'\\
" 2q=
\\
"h.1d=
\'
1A
\'\\
" 3Z=
\'
k(1Y.25)1Y.25();1Y.4S=19;$c.4v(0,"+(A-10)+")
\'
":"Y=
\'
4z
\'
");$.a(">
\\
8l</18><18 Y=
\'
1A
\'
2t=
\\
"h.1d=
\'
3e
\'\\
" 2q=
\\
"h.1d=
\'
1A
\'\\
" 3Z=
\\
"1n($d.2J);$d.1t.4w();
\\
">
\\
5l</18><18 ");$.a(h.1Z.y>A+10?"Y=
\'
1A
\'
2t=
\\
"h.1d=
\'
3e
\'\\
" 2q=
\\
"h.1d=
\'
1A
\'\\
" 3Z=
\'
k(1Y.25)1Y.25();1Y.4S=19;$c.4v(0,"+(A+10)+")
\'
":"Y=
\'
4z
\'
");$.a(">
\\
8p</18></1j></1x>");h.4E(b,$d.2J);$d.2J.1L=$.j()},3C:l(A,b,$){$d[A+"D"].1L=h.2R(A,6,b,$)},8n:l(){h.3C("H",4,"i * 6 + j")},8e:l(){h.3C("m",2,"i * 30 + j * 5")},8c:l(){h.3C("s",1,"j * 10")},4p:l(A){h.6F();o b=h.2Y,C=b.1c,$=1a 2s();$.a("<1x Y=5g 2U=3p% 2f=3p% 2u=0 2o=0 2m=0>");$.a("<1j Y=5f><18><x 1c=
\\
"3g:2v
\\
">"+$1k.8g+"</x>");k(!A)$.a("<x 1c=
\\
"3g:5i;8z:8y
\\
" 1q=
\\
"1n($d.1E);
\\
">
\\
5l</x>");$.a("</18></1j>");1b(o B=0;B<b.u;B++)k(b[B]){$.a("<1j><18 1c=
\'
55-4A:2v
\'
3d=
\'
3d
\'
Y=
\'
1A
\'
2t=
\\
"h.1d=
\'
3e
\'\\
" 2q=
\\
"h.1d=
\'
1A
\'\\
" 1q=
\\
"");$.a("2O("+b[B].y+", "+b[B].M+", "+b[B].d+","+b[B].H+","+b[B].m+","+b[B].s+");
\\
">");$.a("&4B;"+h.3S(1i,b[B]));$.a("</18></1j>")}q $.a("<1j><18 Y=
\'
1A
\'
>&4B;</18></1j>");$.a("</1x>");$d.1E.1L=$.j()},5j:l(){$(/w/);$(/4H|W/);$(/3c|D/);$(/3a|2l|36|y/);$(/2A|2Z|3U|M/);$(/1K|d/);$(/4J|H/);$(/4K|m/);$(/4G|s/);$f.Z.3u=($f.Z.y||$f.Z.M||$f.Z.d)?19:1m;$f.Z.2a=($f.Z.H||$f.Z.m||$f.Z.s)?19:1m;$f.3j=$f.3j.1l(/%1G/,$f.4l).1l(/%8w/,$f.5d);k($f.Z.3u){k($f.Z.2a)$f.1S=$f.3j;q $f.1S=$f.4l}q $f.1S=$f.5d;l $(b){o $=(b+"").4T(1,2);$f.Z[$]=b.3h($f.1y)?($f.Z.3A=$,19):1m}},5c:l(){o $=0;$f.Z.y?($=1,24($d.1t,$d.3y,$d.3Y)):1n($d.1t,$d.3y,$d.3Y);$f.Z.M?($=1,24($d.1M,$d.3V,$d.42)):1n($d.1M,$d.3V,$d.42);$?24($d.4k):1n($d.4k);k($f.Z.2a){24($d.2H);3G($d.2V,$f.Z.H);3G($d.3r,$f.Z.m);3G($d.3I,$f.Z.s)}q 1n($d.2H);2M($d.2S,$f.5w);2M($d.28,$f.5x);2M($d.1U,$f.4j);2M($d.4i,!$f.5n&&$f.Z.d&&$f.8t);k($f.6v||!($f.5w||$f.5x||$f.4j))1n($d.3z);q 24($d.3z)},3m:l(B,D){o A=$f.z,b=$5u?"Y":"1d";k(B)C(A);q{k(D==1i)D=$f.8s;2G(D){1e 0:k(8B($1k.8C)){A[$f.1z]=h.3O;C(A)}q $(A);1h;1e 1:A[$f.1z]=h.3O;C(A);1h;1e 2:$(A);1h}}l C(A){o B=A.1d;k(B){o $=B.1l(/5B/g,"");k(B!=$)A.5A(b,$)}}l $($){$.5A(b,$.1d+" 5B")}},1V:l(D,b,$){$=$||$1w;o H,C=[D+D,D],E,A=$[D],F=l($){t 3n(A,$.u)};2G(D){1e"w":A=21($);1h;1e"D":o G=21($)+1;F=l($){t $.u==2?$1k.8A[G]:$1k.5y[G]};1h;1e"W":A=4t($);1h;1e"y":C=["3a","2l","36","y"];b=b||C[0];F=l(b){t 3n((b.u<4)?(b.u<3?$.y%3p:($.y+5z-$f.5p)%8x):A,b.u)};1h;1e"M":C=["2A","2Z","3U","M"];F=l($){t($.u==4)?$1k.5m[A-1]:($.u==3)?$1k.29[A-1]:3n(A,$.u)};1h}b=b||D+D;k("2N".1o(D)>-1&&D!="y"&&!$f.Z[D])k("8h".1o(D)>-1)A=0;q A=1;o B=[];1b(H=0;H<C.u;H++){E=C[H];k(b.1o(E)>=0){B[H]=F(E);b=b.1l(E,"{"+H+"}")}}1b(H=0;H<B.u;H++)b=b.1l(1a 4r("
\\\\
{"+H+"
\\\\
}","g"),B[H]);t b},3S:l(b,$){$=$||h.3b($f.z[$f.1z],h.1y)||$1w;b=b||h.1y;k(b.1o("%2k")>=0){o A=1a 1C();A.2c($);A.d=0;A.M=2e(A.M)+1;A.20();b=b.1l(/%2k/g,A.d)}o B="8d";1b(o D=0;D<B.u;D++){o C=B.1J(D);b=h.1V(C,b,$)}k($f.Z["D"]){b=b.1l(/3c/g,"%1K").1l(/D/g,"%d");b=h.1V("M",b,$);b=b.1l(/
\\
%1K/g,h.1V("D","3c")).1l(/
\\
%d/g,h.1V("D","D"))}q b=h.1V("M",b,$);t b},8o:l(b,$){t h.1V(b,$,$n)},4s:l($){t h.3S($,$n)},4C:l(){$d.3K.1L="";k($f.5n){$c.2P=19;$f.5s=1m;$d.1d="4d 8T";o $=1a 2s();$.a("<1x Y=8R 2U=3p% 2o=0 2m=0 2u=1><1j><18 5q=5r>");$.a(h.3F());$.a("</18><18 5q=5r>");$n.2C("M",1);$.a(h.3F());$d.2i=$d.1M.5o(19);$d.2D=$d.1t.5o(19);$d.3K.4q($d.2i);$d.3K.4q($d.2D);$d.2i.1g=$1k.29[$n.M-1];$d.2i["3v"]=$n.M;$d.2D.1g=$n.y;4Q("6H,6E");$d.2i.1d=$d.2D.1d="3M";$n.2C("M",-1);$.a("</18></1j></1x>");$d.2T.1L=$.j()}q{$d.1d="4d";$d.2T.1L=h.3F()}k(!$f.Z.d||$f.8J){h.4p(19);3w($d.1E)}q 1n($d.1E);h.6P()},6P:l(){o b=8W.1Q.4o("8k");1b(o C=0;C<b.u;C++){o $=$d.1c.2f;$d.1c.2f="";o A=$d.3l;k(b[C].8j==6L&&A){b[C].1c.2U=$d.6q+"6s";o B=$d.2H.3l;k(B&&$d.3z.1c.2h=="2E"&&$d.2H.1c.2h!="2E"&&1Q.6N.8f-A>=B){A+=B;$d.1c.2f=A}q $d.1c.2f=$;b[C].1c.2f=2y.5v(A,$d.3l)+"6s"}}$d.1E.1c.2U=$d.2T.6q;$d.1E.1c.2f=$d.2T.3l},4W:l(){$n.d=2y.8D(1a 1G($n.y,$n.M,0).2F(),$n.d);$1w.2c($n);h.2p();k(!$f.6v)k(h.1u($n)){4n();1n($f.1K)}k($f.6u)2g("6u")},6l:l(){$d.2S.1q=l(){k(!2g("8q")){$f.z[$f.1z]="";$c.3R("");4n();1n($f.1K);k($f.6n)2g("6n")}};$d.1U.1q=l(){2O()};k(h.1u($1B)){$d.28.1N=1m;$d.28.1q=l(){$n.2c($1B);2O()}}q $d.28.1N=19},6F:l(){o H,G,A,F,C=[],$=5,E=$f.6I.u,b=$f.Z.3A;k(E>$)E=$;q k(b=="m"||b=="s")C=[-60,-30,0,30,60,-15,15,-45,45];q 1b(H=0;H<$;H++)C[H]=$n[b]-2+H;1b(H=G=0;H<E;H++){A=h.3P($f.6I[H]);k(h.1u(A))h.2Y[G++]=A}o B="2N",D=[1,1,1,0,0,0];1b(H=0;H<=B.1o(b);H++)D[H]=$n[B.1J(H)];1b(H=0;G<$;H++)k(H<C.u){A=1a 1C(D[0],D[1],D[2],D[3],D[4],D[5]);A[b]=C[H];A.20();k(h.1u(A))h.2Y[G++]=A}q h.2Y[G++]=1i}};l 4n(){o b=$f.z;8F{k(b.1c.2h!="2E"&&b.3o!="6A"&&(b.6D.3X()=="1v"||b.6D.3X()=="8G")){k($f.8N==b)$f.z["4m"]=19;$f.z.2d();t}}8O($){}b["4m"]=1m}l 2s(){h.s=1a 7h();h.i=0;h.a=l($){h.s[h.i++]=$};h.j=l(){t h.s.7r("")}}l 4t($,B){B=B||0;o b=1a 1G($.y,$.M-1,$.d+B);b.6z(b.2F()-(b.21()+6)%7+$f.7v-1);o A=b.6J();b.7m(0);b.6z(4);t 2y.6X((A-b.6J())/(7*6T))+1}l 21($){o b=1a 1G($.y,$.M-1,$.d);t b.21()}l 24(){3s(2Q,"")}l 3w(){3s(2Q,"6K")}l 1n(){3s(2Q,"2E")}l 3s(b,$){1b(i=0;i<b.u;i++)b[i].1c.2h=$}l 2M(b,$){$?24(b):1n(b)}l 3G(b,$){k($)b.1N=1m;q{b.1N=19;b.1g="7T"}}l c(p,1H){k(p=="M")1H=43(1H,1,12);q k(p=="H")1H=43(1H,0,23);q k("5k".1o(p)>=0)1H=43(1H,0,59);k($1w[p]!=1H&&!2g(p+"7U")){o 6o="1T(
\\
""+p+"
\\
","+1H+")",3B=$c.2L();k(3B==0)2W(6o);q k(3B<0)4D($c.1X);q k(3B>0)4D($c.1Z);$d.1U.1N=!$c.1u($1w);k("7C".1o(p)>=0)$c.4C();2g(p+"7D")}l 4D($){4u($c.1u($)?$:$1w)}}l 4u($){1T("y",$.y);1T("M",$.M);1T("d",$.d);1T("H",$.H);1T("m",$.m);1T("s",$.s)}l 2O(F,B,b,D,C,A){o $=1a 1C($n.y,$n.M,$n.d,$n.H,$n.m,$n.s);$n.1R(F,B,b,D,C,A);k(!2g("7H")){o E=$.y==F&&$.M==B&&$.d==b;k(!E&&2Q.u!=0){c("y",F);c("M",B);c("d",b);$c.1f=$f.z;k($f.2z)$c.2p()}k($c.2P||E||2Q.u==0)$c.4W()}q $n=$}l 2g($){o b;k($f[$])b=$f[$].4V($f.z,$f);t b}l 1T(b,$){k($==1i)$=$n[b];$1w[b]=$n[b]=$;k("7K".1o(b)>=0)$d[b+"I"].1g=$;k(b=="M"){$d.1M["3v"]=$;$d.1M.1g=$1k.29[$-1]}}l 43(b,$,A){k(b<$)b=$;q k(b>A)b=A;t b}l 6M($,b){$.2I("4c",l(){o $=1Y,A=($.4M==4Y)?$.4F:$.4M;k(A==9)b()})}l 3n($,b){$=$+"";3i($.u<b)$="0"+$;t $}l 3t(){1n($d.2J,$d.3T,$d.6R,$d.6Q,$d.6O)}l 4Z($){k($c.1f==4Y)$c.1f=$d.2V;2G($c.1f){1e $d.2V:c("H",$n.H+$);1h;1e $d.3r:c("m",$n.m+$);1h;1e $d.3I:c("s",$n.s+$);1h}k($f.2z)$c.2p()}l 1C(D,A,$,C,B,b){h.1R(D,A,$,C,B,b)}1C.2X={1R:l(E,B,b,D,C,A){o $=1a 1G();h.y=1p(E,h.y,$.52());h.M=1p(B,h.M,$.5a()+1);h.d=$f.Z.d?1p(b,h.d,$.2F()):1;h.H=1p(D,h.H,$.54());h.m=1p(C,h.m,$.53());h.s=1p(A,h.s,$.56())},2c:l($){k($)h.1R($.y,$.M,$.d,$.H,$.m,$.s)},6r:l(E,B,b,D,C,A){o $=1a 1G();h.y=1p(h.y,E,$.52());h.M=1p(h.M,B,$.5a()+1);h.d=$f.Z.d?1p(h.d,b,$.2F()):1;h.H=1p(h.H,D,$.54());h.m=1p(h.m,C,$.53());h.s=1p(h.s,A,$.56())},2r:l($,C){o A="2N",b,B;C=A.1o(C);C=C>=0?C:5;1b(o D=0;D<=C;D++){B=A.1J(D);b=h[B]-$[B];k(b>0)t 1;q k(b<0)t-1}t 0},20:l(){o $=1a 1G(h.y,h.M-1,h.d,h.H,h.m,h.s);h.y=$.52();h.M=$.5a()+1;h.d=$.2F();h.H=$.54();h.m=$.53();h.s=$.56();t!6j(h.y)},2C:l(b,$){k("2N".1o(b)>=0){o A=h.d;k(b=="M")h.d=1;h[b]+=$;h.20();h.d=A}}};l 2e($){t 7F($,10)}l 3E($,b){t 2K(2e($),b)}l 1p($,A,b){t 3E($,2K(A,b))}l 2K($,b){t $==1i||6j($)?b:$}l 4I(A,$){k($6m)A.4I("6p"+$);q{o b=1Q.82("88");b.7W($,19,19);A.7X(b)}}l 3J($){o A,B,b="y,M,H,m,s,6E,6H".4O(",");1b(B=0;B<b.u;B++){A=b[B];k($d[A+"I"]==$)t A.4T(A.u-1,A.u)}t 0}l 6k($){o b=3J(h);k(!b)t;$c.1f=h;k(b=="y")h.1d="6x";q k(b=="M"){h.1d="6x";h.1g=h["3v"]}h.4U();$c["2R"+b](h);3w($d[b+"D"])}l 3L(6y){o p=3J(h),2j,51,v=h.1g,6C=$n[p];k(p==0)t;$n[p]=6B(v)>=0?6B(v):$n[p];k(p=="y"){2j=h==$d.2D;k(2j&&$n.M==12)$n.y-=1}q k(p=="M"){2j=h==$d.2i;k(2j){51=$1k.29[$n[p]-1];k(6C==12)$n.y+=1;$n.2C("M",-1)}k($1w.M==$n.M)h.1g=51||$1k.29[$n[p]-1];k(($1w.y!=$n.y))c("y",$n.y)}2W("c(
\\
""+p+"
\\
","+$n[p]+")");k(6y!==19){k(p=="y"||p=="M")h.1d="3M";1n($d[p+"D"])}k($f.2z)$c.2p()}l 3k($){k($.25){$.25();$.8i()}q{$.4S=19;$.6G=1m}k($5t)$.4F=0}l 4Q($){o A=$.4O(",");1b(o B=0;B<A.u;B++){o b=A[B]+"I";$d[b].8u=6k;$d[b].2n=3L}}l 4R(M){o H=M.6w||M.6t,Q=M.4M||M.4F;58=$f.1K.1c.2h!="2E";k(Q>=8m&&Q<=8U)Q-=48;k($f.8I&&58){k(!H.3q){H.3q=$f.1W[1];$c.1f=$f.z}k(H==$f.z)$c.1f=$f.z;k(Q==27)k(H==$f.z){$c.3Q();t}q $f.z.2d();k(Q>=37&&Q<=40){o U;k($c.1f==$f.z||$c.1f==$d.1U)k($f.Z.d){U="d";k(Q==38)$n[U]-=7;q k(Q==39)$n[U]+=1;q k(Q==37)$n[U]-=1;q $n[U]+=7;$n.20();c("y",$n["y"]);c("M",$n["M"]);c("d",$n[U]);3k(M);t}q{U=$f.Z.3A;$d[U+"I"].2d()}U=U||3J($c.1f);k(U){k(Q==38||Q==39)$n[U]+=1;q $n[U]-=1;$n.20();$c.1f.1g=$n[U];3L.4V($c.1f,19);$c.1f.4U()}}q k(Q==9){o D=H.3q;1b(o R=0;R<$f.1W.u;R++)k(D.1N==19||D.3l==0)D=D.3q;q 1h;k($c.1f!=D){$c.1f=D;D.2d()}}q k(Q==13){3L.4V($c.1f);k($c.1f.3o=="1O")$c.1f.8P();q $c.4W();$c.1f=$f.z}}q k(Q==9&&H==$f.z)$c.3Q();k($f.8S&&!$5t&&!$f.3N&&$c.1f==$f.z&&(Q>=48&&Q<=57)){o T=$f.z,S=T.1g,F=E(T),I={22:"",1s:[]},R=0,K,N=0,X=0,O=0,J,b=/3a|2l|36|y|3U|M|1K|d|%2k|4J|H|4K|m|4G|s|4H|W|w/g,L=$f.1y.35(b),B,A,$,V,W,G,J=0;k(S!=""){O=S.35(/[0-9]/g);O=O==1i?0:O.u;1b(R=0;R<L.u;R++)O-=2y.5v(L[R].u,2);O=O>=0?1:0;k(O==1&&F>=S.u)F=S.u-1}S=S.1F(0,F)+8r.8v(Q)+S.1F(F+O);F++;1b(R=0;R<S.u;R++){o C=S.1J(R);k(/[0-9]/.4P(C))I.22+=C;q I.1s[R]=1}S="";b.2x=0;3i((K=b.3h($f.1y))!==1i){X=K.3x-(K[0]=="%2k"?1:0);k(N>=0){S+=$f.1y.1F(N,X);k(F>=N+J&&F<=X+J)F+=X-N}N=b.2x;G=N-X;B=I.22.1F(0,G);A=K[0].1J(0);$=2e(B.1J(0));k(I.22.u>1){V=I.22.1J(1);W=$*10+2e(V)}q{V="";W=$}k(I.1s[X+1]||A=="M"&&W>12||A=="d"&&W>31||A=="H"&&W>23||"5k".1o(A)>=0&&W>59){k(K[0].u==2)B="0"+$;q B=$;F++}q k(G==1){B=W;G++;J++}S+=B;I.22=I.22.1F(G);k(I.22=="")1h}T.1g=S;P(T,F);3k(M)}k(58&&$c.1f!=$f.z&&!((Q>=48&&Q<=57)||Q==8||Q==46))3k(M);l E(A){o b=0;k($f.4N.1Q.6d){o B=$f.4N.1Q.6d.6U(),$=B.55.u;B.5V("4X",-A.1g.u);b=B.55.u-$}q k(A.4L||A.4L=="0")b=A.4L;t b}l P(b,A){k(b.5U){b.2d();b.5U(A,A)}q k(b.5W){o $=b.5W();$.7w(19);$.7y("4X",A);$.5V("4X",A);$.4U()}}}
'
,
62
,
555
,
'
|||||||||||_||||dp||this|||if|function||dt|var||else|||return|length|||div||el|||||||||||||||||||||||||class|has|||||||||td|true|new|for|style|className|case|currFocus|value|break|null|tr|lang|replace|false|hide|indexOf|pInt3|onclick|divs|arr|yI|checkValid|input|sdt|table|dateFmt|elProp|menu|tdt|DPDate|id|qsDivSel|substring|Date|pv|ipts|charAt|dd|innerHTML|MI|disabled|button|ny|document|loadDate|realFmt|sv|okI|getP|focusArr|minDate|event|maxDate|refresh|getDay|str||show|preventDefault|||todayI|aMonStr|st|9700|loadFromDate|focus|pInt|height|callFunc|display|rMI|isR|ld|yyy|cellpadding|onblur|cellspacing|update|onmouseout|compareWith|sb|onmouseover|border|left|date|lastIndex|Math|autoUpdateOnChanged|MMMM|tmpEval|attr|ryI|none|getDate|switch|tDiv|attachEvent|yD|rtn|checkRange|shorH|yMdHms|day_Click|autoPickDate|arguments|_f|clearI|dDiv|width|HI|eval|prototype|QS|MMM||||menuSel|doExp|match|yy||||yyyy|splitDate|DD|nowrap|menuOn|_initRe|float|exec|while|realFullFmt|_cancelKey|offsetHeight|mark|doStr|type|100|nextCtrl|mI|setDisp|hideSel|sd|realValue|showB|index|navLeftImg|bDiv|minUnit|rv|_fHMS|ps|pInt2|_fd|disHMS|navImg|sI|_foundInput|rMD|_blur|yminput|readOnly|oldValue|doCustomDate|close|setRealValue|getDateStr|MD|MM|leftImg|href|toLowerCase|navRightImg|onmousedown||firstDayOfWeek|rightImg|makeInRange|isDate|||testDate||ddateRe|isTime|maxlength|onkeydown|WdateDiv|dpButton|errMsg|btns|span|qsDiv|isShowOK|titleDiv|realDateFmt|My97Mark|elFocus|getElementsByTagName|_fillQS|appendChild|RegExp|getNewDateStr|getWeek|_setAll|_fy|blur|testDay|fp|invalidMenu|align|nbsp|draw|_setFrom|_fMyPos|keyCode|ss|WW|fireEvent|HH|mm|selectionStart|which|win|split|test|_inputBindEvent|_tab|cancelBubble|slice|select|call|pickDate|character|undefined|updownEvent||mStr|getFullYear|getMinutes|getHours|text|getSeconds||isShow||getMonth|bak|initShowAndHide|realTimeFmt|opposite|MTitle|WdayTable|center|right|_dealFmt|ms|xd7|aLongMonStr|doubleCalendar|cloneNode|yearOffset|valign|top|isShowOthers|OPERA|FF|max|isShowClear|isShowToday|aWeekStr|2000|setAttribute|WdateFmtErr|sdayRe|defMinDate|defMaxDate|init|spans|My97DP|title|_makeDateInRange|cal|timeSpan|nodeType|readonly|tE|tm|Event|_ieEmuEventHandler|upButton|downButton|setSelectionRange|moveStart|createTextRange|default|abs|testDisDate||isShowWeek|checkAndUpdate|highLineWeekDay|sdateRe|testSpeDay|testSpeDate|testDisDay|ddayRe|02468|13579|startDate|re|selection|469|newdate|01|13578|02|isNaN|_focus|initBtn|IE|oncleared|func|on|offsetWidth|coverDate|px|target|onpicked|eCont|srcElement|yminputfocus|showDiv|setDate|hidden|Number|oldv|nodeName|ry|initQS|returnValue|rM|quickSel|valueOf|block|window|attachTabEvent|body|sD|autoSize|mD|HD|Function|86400000|createRange|vel|NavImgll|round|dpTitle|typeof|object|link|rel|change|1235679|onchange|NavImgl|substr|1900|skin|MMenu|alwaysUseStartDate|WotherDay|Wtoday|__defineGetter__|HTMLElement|parentNode|Array|WwdayOn|WdayOn|Wwday|Wday|setMonth|__defineSetter__|tB|048|createElement|join|Wselday|addEventListener|01345789|whichDayIsfirstWeek|collapse|dpTime|moveEnd|dpTodayInput|hhMenu|overflow|yMd|changed|dpOkInput|parseInt|dpClearInput|onpicking|dpTimeUp|rowspan|yHms|dpTimeStr|mmMenu|dpControl|dpQS|ssMenu|dpTimeDown|timeStr|clearStr|00|changing|err_1|initEvent|dispatchEvent|alert|todayStr|okStr|YMenu|createEvent|NavImgrr|NavImgr|absolute|position|specialDays|HTMLEvents|specialDates|disabledDates|disabledDays|_fs|ydHmswW|_fm|scrollHeight|quickStr|Hms|stopPropagation|contentWindow|iframe|u2190|96|_fH|getNewP|u2192|onclearing|String|errDealMode|qsEnabled|onfocus|fromCharCode|Time|1000|pointer|cursor|aLongWeekStr|confirm|errAlertMsg|min|_fM|try|textarea|Wweek|enableKeyboard|autoShowQS|WspecialDay|WotherDayOn|WinvalidDay|srcEl|catch|click|offsetLeft|WdayTable2|enableInputMask|WdateDiv2|105|getBoundingClientRect|parent
'
.
split
(
'
|
'
),
0
,{}))
\ No newline at end of file
WebRoot/js/My97DatePicker/config.js
deleted
100644 → 0
View file @
177828ce
var
langList
=
[
{
name
:
'
en
'
,
charset
:
'
UTF-8
'
},
{
name
:
'
zh-cn
'
,
charset
:
'
UTF-8
'
},
{
name
:
'
zh-tw
'
,
charset
:
'
UTF-8
'
}
];
var
skinList
=
[
{
name
:
'
default
'
,
charset
:
'
UTF-8
'
},
{
name
:
'
whyGreen
'
,
charset
:
'
UTF-8
'
}
];
\ No newline at end of file
WebRoot/js/My97DatePicker/lang/en.js
deleted
100644 → 0
View file @
177828ce
var
$lang
=
{
errAlertMsg
:
"
Invalid date or the date out of range,redo or not?
"
,
aWeekStr
:
[
"
wk
"
,
"
Sun
"
,
"
Mon
"
,
"
Tue
"
,
"
Wed
"
,
"
Thu
"
,
"
Fri
"
,
"
Sat
"
],
aLongWeekStr
:[
"
wk
"
,
"
Sunday
"
,
"
Monday
"
,
"
Tuesday
"
,
"
Wednesday
"
,
"
Thursday
"
,
"
Friday
"
,
"
Saturday
"
,
"
Sunday
"
],
aMonStr
:
[
"
Jan
"
,
"
Feb
"
,
"
Mar
"
,
"
Apr
"
,
"
May
"
,
"
Jun
"
,
"
Jul
"
,
"
Aug
"
,
"
Sep
"
,
"
Oct
"
,
"
Nov
"
,
"
Dec
"
],
aLongMonStr
:
[
"
January
"
,
"
February
"
,
"
March
"
,
"
April
"
,
"
May
"
,
"
June
"
,
"
July
"
,
"
August
"
,
"
September
"
,
"
October
"
,
"
November
"
,
"
December
"
],
clearStr
:
"
Clear
"
,
todayStr
:
"
Today
"
,
okStr
:
"
OK
"
,
updateStr
:
"
OK
"
,
timeStr
:
"
Time
"
,
quickStr
:
"
Quick Selection
"
,
err_1
:
'
MinDate Cannot be bigger than MaxDate!
'
}
\ No newline at end of file
WebRoot/js/My97DatePicker/lang/zh-cn.js
deleted
100644 → 0
View file @
177828ce
var
$lang
=
{
errAlertMsg
:
"
\
u4E0D
\
u5408
\
u6CD5
\
u7684
\
u65E5
\
u671F
\
u683C
\
u5F0F
\
u6216
\
u8005
\
u65E5
\
u671F
\
u8D85
\
u51FA
\
u9650
\
u5B9A
\
u8303
\
u56F4,
\
u9700
\
u8981
\
u64A4
\
u9500
\
u5417?
"
,
aWeekStr
:
[
"
\
u5468
"
,
"
\
u65E5
"
,
"
\
u4E00
"
,
"
\
u4E8C
"
,
"
\
u4E09
"
,
"
\
u56DB
"
,
"
\
u4E94
"
,
"
\
u516D
"
],
aLongWeekStr
:[
"
\
u5468
"
,
"
\
u661F
\
u671F
\
u65E5
"
,
"
\
u661F
\
u671F
\
u4E00
"
,
"
\
u661F
\
u671F
\
u4E8C
"
,
"
\
u661F
\
u671F
\
u4E09
"
,
"
\
u661F
\
u671F
\
u56DB
"
,
"
\
u661F
\
u671F
\
u4E94
"
,
"
\
u661F
\
u671F
\
u516D
"
],
aMonStr
:
[
"
\
u4E00
\
u6708
"
,
"
\
u4E8C
\
u6708
"
,
"
\
u4E09
\
u6708
"
,
"
\
u56DB
\
u6708
"
,
"
\
u4E94
\
u6708
"
,
"
\
u516D
\
u6708
"
,
"
\
u4E03
\
u6708
"
,
"
\
u516B
\
u6708
"
,
"
\
u4E5D
\
u6708
"
,
"
\
u5341
\
u6708
"
,
"
\
u5341
\
u4E00
"
,
"
\
u5341
\
u4E8C
"
],
aLongMonStr
:
[
"
\
u4E00
\
u6708
"
,
"
\
u4E8C
\
u6708
"
,
"
\
u4E09
\
u6708
"
,
"
\
u56DB
\
u6708
"
,
"
\
u4E94
\
u6708
"
,
"
\
u516D
\
u6708
"
,
"
\
u4E03
\
u6708
"
,
"
\
u516B
\
u6708
"
,
"
\
u4E5D
\
u6708
"
,
"
\
u5341
\
u6708
"
,
"
\
u5341
\
u4E00
\
u6708
"
,
"
\
u5341
\
u4E8C
\
u6708
"
],
clearStr
:
"
\
u6E05
\
u7A7A
"
,
todayStr
:
"
\
u4ECA
\
u5929
"
,
okStr
:
"
\
u786E
\
u5B9A
"
,
updateStr
:
"
\
u786E
\
u5B9A
"
,
timeStr
:
"
\
u65F6
\
u95F4
"
,
quickStr
:
"
\
u5FEB
\
u901F
\
u9009
\
u62E9
"
,
err_1
:
'
\
u6700
\
u5C0F
\
u65E5
\
u671F
\
u4E0D
\
u80FD
\
u5927
\
u4E8E
\
u6700
\
u5927
\
u65E5
\
u671F!
'
}
\ No newline at end of file
WebRoot/js/My97DatePicker/lang/zh-tw.js
deleted
100644 → 0
View file @
177828ce
var
$lang
=
{
errAlertMsg
:
"
\
u4E0D
\
u5408
\
u6CD5
\
u7684
\
u65E5
\
u671F
\
u683C
\
u5F0F
\
u6216
\
u8005
\
u65E5
\
u671F
\
u8D85
\
u51FA
\
u9650
\
u5B9A
\
u7BC4
\
u570D,
\
u9700
\
u8981
\
u64A4
\
u92B7
\
u55CE?
"
,
aWeekStr
:
[
"
\
u5468
"
,
"
\
u65E5
"
,
"
\
u4E00
"
,
"
\
u4E8C
"
,
"
\
u4E09
"
,
"
\
u56DB
"
,
"
\
u4E94
"
,
"
\
u516D
"
],
aLongWeekStr
:[
"
\
u5468
"
,
"
\
u661F
\
u671F
\
u65E5
"
,
"
\
u661F
\
u671F
\
u4E00
"
,
"
\
u661F
\
u671F
\
u4E8C
"
,
"
\
u661F
\
u671F
\
u4E09
"
,
"
\
u661F
\
u671F
\
u56DB
"
,
"
\
u661F
\
u671F
\
u4E94
"
,
"
\
u661F
\
u671F
\
u516D
"
],
aMonStr
:
[
"
\
u4E00
\
u6708
"
,
"
\
u4E8C
\
u6708
"
,
"
\
u4E09
\
u6708
"
,
"
\
u56DB
\
u6708
"
,
"
\
u4E94
\
u6708
"
,
"
\
u516D
\
u6708
"
,
"
\
u4E03
\
u6708
"
,
"
\
u516B
\
u6708
"
,
"
\
u4E5D
\
u6708
"
,
"
\
u5341
\
u6708
"
,
"
\
u5341
\
u4E00
"
,
"
\
u5341
\
u4E8C
"
],
aLongMonStr
:
[
"
\
u4E00
\
u6708
"
,
"
\
u4E8C
\
u6708
"
,
"
\
u4E09
\
u6708
"
,
"
\
u56DB
\
u6708
"
,
"
\
u4E94
\
u6708
"
,
"
\
u516D
\
u6708
"
,
"
\
u4E03
\
u6708
"
,
"
\
u516B
\
u6708
"
,
"
\
u4E5D
\
u6708
"
,
"
\
u5341
\
u6708
"
,
"
\
u5341
\
u4E00
\
u6708
"
,
"
\
u5341
\
u4E8C
\
u6708
"
],
clearStr
:
"
\
u6E05
\
u7A7A
"
,
todayStr
:
"
\
u4ECA
\
u5929
"
,
okStr
:
"
\
u78BA
\
u5B9A
"
,
updateStr
:
"
\
u78BA
\
u5B9A
"
,
timeStr
:
"
\
u6642
\
u9593
"
,
quickStr
:
"
\
u5FEB
\
u901F
\
u9078
\
u64C7
"
,
err_1
:
'
\
u6700
\
u5C0F
\
u65E5
\
u671F
\
u4E0D
\
u80FD
\
u5927
\
u65BC
\
u6700
\
u5927
\
u65E5
\
u671F!
'
}
\ No newline at end of file
WebRoot/js/My97DatePicker/skin/WdatePicker.css
deleted
100644 → 0
View file @
177828ce
.Wdate
{
border
:
#999
1px
solid
;
height
:
20px
;
background
:
#fff
url(datePicker.gif)
no-repeat
right
;
}
.WdateFmtErr
{
font-weight
:
bold
;
color
:
red
;
}
\ No newline at end of file
WebRoot/js/My97DatePicker/skin/datePicker.gif
deleted
100644 → 0
View file @
177828ce
1.02 KB
WebRoot/js/My97DatePicker/skin/default/datepicker.css
deleted
100644 → 0
View file @
177828ce
/*
* My97 DatePicker 4.7
*/
.WdateDiv
{
width
:
180px
;
background-color
:
#FFFFFF
;
border
:
#bbb
1px
solid
;
padding
:
2px
;
}
.WdateDiv2
{
width
:
360px
;
}
.WdateDiv
*
{
font-size
:
9pt
;}
.WdateDiv
.NavImg
a
{
display
:
block
;
cursor
:
pointer
;
height
:
16px
;
width
:
16px
;
}
.WdateDiv
.NavImgll
a
{
float
:
left
;
background
:
transparent
url(img.gif)
no-repeat
scroll
0
0
;
}
.WdateDiv
.NavImgl
a
{
float
:
left
;
background
:
transparent
url(img.gif)
no-repeat
scroll
-16px
0
;
}
.WdateDiv
.NavImgr
a
{
float
:
right
;
background
:
transparent
url(img.gif)
no-repeat
scroll
-32px
0
;
}
.WdateDiv
.NavImgrr
a
{
float
:
right
;
background
:
transparent
url(img.gif)
no-repeat
scroll
-48px
0
;
}
.WdateDiv
#dpTitle
{
height
:
24px
;
margin-bottom
:
2px
;
padding
:
1px
;
}
.WdateDiv
.yminput
{
margin-top
:
2px
;
text-align
:
center
;
height
:
20px
;
border
:
0px
;
width
:
50px
;
cursor
:
pointer
;
}
.WdateDiv
.yminputfocus
{
margin-top
:
2px
;
text-align
:
center
;
font-weight
:
bold
;
height
:
20px
;
color
:
blue
;
border
:
#ccc
1px
solid
;
width
:
50px
;
}
.WdateDiv
.menuSel
{
z-index
:
1
;
position
:
absolute
;
background-color
:
#FFFFFF
;
border
:
#ccc
1px
solid
;
display
:
none
;
}
.WdateDiv
.menu
{
cursor
:
pointer
;
background-color
:
#fff
;
}
.WdateDiv
.menuOn
{
cursor
:
pointer
;
background-color
:
#BEEBEE
;
}
.WdateDiv
.invalidMenu
{
color
:
#aaa
;
}
.WdateDiv
.YMenu
{
margin-top
:
20px
;
}
.WdateDiv
.MMenu
{
margin-top
:
20px
;
*
width
:
62px
;
}
.WdateDiv
.hhMenu
{
margin-top
:
-90px
;
margin-left
:
26px
;
}
.WdateDiv
.mmMenu
{
margin-top
:
-46px
;
margin-left
:
26px
;
}
.WdateDiv
.ssMenu
{
margin-top
:
-24px
;
margin-left
:
26px
;
}
.WdateDiv
.Wweek
{
text-align
:
center
;
background
:
#DAF3F5
;
border-right
:
#BDEBEE
1px
solid
;
}
.WdateDiv
.MTitle
{
background-color
:
#BDEBEE
;
}
.WdateDiv
.WdayTable2
{
border-collapse
:
collapse
;
border
:
#c5d9e8
1px
solid
;
}
.WdateDiv
.WdayTable2
table
{
border
:
0
;
}
.WdateDiv
.WdayTable
{
line-height
:
20px
;
border
:
#c5d9e8
1px
solid
;
}
.WdateDiv
.WdayTable
td
{
text-align
:
center
;
}
.WdateDiv
.Wday
{
cursor
:
pointer
;
}
.WdateDiv
.WdayOn
{
cursor
:
pointer
;
background-color
:
#C0EBEF
;
}
.WdateDiv
.Wwday
{
cursor
:
pointer
;
color
:
#FF2F2F
;
}
.WdateDiv
.WwdayOn
{
cursor
:
pointer
;
color
:
#000
;
background-color
:
#C0EBEF
;
}
.WdateDiv
.Wtoday
{
cursor
:
pointer
;
color
:
blue
;
}
.WdateDiv
.Wselday
{
background-color
:
#A9E4E9
;
}
.WdateDiv
.WspecialDay
{
background-color
:
#66F4DF
;
}
.WdateDiv
.WotherDay
{
cursor
:
pointer
;
color
:
#6A6AFF
;
}
.WdateDiv
.WotherDayOn
{
cursor
:
pointer
;
background-color
:
#C0EBEF
;
}
.WdateDiv
.WinvalidDay
{
color
:
#aaa
;
}
.WdateDiv
#dpTime
{
float
:
left
;
margin-top
:
3px
;
margin-right
:
30px
;
}
.WdateDiv
#dpTime
#dpTimeStr
{
margin-left
:
1px
;
}
.WdateDiv
#dpTime
input
{
width
:
18px
;
height
:
20px
;
text-align
:
center
;
border
:
#ccc
1px
solid
;
}
.WdateDiv
#dpTime
.tB
{
border-right
:
0px
;
}
.WdateDiv
#dpTime
.tE
{
border-left
:
0
;
border-right
:
0
;
}
.WdateDiv
#dpTime
.tm
{
width
:
7px
;
border-left
:
0
;
border-right
:
0
;
}
.WdateDiv
#dpTime
#dpTimeUp
{
height
:
10px
;
width
:
13px
;
border
:
0px
;
background
:
url(img.gif)
no-repeat
-32px
-16px
;
}
.WdateDiv
#dpTime
#dpTimeDown
{
height
:
10px
;
width
:
13px
;
border
:
0px
;
background
:
url(img.gif)
no-repeat
-48px
-16px
;
}
.WdateDiv
#dpQS
{
float
:
left
;
margin-right
:
3px
;
margin-top
:
3px
;
background
:
url(img.gif)
no-repeat
0px
-16px
;
width
:
20px
;
height
:
20px
;
cursor
:
pointer
;
}
.WdateDiv
#dpControl
{
text-align
:
right
;
}
.WdateDiv
.dpButton
{
height
:
20px
;
width
:
45px
;
border
:
#ccc
1px
solid
;
margin-top
:
2px
;
margin-right
:
1px
;
}
\ No newline at end of file
Prev
1
…
23
24
25
26
27
28
29
30
31
…
50
Next
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment