Skip to content
GitLab
Explore
Projects
Groups
Snippets
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Bootstrap
bootstrap
Commits
2f0f8ec6
Commit
2f0f8ec6
authored
11 years ago
by
XhmikosR
Browse files
Options
Download
Email Patches
Plain Diff
Run `grunt dist`.
parent
45b476bd
5 merge requests
!28721
Hot test
,
!16605
Test pull please ignore
,
!22103
test
,
!25326
Adjust examples
,
!13091
Remove unused javascript
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
dist/js/bootstrap.js
+2
-2
dist/js/bootstrap.js
dist/js/bootstrap.min.js
+1
-1
dist/js/bootstrap.min.js
docs/assets/js/customize.min.js
+1
-1
docs/assets/js/customize.min.js
docs/assets/js/docs.min.js
+1
-1
docs/assets/js/docs.min.js
docs/dist/js/bootstrap.min.js
+1
-1
docs/dist/js/bootstrap.min.js
with
6 additions
and
6 deletions
+6
-6
dist/js/bootstrap.js
+
2
-
2
View file @
2f0f8ec6
...
@@ -1243,7 +1243,6 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
...
@@ -1243,7 +1243,6 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
}
}
Tooltip
.
prototype
.
applyPlacement
=
function
(
offset
,
placement
)
{
Tooltip
.
prototype
.
applyPlacement
=
function
(
offset
,
placement
)
{
var
replace
var
$tip
=
this
.
tip
()
var
$tip
=
this
.
tip
()
var
width
=
$tip
[
0
].
offsetWidth
var
width
=
$tip
[
0
].
offsetWidth
var
height
=
$tip
[
0
].
offsetHeight
var
height
=
$tip
[
0
].
offsetHeight
...
@@ -1626,7 +1625,8 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
...
@@ -1626,7 +1625,8 @@ if (typeof jQuery === 'undefined') { throw new Error('Bootstrap\'s JavaScript re
this
.
targets
=
$
([])
this
.
targets
=
$
([])
var
self
=
this
var
self
=
this
var
$targets
=
this
.
$body
this
.
$body
.
find
(
this
.
selector
)
.
find
(
this
.
selector
)
.
map
(
function
()
{
.
map
(
function
()
{
var
$el
=
$
(
this
)
var
$el
=
$
(
this
)
...
...
This diff is collapsed.
Click to expand it.
dist/js/bootstrap.min.js
+
1
-
1
View file @
2f0f8ec6
...
@@ -3,4 +3,4 @@
...
@@ -3,4 +3,4 @@
* Copyright 2011-2014 Twitter, Inc.
* Copyright 2011-2014 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
*/
if
(
"
undefined
"
==
typeof
jQuery
)
throw
new
Error
(
"
Bootstrap's JavaScript requires jQuery
"
);
+
function
(
a
){
"
use strict
"
;
function
b
(){
var
a
=
document
.
createElement
(
"
bootstrap
"
),
b
=
{
WebkitTransition
:
"
webkitTransitionEnd
"
,
MozTransition
:
"
transitionend
"
,
OTransition
:
"
oTransitionEnd otransitionend
"
,
transition
:
"
transitionend
"
};
for
(
var
c
in
b
)
if
(
void
0
!==
a
.
style
[
c
])
return
{
end
:
b
[
c
]};
return
!
1
}
a
.
fn
.
emulateTransitionEnd
=
function
(
b
){
var
c
=!
1
,
d
=
this
;
a
(
this
).
one
(
a
.
support
.
transition
.
end
,
function
(){
c
=!
0
});
var
e
=
function
(){
c
||
a
(
d
).
trigger
(
a
.
support
.
transition
.
end
)};
return
setTimeout
(
e
,
b
),
this
},
a
(
function
(){
a
.
support
.
transition
=
b
()})}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
var
b
=
'
[data-dismiss="alert"]
'
,
c
=
function
(
c
){
a
(
c
).
on
(
"
click
"
,
b
,
this
.
close
)};
c
.
prototype
.
close
=
function
(
b
){
function
c
(){
f
.
trigger
(
"
closed.bs.alert
"
).
remove
()}
var
d
=
a
(
this
),
e
=
d
.
attr
(
"
data-target
"
);
e
||
(
e
=
d
.
attr
(
"
href
"
),
e
=
e
&&
e
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
""
));
var
f
=
a
(
e
);
b
&&
b
.
preventDefault
(),
f
.
length
||
(
f
=
d
.
hasClass
(
"
alert
"
)?
d
:
d
.
parent
()),
f
.
trigger
(
b
=
a
.
Event
(
"
close.bs.alert
"
)),
b
.
isDefaultPrevented
()
||
(
f
.
removeClass
(
"
in
"
),
a
.
support
.
transition
&&
f
.
hasClass
(
"
fade
"
)?
f
.
one
(
a
.
support
.
transition
.
end
,
c
).
emulateTransitionEnd
(
150
):
c
())};
var
d
=
a
.
fn
.
alert
;
a
.
fn
.
alert
=
function
(
b
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.alert
"
);
e
||
d
.
data
(
"
bs.alert
"
,
e
=
new
c
(
this
)),
"
string
"
==
typeof
b
&&
e
[
b
].
call
(
d
)})},
a
.
fn
.
alert
.
Constructor
=
c
,
a
.
fn
.
alert
.
noConflict
=
function
(){
return
a
.
fn
.
alert
=
d
,
this
},
a
(
document
).
on
(
"
click.bs.alert.data-api
"
,
b
,
c
.
prototype
.
close
)}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
var
b
=
function
(
c
,
d
){
this
.
$element
=
a
(
c
),
this
.
options
=
a
.
extend
({},
b
.
DEFAULTS
,
d
),
this
.
isLoading
=!
1
};
b
.
DEFAULTS
=
{
loadingText
:
"
loading...
"
},
b
.
prototype
.
setState
=
function
(
b
){
var
c
=
"
disabled
"
,
d
=
this
.
$element
,
e
=
d
.
is
(
"
input
"
)?
"
val
"
:
"
html
"
,
f
=
d
.
data
();
b
+=
"
Text
"
,
f
.
resetText
||
d
.
data
(
"
resetText
"
,
d
[
e
]()),
d
[
e
](
f
[
b
]
||
this
.
options
[
b
]),
setTimeout
(
a
.
proxy
(
function
(){
"
loadingText
"
==
b
?(
this
.
isLoading
=!
0
,
d
.
addClass
(
c
).
attr
(
c
,
c
)):
this
.
isLoading
&&
(
this
.
isLoading
=!
1
,
d
.
removeClass
(
c
).
removeAttr
(
c
))},
this
),
0
)},
b
.
prototype
.
toggle
=
function
(){
var
a
=!
0
,
b
=
this
.
$element
.
closest
(
'
[data-toggle="buttons"]
'
);
if
(
b
.
length
){
var
c
=
this
.
$element
.
find
(
"
input
"
);
"
radio
"
==
c
.
prop
(
"
type
"
)
&&
(
c
.
prop
(
"
checked
"
)
&&
this
.
$element
.
hasClass
(
"
active
"
)?
a
=!
1
:
b
.
find
(
"
.active
"
).
removeClass
(
"
active
"
)),
a
&&
c
.
prop
(
"
checked
"
,
!
this
.
$element
.
hasClass
(
"
active
"
)).
trigger
(
"
change
"
)}
a
&&
this
.
$element
.
toggleClass
(
"
active
"
)};
var
c
=
a
.
fn
.
button
;
a
.
fn
.
button
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.button
"
),
f
=
"
object
"
==
typeof
c
&&
c
;
e
||
d
.
data
(
"
bs.button
"
,
e
=
new
b
(
this
,
f
)),
"
toggle
"
==
c
?
e
.
toggle
():
c
&&
e
.
setState
(
c
)})},
a
.
fn
.
button
.
Constructor
=
b
,
a
.
fn
.
button
.
noConflict
=
function
(){
return
a
.
fn
.
button
=
c
,
this
},
a
(
document
).
on
(
"
click.bs.button.data-api
"
,
"
[data-toggle^=button]
"
,
function
(
b
){
var
c
=
a
(
b
.
target
);
c
.
hasClass
(
"
btn
"
)
||
(
c
=
c
.
closest
(
"
.btn
"
)),
c
.
button
(
"
toggle
"
),
b
.
preventDefault
()})}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
var
b
=
function
(
b
,
c
){
this
.
$element
=
a
(
b
),
this
.
$indicators
=
this
.
$element
.
find
(
"
.carousel-indicators
"
),
this
.
options
=
c
,
this
.
paused
=
this
.
sliding
=
this
.
interval
=
this
.
$active
=
this
.
$items
=
null
,
"
hover
"
==
this
.
options
.
pause
&&
this
.
$element
.
on
(
"
mouseenter
"
,
a
.
proxy
(
this
.
pause
,
this
)).
on
(
"
mouseleave
"
,
a
.
proxy
(
this
.
cycle
,
this
))};
b
.
DEFAULTS
=
{
interval
:
5
e3
,
pause
:
"
hover
"
,
wrap
:
!
0
},
b
.
prototype
.
cycle
=
function
(
b
){
return
b
||
(
this
.
paused
=!
1
),
this
.
interval
&&
clearInterval
(
this
.
interval
),
this
.
options
.
interval
&&!
this
.
paused
&&
(
this
.
interval
=
setInterval
(
a
.
proxy
(
this
.
next
,
this
),
this
.
options
.
interval
)),
this
},
b
.
prototype
.
getActiveIndex
=
function
(){
return
this
.
$active
=
this
.
$element
.
find
(
"
.item.active
"
),
this
.
$items
=
this
.
$active
.
parent
().
children
(
"
.item
"
),
this
.
$items
.
index
(
this
.
$active
)},
b
.
prototype
.
to
=
function
(
b
){
var
c
=
this
,
d
=
this
.
getActiveIndex
();
return
b
>
this
.
$items
.
length
-
1
||
0
>
b
?
void
0
:
this
.
sliding
?
this
.
$element
.
one
(
"
slid.bs.carousel
"
,
function
(){
c
.
to
(
b
)}):
d
==
b
?
this
.
pause
().
cycle
():
this
.
slide
(
b
>
d
?
"
next
"
:
"
prev
"
,
a
(
this
.
$items
[
b
]))},
b
.
prototype
.
pause
=
function
(
b
){
return
b
||
(
this
.
paused
=!
0
),
this
.
$element
.
find
(
"
.next, .prev
"
).
length
&&
a
.
support
.
transition
&&
(
this
.
$element
.
trigger
(
a
.
support
.
transition
.
end
),
this
.
cycle
(
!
0
)),
this
.
interval
=
clearInterval
(
this
.
interval
),
this
},
b
.
prototype
.
next
=
function
(){
return
this
.
sliding
?
void
0
:
this
.
slide
(
"
next
"
)},
b
.
prototype
.
prev
=
function
(){
return
this
.
sliding
?
void
0
:
this
.
slide
(
"
prev
"
)},
b
.
prototype
.
slide
=
function
(
b
,
c
){
var
d
=
this
.
$element
.
find
(
"
.item.active
"
),
e
=
c
||
d
[
b
](),
f
=
this
.
interval
,
g
=
"
next
"
==
b
?
"
left
"
:
"
right
"
,
h
=
"
next
"
==
b
?
"
first
"
:
"
last
"
,
i
=
this
;
if
(
!
e
.
length
){
if
(
!
this
.
options
.
wrap
)
return
;
e
=
this
.
$element
.
find
(
"
.item
"
)[
h
]()}
if
(
e
.
hasClass
(
"
active
"
))
return
this
.
sliding
=!
1
;
var
j
=
a
.
Event
(
"
slide.bs.carousel
"
,{
relatedTarget
:
e
[
0
],
direction
:
g
});
return
this
.
$element
.
trigger
(
j
),
j
.
isDefaultPrevented
()?
void
0
:(
this
.
sliding
=!
0
,
f
&&
this
.
pause
(),
this
.
$indicators
.
length
&&
(
this
.
$indicators
.
find
(
"
.active
"
).
removeClass
(
"
active
"
),
this
.
$element
.
one
(
"
slid.bs.carousel
"
,
function
(){
var
b
=
a
(
i
.
$indicators
.
children
()[
i
.
getActiveIndex
()]);
b
&&
b
.
addClass
(
"
active
"
)})),
a
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"
slide
"
)?(
e
.
addClass
(
b
),
e
[
0
].
offsetWidth
,
d
.
addClass
(
g
),
e
.
addClass
(
g
),
d
.
one
(
a
.
support
.
transition
.
end
,
function
(){
e
.
removeClass
([
b
,
g
].
join
(
"
"
)).
addClass
(
"
active
"
),
d
.
removeClass
([
"
active
"
,
g
].
join
(
"
"
)),
i
.
sliding
=!
1
,
setTimeout
(
function
(){
i
.
$element
.
trigger
(
"
slid.bs.carousel
"
)},
0
)}).
emulateTransitionEnd
(
1
e3
*
d
.
css
(
"
transition-duration
"
).
slice
(
0
,
-
1
))):(
d
.
removeClass
(
"
active
"
),
e
.
addClass
(
"
active
"
),
this
.
sliding
=!
1
,
this
.
$element
.
trigger
(
"
slid.bs.carousel
"
)),
f
&&
this
.
cycle
(),
this
)};
var
c
=
a
.
fn
.
carousel
;
a
.
fn
.
carousel
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.carousel
"
),
f
=
a
.
extend
({},
b
.
DEFAULTS
,
d
.
data
(),
"
object
"
==
typeof
c
&&
c
),
g
=
"
string
"
==
typeof
c
?
c
:
f
.
slide
;
e
||
d
.
data
(
"
bs.carousel
"
,
e
=
new
b
(
this
,
f
)),
"
number
"
==
typeof
c
?
e
.
to
(
c
):
g
?
e
[
g
]():
f
.
interval
&&
e
.
pause
().
cycle
()})},
a
.
fn
.
carousel
.
Constructor
=
b
,
a
.
fn
.
carousel
.
noConflict
=
function
(){
return
a
.
fn
.
carousel
=
c
,
this
},
a
(
document
).
on
(
"
click.bs.carousel.data-api
"
,
"
[data-slide], [data-slide-to]
"
,
function
(
b
){
var
c
,
d
=
a
(
this
),
e
=
a
(
d
.
attr
(
"
data-target
"
)
||
(
c
=
d
.
attr
(
"
href
"
))
&&
c
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
)),
f
=
a
.
extend
({},
e
.
data
(),
d
.
data
()),
g
=
d
.
attr
(
"
data-slide-to
"
);
g
&&
(
f
.
interval
=!
1
),
e
.
carousel
(
f
),(
g
=
d
.
attr
(
"
data-slide-to
"
))
&&
e
.
data
(
"
bs.carousel
"
).
to
(
g
),
b
.
preventDefault
()}),
a
(
window
).
on
(
"
load
"
,
function
(){
a
(
'
[data-ride="carousel"]
'
).
each
(
function
(){
var
b
=
a
(
this
);
b
.
carousel
(
b
.
data
())})})}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
var
b
=
function
(
c
,
d
){
this
.
$element
=
a
(
c
),
this
.
options
=
a
.
extend
({},
b
.
DEFAULTS
,
d
),
this
.
transitioning
=
null
,
this
.
options
.
parent
&&
(
this
.
$parent
=
a
(
this
.
options
.
parent
)),
this
.
options
.
toggle
&&
this
.
toggle
()};
b
.
DEFAULTS
=
{
toggle
:
!
0
},
b
.
prototype
.
dimension
=
function
(){
var
a
=
this
.
$element
.
hasClass
(
"
width
"
);
return
a
?
"
width
"
:
"
height
"
},
b
.
prototype
.
show
=
function
(){
if
(
!
this
.
transitioning
&&!
this
.
$element
.
hasClass
(
"
in
"
)){
var
b
=
a
.
Event
(
"
show.bs.collapse
"
);
if
(
this
.
$element
.
trigger
(
b
),
!
b
.
isDefaultPrevented
()){
var
c
=
this
.
$parent
&&
this
.
$parent
.
find
(
"
> .panel > .in
"
);
if
(
c
&&
c
.
length
){
var
d
=
c
.
data
(
"
bs.collapse
"
);
if
(
d
&&
d
.
transitioning
)
return
;
c
.
collapse
(
"
hide
"
),
d
||
c
.
data
(
"
bs.collapse
"
,
null
)}
var
e
=
this
.
dimension
();
this
.
$element
.
removeClass
(
"
collapse
"
).
addClass
(
"
collapsing
"
)[
e
](
0
),
this
.
transitioning
=
1
;
var
f
=
function
(
a
){
a
&&
a
.
target
!=
this
.
$element
[
0
]
||
(
this
.
$element
.
removeClass
(
"
collapsing
"
).
addClass
(
"
collapse in
"
)[
e
](
"
auto
"
),
this
.
transitioning
=
0
,
this
.
$element
.
trigger
(
"
shown.bs.collapse
"
))};
if
(
!
a
.
support
.
transition
)
return
f
.
call
(
this
);
var
g
=
a
.
camelCase
([
"
scroll
"
,
e
].
join
(
"
-
"
));
this
.
$element
.
one
(
a
.
support
.
transition
.
end
,
a
.
proxy
(
f
,
this
)).
emulateTransitionEnd
(
350
)[
e
](
this
.
$element
[
0
][
g
])}}},
b
.
prototype
.
hide
=
function
(){
if
(
!
this
.
transitioning
&&
this
.
$element
.
hasClass
(
"
in
"
)){
var
b
=
a
.
Event
(
"
hide.bs.collapse
"
);
if
(
this
.
$element
.
trigger
(
b
),
!
b
.
isDefaultPrevented
()){
var
c
=
this
.
dimension
();
this
.
$element
[
c
](
this
.
$element
[
c
]())[
0
].
offsetHeight
,
this
.
$element
.
addClass
(
"
collapsing
"
).
removeClass
(
"
collapse
"
).
removeClass
(
"
in
"
),
this
.
transitioning
=
1
;
var
d
=
function
(
a
){
a
&&
a
.
target
!=
this
.
$element
[
0
]
||
(
this
.
transitioning
=
0
,
this
.
$element
.
trigger
(
"
hidden.bs.collapse
"
).
removeClass
(
"
collapsing
"
).
addClass
(
"
collapse
"
))};
return
a
.
support
.
transition
?
void
this
.
$element
[
c
](
0
).
one
(
a
.
support
.
transition
.
end
,
a
.
proxy
(
d
,
this
)).
emulateTransitionEnd
(
350
):
d
.
call
(
this
)}}},
b
.
prototype
.
toggle
=
function
(){
this
[
this
.
$element
.
hasClass
(
"
in
"
)?
"
hide
"
:
"
show
"
]()};
var
c
=
a
.
fn
.
collapse
;
a
.
fn
.
collapse
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.collapse
"
),
f
=
a
.
extend
({},
b
.
DEFAULTS
,
d
.
data
(),
"
object
"
==
typeof
c
&&
c
);
!
e
&&
f
.
toggle
&&
"
show
"
==
c
&&
(
c
=!
c
),
e
||
d
.
data
(
"
bs.collapse
"
,
e
=
new
b
(
this
,
f
)),
"
string
"
==
typeof
c
&&
e
[
c
]()})},
a
.
fn
.
collapse
.
Constructor
=
b
,
a
.
fn
.
collapse
.
noConflict
=
function
(){
return
a
.
fn
.
collapse
=
c
,
this
},
a
(
document
).
on
(
"
click.bs.collapse.data-api
"
,
'
[data-toggle="collapse"]
'
,
function
(
b
){
var
c
,
d
=
a
(
this
),
e
=
d
.
attr
(
"
data-target
"
)
||
b
.
preventDefault
()
||
(
c
=
d
.
attr
(
"
href
"
))
&&
c
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
),
f
=
a
(
e
),
g
=
f
.
data
(
"
bs.collapse
"
),
h
=
g
?
"
toggle
"
:
d
.
data
(),
i
=
d
.
attr
(
"
data-parent
"
),
j
=
i
&&
a
(
i
);
g
&&
g
.
transitioning
||
(
j
&&
j
.
find
(
'
[data-toggle="collapse"][data-parent="
'
+
i
+
'
"]
'
).
not
(
d
).
addClass
(
"
collapsed
"
),
d
[
f
.
hasClass
(
"
in
"
)?
"
addClass
"
:
"
removeClass
"
](
"
collapsed
"
)),
f
.
collapse
(
h
)})}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
function
b
(
b
){
a
(
d
).
remove
(),
a
(
e
).
each
(
function
(){
var
d
=
c
(
a
(
this
)),
e
=
{
relatedTarget
:
this
};
d
.
hasClass
(
"
open
"
)
&&
(
d
.
trigger
(
b
=
a
.
Event
(
"
hide.bs.dropdown
"
,
e
)),
b
.
isDefaultPrevented
()
||
d
.
removeClass
(
"
open
"
).
trigger
(
"
hidden.bs.dropdown
"
,
e
))})}
function
c
(
b
){
var
c
=
b
.
attr
(
"
data-target
"
);
c
||
(
c
=
b
.
attr
(
"
href
"
),
c
=
c
&&
/#
[
A-Za-z
]
/
.
test
(
c
)
&&
c
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
""
));
var
d
=
c
&&
a
(
c
);
return
d
&&
d
.
length
?
d
:
b
.
parent
()}
var
d
=
"
.dropdown-backdrop
"
,
e
=
'
[data-toggle="dropdown"]
'
,
f
=
function
(
b
){
a
(
b
).
on
(
"
click.bs.dropdown
"
,
this
.
toggle
)};
f
.
prototype
.
toggle
=
function
(
d
){
var
e
=
a
(
this
);
if
(
!
e
.
is
(
"
.disabled, :disabled
"
)){
var
f
=
c
(
e
),
g
=
f
.
hasClass
(
"
open
"
);
if
(
b
(),
!
g
){
"
ontouchstart
"
in
document
.
documentElement
&&!
f
.
closest
(
"
.navbar-nav
"
).
length
&&
a
(
'
<div class="dropdown-backdrop"/>
'
).
insertAfter
(
a
(
this
)).
on
(
"
click
"
,
b
);
var
h
=
{
relatedTarget
:
this
};
if
(
f
.
trigger
(
d
=
a
.
Event
(
"
show.bs.dropdown
"
,
h
)),
d
.
isDefaultPrevented
())
return
;
e
.
trigger
(
"
focus
"
),
f
.
toggleClass
(
"
open
"
).
trigger
(
"
shown.bs.dropdown
"
,
h
)}
return
!
1
}},
f
.
prototype
.
keydown
=
function
(
b
){
if
(
/
(
38|40|27
)
/
.
test
(
b
.
keyCode
)){
var
d
=
a
(
this
);
if
(
b
.
preventDefault
(),
b
.
stopPropagation
(),
!
d
.
is
(
"
.disabled, :disabled
"
)){
var
f
=
c
(
d
),
g
=
f
.
hasClass
(
"
open
"
);
if
(
!
g
||
g
&&
27
==
b
.
keyCode
)
return
27
==
b
.
which
&&
f
.
find
(
e
).
trigger
(
"
focus
"
),
d
.
trigger
(
"
click
"
);
var
h
=
"
li:not(.divider):visible a
"
,
i
=
f
.
find
(
'
[role="menu"]
'
+
h
+
'
, [role="listbox"]
'
+
h
);
if
(
i
.
length
){
var
j
=
i
.
index
(
i
.
filter
(
"
:focus
"
));
38
==
b
.
keyCode
&&
j
>
0
&&
j
--
,
40
==
b
.
keyCode
&&
j
<
i
.
length
-
1
&&
j
++
,
~
j
||
(
j
=
0
),
i
.
eq
(
j
).
trigger
(
"
focus
"
)}}}};
var
g
=
a
.
fn
.
dropdown
;
a
.
fn
.
dropdown
=
function
(
b
){
return
this
.
each
(
function
(){
var
c
=
a
(
this
),
d
=
c
.
data
(
"
bs.dropdown
"
);
d
||
c
.
data
(
"
bs.dropdown
"
,
d
=
new
f
(
this
)),
"
string
"
==
typeof
b
&&
d
[
b
].
call
(
c
)})},
a
.
fn
.
dropdown
.
Constructor
=
f
,
a
.
fn
.
dropdown
.
noConflict
=
function
(){
return
a
.
fn
.
dropdown
=
g
,
this
},
a
(
document
).
on
(
"
click.bs.dropdown.data-api
"
,
b
).
on
(
"
click.bs.dropdown.data-api
"
,
"
.dropdown form
"
,
function
(
a
){
a
.
stopPropagation
()}).
on
(
"
click.bs.dropdown.data-api
"
,
e
,
f
.
prototype
.
toggle
).
on
(
"
keydown.bs.dropdown.data-api
"
,
e
+
'
, [role="menu"], [role="listbox"]
'
,
f
.
prototype
.
keydown
)}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
var
b
=
function
(
b
,
c
){
this
.
options
=
c
,
this
.
$body
=
a
(
document
.
body
),
this
.
$element
=
a
(
b
),
this
.
$backdrop
=
this
.
isShown
=
null
,
this
.
scrollbarWidth
=
0
,
this
.
options
.
remote
&&
this
.
$element
.
find
(
"
.modal-content
"
).
load
(
this
.
options
.
remote
,
a
.
proxy
(
function
(){
this
.
$element
.
trigger
(
"
loaded.bs.modal
"
)},
this
))};
b
.
DEFAULTS
=
{
backdrop
:
!
0
,
keyboard
:
!
0
,
show
:
!
0
},
b
.
prototype
.
toggle
=
function
(
a
){
return
this
.
isShown
?
this
.
hide
():
this
.
show
(
a
)},
b
.
prototype
.
show
=
function
(
b
){
var
c
=
this
,
d
=
a
.
Event
(
"
show.bs.modal
"
,{
relatedTarget
:
b
});
this
.
$element
.
trigger
(
d
),
this
.
isShown
||
d
.
isDefaultPrevented
()
||
(
this
.
isShown
=!
0
,
this
.
checkScrollbar
(),
this
.
$body
.
addClass
(
"
modal-open
"
),
this
.
setScrollbar
(),
this
.
escape
(),
this
.
$element
.
on
(
"
click.dismiss.bs.modal
"
,
'
[data-dismiss="modal"]
'
,
a
.
proxy
(
this
.
hide
,
this
)),
this
.
backdrop
(
function
(){
var
d
=
a
.
support
.
transition
&&
c
.
$element
.
hasClass
(
"
fade
"
);
c
.
$element
.
parent
().
length
||
c
.
$element
.
appendTo
(
c
.
$body
),
c
.
$element
.
show
().
scrollTop
(
0
),
d
&&
c
.
$element
[
0
].
offsetWidth
,
c
.
$element
.
addClass
(
"
in
"
).
attr
(
"
aria-hidden
"
,
!
1
),
c
.
enforceFocus
();
var
e
=
a
.
Event
(
"
shown.bs.modal
"
,{
relatedTarget
:
b
});
d
?
c
.
$element
.
find
(
"
.modal-dialog
"
).
one
(
a
.
support
.
transition
.
end
,
function
(){
c
.
$element
.
trigger
(
"
focus
"
).
trigger
(
e
)}).
emulateTransitionEnd
(
300
):
c
.
$element
.
trigger
(
"
focus
"
).
trigger
(
e
)}))},
b
.
prototype
.
hide
=
function
(
b
){
b
&&
b
.
preventDefault
(),
b
=
a
.
Event
(
"
hide.bs.modal
"
),
this
.
$element
.
trigger
(
b
),
this
.
isShown
&&!
b
.
isDefaultPrevented
()
&&
(
this
.
isShown
=!
1
,
this
.
$body
.
removeClass
(
"
modal-open
"
),
this
.
resetScrollbar
(),
this
.
escape
(),
a
(
document
).
off
(
"
focusin.bs.modal
"
),
this
.
$element
.
removeClass
(
"
in
"
).
attr
(
"
aria-hidden
"
,
!
0
).
off
(
"
click.dismiss.bs.modal
"
),
a
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"
fade
"
)?
this
.
$element
.
one
(
a
.
support
.
transition
.
end
,
a
.
proxy
(
this
.
hideModal
,
this
)).
emulateTransitionEnd
(
300
):
this
.
hideModal
())},
b
.
prototype
.
enforceFocus
=
function
(){
a
(
document
).
off
(
"
focusin.bs.modal
"
).
on
(
"
focusin.bs.modal
"
,
a
.
proxy
(
function
(
a
){
this
.
$element
[
0
]
===
a
.
target
||
this
.
$element
.
has
(
a
.
target
).
length
||
this
.
$element
.
trigger
(
"
focus
"
)},
this
))},
b
.
prototype
.
escape
=
function
(){
this
.
isShown
&&
this
.
options
.
keyboard
?
this
.
$element
.
on
(
"
keyup.dismiss.bs.modal
"
,
a
.
proxy
(
function
(
a
){
27
==
a
.
which
&&
this
.
hide
()},
this
)):
this
.
isShown
||
this
.
$element
.
off
(
"
keyup.dismiss.bs.modal
"
)},
b
.
prototype
.
hideModal
=
function
(){
var
a
=
this
;
this
.
$element
.
hide
(),
this
.
backdrop
(
function
(){
a
.
removeBackdrop
(),
a
.
$element
.
trigger
(
"
hidden.bs.modal
"
)})},
b
.
prototype
.
removeBackdrop
=
function
(){
this
.
$backdrop
&&
this
.
$backdrop
.
remove
(),
this
.
$backdrop
=
null
},
b
.
prototype
.
backdrop
=
function
(
b
){
var
c
=
this
.
$element
.
hasClass
(
"
fade
"
)?
"
fade
"
:
""
;
if
(
this
.
isShown
&&
this
.
options
.
backdrop
){
var
d
=
a
.
support
.
transition
&&
c
;
if
(
this
.
$backdrop
=
a
(
'
<div class="modal-backdrop
'
+
c
+
'
" />
'
).
appendTo
(
this
.
$body
),
this
.
$element
.
on
(
"
click.dismiss.bs.modal
"
,
a
.
proxy
(
function
(
a
){
a
.
target
===
a
.
currentTarget
&&
(
"
static
"
==
this
.
options
.
backdrop
?
this
.
$element
[
0
].
focus
.
call
(
this
.
$element
[
0
]):
this
.
hide
.
call
(
this
))},
this
)),
d
&&
this
.
$backdrop
[
0
].
offsetWidth
,
this
.
$backdrop
.
addClass
(
"
in
"
),
!
b
)
return
;
d
?
this
.
$backdrop
.
one
(
a
.
support
.
transition
.
end
,
b
).
emulateTransitionEnd
(
150
):
b
()}
else
!
this
.
isShown
&&
this
.
$backdrop
?(
this
.
$backdrop
.
removeClass
(
"
in
"
),
a
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"
fade
"
)?
this
.
$backdrop
.
one
(
a
.
support
.
transition
.
end
,
b
).
emulateTransitionEnd
(
150
):
b
()):
b
&&
b
()},
b
.
prototype
.
checkScrollbar
=
function
(){
document
.
body
.
clientWidth
>=
window
.
innerWidth
||
(
this
.
scrollbarWidth
=
this
.
scrollbarWidth
||
this
.
measureScrollbar
())},
b
.
prototype
.
setScrollbar
=
function
(){
var
a
=
parseInt
(
this
.
$body
.
css
(
"
padding-right
"
)
||
0
);
this
.
scrollbarWidth
&&
this
.
$body
.
css
(
"
padding-right
"
,
a
+
this
.
scrollbarWidth
)},
b
.
prototype
.
resetScrollbar
=
function
(){
this
.
$body
.
css
(
"
padding-right
"
,
""
)},
b
.
prototype
.
measureScrollbar
=
function
(){
var
a
=
document
.
createElement
(
"
div
"
);
a
.
className
=
"
modal-scrollbar-measure
"
,
this
.
$body
.
append
(
a
);
var
b
=
a
.
offsetWidth
-
a
.
clientWidth
;
return
this
.
$body
[
0
].
removeChild
(
a
),
b
};
var
c
=
a
.
fn
.
modal
;
a
.
fn
.
modal
=
function
(
c
,
d
){
return
this
.
each
(
function
(){
var
e
=
a
(
this
),
f
=
e
.
data
(
"
bs.modal
"
),
g
=
a
.
extend
({},
b
.
DEFAULTS
,
e
.
data
(),
"
object
"
==
typeof
c
&&
c
);
f
||
e
.
data
(
"
bs.modal
"
,
f
=
new
b
(
this
,
g
)),
"
string
"
==
typeof
c
?
f
[
c
](
d
):
g
.
show
&&
f
.
show
(
d
)})},
a
.
fn
.
modal
.
Constructor
=
b
,
a
.
fn
.
modal
.
noConflict
=
function
(){
return
a
.
fn
.
modal
=
c
,
this
},
a
(
document
).
on
(
"
click.bs.modal.data-api
"
,
'
[data-toggle="modal"]
'
,
function
(
b
){
var
c
=
a
(
this
),
d
=
c
.
attr
(
"
href
"
),
e
=
a
(
c
.
attr
(
"
data-target
"
)
||
d
&&
d
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
)),
f
=
e
.
data
(
"
bs.modal
"
)?
"
toggle
"
:
a
.
extend
({
remote
:
!
/#/
.
test
(
d
)
&&
d
},
e
.
data
(),
c
.
data
());
c
.
is
(
"
a
"
)
&&
b
.
preventDefault
(),
e
.
modal
(
f
,
this
).
one
(
"
hide
"
,
function
(){
c
.
is
(
"
:visible
"
)
&&
c
.
trigger
(
"
focus
"
)})})}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
var
b
=
function
(
a
,
b
){
this
.
type
=
this
.
options
=
this
.
enabled
=
this
.
timeout
=
this
.
hoverState
=
this
.
$element
=
null
,
this
.
init
(
"
tooltip
"
,
a
,
b
)};
b
.
DEFAULTS
=
{
animation
:
!
0
,
placement
:
"
top
"
,
selector
:
!
1
,
template
:
'
<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>
'
,
trigger
:
"
hover focus
"
,
title
:
""
,
delay
:
0
,
html
:
!
1
,
container
:
!
1
,
viewport
:{
selector
:
"
body
"
,
padding
:
0
}},
b
.
prototype
.
init
=
function
(
b
,
c
,
d
){
this
.
enabled
=!
0
,
this
.
type
=
b
,
this
.
$element
=
a
(
c
),
this
.
options
=
this
.
getOptions
(
d
),
this
.
$viewport
=
this
.
options
.
viewport
&&
a
(
this
.
options
.
viewport
.
selector
||
this
.
options
.
viewport
);
for
(
var
e
=
this
.
options
.
trigger
.
split
(
"
"
),
f
=
e
.
length
;
f
--
;){
var
g
=
e
[
f
];
if
(
"
click
"
==
g
)
this
.
$element
.
on
(
"
click.
"
+
this
.
type
,
this
.
options
.
selector
,
a
.
proxy
(
this
.
toggle
,
this
));
else
if
(
"
manual
"
!=
g
){
var
h
=
"
hover
"
==
g
?
"
mouseenter
"
:
"
focusin
"
,
i
=
"
hover
"
==
g
?
"
mouseleave
"
:
"
focusout
"
;
this
.
$element
.
on
(
h
+
"
.
"
+
this
.
type
,
this
.
options
.
selector
,
a
.
proxy
(
this
.
enter
,
this
)),
this
.
$element
.
on
(
i
+
"
.
"
+
this
.
type
,
this
.
options
.
selector
,
a
.
proxy
(
this
.
leave
,
this
))}}
this
.
options
.
selector
?
this
.
_options
=
a
.
extend
({},
this
.
options
,{
trigger
:
"
manual
"
,
selector
:
""
}):
this
.
fixTitle
()},
b
.
prototype
.
getDefaults
=
function
(){
return
b
.
DEFAULTS
},
b
.
prototype
.
getOptions
=
function
(
b
){
return
b
=
a
.
extend
({},
this
.
getDefaults
(),
this
.
$element
.
data
(),
b
),
b
.
delay
&&
"
number
"
==
typeof
b
.
delay
&&
(
b
.
delay
=
{
show
:
b
.
delay
,
hide
:
b
.
delay
}),
b
},
b
.
prototype
.
getDelegateOptions
=
function
(){
var
b
=
{},
c
=
this
.
getDefaults
();
return
this
.
_options
&&
a
.
each
(
this
.
_options
,
function
(
a
,
d
){
c
[
a
]
!=
d
&&
(
b
[
a
]
=
d
)}),
b
},
b
.
prototype
.
enter
=
function
(
b
){
var
c
=
b
instanceof
this
.
constructor
?
b
:
a
(
b
.
currentTarget
)[
this
.
type
](
this
.
getDelegateOptions
()).
data
(
"
bs.
"
+
this
.
type
);
return
clearTimeout
(
c
.
timeout
),
c
.
hoverState
=
"
in
"
,
c
.
options
.
delay
&&
c
.
options
.
delay
.
show
?
void
(
c
.
timeout
=
setTimeout
(
function
(){
"
in
"
==
c
.
hoverState
&&
c
.
show
()},
c
.
options
.
delay
.
show
)):
c
.
show
()},
b
.
prototype
.
leave
=
function
(
b
){
var
c
=
b
instanceof
this
.
constructor
?
b
:
a
(
b
.
currentTarget
)[
this
.
type
](
this
.
getDelegateOptions
()).
data
(
"
bs.
"
+
this
.
type
);
return
clearTimeout
(
c
.
timeout
),
c
.
hoverState
=
"
out
"
,
c
.
options
.
delay
&&
c
.
options
.
delay
.
hide
?
void
(
c
.
timeout
=
setTimeout
(
function
(){
"
out
"
==
c
.
hoverState
&&
c
.
hide
()},
c
.
options
.
delay
.
hide
)):
c
.
hide
()},
b
.
prototype
.
show
=
function
(){
var
b
=
a
.
Event
(
"
show.bs.
"
+
this
.
type
);
if
(
this
.
hasContent
()
&&
this
.
enabled
){
if
(
this
.
$element
.
trigger
(
b
),
b
.
isDefaultPrevented
())
return
;
var
c
=
this
,
d
=
this
.
tip
();
this
.
setContent
(),
this
.
options
.
animation
&&
d
.
addClass
(
"
fade
"
);
var
e
=
"
function
"
==
typeof
this
.
options
.
placement
?
this
.
options
.
placement
.
call
(
this
,
d
[
0
],
this
.
$element
[
0
]):
this
.
options
.
placement
,
f
=
/
\s?
auto
?\s?
/i
,
g
=
f
.
test
(
e
);
g
&&
(
e
=
e
.
replace
(
f
,
""
)
||
"
top
"
),
d
.
detach
().
css
({
top
:
0
,
left
:
0
,
display
:
"
block
"
}).
addClass
(
e
),
this
.
options
.
container
?
d
.
appendTo
(
this
.
options
.
container
):
d
.
insertAfter
(
this
.
$element
);
var
h
=
this
.
getPosition
(),
i
=
d
[
0
].
offsetWidth
,
j
=
d
[
0
].
offsetHeight
;
if
(
g
){
var
k
=
e
,
l
=
this
.
$element
.
parent
(),
m
=
this
.
getPosition
(
l
);
e
=
"
bottom
"
==
e
&&
h
.
top
+
h
.
height
+
j
-
m
.
scroll
>
m
.
height
?
"
top
"
:
"
top
"
==
e
&&
h
.
top
-
m
.
scroll
-
j
<
0
?
"
bottom
"
:
"
right
"
==
e
&&
h
.
right
+
i
>
m
.
width
?
"
left
"
:
"
left
"
==
e
&&
h
.
left
-
i
<
m
.
left
?
"
right
"
:
e
,
d
.
removeClass
(
k
).
addClass
(
e
)}
var
n
=
this
.
getCalculatedOffset
(
e
,
h
,
i
,
j
);
this
.
applyPlacement
(
n
,
e
),
this
.
hoverState
=
null
;
var
o
=
function
(){
c
.
$element
.
trigger
(
"
shown.bs.
"
+
c
.
type
)};
a
.
support
.
transition
&&
this
.
$tip
.
hasClass
(
"
fade
"
)?
d
.
one
(
a
.
support
.
transition
.
end
,
o
).
emulateTransitionEnd
(
150
):
o
()}},
b
.
prototype
.
applyPlacement
=
function
(
b
,
c
){
var
d
=
this
.
tip
(),
e
=
d
[
0
].
offsetWidth
,
f
=
d
[
0
].
offsetHeight
,
g
=
parseInt
(
d
.
css
(
"
margin-top
"
),
10
),
h
=
parseInt
(
d
.
css
(
"
margin-left
"
),
10
);
isNaN
(
g
)
&&
(
g
=
0
),
isNaN
(
h
)
&&
(
h
=
0
),
b
.
top
=
b
.
top
+
g
,
b
.
left
=
b
.
left
+
h
,
a
.
offset
.
setOffset
(
d
[
0
],
a
.
extend
({
using
:
function
(
a
){
d
.
css
({
top
:
Math
.
round
(
a
.
top
),
left
:
Math
.
round
(
a
.
left
)})}},
b
),
0
),
d
.
addClass
(
"
in
"
);
var
i
=
d
[
0
].
offsetWidth
,
j
=
d
[
0
].
offsetHeight
;
"
top
"
==
c
&&
j
!=
f
&&
(
b
.
top
=
b
.
top
+
f
-
j
);
var
k
=
this
.
getViewportAdjustedDelta
(
c
,
b
,
i
,
j
);
k
.
left
?
b
.
left
+=
k
.
left
:
b
.
top
+=
k
.
top
;
var
l
=
k
.
left
?
2
*
k
.
left
-
e
+
i
:
2
*
k
.
top
-
f
+
j
,
m
=
k
.
left
?
"
left
"
:
"
top
"
,
n
=
k
.
left
?
"
offsetWidth
"
:
"
offsetHeight
"
;
d
.
offset
(
b
),
this
.
replaceArrow
(
l
,
d
[
0
][
n
],
m
)},
b
.
prototype
.
replaceArrow
=
function
(
a
,
b
,
c
){
this
.
arrow
().
css
(
c
,
a
?
50
*
(
1
-
a
/
b
)
+
"
%
"
:
""
)},
b
.
prototype
.
setContent
=
function
(){
var
a
=
this
.
tip
(),
b
=
this
.
getTitle
();
a
.
find
(
"
.tooltip-inner
"
)[
this
.
options
.
html
?
"
html
"
:
"
text
"
](
b
),
a
.
removeClass
(
"
fade in top bottom left right
"
)},
b
.
prototype
.
hide
=
function
(){
function
b
(){
"
in
"
!=
c
.
hoverState
&&
d
.
detach
(),
c
.
$element
.
trigger
(
"
hidden.bs.
"
+
c
.
type
)}
var
c
=
this
,
d
=
this
.
tip
(),
e
=
a
.
Event
(
"
hide.bs.
"
+
this
.
type
);
return
this
.
$element
.
trigger
(
e
),
e
.
isDefaultPrevented
()?
void
0
:(
d
.
removeClass
(
"
in
"
),
a
.
support
.
transition
&&
this
.
$tip
.
hasClass
(
"
fade
"
)?
d
.
one
(
a
.
support
.
transition
.
end
,
b
).
emulateTransitionEnd
(
150
):
b
(),
this
.
hoverState
=
null
,
this
)},
b
.
prototype
.
fixTitle
=
function
(){
var
a
=
this
.
$element
;(
a
.
attr
(
"
title
"
)
||
"
string
"
!=
typeof
a
.
attr
(
"
data-original-title
"
))
&&
a
.
attr
(
"
data-original-title
"
,
a
.
attr
(
"
title
"
)
||
""
).
attr
(
"
title
"
,
""
)},
b
.
prototype
.
hasContent
=
function
(){
return
this
.
getTitle
()},
b
.
prototype
.
getPosition
=
function
(
b
){
b
=
b
||
this
.
$element
;
var
c
=
b
[
0
],
d
=
"
BODY
"
==
c
.
tagName
;
return
a
.
extend
({},
"
function
"
==
typeof
c
.
getBoundingClientRect
?
c
.
getBoundingClientRect
():
null
,{
scroll
:
d
?
document
.
documentElement
.
scrollTop
||
document
.
body
.
scrollTop
:
b
.
scrollTop
(),
width
:
d
?
a
(
window
).
width
():
b
.
outerWidth
(),
height
:
d
?
a
(
window
).
height
():
b
.
outerHeight
()},
d
?{
top
:
0
,
left
:
0
}:
b
.
offset
())},
b
.
prototype
.
getCalculatedOffset
=
function
(
a
,
b
,
c
,
d
){
return
"
bottom
"
==
a
?{
top
:
b
.
top
+
b
.
height
,
left
:
b
.
left
+
b
.
width
/
2
-
c
/
2
}:
"
top
"
==
a
?{
top
:
b
.
top
-
d
,
left
:
b
.
left
+
b
.
width
/
2
-
c
/
2
}:
"
left
"
==
a
?{
top
:
b
.
top
+
b
.
height
/
2
-
d
/
2
,
left
:
b
.
left
-
c
}:{
top
:
b
.
top
+
b
.
height
/
2
-
d
/
2
,
left
:
b
.
left
+
b
.
width
}},
b
.
prototype
.
getViewportAdjustedDelta
=
function
(
a
,
b
,
c
,
d
){
var
e
=
{
top
:
0
,
left
:
0
};
if
(
!
this
.
$viewport
)
return
e
;
var
f
=
this
.
options
.
viewport
&&
this
.
options
.
viewport
.
padding
||
0
,
g
=
this
.
getPosition
(
this
.
$viewport
);
if
(
/right|left/
.
test
(
a
)){
var
h
=
b
.
top
-
f
-
g
.
scroll
,
i
=
b
.
top
+
f
-
g
.
scroll
+
d
;
h
<
g
.
top
?
e
.
top
=
g
.
top
-
h
:
i
>
g
.
top
+
g
.
height
&&
(
e
.
top
=
g
.
top
+
g
.
height
-
i
)}
else
{
var
j
=
b
.
left
-
f
,
k
=
b
.
left
+
f
+
c
;
j
<
g
.
left
?
e
.
left
=
g
.
left
-
j
:
k
>
g
.
width
&&
(
e
.
left
=
g
.
left
+
g
.
width
-
k
)}
return
e
},
b
.
prototype
.
getTitle
=
function
(){
var
a
,
b
=
this
.
$element
,
c
=
this
.
options
;
return
a
=
b
.
attr
(
"
data-original-title
"
)
||
(
"
function
"
==
typeof
c
.
title
?
c
.
title
.
call
(
b
[
0
]):
c
.
title
)},
b
.
prototype
.
tip
=
function
(){
return
this
.
$tip
=
this
.
$tip
||
a
(
this
.
options
.
template
)},
b
.
prototype
.
arrow
=
function
(){
return
this
.
$arrow
=
this
.
$arrow
||
this
.
tip
().
find
(
"
.tooltip-arrow
"
)},
b
.
prototype
.
validate
=
function
(){
this
.
$element
[
0
].
parentNode
||
(
this
.
hide
(),
this
.
$element
=
null
,
this
.
options
=
null
)},
b
.
prototype
.
enable
=
function
(){
this
.
enabled
=!
0
},
b
.
prototype
.
disable
=
function
(){
this
.
enabled
=!
1
},
b
.
prototype
.
toggleEnabled
=
function
(){
this
.
enabled
=!
this
.
enabled
},
b
.
prototype
.
toggle
=
function
(
b
){
var
c
=
b
?
a
(
b
.
currentTarget
)[
this
.
type
](
this
.
getDelegateOptions
()).
data
(
"
bs.
"
+
this
.
type
):
this
;
c
.
tip
().
hasClass
(
"
in
"
)?
c
.
leave
(
c
):
c
.
enter
(
c
)},
b
.
prototype
.
destroy
=
function
(){
clearTimeout
(
this
.
timeout
),
this
.
hide
().
$element
.
off
(
"
.
"
+
this
.
type
).
removeData
(
"
bs.
"
+
this
.
type
)};
var
c
=
a
.
fn
.
tooltip
;
a
.
fn
.
tooltip
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.tooltip
"
),
f
=
"
object
"
==
typeof
c
&&
c
;(
e
||
"
destroy
"
!=
c
)
&&
(
e
||
d
.
data
(
"
bs.tooltip
"
,
e
=
new
b
(
this
,
f
)),
"
string
"
==
typeof
c
&&
e
[
c
]())})},
a
.
fn
.
tooltip
.
Constructor
=
b
,
a
.
fn
.
tooltip
.
noConflict
=
function
(){
return
a
.
fn
.
tooltip
=
c
,
this
}}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
var
b
=
function
(
a
,
b
){
this
.
init
(
"
popover
"
,
a
,
b
)};
if
(
!
a
.
fn
.
tooltip
)
throw
new
Error
(
"
Popover requires tooltip.js
"
);
b
.
DEFAULTS
=
a
.
extend
({},
a
.
fn
.
tooltip
.
Constructor
.
DEFAULTS
,{
placement
:
"
right
"
,
trigger
:
"
click
"
,
content
:
""
,
template
:
'
<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>
'
}),
b
.
prototype
=
a
.
extend
({},
a
.
fn
.
tooltip
.
Constructor
.
prototype
),
b
.
prototype
.
constructor
=
b
,
b
.
prototype
.
getDefaults
=
function
(){
return
b
.
DEFAULTS
},
b
.
prototype
.
setContent
=
function
(){
var
a
=
this
.
tip
(),
b
=
this
.
getTitle
(),
c
=
this
.
getContent
();
a
.
find
(
"
.popover-title
"
)[
this
.
options
.
html
?
"
html
"
:
"
text
"
](
b
),
a
.
find
(
"
.popover-content
"
).
empty
()[
this
.
options
.
html
?
"
string
"
==
typeof
c
?
"
html
"
:
"
append
"
:
"
text
"
](
c
),
a
.
removeClass
(
"
fade top bottom left right in
"
),
a
.
find
(
"
.popover-title
"
).
html
()
||
a
.
find
(
"
.popover-title
"
).
hide
()},
b
.
prototype
.
hasContent
=
function
(){
return
this
.
getTitle
()
||
this
.
getContent
()},
b
.
prototype
.
getContent
=
function
(){
var
a
=
this
.
$element
,
b
=
this
.
options
;
return
a
.
attr
(
"
data-content
"
)
||
(
"
function
"
==
typeof
b
.
content
?
b
.
content
.
call
(
a
[
0
]):
b
.
content
)},
b
.
prototype
.
arrow
=
function
(){
return
this
.
$arrow
=
this
.
$arrow
||
this
.
tip
().
find
(
"
.arrow
"
)},
b
.
prototype
.
tip
=
function
(){
return
this
.
$tip
||
(
this
.
$tip
=
a
(
this
.
options
.
template
)),
this
.
$tip
};
var
c
=
a
.
fn
.
popover
;
a
.
fn
.
popover
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.popover
"
),
f
=
"
object
"
==
typeof
c
&&
c
;(
e
||
"
destroy
"
!=
c
)
&&
(
e
||
d
.
data
(
"
bs.popover
"
,
e
=
new
b
(
this
,
f
)),
"
string
"
==
typeof
c
&&
e
[
c
]())})},
a
.
fn
.
popover
.
Constructor
=
b
,
a
.
fn
.
popover
.
noConflict
=
function
(){
return
a
.
fn
.
popover
=
c
,
this
}}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
function
b
(
c
,
d
){
var
e
,
f
=
a
.
proxy
(
this
.
process
,
this
);
this
.
$element
=
a
(
a
(
c
).
is
(
"
body
"
)?
window
:
c
),
this
.
$body
=
a
(
"
body
"
),
this
.
$scrollElement
=
this
.
$element
.
on
(
"
scroll.bs.scrollspy
"
,
f
),
this
.
options
=
a
.
extend
({},
b
.
DEFAULTS
,
d
),
this
.
selector
=
(
this
.
options
.
target
||
(
e
=
a
(
c
).
attr
(
"
href
"
))
&&
e
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
)
||
""
)
+
"
.nav li > a
"
,
this
.
offsets
=
a
([]),
this
.
targets
=
a
([]),
this
.
activeTarget
=
null
,
this
.
refresh
(),
this
.
process
()}
b
.
DEFAULTS
=
{
offset
:
10
},
b
.
prototype
.
refresh
=
function
(){
var
b
=
this
.
$element
[
0
]
==
window
?
"
offset
"
:
"
position
"
;
this
.
offsets
=
a
([]),
this
.
targets
=
a
([]);{
var
c
=
this
;
this
.
$body
.
find
(
this
.
selector
).
map
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
target
"
)
||
d
.
attr
(
"
href
"
),
f
=
/^#./
.
test
(
e
)
&&
a
(
e
);
return
f
&&
f
.
length
&&
f
.
is
(
"
:visible
"
)
&&
[[
f
[
b
]().
top
+
(
!
a
.
isWindow
(
c
.
$scrollElement
.
get
(
0
))
&&
c
.
$scrollElement
.
scrollTop
()),
e
]]
||
null
}).
sort
(
function
(
a
,
b
){
return
a
[
0
]
-
b
[
0
]}).
each
(
function
(){
c
.
offsets
.
push
(
this
[
0
]),
c
.
targets
.
push
(
this
[
1
])})}},
b
.
prototype
.
process
=
function
(){
var
a
,
b
=
this
.
$scrollElement
.
scrollTop
()
+
this
.
options
.
offset
,
c
=
this
.
$scrollElement
[
0
].
scrollHeight
||
Math
.
max
(
this
.
$body
[
0
].
scrollHeight
,
document
.
documentElement
.
scrollHeight
),
d
=
c
-
this
.
$scrollElement
.
height
(),
e
=
this
.
offsets
,
f
=
this
.
targets
,
g
=
this
.
activeTarget
;
if
(
b
>=
d
)
return
g
!=
(
a
=
f
.
last
()[
0
])
&&
this
.
activate
(
a
);
if
(
g
&&
b
<=
e
[
0
])
return
g
!=
(
a
=
f
[
0
])
&&
this
.
activate
(
a
);
for
(
a
=
e
.
length
;
a
--
;)
g
!=
f
[
a
]
&&
b
>=
e
[
a
]
&&
(
!
e
[
a
+
1
]
||
b
<=
e
[
a
+
1
])
&&
this
.
activate
(
f
[
a
])},
b
.
prototype
.
activate
=
function
(
b
){
this
.
activeTarget
=
b
,
a
(
this
.
selector
).
parentsUntil
(
this
.
options
.
target
,
"
.active
"
).
removeClass
(
"
active
"
);
var
c
=
this
.
selector
+
'
[data-target="
'
+
b
+
'
"],
'
+
this
.
selector
+
'
[href="
'
+
b
+
'
"]
'
,
d
=
a
(
c
).
parents
(
"
li
"
).
addClass
(
"
active
"
);
d
.
parent
(
"
.dropdown-menu
"
).
length
&&
(
d
=
d
.
closest
(
"
li.dropdown
"
).
addClass
(
"
active
"
)),
d
.
trigger
(
"
activate.bs.scrollspy
"
)};
var
c
=
a
.
fn
.
scrollspy
;
a
.
fn
.
scrollspy
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.scrollspy
"
),
f
=
"
object
"
==
typeof
c
&&
c
;
e
||
d
.
data
(
"
bs.scrollspy
"
,
e
=
new
b
(
this
,
f
)),
"
string
"
==
typeof
c
&&
e
[
c
]()})},
a
.
fn
.
scrollspy
.
Constructor
=
b
,
a
.
fn
.
scrollspy
.
noConflict
=
function
(){
return
a
.
fn
.
scrollspy
=
c
,
this
},
a
(
window
).
on
(
"
load.bs.scrollspy.data-api
"
,
function
(){
a
(
'
[data-spy="scroll"]
'
).
each
(
function
(){
var
b
=
a
(
this
);
b
.
scrollspy
(
b
.
data
())})})}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
var
b
=
function
(
b
){
this
.
element
=
a
(
b
)};
b
.
prototype
.
show
=
function
(){
var
b
=
this
.
element
,
c
=
b
.
closest
(
"
ul:not(.dropdown-menu)
"
),
d
=
b
.
data
(
"
target
"
);
if
(
d
||
(
d
=
b
.
attr
(
"
href
"
),
d
=
d
&&
d
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
""
)),
!
b
.
parent
(
"
li
"
).
hasClass
(
"
active
"
)){
var
e
=
c
.
find
(
"
.active:last a
"
)[
0
],
f
=
a
.
Event
(
"
show.bs.tab
"
,{
relatedTarget
:
e
});
if
(
b
.
trigger
(
f
),
!
f
.
isDefaultPrevented
()){
var
g
=
a
(
d
);
this
.
activate
(
b
.
parent
(
"
li
"
),
c
),
this
.
activate
(
g
,
g
.
parent
(),
function
(){
b
.
trigger
({
type
:
"
shown.bs.tab
"
,
relatedTarget
:
e
})})}}},
b
.
prototype
.
activate
=
function
(
b
,
c
,
d
){
function
e
(){
f
.
removeClass
(
"
active
"
).
find
(
"
> .dropdown-menu > .active
"
).
removeClass
(
"
active
"
),
b
.
addClass
(
"
active
"
),
g
?(
b
[
0
].
offsetWidth
,
b
.
addClass
(
"
in
"
)):
b
.
removeClass
(
"
fade
"
),
b
.
parent
(
"
.dropdown-menu
"
)
&&
b
.
closest
(
"
li.dropdown
"
).
addClass
(
"
active
"
),
d
&&
d
()}
var
f
=
c
.
find
(
"
> .active
"
),
g
=
d
&&
a
.
support
.
transition
&&
f
.
hasClass
(
"
fade
"
);
g
?
f
.
one
(
a
.
support
.
transition
.
end
,
e
).
emulateTransitionEnd
(
150
):
e
(),
f
.
removeClass
(
"
in
"
)};
var
c
=
a
.
fn
.
tab
;
a
.
fn
.
tab
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.tab
"
);
e
||
d
.
data
(
"
bs.tab
"
,
e
=
new
b
(
this
)),
"
string
"
==
typeof
c
&&
e
[
c
]()})},
a
.
fn
.
tab
.
Constructor
=
b
,
a
.
fn
.
tab
.
noConflict
=
function
(){
return
a
.
fn
.
tab
=
c
,
this
},
a
(
document
).
on
(
"
click.bs.tab.data-api
"
,
'
[data-toggle="tab"], [data-toggle="pill"]
'
,
function
(
b
){
b
.
preventDefault
(),
a
(
this
).
tab
(
"
show
"
)})}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
var
b
=
function
(
c
,
d
){
this
.
options
=
a
.
extend
({},
b
.
DEFAULTS
,
d
),
this
.
$window
=
a
(
window
).
on
(
"
scroll.bs.affix.data-api
"
,
a
.
proxy
(
this
.
checkPosition
,
this
)).
on
(
"
click.bs.affix.data-api
"
,
a
.
proxy
(
this
.
checkPositionWithEventLoop
,
this
)),
this
.
$element
=
a
(
c
),
this
.
affixed
=
this
.
unpin
=
this
.
pinnedOffset
=
null
,
this
.
checkPosition
()};
b
.
RESET
=
"
affix affix-top affix-bottom
"
,
b
.
DEFAULTS
=
{
offset
:
0
},
b
.
prototype
.
getPinnedOffset
=
function
(){
if
(
this
.
pinnedOffset
)
return
this
.
pinnedOffset
;
this
.
$element
.
removeClass
(
b
.
RESET
).
addClass
(
"
affix
"
);
var
a
=
this
.
$window
.
scrollTop
(),
c
=
this
.
$element
.
offset
();
return
this
.
pinnedOffset
=
c
.
top
-
a
},
b
.
prototype
.
checkPositionWithEventLoop
=
function
(){
setTimeout
(
a
.
proxy
(
this
.
checkPosition
,
this
),
1
)},
b
.
prototype
.
checkPosition
=
function
(){
if
(
this
.
$element
.
is
(
"
:visible
"
)){
var
c
=
a
(
document
).
height
(),
d
=
this
.
$window
.
scrollTop
(),
e
=
this
.
$element
.
offset
(),
f
=
this
.
options
.
offset
,
g
=
f
.
top
,
h
=
f
.
bottom
;
"
object
"
!=
typeof
f
&&
(
h
=
g
=
f
),
"
function
"
==
typeof
g
&&
(
g
=
f
.
top
(
this
.
$element
)),
"
function
"
==
typeof
h
&&
(
h
=
f
.
bottom
(
this
.
$element
));
var
i
=
null
!=
this
.
unpin
&&
d
+
this
.
unpin
<=
e
.
top
?
!
1
:
null
!=
h
&&
e
.
top
+
this
.
$element
.
height
()
>=
c
-
h
?
"
bottom
"
:
null
!=
g
&&
g
>=
d
?
"
top
"
:
!
1
;
if
(
this
.
affixed
!==
i
){
null
!=
this
.
unpin
&&
this
.
$element
.
css
(
"
top
"
,
""
);
var
j
=
"
affix
"
+
(
i
?
"
-
"
+
i
:
""
),
k
=
a
.
Event
(
j
+
"
.bs.affix
"
);
this
.
$element
.
trigger
(
k
),
k
.
isDefaultPrevented
()
||
(
this
.
affixed
=
i
,
this
.
unpin
=
"
bottom
"
==
i
?
this
.
getPinnedOffset
():
null
,
this
.
$element
.
removeClass
(
b
.
RESET
).
addClass
(
j
).
trigger
(
a
.
Event
(
j
.
replace
(
"
affix
"
,
"
affixed
"
))),
"
bottom
"
==
i
&&
this
.
$element
.
offset
({
top
:
e
.
top
}))}}};
var
c
=
a
.
fn
.
affix
;
a
.
fn
.
affix
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.affix
"
),
f
=
"
object
"
==
typeof
c
&&
c
;
e
||
d
.
data
(
"
bs.affix
"
,
e
=
new
b
(
this
,
f
)),
"
string
"
==
typeof
c
&&
e
[
c
]()})},
a
.
fn
.
affix
.
Constructor
=
b
,
a
.
fn
.
affix
.
noConflict
=
function
(){
return
a
.
fn
.
affix
=
c
,
this
},
a
(
window
).
on
(
"
load
"
,
function
(){
a
(
'
[data-spy="affix"]
'
).
each
(
function
(){
var
b
=
a
(
this
),
c
=
b
.
data
();
c
.
offset
=
c
.
offset
||
{},
c
.
offsetBottom
&&
(
c
.
offset
.
bottom
=
c
.
offsetBottom
),
c
.
offsetTop
&&
(
c
.
offset
.
top
=
c
.
offsetTop
),
b
.
affix
(
c
)})})}(
jQuery
);
if
(
"
undefined
"
==
typeof
jQuery
)
throw
new
Error
(
"
Bootstrap's JavaScript requires jQuery
"
);
+
function
(
a
){
"
use strict
"
;
function
b
(){
var
a
=
document
.
createElement
(
"
bootstrap
"
),
b
=
{
WebkitTransition
:
"
webkitTransitionEnd
"
,
MozTransition
:
"
transitionend
"
,
OTransition
:
"
oTransitionEnd otransitionend
"
,
transition
:
"
transitionend
"
};
for
(
var
c
in
b
)
if
(
void
0
!==
a
.
style
[
c
])
return
{
end
:
b
[
c
]};
return
!
1
}
a
.
fn
.
emulateTransitionEnd
=
function
(
b
){
var
c
=!
1
,
d
=
this
;
a
(
this
).
one
(
a
.
support
.
transition
.
end
,
function
(){
c
=!
0
});
var
e
=
function
(){
c
||
a
(
d
).
trigger
(
a
.
support
.
transition
.
end
)};
return
setTimeout
(
e
,
b
),
this
},
a
(
function
(){
a
.
support
.
transition
=
b
()})}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
var
b
=
'
[data-dismiss="alert"]
'
,
c
=
function
(
c
){
a
(
c
).
on
(
"
click
"
,
b
,
this
.
close
)};
c
.
prototype
.
close
=
function
(
b
){
function
c
(){
f
.
trigger
(
"
closed.bs.alert
"
).
remove
()}
var
d
=
a
(
this
),
e
=
d
.
attr
(
"
data-target
"
);
e
||
(
e
=
d
.
attr
(
"
href
"
),
e
=
e
&&
e
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
""
));
var
f
=
a
(
e
);
b
&&
b
.
preventDefault
(),
f
.
length
||
(
f
=
d
.
hasClass
(
"
alert
"
)?
d
:
d
.
parent
()),
f
.
trigger
(
b
=
a
.
Event
(
"
close.bs.alert
"
)),
b
.
isDefaultPrevented
()
||
(
f
.
removeClass
(
"
in
"
),
a
.
support
.
transition
&&
f
.
hasClass
(
"
fade
"
)?
f
.
one
(
a
.
support
.
transition
.
end
,
c
).
emulateTransitionEnd
(
150
):
c
())};
var
d
=
a
.
fn
.
alert
;
a
.
fn
.
alert
=
function
(
b
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.alert
"
);
e
||
d
.
data
(
"
bs.alert
"
,
e
=
new
c
(
this
)),
"
string
"
==
typeof
b
&&
e
[
b
].
call
(
d
)})},
a
.
fn
.
alert
.
Constructor
=
c
,
a
.
fn
.
alert
.
noConflict
=
function
(){
return
a
.
fn
.
alert
=
d
,
this
},
a
(
document
).
on
(
"
click.bs.alert.data-api
"
,
b
,
c
.
prototype
.
close
)}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
var
b
=
function
(
c
,
d
){
this
.
$element
=
a
(
c
),
this
.
options
=
a
.
extend
({},
b
.
DEFAULTS
,
d
),
this
.
isLoading
=!
1
};
b
.
DEFAULTS
=
{
loadingText
:
"
loading...
"
},
b
.
prototype
.
setState
=
function
(
b
){
var
c
=
"
disabled
"
,
d
=
this
.
$element
,
e
=
d
.
is
(
"
input
"
)?
"
val
"
:
"
html
"
,
f
=
d
.
data
();
b
+=
"
Text
"
,
f
.
resetText
||
d
.
data
(
"
resetText
"
,
d
[
e
]()),
d
[
e
](
f
[
b
]
||
this
.
options
[
b
]),
setTimeout
(
a
.
proxy
(
function
(){
"
loadingText
"
==
b
?(
this
.
isLoading
=!
0
,
d
.
addClass
(
c
).
attr
(
c
,
c
)):
this
.
isLoading
&&
(
this
.
isLoading
=!
1
,
d
.
removeClass
(
c
).
removeAttr
(
c
))},
this
),
0
)},
b
.
prototype
.
toggle
=
function
(){
var
a
=!
0
,
b
=
this
.
$element
.
closest
(
'
[data-toggle="buttons"]
'
);
if
(
b
.
length
){
var
c
=
this
.
$element
.
find
(
"
input
"
);
"
radio
"
==
c
.
prop
(
"
type
"
)
&&
(
c
.
prop
(
"
checked
"
)
&&
this
.
$element
.
hasClass
(
"
active
"
)?
a
=!
1
:
b
.
find
(
"
.active
"
).
removeClass
(
"
active
"
)),
a
&&
c
.
prop
(
"
checked
"
,
!
this
.
$element
.
hasClass
(
"
active
"
)).
trigger
(
"
change
"
)}
a
&&
this
.
$element
.
toggleClass
(
"
active
"
)};
var
c
=
a
.
fn
.
button
;
a
.
fn
.
button
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.button
"
),
f
=
"
object
"
==
typeof
c
&&
c
;
e
||
d
.
data
(
"
bs.button
"
,
e
=
new
b
(
this
,
f
)),
"
toggle
"
==
c
?
e
.
toggle
():
c
&&
e
.
setState
(
c
)})},
a
.
fn
.
button
.
Constructor
=
b
,
a
.
fn
.
button
.
noConflict
=
function
(){
return
a
.
fn
.
button
=
c
,
this
},
a
(
document
).
on
(
"
click.bs.button.data-api
"
,
"
[data-toggle^=button]
"
,
function
(
b
){
var
c
=
a
(
b
.
target
);
c
.
hasClass
(
"
btn
"
)
||
(
c
=
c
.
closest
(
"
.btn
"
)),
c
.
button
(
"
toggle
"
),
b
.
preventDefault
()})}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
var
b
=
function
(
b
,
c
){
this
.
$element
=
a
(
b
),
this
.
$indicators
=
this
.
$element
.
find
(
"
.carousel-indicators
"
),
this
.
options
=
c
,
this
.
paused
=
this
.
sliding
=
this
.
interval
=
this
.
$active
=
this
.
$items
=
null
,
"
hover
"
==
this
.
options
.
pause
&&
this
.
$element
.
on
(
"
mouseenter
"
,
a
.
proxy
(
this
.
pause
,
this
)).
on
(
"
mouseleave
"
,
a
.
proxy
(
this
.
cycle
,
this
))};
b
.
DEFAULTS
=
{
interval
:
5
e3
,
pause
:
"
hover
"
,
wrap
:
!
0
},
b
.
prototype
.
cycle
=
function
(
b
){
return
b
||
(
this
.
paused
=!
1
),
this
.
interval
&&
clearInterval
(
this
.
interval
),
this
.
options
.
interval
&&!
this
.
paused
&&
(
this
.
interval
=
setInterval
(
a
.
proxy
(
this
.
next
,
this
),
this
.
options
.
interval
)),
this
},
b
.
prototype
.
getActiveIndex
=
function
(){
return
this
.
$active
=
this
.
$element
.
find
(
"
.item.active
"
),
this
.
$items
=
this
.
$active
.
parent
().
children
(
"
.item
"
),
this
.
$items
.
index
(
this
.
$active
)},
b
.
prototype
.
to
=
function
(
b
){
var
c
=
this
,
d
=
this
.
getActiveIndex
();
return
b
>
this
.
$items
.
length
-
1
||
0
>
b
?
void
0
:
this
.
sliding
?
this
.
$element
.
one
(
"
slid.bs.carousel
"
,
function
(){
c
.
to
(
b
)}):
d
==
b
?
this
.
pause
().
cycle
():
this
.
slide
(
b
>
d
?
"
next
"
:
"
prev
"
,
a
(
this
.
$items
[
b
]))},
b
.
prototype
.
pause
=
function
(
b
){
return
b
||
(
this
.
paused
=!
0
),
this
.
$element
.
find
(
"
.next, .prev
"
).
length
&&
a
.
support
.
transition
&&
(
this
.
$element
.
trigger
(
a
.
support
.
transition
.
end
),
this
.
cycle
(
!
0
)),
this
.
interval
=
clearInterval
(
this
.
interval
),
this
},
b
.
prototype
.
next
=
function
(){
return
this
.
sliding
?
void
0
:
this
.
slide
(
"
next
"
)},
b
.
prototype
.
prev
=
function
(){
return
this
.
sliding
?
void
0
:
this
.
slide
(
"
prev
"
)},
b
.
prototype
.
slide
=
function
(
b
,
c
){
var
d
=
this
.
$element
.
find
(
"
.item.active
"
),
e
=
c
||
d
[
b
](),
f
=
this
.
interval
,
g
=
"
next
"
==
b
?
"
left
"
:
"
right
"
,
h
=
"
next
"
==
b
?
"
first
"
:
"
last
"
,
i
=
this
;
if
(
!
e
.
length
){
if
(
!
this
.
options
.
wrap
)
return
;
e
=
this
.
$element
.
find
(
"
.item
"
)[
h
]()}
if
(
e
.
hasClass
(
"
active
"
))
return
this
.
sliding
=!
1
;
var
j
=
a
.
Event
(
"
slide.bs.carousel
"
,{
relatedTarget
:
e
[
0
],
direction
:
g
});
return
this
.
$element
.
trigger
(
j
),
j
.
isDefaultPrevented
()?
void
0
:(
this
.
sliding
=!
0
,
f
&&
this
.
pause
(),
this
.
$indicators
.
length
&&
(
this
.
$indicators
.
find
(
"
.active
"
).
removeClass
(
"
active
"
),
this
.
$element
.
one
(
"
slid.bs.carousel
"
,
function
(){
var
b
=
a
(
i
.
$indicators
.
children
()[
i
.
getActiveIndex
()]);
b
&&
b
.
addClass
(
"
active
"
)})),
a
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"
slide
"
)?(
e
.
addClass
(
b
),
e
[
0
].
offsetWidth
,
d
.
addClass
(
g
),
e
.
addClass
(
g
),
d
.
one
(
a
.
support
.
transition
.
end
,
function
(){
e
.
removeClass
([
b
,
g
].
join
(
"
"
)).
addClass
(
"
active
"
),
d
.
removeClass
([
"
active
"
,
g
].
join
(
"
"
)),
i
.
sliding
=!
1
,
setTimeout
(
function
(){
i
.
$element
.
trigger
(
"
slid.bs.carousel
"
)},
0
)}).
emulateTransitionEnd
(
1
e3
*
d
.
css
(
"
transition-duration
"
).
slice
(
0
,
-
1
))):(
d
.
removeClass
(
"
active
"
),
e
.
addClass
(
"
active
"
),
this
.
sliding
=!
1
,
this
.
$element
.
trigger
(
"
slid.bs.carousel
"
)),
f
&&
this
.
cycle
(),
this
)};
var
c
=
a
.
fn
.
carousel
;
a
.
fn
.
carousel
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.carousel
"
),
f
=
a
.
extend
({},
b
.
DEFAULTS
,
d
.
data
(),
"
object
"
==
typeof
c
&&
c
),
g
=
"
string
"
==
typeof
c
?
c
:
f
.
slide
;
e
||
d
.
data
(
"
bs.carousel
"
,
e
=
new
b
(
this
,
f
)),
"
number
"
==
typeof
c
?
e
.
to
(
c
):
g
?
e
[
g
]():
f
.
interval
&&
e
.
pause
().
cycle
()})},
a
.
fn
.
carousel
.
Constructor
=
b
,
a
.
fn
.
carousel
.
noConflict
=
function
(){
return
a
.
fn
.
carousel
=
c
,
this
},
a
(
document
).
on
(
"
click.bs.carousel.data-api
"
,
"
[data-slide], [data-slide-to]
"
,
function
(
b
){
var
c
,
d
=
a
(
this
),
e
=
a
(
d
.
attr
(
"
data-target
"
)
||
(
c
=
d
.
attr
(
"
href
"
))
&&
c
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
)),
f
=
a
.
extend
({},
e
.
data
(),
d
.
data
()),
g
=
d
.
attr
(
"
data-slide-to
"
);
g
&&
(
f
.
interval
=!
1
),
e
.
carousel
(
f
),(
g
=
d
.
attr
(
"
data-slide-to
"
))
&&
e
.
data
(
"
bs.carousel
"
).
to
(
g
),
b
.
preventDefault
()}),
a
(
window
).
on
(
"
load
"
,
function
(){
a
(
'
[data-ride="carousel"]
'
).
each
(
function
(){
var
b
=
a
(
this
);
b
.
carousel
(
b
.
data
())})})}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
var
b
=
function
(
c
,
d
){
this
.
$element
=
a
(
c
),
this
.
options
=
a
.
extend
({},
b
.
DEFAULTS
,
d
),
this
.
transitioning
=
null
,
this
.
options
.
parent
&&
(
this
.
$parent
=
a
(
this
.
options
.
parent
)),
this
.
options
.
toggle
&&
this
.
toggle
()};
b
.
DEFAULTS
=
{
toggle
:
!
0
},
b
.
prototype
.
dimension
=
function
(){
var
a
=
this
.
$element
.
hasClass
(
"
width
"
);
return
a
?
"
width
"
:
"
height
"
},
b
.
prototype
.
show
=
function
(){
if
(
!
this
.
transitioning
&&!
this
.
$element
.
hasClass
(
"
in
"
)){
var
b
=
a
.
Event
(
"
show.bs.collapse
"
);
if
(
this
.
$element
.
trigger
(
b
),
!
b
.
isDefaultPrevented
()){
var
c
=
this
.
$parent
&&
this
.
$parent
.
find
(
"
> .panel > .in
"
);
if
(
c
&&
c
.
length
){
var
d
=
c
.
data
(
"
bs.collapse
"
);
if
(
d
&&
d
.
transitioning
)
return
;
c
.
collapse
(
"
hide
"
),
d
||
c
.
data
(
"
bs.collapse
"
,
null
)}
var
e
=
this
.
dimension
();
this
.
$element
.
removeClass
(
"
collapse
"
).
addClass
(
"
collapsing
"
)[
e
](
0
),
this
.
transitioning
=
1
;
var
f
=
function
(
a
){
a
&&
a
.
target
!=
this
.
$element
[
0
]
||
(
this
.
$element
.
removeClass
(
"
collapsing
"
).
addClass
(
"
collapse in
"
)[
e
](
"
auto
"
),
this
.
transitioning
=
0
,
this
.
$element
.
trigger
(
"
shown.bs.collapse
"
))};
if
(
!
a
.
support
.
transition
)
return
f
.
call
(
this
);
var
g
=
a
.
camelCase
([
"
scroll
"
,
e
].
join
(
"
-
"
));
this
.
$element
.
one
(
a
.
support
.
transition
.
end
,
a
.
proxy
(
f
,
this
)).
emulateTransitionEnd
(
350
)[
e
](
this
.
$element
[
0
][
g
])}}},
b
.
prototype
.
hide
=
function
(){
if
(
!
this
.
transitioning
&&
this
.
$element
.
hasClass
(
"
in
"
)){
var
b
=
a
.
Event
(
"
hide.bs.collapse
"
);
if
(
this
.
$element
.
trigger
(
b
),
!
b
.
isDefaultPrevented
()){
var
c
=
this
.
dimension
();
this
.
$element
[
c
](
this
.
$element
[
c
]())[
0
].
offsetHeight
,
this
.
$element
.
addClass
(
"
collapsing
"
).
removeClass
(
"
collapse
"
).
removeClass
(
"
in
"
),
this
.
transitioning
=
1
;
var
d
=
function
(
a
){
a
&&
a
.
target
!=
this
.
$element
[
0
]
||
(
this
.
transitioning
=
0
,
this
.
$element
.
trigger
(
"
hidden.bs.collapse
"
).
removeClass
(
"
collapsing
"
).
addClass
(
"
collapse
"
))};
return
a
.
support
.
transition
?
void
this
.
$element
[
c
](
0
).
one
(
a
.
support
.
transition
.
end
,
a
.
proxy
(
d
,
this
)).
emulateTransitionEnd
(
350
):
d
.
call
(
this
)}}},
b
.
prototype
.
toggle
=
function
(){
this
[
this
.
$element
.
hasClass
(
"
in
"
)?
"
hide
"
:
"
show
"
]()};
var
c
=
a
.
fn
.
collapse
;
a
.
fn
.
collapse
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.collapse
"
),
f
=
a
.
extend
({},
b
.
DEFAULTS
,
d
.
data
(),
"
object
"
==
typeof
c
&&
c
);
!
e
&&
f
.
toggle
&&
"
show
"
==
c
&&
(
c
=!
c
),
e
||
d
.
data
(
"
bs.collapse
"
,
e
=
new
b
(
this
,
f
)),
"
string
"
==
typeof
c
&&
e
[
c
]()})},
a
.
fn
.
collapse
.
Constructor
=
b
,
a
.
fn
.
collapse
.
noConflict
=
function
(){
return
a
.
fn
.
collapse
=
c
,
this
},
a
(
document
).
on
(
"
click.bs.collapse.data-api
"
,
'
[data-toggle="collapse"]
'
,
function
(
b
){
var
c
,
d
=
a
(
this
),
e
=
d
.
attr
(
"
data-target
"
)
||
b
.
preventDefault
()
||
(
c
=
d
.
attr
(
"
href
"
))
&&
c
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
),
f
=
a
(
e
),
g
=
f
.
data
(
"
bs.collapse
"
),
h
=
g
?
"
toggle
"
:
d
.
data
(),
i
=
d
.
attr
(
"
data-parent
"
),
j
=
i
&&
a
(
i
);
g
&&
g
.
transitioning
||
(
j
&&
j
.
find
(
'
[data-toggle="collapse"][data-parent="
'
+
i
+
'
"]
'
).
not
(
d
).
addClass
(
"
collapsed
"
),
d
[
f
.
hasClass
(
"
in
"
)?
"
addClass
"
:
"
removeClass
"
](
"
collapsed
"
)),
f
.
collapse
(
h
)})}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
function
b
(
b
){
a
(
d
).
remove
(),
a
(
e
).
each
(
function
(){
var
d
=
c
(
a
(
this
)),
e
=
{
relatedTarget
:
this
};
d
.
hasClass
(
"
open
"
)
&&
(
d
.
trigger
(
b
=
a
.
Event
(
"
hide.bs.dropdown
"
,
e
)),
b
.
isDefaultPrevented
()
||
d
.
removeClass
(
"
open
"
).
trigger
(
"
hidden.bs.dropdown
"
,
e
))})}
function
c
(
b
){
var
c
=
b
.
attr
(
"
data-target
"
);
c
||
(
c
=
b
.
attr
(
"
href
"
),
c
=
c
&&
/#
[
A-Za-z
]
/
.
test
(
c
)
&&
c
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
""
));
var
d
=
c
&&
a
(
c
);
return
d
&&
d
.
length
?
d
:
b
.
parent
()}
var
d
=
"
.dropdown-backdrop
"
,
e
=
'
[data-toggle="dropdown"]
'
,
f
=
function
(
b
){
a
(
b
).
on
(
"
click.bs.dropdown
"
,
this
.
toggle
)};
f
.
prototype
.
toggle
=
function
(
d
){
var
e
=
a
(
this
);
if
(
!
e
.
is
(
"
.disabled, :disabled
"
)){
var
f
=
c
(
e
),
g
=
f
.
hasClass
(
"
open
"
);
if
(
b
(),
!
g
){
"
ontouchstart
"
in
document
.
documentElement
&&!
f
.
closest
(
"
.navbar-nav
"
).
length
&&
a
(
'
<div class="dropdown-backdrop"/>
'
).
insertAfter
(
a
(
this
)).
on
(
"
click
"
,
b
);
var
h
=
{
relatedTarget
:
this
};
if
(
f
.
trigger
(
d
=
a
.
Event
(
"
show.bs.dropdown
"
,
h
)),
d
.
isDefaultPrevented
())
return
;
e
.
trigger
(
"
focus
"
),
f
.
toggleClass
(
"
open
"
).
trigger
(
"
shown.bs.dropdown
"
,
h
)}
return
!
1
}},
f
.
prototype
.
keydown
=
function
(
b
){
if
(
/
(
38|40|27
)
/
.
test
(
b
.
keyCode
)){
var
d
=
a
(
this
);
if
(
b
.
preventDefault
(),
b
.
stopPropagation
(),
!
d
.
is
(
"
.disabled, :disabled
"
)){
var
f
=
c
(
d
),
g
=
f
.
hasClass
(
"
open
"
);
if
(
!
g
||
g
&&
27
==
b
.
keyCode
)
return
27
==
b
.
which
&&
f
.
find
(
e
).
trigger
(
"
focus
"
),
d
.
trigger
(
"
click
"
);
var
h
=
"
li:not(.divider):visible a
"
,
i
=
f
.
find
(
'
[role="menu"]
'
+
h
+
'
, [role="listbox"]
'
+
h
);
if
(
i
.
length
){
var
j
=
i
.
index
(
i
.
filter
(
"
:focus
"
));
38
==
b
.
keyCode
&&
j
>
0
&&
j
--
,
40
==
b
.
keyCode
&&
j
<
i
.
length
-
1
&&
j
++
,
~
j
||
(
j
=
0
),
i
.
eq
(
j
).
trigger
(
"
focus
"
)}}}};
var
g
=
a
.
fn
.
dropdown
;
a
.
fn
.
dropdown
=
function
(
b
){
return
this
.
each
(
function
(){
var
c
=
a
(
this
),
d
=
c
.
data
(
"
bs.dropdown
"
);
d
||
c
.
data
(
"
bs.dropdown
"
,
d
=
new
f
(
this
)),
"
string
"
==
typeof
b
&&
d
[
b
].
call
(
c
)})},
a
.
fn
.
dropdown
.
Constructor
=
f
,
a
.
fn
.
dropdown
.
noConflict
=
function
(){
return
a
.
fn
.
dropdown
=
g
,
this
},
a
(
document
).
on
(
"
click.bs.dropdown.data-api
"
,
b
).
on
(
"
click.bs.dropdown.data-api
"
,
"
.dropdown form
"
,
function
(
a
){
a
.
stopPropagation
()}).
on
(
"
click.bs.dropdown.data-api
"
,
e
,
f
.
prototype
.
toggle
).
on
(
"
keydown.bs.dropdown.data-api
"
,
e
+
'
, [role="menu"], [role="listbox"]
'
,
f
.
prototype
.
keydown
)}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
var
b
=
function
(
b
,
c
){
this
.
options
=
c
,
this
.
$body
=
a
(
document
.
body
),
this
.
$element
=
a
(
b
),
this
.
$backdrop
=
this
.
isShown
=
null
,
this
.
scrollbarWidth
=
0
,
this
.
options
.
remote
&&
this
.
$element
.
find
(
"
.modal-content
"
).
load
(
this
.
options
.
remote
,
a
.
proxy
(
function
(){
this
.
$element
.
trigger
(
"
loaded.bs.modal
"
)},
this
))};
b
.
DEFAULTS
=
{
backdrop
:
!
0
,
keyboard
:
!
0
,
show
:
!
0
},
b
.
prototype
.
toggle
=
function
(
a
){
return
this
.
isShown
?
this
.
hide
():
this
.
show
(
a
)},
b
.
prototype
.
show
=
function
(
b
){
var
c
=
this
,
d
=
a
.
Event
(
"
show.bs.modal
"
,{
relatedTarget
:
b
});
this
.
$element
.
trigger
(
d
),
this
.
isShown
||
d
.
isDefaultPrevented
()
||
(
this
.
isShown
=!
0
,
this
.
checkScrollbar
(),
this
.
$body
.
addClass
(
"
modal-open
"
),
this
.
setScrollbar
(),
this
.
escape
(),
this
.
$element
.
on
(
"
click.dismiss.bs.modal
"
,
'
[data-dismiss="modal"]
'
,
a
.
proxy
(
this
.
hide
,
this
)),
this
.
backdrop
(
function
(){
var
d
=
a
.
support
.
transition
&&
c
.
$element
.
hasClass
(
"
fade
"
);
c
.
$element
.
parent
().
length
||
c
.
$element
.
appendTo
(
c
.
$body
),
c
.
$element
.
show
().
scrollTop
(
0
),
d
&&
c
.
$element
[
0
].
offsetWidth
,
c
.
$element
.
addClass
(
"
in
"
).
attr
(
"
aria-hidden
"
,
!
1
),
c
.
enforceFocus
();
var
e
=
a
.
Event
(
"
shown.bs.modal
"
,{
relatedTarget
:
b
});
d
?
c
.
$element
.
find
(
"
.modal-dialog
"
).
one
(
a
.
support
.
transition
.
end
,
function
(){
c
.
$element
.
trigger
(
"
focus
"
).
trigger
(
e
)}).
emulateTransitionEnd
(
300
):
c
.
$element
.
trigger
(
"
focus
"
).
trigger
(
e
)}))},
b
.
prototype
.
hide
=
function
(
b
){
b
&&
b
.
preventDefault
(),
b
=
a
.
Event
(
"
hide.bs.modal
"
),
this
.
$element
.
trigger
(
b
),
this
.
isShown
&&!
b
.
isDefaultPrevented
()
&&
(
this
.
isShown
=!
1
,
this
.
$body
.
removeClass
(
"
modal-open
"
),
this
.
resetScrollbar
(),
this
.
escape
(),
a
(
document
).
off
(
"
focusin.bs.modal
"
),
this
.
$element
.
removeClass
(
"
in
"
).
attr
(
"
aria-hidden
"
,
!
0
).
off
(
"
click.dismiss.bs.modal
"
),
a
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"
fade
"
)?
this
.
$element
.
one
(
a
.
support
.
transition
.
end
,
a
.
proxy
(
this
.
hideModal
,
this
)).
emulateTransitionEnd
(
300
):
this
.
hideModal
())},
b
.
prototype
.
enforceFocus
=
function
(){
a
(
document
).
off
(
"
focusin.bs.modal
"
).
on
(
"
focusin.bs.modal
"
,
a
.
proxy
(
function
(
a
){
this
.
$element
[
0
]
===
a
.
target
||
this
.
$element
.
has
(
a
.
target
).
length
||
this
.
$element
.
trigger
(
"
focus
"
)},
this
))},
b
.
prototype
.
escape
=
function
(){
this
.
isShown
&&
this
.
options
.
keyboard
?
this
.
$element
.
on
(
"
keyup.dismiss.bs.modal
"
,
a
.
proxy
(
function
(
a
){
27
==
a
.
which
&&
this
.
hide
()},
this
)):
this
.
isShown
||
this
.
$element
.
off
(
"
keyup.dismiss.bs.modal
"
)},
b
.
prototype
.
hideModal
=
function
(){
var
a
=
this
;
this
.
$element
.
hide
(),
this
.
backdrop
(
function
(){
a
.
removeBackdrop
(),
a
.
$element
.
trigger
(
"
hidden.bs.modal
"
)})},
b
.
prototype
.
removeBackdrop
=
function
(){
this
.
$backdrop
&&
this
.
$backdrop
.
remove
(),
this
.
$backdrop
=
null
},
b
.
prototype
.
backdrop
=
function
(
b
){
var
c
=
this
.
$element
.
hasClass
(
"
fade
"
)?
"
fade
"
:
""
;
if
(
this
.
isShown
&&
this
.
options
.
backdrop
){
var
d
=
a
.
support
.
transition
&&
c
;
if
(
this
.
$backdrop
=
a
(
'
<div class="modal-backdrop
'
+
c
+
'
" />
'
).
appendTo
(
this
.
$body
),
this
.
$element
.
on
(
"
click.dismiss.bs.modal
"
,
a
.
proxy
(
function
(
a
){
a
.
target
===
a
.
currentTarget
&&
(
"
static
"
==
this
.
options
.
backdrop
?
this
.
$element
[
0
].
focus
.
call
(
this
.
$element
[
0
]):
this
.
hide
.
call
(
this
))},
this
)),
d
&&
this
.
$backdrop
[
0
].
offsetWidth
,
this
.
$backdrop
.
addClass
(
"
in
"
),
!
b
)
return
;
d
?
this
.
$backdrop
.
one
(
a
.
support
.
transition
.
end
,
b
).
emulateTransitionEnd
(
150
):
b
()}
else
!
this
.
isShown
&&
this
.
$backdrop
?(
this
.
$backdrop
.
removeClass
(
"
in
"
),
a
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"
fade
"
)?
this
.
$backdrop
.
one
(
a
.
support
.
transition
.
end
,
b
).
emulateTransitionEnd
(
150
):
b
()):
b
&&
b
()},
b
.
prototype
.
checkScrollbar
=
function
(){
document
.
body
.
clientWidth
>=
window
.
innerWidth
||
(
this
.
scrollbarWidth
=
this
.
scrollbarWidth
||
this
.
measureScrollbar
())},
b
.
prototype
.
setScrollbar
=
function
(){
var
a
=
parseInt
(
this
.
$body
.
css
(
"
padding-right
"
)
||
0
);
this
.
scrollbarWidth
&&
this
.
$body
.
css
(
"
padding-right
"
,
a
+
this
.
scrollbarWidth
)},
b
.
prototype
.
resetScrollbar
=
function
(){
this
.
$body
.
css
(
"
padding-right
"
,
""
)},
b
.
prototype
.
measureScrollbar
=
function
(){
var
a
=
document
.
createElement
(
"
div
"
);
a
.
className
=
"
modal-scrollbar-measure
"
,
this
.
$body
.
append
(
a
);
var
b
=
a
.
offsetWidth
-
a
.
clientWidth
;
return
this
.
$body
[
0
].
removeChild
(
a
),
b
};
var
c
=
a
.
fn
.
modal
;
a
.
fn
.
modal
=
function
(
c
,
d
){
return
this
.
each
(
function
(){
var
e
=
a
(
this
),
f
=
e
.
data
(
"
bs.modal
"
),
g
=
a
.
extend
({},
b
.
DEFAULTS
,
e
.
data
(),
"
object
"
==
typeof
c
&&
c
);
f
||
e
.
data
(
"
bs.modal
"
,
f
=
new
b
(
this
,
g
)),
"
string
"
==
typeof
c
?
f
[
c
](
d
):
g
.
show
&&
f
.
show
(
d
)})},
a
.
fn
.
modal
.
Constructor
=
b
,
a
.
fn
.
modal
.
noConflict
=
function
(){
return
a
.
fn
.
modal
=
c
,
this
},
a
(
document
).
on
(
"
click.bs.modal.data-api
"
,
'
[data-toggle="modal"]
'
,
function
(
b
){
var
c
=
a
(
this
),
d
=
c
.
attr
(
"
href
"
),
e
=
a
(
c
.
attr
(
"
data-target
"
)
||
d
&&
d
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
)),
f
=
e
.
data
(
"
bs.modal
"
)?
"
toggle
"
:
a
.
extend
({
remote
:
!
/#/
.
test
(
d
)
&&
d
},
e
.
data
(),
c
.
data
());
c
.
is
(
"
a
"
)
&&
b
.
preventDefault
(),
e
.
modal
(
f
,
this
).
one
(
"
hide
"
,
function
(){
c
.
is
(
"
:visible
"
)
&&
c
.
trigger
(
"
focus
"
)})})}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
var
b
=
function
(
a
,
b
){
this
.
type
=
this
.
options
=
this
.
enabled
=
this
.
timeout
=
this
.
hoverState
=
this
.
$element
=
null
,
this
.
init
(
"
tooltip
"
,
a
,
b
)};
b
.
DEFAULTS
=
{
animation
:
!
0
,
placement
:
"
top
"
,
selector
:
!
1
,
template
:
'
<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>
'
,
trigger
:
"
hover focus
"
,
title
:
""
,
delay
:
0
,
html
:
!
1
,
container
:
!
1
,
viewport
:{
selector
:
"
body
"
,
padding
:
0
}},
b
.
prototype
.
init
=
function
(
b
,
c
,
d
){
this
.
enabled
=!
0
,
this
.
type
=
b
,
this
.
$element
=
a
(
c
),
this
.
options
=
this
.
getOptions
(
d
),
this
.
$viewport
=
this
.
options
.
viewport
&&
a
(
this
.
options
.
viewport
.
selector
||
this
.
options
.
viewport
);
for
(
var
e
=
this
.
options
.
trigger
.
split
(
"
"
),
f
=
e
.
length
;
f
--
;){
var
g
=
e
[
f
];
if
(
"
click
"
==
g
)
this
.
$element
.
on
(
"
click.
"
+
this
.
type
,
this
.
options
.
selector
,
a
.
proxy
(
this
.
toggle
,
this
));
else
if
(
"
manual
"
!=
g
){
var
h
=
"
hover
"
==
g
?
"
mouseenter
"
:
"
focusin
"
,
i
=
"
hover
"
==
g
?
"
mouseleave
"
:
"
focusout
"
;
this
.
$element
.
on
(
h
+
"
.
"
+
this
.
type
,
this
.
options
.
selector
,
a
.
proxy
(
this
.
enter
,
this
)),
this
.
$element
.
on
(
i
+
"
.
"
+
this
.
type
,
this
.
options
.
selector
,
a
.
proxy
(
this
.
leave
,
this
))}}
this
.
options
.
selector
?
this
.
_options
=
a
.
extend
({},
this
.
options
,{
trigger
:
"
manual
"
,
selector
:
""
}):
this
.
fixTitle
()},
b
.
prototype
.
getDefaults
=
function
(){
return
b
.
DEFAULTS
},
b
.
prototype
.
getOptions
=
function
(
b
){
return
b
=
a
.
extend
({},
this
.
getDefaults
(),
this
.
$element
.
data
(),
b
),
b
.
delay
&&
"
number
"
==
typeof
b
.
delay
&&
(
b
.
delay
=
{
show
:
b
.
delay
,
hide
:
b
.
delay
}),
b
},
b
.
prototype
.
getDelegateOptions
=
function
(){
var
b
=
{},
c
=
this
.
getDefaults
();
return
this
.
_options
&&
a
.
each
(
this
.
_options
,
function
(
a
,
d
){
c
[
a
]
!=
d
&&
(
b
[
a
]
=
d
)}),
b
},
b
.
prototype
.
enter
=
function
(
b
){
var
c
=
b
instanceof
this
.
constructor
?
b
:
a
(
b
.
currentTarget
)[
this
.
type
](
this
.
getDelegateOptions
()).
data
(
"
bs.
"
+
this
.
type
);
return
clearTimeout
(
c
.
timeout
),
c
.
hoverState
=
"
in
"
,
c
.
options
.
delay
&&
c
.
options
.
delay
.
show
?
void
(
c
.
timeout
=
setTimeout
(
function
(){
"
in
"
==
c
.
hoverState
&&
c
.
show
()},
c
.
options
.
delay
.
show
)):
c
.
show
()},
b
.
prototype
.
leave
=
function
(
b
){
var
c
=
b
instanceof
this
.
constructor
?
b
:
a
(
b
.
currentTarget
)[
this
.
type
](
this
.
getDelegateOptions
()).
data
(
"
bs.
"
+
this
.
type
);
return
clearTimeout
(
c
.
timeout
),
c
.
hoverState
=
"
out
"
,
c
.
options
.
delay
&&
c
.
options
.
delay
.
hide
?
void
(
c
.
timeout
=
setTimeout
(
function
(){
"
out
"
==
c
.
hoverState
&&
c
.
hide
()},
c
.
options
.
delay
.
hide
)):
c
.
hide
()},
b
.
prototype
.
show
=
function
(){
var
b
=
a
.
Event
(
"
show.bs.
"
+
this
.
type
);
if
(
this
.
hasContent
()
&&
this
.
enabled
){
if
(
this
.
$element
.
trigger
(
b
),
b
.
isDefaultPrevented
())
return
;
var
c
=
this
,
d
=
this
.
tip
();
this
.
setContent
(),
this
.
options
.
animation
&&
d
.
addClass
(
"
fade
"
);
var
e
=
"
function
"
==
typeof
this
.
options
.
placement
?
this
.
options
.
placement
.
call
(
this
,
d
[
0
],
this
.
$element
[
0
]):
this
.
options
.
placement
,
f
=
/
\s?
auto
?\s?
/i
,
g
=
f
.
test
(
e
);
g
&&
(
e
=
e
.
replace
(
f
,
""
)
||
"
top
"
),
d
.
detach
().
css
({
top
:
0
,
left
:
0
,
display
:
"
block
"
}).
addClass
(
e
),
this
.
options
.
container
?
d
.
appendTo
(
this
.
options
.
container
):
d
.
insertAfter
(
this
.
$element
);
var
h
=
this
.
getPosition
(),
i
=
d
[
0
].
offsetWidth
,
j
=
d
[
0
].
offsetHeight
;
if
(
g
){
var
k
=
e
,
l
=
this
.
$element
.
parent
(),
m
=
this
.
getPosition
(
l
);
e
=
"
bottom
"
==
e
&&
h
.
top
+
h
.
height
+
j
-
m
.
scroll
>
m
.
height
?
"
top
"
:
"
top
"
==
e
&&
h
.
top
-
m
.
scroll
-
j
<
0
?
"
bottom
"
:
"
right
"
==
e
&&
h
.
right
+
i
>
m
.
width
?
"
left
"
:
"
left
"
==
e
&&
h
.
left
-
i
<
m
.
left
?
"
right
"
:
e
,
d
.
removeClass
(
k
).
addClass
(
e
)}
var
n
=
this
.
getCalculatedOffset
(
e
,
h
,
i
,
j
);
this
.
applyPlacement
(
n
,
e
),
this
.
hoverState
=
null
;
var
o
=
function
(){
c
.
$element
.
trigger
(
"
shown.bs.
"
+
c
.
type
)};
a
.
support
.
transition
&&
this
.
$tip
.
hasClass
(
"
fade
"
)?
d
.
one
(
a
.
support
.
transition
.
end
,
o
).
emulateTransitionEnd
(
150
):
o
()}},
b
.
prototype
.
applyPlacement
=
function
(
b
,
c
){
var
d
=
this
.
tip
(),
e
=
d
[
0
].
offsetWidth
,
f
=
d
[
0
].
offsetHeight
,
g
=
parseInt
(
d
.
css
(
"
margin-top
"
),
10
),
h
=
parseInt
(
d
.
css
(
"
margin-left
"
),
10
);
isNaN
(
g
)
&&
(
g
=
0
),
isNaN
(
h
)
&&
(
h
=
0
),
b
.
top
=
b
.
top
+
g
,
b
.
left
=
b
.
left
+
h
,
a
.
offset
.
setOffset
(
d
[
0
],
a
.
extend
({
using
:
function
(
a
){
d
.
css
({
top
:
Math
.
round
(
a
.
top
),
left
:
Math
.
round
(
a
.
left
)})}},
b
),
0
),
d
.
addClass
(
"
in
"
);
var
i
=
d
[
0
].
offsetWidth
,
j
=
d
[
0
].
offsetHeight
;
"
top
"
==
c
&&
j
!=
f
&&
(
b
.
top
=
b
.
top
+
f
-
j
);
var
k
=
this
.
getViewportAdjustedDelta
(
c
,
b
,
i
,
j
);
k
.
left
?
b
.
left
+=
k
.
left
:
b
.
top
+=
k
.
top
;
var
l
=
k
.
left
?
2
*
k
.
left
-
e
+
i
:
2
*
k
.
top
-
f
+
j
,
m
=
k
.
left
?
"
left
"
:
"
top
"
,
n
=
k
.
left
?
"
offsetWidth
"
:
"
offsetHeight
"
;
d
.
offset
(
b
),
this
.
replaceArrow
(
l
,
d
[
0
][
n
],
m
)},
b
.
prototype
.
replaceArrow
=
function
(
a
,
b
,
c
){
this
.
arrow
().
css
(
c
,
a
?
50
*
(
1
-
a
/
b
)
+
"
%
"
:
""
)},
b
.
prototype
.
setContent
=
function
(){
var
a
=
this
.
tip
(),
b
=
this
.
getTitle
();
a
.
find
(
"
.tooltip-inner
"
)[
this
.
options
.
html
?
"
html
"
:
"
text
"
](
b
),
a
.
removeClass
(
"
fade in top bottom left right
"
)},
b
.
prototype
.
hide
=
function
(){
function
b
(){
"
in
"
!=
c
.
hoverState
&&
d
.
detach
(),
c
.
$element
.
trigger
(
"
hidden.bs.
"
+
c
.
type
)}
var
c
=
this
,
d
=
this
.
tip
(),
e
=
a
.
Event
(
"
hide.bs.
"
+
this
.
type
);
return
this
.
$element
.
trigger
(
e
),
e
.
isDefaultPrevented
()?
void
0
:(
d
.
removeClass
(
"
in
"
),
a
.
support
.
transition
&&
this
.
$tip
.
hasClass
(
"
fade
"
)?
d
.
one
(
a
.
support
.
transition
.
end
,
b
).
emulateTransitionEnd
(
150
):
b
(),
this
.
hoverState
=
null
,
this
)},
b
.
prototype
.
fixTitle
=
function
(){
var
a
=
this
.
$element
;(
a
.
attr
(
"
title
"
)
||
"
string
"
!=
typeof
a
.
attr
(
"
data-original-title
"
))
&&
a
.
attr
(
"
data-original-title
"
,
a
.
attr
(
"
title
"
)
||
""
).
attr
(
"
title
"
,
""
)},
b
.
prototype
.
hasContent
=
function
(){
return
this
.
getTitle
()},
b
.
prototype
.
getPosition
=
function
(
b
){
b
=
b
||
this
.
$element
;
var
c
=
b
[
0
],
d
=
"
BODY
"
==
c
.
tagName
;
return
a
.
extend
({},
"
function
"
==
typeof
c
.
getBoundingClientRect
?
c
.
getBoundingClientRect
():
null
,{
scroll
:
d
?
document
.
documentElement
.
scrollTop
||
document
.
body
.
scrollTop
:
b
.
scrollTop
(),
width
:
d
?
a
(
window
).
width
():
b
.
outerWidth
(),
height
:
d
?
a
(
window
).
height
():
b
.
outerHeight
()},
d
?{
top
:
0
,
left
:
0
}:
b
.
offset
())},
b
.
prototype
.
getCalculatedOffset
=
function
(
a
,
b
,
c
,
d
){
return
"
bottom
"
==
a
?{
top
:
b
.
top
+
b
.
height
,
left
:
b
.
left
+
b
.
width
/
2
-
c
/
2
}:
"
top
"
==
a
?{
top
:
b
.
top
-
d
,
left
:
b
.
left
+
b
.
width
/
2
-
c
/
2
}:
"
left
"
==
a
?{
top
:
b
.
top
+
b
.
height
/
2
-
d
/
2
,
left
:
b
.
left
-
c
}:{
top
:
b
.
top
+
b
.
height
/
2
-
d
/
2
,
left
:
b
.
left
+
b
.
width
}},
b
.
prototype
.
getViewportAdjustedDelta
=
function
(
a
,
b
,
c
,
d
){
var
e
=
{
top
:
0
,
left
:
0
};
if
(
!
this
.
$viewport
)
return
e
;
var
f
=
this
.
options
.
viewport
&&
this
.
options
.
viewport
.
padding
||
0
,
g
=
this
.
getPosition
(
this
.
$viewport
);
if
(
/right|left/
.
test
(
a
)){
var
h
=
b
.
top
-
f
-
g
.
scroll
,
i
=
b
.
top
+
f
-
g
.
scroll
+
d
;
h
<
g
.
top
?
e
.
top
=
g
.
top
-
h
:
i
>
g
.
top
+
g
.
height
&&
(
e
.
top
=
g
.
top
+
g
.
height
-
i
)}
else
{
var
j
=
b
.
left
-
f
,
k
=
b
.
left
+
f
+
c
;
j
<
g
.
left
?
e
.
left
=
g
.
left
-
j
:
k
>
g
.
width
&&
(
e
.
left
=
g
.
left
+
g
.
width
-
k
)}
return
e
},
b
.
prototype
.
getTitle
=
function
(){
var
a
,
b
=
this
.
$element
,
c
=
this
.
options
;
return
a
=
b
.
attr
(
"
data-original-title
"
)
||
(
"
function
"
==
typeof
c
.
title
?
c
.
title
.
call
(
b
[
0
]):
c
.
title
)},
b
.
prototype
.
tip
=
function
(){
return
this
.
$tip
=
this
.
$tip
||
a
(
this
.
options
.
template
)},
b
.
prototype
.
arrow
=
function
(){
return
this
.
$arrow
=
this
.
$arrow
||
this
.
tip
().
find
(
"
.tooltip-arrow
"
)},
b
.
prototype
.
validate
=
function
(){
this
.
$element
[
0
].
parentNode
||
(
this
.
hide
(),
this
.
$element
=
null
,
this
.
options
=
null
)},
b
.
prototype
.
enable
=
function
(){
this
.
enabled
=!
0
},
b
.
prototype
.
disable
=
function
(){
this
.
enabled
=!
1
},
b
.
prototype
.
toggleEnabled
=
function
(){
this
.
enabled
=!
this
.
enabled
},
b
.
prototype
.
toggle
=
function
(
b
){
var
c
=
b
?
a
(
b
.
currentTarget
)[
this
.
type
](
this
.
getDelegateOptions
()).
data
(
"
bs.
"
+
this
.
type
):
this
;
c
.
tip
().
hasClass
(
"
in
"
)?
c
.
leave
(
c
):
c
.
enter
(
c
)},
b
.
prototype
.
destroy
=
function
(){
clearTimeout
(
this
.
timeout
),
this
.
hide
().
$element
.
off
(
"
.
"
+
this
.
type
).
removeData
(
"
bs.
"
+
this
.
type
)};
var
c
=
a
.
fn
.
tooltip
;
a
.
fn
.
tooltip
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.tooltip
"
),
f
=
"
object
"
==
typeof
c
&&
c
;(
e
||
"
destroy
"
!=
c
)
&&
(
e
||
d
.
data
(
"
bs.tooltip
"
,
e
=
new
b
(
this
,
f
)),
"
string
"
==
typeof
c
&&
e
[
c
]())})},
a
.
fn
.
tooltip
.
Constructor
=
b
,
a
.
fn
.
tooltip
.
noConflict
=
function
(){
return
a
.
fn
.
tooltip
=
c
,
this
}}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
var
b
=
function
(
a
,
b
){
this
.
init
(
"
popover
"
,
a
,
b
)};
if
(
!
a
.
fn
.
tooltip
)
throw
new
Error
(
"
Popover requires tooltip.js
"
);
b
.
DEFAULTS
=
a
.
extend
({},
a
.
fn
.
tooltip
.
Constructor
.
DEFAULTS
,{
placement
:
"
right
"
,
trigger
:
"
click
"
,
content
:
""
,
template
:
'
<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>
'
}),
b
.
prototype
=
a
.
extend
({},
a
.
fn
.
tooltip
.
Constructor
.
prototype
),
b
.
prototype
.
constructor
=
b
,
b
.
prototype
.
getDefaults
=
function
(){
return
b
.
DEFAULTS
},
b
.
prototype
.
setContent
=
function
(){
var
a
=
this
.
tip
(),
b
=
this
.
getTitle
(),
c
=
this
.
getContent
();
a
.
find
(
"
.popover-title
"
)[
this
.
options
.
html
?
"
html
"
:
"
text
"
](
b
),
a
.
find
(
"
.popover-content
"
).
empty
()[
this
.
options
.
html
?
"
string
"
==
typeof
c
?
"
html
"
:
"
append
"
:
"
text
"
](
c
),
a
.
removeClass
(
"
fade top bottom left right in
"
),
a
.
find
(
"
.popover-title
"
).
html
()
||
a
.
find
(
"
.popover-title
"
).
hide
()},
b
.
prototype
.
hasContent
=
function
(){
return
this
.
getTitle
()
||
this
.
getContent
()},
b
.
prototype
.
getContent
=
function
(){
var
a
=
this
.
$element
,
b
=
this
.
options
;
return
a
.
attr
(
"
data-content
"
)
||
(
"
function
"
==
typeof
b
.
content
?
b
.
content
.
call
(
a
[
0
]):
b
.
content
)},
b
.
prototype
.
arrow
=
function
(){
return
this
.
$arrow
=
this
.
$arrow
||
this
.
tip
().
find
(
"
.arrow
"
)},
b
.
prototype
.
tip
=
function
(){
return
this
.
$tip
||
(
this
.
$tip
=
a
(
this
.
options
.
template
)),
this
.
$tip
};
var
c
=
a
.
fn
.
popover
;
a
.
fn
.
popover
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.popover
"
),
f
=
"
object
"
==
typeof
c
&&
c
;(
e
||
"
destroy
"
!=
c
)
&&
(
e
||
d
.
data
(
"
bs.popover
"
,
e
=
new
b
(
this
,
f
)),
"
string
"
==
typeof
c
&&
e
[
c
]())})},
a
.
fn
.
popover
.
Constructor
=
b
,
a
.
fn
.
popover
.
noConflict
=
function
(){
return
a
.
fn
.
popover
=
c
,
this
}}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
function
b
(
c
,
d
){
var
e
,
f
=
a
.
proxy
(
this
.
process
,
this
);
this
.
$element
=
a
(
a
(
c
).
is
(
"
body
"
)?
window
:
c
),
this
.
$body
=
a
(
"
body
"
),
this
.
$scrollElement
=
this
.
$element
.
on
(
"
scroll.bs.scrollspy
"
,
f
),
this
.
options
=
a
.
extend
({},
b
.
DEFAULTS
,
d
),
this
.
selector
=
(
this
.
options
.
target
||
(
e
=
a
(
c
).
attr
(
"
href
"
))
&&
e
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
)
||
""
)
+
"
.nav li > a
"
,
this
.
offsets
=
a
([]),
this
.
targets
=
a
([]),
this
.
activeTarget
=
null
,
this
.
refresh
(),
this
.
process
()}
b
.
DEFAULTS
=
{
offset
:
10
},
b
.
prototype
.
refresh
=
function
(){
var
b
=
this
.
$element
[
0
]
==
window
?
"
offset
"
:
"
position
"
;
this
.
offsets
=
a
([]),
this
.
targets
=
a
([]);
var
c
=
this
;
this
.
$body
.
find
(
this
.
selector
).
map
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
target
"
)
||
d
.
attr
(
"
href
"
),
f
=
/^#./
.
test
(
e
)
&&
a
(
e
);
return
f
&&
f
.
length
&&
f
.
is
(
"
:visible
"
)
&&
[[
f
[
b
]().
top
+
(
!
a
.
isWindow
(
c
.
$scrollElement
.
get
(
0
))
&&
c
.
$scrollElement
.
scrollTop
()),
e
]]
||
null
}).
sort
(
function
(
a
,
b
){
return
a
[
0
]
-
b
[
0
]}).
each
(
function
(){
c
.
offsets
.
push
(
this
[
0
]),
c
.
targets
.
push
(
this
[
1
])})},
b
.
prototype
.
process
=
function
(){
var
a
,
b
=
this
.
$scrollElement
.
scrollTop
()
+
this
.
options
.
offset
,
c
=
this
.
$scrollElement
[
0
].
scrollHeight
||
Math
.
max
(
this
.
$body
[
0
].
scrollHeight
,
document
.
documentElement
.
scrollHeight
),
d
=
c
-
this
.
$scrollElement
.
height
(),
e
=
this
.
offsets
,
f
=
this
.
targets
,
g
=
this
.
activeTarget
;
if
(
b
>=
d
)
return
g
!=
(
a
=
f
.
last
()[
0
])
&&
this
.
activate
(
a
);
if
(
g
&&
b
<=
e
[
0
])
return
g
!=
(
a
=
f
[
0
])
&&
this
.
activate
(
a
);
for
(
a
=
e
.
length
;
a
--
;)
g
!=
f
[
a
]
&&
b
>=
e
[
a
]
&&
(
!
e
[
a
+
1
]
||
b
<=
e
[
a
+
1
])
&&
this
.
activate
(
f
[
a
])},
b
.
prototype
.
activate
=
function
(
b
){
this
.
activeTarget
=
b
,
a
(
this
.
selector
).
parentsUntil
(
this
.
options
.
target
,
"
.active
"
).
removeClass
(
"
active
"
);
var
c
=
this
.
selector
+
'
[data-target="
'
+
b
+
'
"],
'
+
this
.
selector
+
'
[href="
'
+
b
+
'
"]
'
,
d
=
a
(
c
).
parents
(
"
li
"
).
addClass
(
"
active
"
);
d
.
parent
(
"
.dropdown-menu
"
).
length
&&
(
d
=
d
.
closest
(
"
li.dropdown
"
).
addClass
(
"
active
"
)),
d
.
trigger
(
"
activate.bs.scrollspy
"
)};
var
c
=
a
.
fn
.
scrollspy
;
a
.
fn
.
scrollspy
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.scrollspy
"
),
f
=
"
object
"
==
typeof
c
&&
c
;
e
||
d
.
data
(
"
bs.scrollspy
"
,
e
=
new
b
(
this
,
f
)),
"
string
"
==
typeof
c
&&
e
[
c
]()})},
a
.
fn
.
scrollspy
.
Constructor
=
b
,
a
.
fn
.
scrollspy
.
noConflict
=
function
(){
return
a
.
fn
.
scrollspy
=
c
,
this
},
a
(
window
).
on
(
"
load.bs.scrollspy.data-api
"
,
function
(){
a
(
'
[data-spy="scroll"]
'
).
each
(
function
(){
var
b
=
a
(
this
);
b
.
scrollspy
(
b
.
data
())})})}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
var
b
=
function
(
b
){
this
.
element
=
a
(
b
)};
b
.
prototype
.
show
=
function
(){
var
b
=
this
.
element
,
c
=
b
.
closest
(
"
ul:not(.dropdown-menu)
"
),
d
=
b
.
data
(
"
target
"
);
if
(
d
||
(
d
=
b
.
attr
(
"
href
"
),
d
=
d
&&
d
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
""
)),
!
b
.
parent
(
"
li
"
).
hasClass
(
"
active
"
)){
var
e
=
c
.
find
(
"
.active:last a
"
)[
0
],
f
=
a
.
Event
(
"
show.bs.tab
"
,{
relatedTarget
:
e
});
if
(
b
.
trigger
(
f
),
!
f
.
isDefaultPrevented
()){
var
g
=
a
(
d
);
this
.
activate
(
b
.
parent
(
"
li
"
),
c
),
this
.
activate
(
g
,
g
.
parent
(),
function
(){
b
.
trigger
({
type
:
"
shown.bs.tab
"
,
relatedTarget
:
e
})})}}},
b
.
prototype
.
activate
=
function
(
b
,
c
,
d
){
function
e
(){
f
.
removeClass
(
"
active
"
).
find
(
"
> .dropdown-menu > .active
"
).
removeClass
(
"
active
"
),
b
.
addClass
(
"
active
"
),
g
?(
b
[
0
].
offsetWidth
,
b
.
addClass
(
"
in
"
)):
b
.
removeClass
(
"
fade
"
),
b
.
parent
(
"
.dropdown-menu
"
)
&&
b
.
closest
(
"
li.dropdown
"
).
addClass
(
"
active
"
),
d
&&
d
()}
var
f
=
c
.
find
(
"
> .active
"
),
g
=
d
&&
a
.
support
.
transition
&&
f
.
hasClass
(
"
fade
"
);
g
?
f
.
one
(
a
.
support
.
transition
.
end
,
e
).
emulateTransitionEnd
(
150
):
e
(),
f
.
removeClass
(
"
in
"
)};
var
c
=
a
.
fn
.
tab
;
a
.
fn
.
tab
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.tab
"
);
e
||
d
.
data
(
"
bs.tab
"
,
e
=
new
b
(
this
)),
"
string
"
==
typeof
c
&&
e
[
c
]()})},
a
.
fn
.
tab
.
Constructor
=
b
,
a
.
fn
.
tab
.
noConflict
=
function
(){
return
a
.
fn
.
tab
=
c
,
this
},
a
(
document
).
on
(
"
click.bs.tab.data-api
"
,
'
[data-toggle="tab"], [data-toggle="pill"]
'
,
function
(
b
){
b
.
preventDefault
(),
a
(
this
).
tab
(
"
show
"
)})}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
var
b
=
function
(
c
,
d
){
this
.
options
=
a
.
extend
({},
b
.
DEFAULTS
,
d
),
this
.
$window
=
a
(
window
).
on
(
"
scroll.bs.affix.data-api
"
,
a
.
proxy
(
this
.
checkPosition
,
this
)).
on
(
"
click.bs.affix.data-api
"
,
a
.
proxy
(
this
.
checkPositionWithEventLoop
,
this
)),
this
.
$element
=
a
(
c
),
this
.
affixed
=
this
.
unpin
=
this
.
pinnedOffset
=
null
,
this
.
checkPosition
()};
b
.
RESET
=
"
affix affix-top affix-bottom
"
,
b
.
DEFAULTS
=
{
offset
:
0
},
b
.
prototype
.
getPinnedOffset
=
function
(){
if
(
this
.
pinnedOffset
)
return
this
.
pinnedOffset
;
this
.
$element
.
removeClass
(
b
.
RESET
).
addClass
(
"
affix
"
);
var
a
=
this
.
$window
.
scrollTop
(),
c
=
this
.
$element
.
offset
();
return
this
.
pinnedOffset
=
c
.
top
-
a
},
b
.
prototype
.
checkPositionWithEventLoop
=
function
(){
setTimeout
(
a
.
proxy
(
this
.
checkPosition
,
this
),
1
)},
b
.
prototype
.
checkPosition
=
function
(){
if
(
this
.
$element
.
is
(
"
:visible
"
)){
var
c
=
a
(
document
).
height
(),
d
=
this
.
$window
.
scrollTop
(),
e
=
this
.
$element
.
offset
(),
f
=
this
.
options
.
offset
,
g
=
f
.
top
,
h
=
f
.
bottom
;
"
object
"
!=
typeof
f
&&
(
h
=
g
=
f
),
"
function
"
==
typeof
g
&&
(
g
=
f
.
top
(
this
.
$element
)),
"
function
"
==
typeof
h
&&
(
h
=
f
.
bottom
(
this
.
$element
));
var
i
=
null
!=
this
.
unpin
&&
d
+
this
.
unpin
<=
e
.
top
?
!
1
:
null
!=
h
&&
e
.
top
+
this
.
$element
.
height
()
>=
c
-
h
?
"
bottom
"
:
null
!=
g
&&
g
>=
d
?
"
top
"
:
!
1
;
if
(
this
.
affixed
!==
i
){
null
!=
this
.
unpin
&&
this
.
$element
.
css
(
"
top
"
,
""
);
var
j
=
"
affix
"
+
(
i
?
"
-
"
+
i
:
""
),
k
=
a
.
Event
(
j
+
"
.bs.affix
"
);
this
.
$element
.
trigger
(
k
),
k
.
isDefaultPrevented
()
||
(
this
.
affixed
=
i
,
this
.
unpin
=
"
bottom
"
==
i
?
this
.
getPinnedOffset
():
null
,
this
.
$element
.
removeClass
(
b
.
RESET
).
addClass
(
j
).
trigger
(
a
.
Event
(
j
.
replace
(
"
affix
"
,
"
affixed
"
))),
"
bottom
"
==
i
&&
this
.
$element
.
offset
({
top
:
e
.
top
}))}}};
var
c
=
a
.
fn
.
affix
;
a
.
fn
.
affix
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.affix
"
),
f
=
"
object
"
==
typeof
c
&&
c
;
e
||
d
.
data
(
"
bs.affix
"
,
e
=
new
b
(
this
,
f
)),
"
string
"
==
typeof
c
&&
e
[
c
]()})},
a
.
fn
.
affix
.
Constructor
=
b
,
a
.
fn
.
affix
.
noConflict
=
function
(){
return
a
.
fn
.
affix
=
c
,
this
},
a
(
window
).
on
(
"
load
"
,
function
(){
a
(
'
[data-spy="affix"]
'
).
each
(
function
(){
var
b
=
a
(
this
),
c
=
b
.
data
();
c
.
offset
=
c
.
offset
||
{},
c
.
offsetBottom
&&
(
c
.
offset
.
bottom
=
c
.
offsetBottom
),
c
.
offsetTop
&&
(
c
.
offset
.
top
=
c
.
offsetTop
),
b
.
affix
(
c
)})})}(
jQuery
);
\ No newline at end of file
\ No newline at end of file
This diff is collapsed.
Click to expand it.
docs/assets/js/customize.min.js
+
1
-
1
View file @
2f0f8ec6
...
@@ -52,4 +52,4 @@ var __js={"affix.js":"/* =======================================================
...
@@ -52,4 +52,4 @@ var __js={"affix.js":"/* =======================================================
* Licensed under the Creative Commons Attribution 3.0 Unported License. For
* Licensed under the Creative Commons Attribution 3.0 Unported License. For
* details, see http://creativecommons.org/licenses/by/3.0/.
* details, see http://creativecommons.org/licenses/by/3.0/.
*/
*/
window.onload=function(){function a(a,b){throw $('<div id="bsCustomizerAlert" class="bs-customizer-alert"><div class="container"><a href="#bsCustomizerAlert" data-dismiss="alert" class="close pull-right">×</a><p class="bs-customizer-alert-text"><span class="glyphicon glyphicon-warning-sign"></span>'+a+"</p>"+(b.extract?'<pre class="bs-customizer-alert-extract">'+b.extract.join("\n")+"</pre>":"")+"</div></div>").appendTo("body").alert(),b}function b(a,b){var c=$('<div class="bs-callout bs-callout-danger"><h4>Attention!</h4><p>'+a+"</p></div>");b?c.appendTo(".bs-docs-container"):c.insertAfter(".bs-customize-download")}function c(a){a=a.replace(/[*+?^$.\[\]{}()|\\\/]/g,"\\$&");var b=location.search.match(new RegExp("[?&]"+a+"=([^&]+)(&|$)"));return b&&decodeURIComponent(b[1].replace(/\+/g," "))}function d(b,c){var d={description:"Bootstrap Customizer Config","public":!0,files:{"config.json":{content:b}}};$.ajax({url:"https://api.github.com/gists",type:"POST",dataType:"json",data:JSON.stringify(d)}).success(function(a){var b=window.location.protocol+"//"+window.location.host,d=b+window.location.pathname+"?id="+a.id;history.replaceState(!1,document.title,d),c(a.html_url,d)}).error(function(b){try{a("<strong>Ruh roh!</strong> Could not save gist file, configuration not saved.",b)}catch(d){}c("<none>","<none>")})}function e(){var a={};$("#less-variables-section input").each(function(){$(this).val()&&(a[$(this).prev().text()]=$(this).val())});var b={vars:a,css:$("#less-section input:checked").map(function(){return this.value}).toArray(),js:$("#plugin-section input:checked").map(function(){return this.value}).toArray()};if(!$.isEmptyObject(b.vars)||b.css.length||b.js.length)return b}function f(){var b=c("id");b&&$.ajax({url:"https://api.github.com/gists/"+b,type:"GET",dataType:"json"}).success(function(a){var b=JSON.parse(a.files["config.json"].content);if(b.js&&$("#plugin-section input").each(function(){$(this).prop("checked",~$.inArray(this.value,b.js))}),b.css&&$("#less-section input").each(function(){$(this).prop("checked",~$.inArray(this.value,b.css))}),b.vars)for(var c in b.vars)$('input[data-var="'+c+'"]').val(b.vars[c])}).error(function(b){a("Error fetching bootstrap config file",b)})}function g(b,c,d,e,f){if(!b&&!c)return a("<strong>Ruh roh!</strong> No Bootstrap files selected.",new Error("no Bootstrap"));var g=new JSZip;if(b){var h=g.folder("css");for(var i in b)h.file(i,b[i])}if(c){var j=g.folder("js");for(var k in c)j.file(k,c[k])}if(d){var l=g.folder("fonts");for(var m in d)l.file(m,d[m],{base64:!0})}e&&g.file("config.json",e);var n=g.generate({type:"blob"});f(n)}function h(a){var b="";for(var c in a)b+=c+": "+a[c]+";\n";return b+"\n\n"}function i(){var a=$('#less-section [value="glyphicons.less"]:checked');return a.length?__fonts:void 0}function j(a){var b=/^@import \"(.*?)\";$/,c=__less[a].split("\n"),d=[];return $.each(c,function(a,c){var e=b.exec(c);if(e){var f=e[1],g=j(f);$.each(g,function(a,b){-1===$.inArray(b,d)&&d.push(b)}),d.push(f)}}),d}function k(a,b,c){var d=__less[a],e=j(a);return $.each(e,function(a,e){var f=b[e];(f||null==f)&&(d+=__less[e]),"variables.less"===e&&c&&(d+=h(c))}),d=d.replace(/@import[^\n]*/gi,"")}function l(b,c,d){new less.Parser({paths:["variables.less","mixins.less"],optimization:0,filename:c+".css"}).parse(b,function(b,e){return b?a("<strong>Ruh roh!</strong> Could not parse less files.",b):(d[c+".css"]=o+e.toCSS(),void(d[c+".min.css"]=o+e.toCSS({compress:!0})))})}function m(b){var c=!1,d={};if($("#less-section input").each(function(){var a=$(this),b=a.is(":checked");d[a.val()]=b,c=c||b}),!c)return!1;var e={},f={};$("#less-variables-section input").each(function(){$(this).val()&&(f[$(this).prev().text()]=$(this).val())});var g=b+k("bootstrap.less",d,f),h=b+k("theme.less",d,f);try{l(g,"bootstrap",e),l(h,"bootstrap-theme",e)}catch(i){return a("<strong>Ruh roh!</strong> Could not parse less files.",i)}return e}function n(a){var b=$("#plugin-section input:checked");if(!b.length)return!1;var c=b.map(function(){return __js[this.value]}).toArray().join("\n");return{"bootstrap.js":a+c,"bootstrap.min.js":a+o+uglify(c)}}var o="/*!\n * Bootstrap v3.1.1 (http://getbootstrap.com)\n * Copyright 2011-2014 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n",p=$("#less-section input"),q=$("#plugin-section input"),r=$("#less-variables-section input");$("#less-section .toggle").on("click",function(a){a.preventDefault(),p.prop("checked",!p.is(":checked"))}),$("#plugin-section .toggle").on("click",function(a){a.preventDefault(),q.prop("checked",!q.is(":checked"))}),$("#less-variables-section .toggle").on("click",function(a){a.preventDefault(),r.val("")}),$("[data-dependencies]").on("click",function(){if($(this).is(":checked")){var a=this.getAttribute("data-dependencies");if(a){a=a.split(",");for(var b=0;b<a.length;b++){var c=$('[value="'+a[b]+'"]');c&&c.prop("checked",!0)}}}}),$("[data-dependents]").on("click",function(){if(!$(this).is(":checked")){var a=this.getAttribute("data-dependents");if(a){a=a.split(",");for(var b=0;b<a.length;b++){var c=$('[value="'+a[b]+'"]');c&&c.prop("checked",!1)}}}});{var s=$("#btn-compile");$("#btn-download")}s.on("click",function(a){var b=e(),c=JSON.stringify(b,null,2);a.preventDefault(),s.attr("disabled","disabled"),d(c,function(a,d){b.customizerUrl=d,c=JSON.stringify(b,null,2);var e="/*!\n * Generated using the Bootstrap Customizer ("+d+")\n * Config saved to config.json and "+a+"\n */\n";g(m(e),n(e),i(),c,function(a){s.removeAttr("disabled"),saveAs(a,"bootstrap.zip")})})}),function(){function a(){$(".bs-docs-section, .bs-docs-sidebar").css("display","none"),b('Looks like your current browser doesn\'t support the Bootstrap Customizer. Please take a second to <a href="http://browsehappy.com/">upgrade to a more modern browser</a> (other than Safari).',!0)}var c=window.webkitURL||window.URL,d=new Blob(["<svg xmlns='http://www.w3.org/2000/svg'></svg>"],{type:"image/svg+xml;charset=utf-8"}),e=c.createObjectURL(d);null===/^blob:/.exec(e)?a():$("<img>").on("load",function(){s.prop("disabled",!1)}).on("error",a).attr("src",e)}(),f()};
window.onload=function(){function a(a,b){throw $('<div id="bsCustomizerAlert" class="bs-customizer-alert"><div class="container"><a href="#bsCustomizerAlert" data-dismiss="alert" class="close pull-right">×</a><p class="bs-customizer-alert-text"><span class="glyphicon glyphicon-warning-sign"></span>'+a+"</p>"+(b.extract?'<pre class="bs-customizer-alert-extract">'+b.extract.join("\n")+"</pre>":"")+"</div></div>").appendTo("body").alert(),b}function b(a,b){var c=$('<div class="bs-callout bs-callout-danger"><h4>Attention!</h4><p>'+a+"</p></div>");b?c.appendTo(".bs-docs-container"):c.insertAfter(".bs-customize-download")}function c(a){a=a.replace(/[*+?^$.\[\]{}()|\\\/]/g,"\\$&");var b=location.search.match(new RegExp("[?&]"+a+"=([^&]+)(&|$)"));return b&&decodeURIComponent(b[1].replace(/\+/g," "))}function d(b,c){var d={description:"Bootstrap Customizer Config","public":!0,files:{"config.json":{content:b}}};$.ajax({url:"https://api.github.com/gists",type:"POST",dataType:"json",data:JSON.stringify(d)}).success(function(a){var b=window.location.protocol+"//"+window.location.host,d=b+window.location.pathname+"?id="+a.id;history.replaceState(!1,document.title,d),c(a.html_url,d)}).error(function(b){try{a("<strong>Ruh roh!</strong> Could not save gist file, configuration not saved.",b)}catch(d){}c("<none>","<none>")})}function e(){var a={};$("#less-variables-section input").each(function(){$(this).val()&&(a[$(this).prev().text()]=$(this).val())});var b={vars:a,css:$("#less-section input:checked").map(function(){return this.value}).toArray(),js:$("#plugin-section input:checked").map(function(){return this.value}).toArray()};if(!$.isEmptyObject(b.vars)||b.css.length||b.js.length)return b}function f(){var b=c("id");b&&$.ajax({url:"https://api.github.com/gists/"+b,type:"GET",dataType:"json"}).success(function(a){var b=JSON.parse(a.files["config.json"].content);if(b.js&&$("#plugin-section input").each(function(){$(this).prop("checked",~$.inArray(this.value,b.js))}),b.css&&$("#less-section input").each(function(){$(this).prop("checked",~$.inArray(this.value,b.css))}),b.vars)for(var c in b.vars)$('input[data-var="'+c+'"]').val(b.vars[c])}).error(function(b){a("Error fetching bootstrap config file",b)})}function g(b,c,d,e,f){if(!b&&!c)return a("<strong>Ruh roh!</strong> No Bootstrap files selected.",new Error("no Bootstrap"));var g=new JSZip;if(b){var h=g.folder("css");for(var i in b)h.file(i,b[i])}if(c){var j=g.folder("js");for(var k in c)j.file(k,c[k])}if(d){var l=g.folder("fonts");for(var m in d)l.file(m,d[m],{base64:!0})}e&&g.file("config.json",e);var n=g.generate({type:"blob"});f(n)}function h(a){var b="";for(var c in a)b+=c+": "+a[c]+";\n";return b+"\n\n"}function i(){var a=$('#less-section [value="glyphicons.less"]:checked');return a.length?__fonts:void 0}function j(a){var b=/^@import \"(.*?)\";$/,c=__less[a].split("\n"),d=[];return $.each(c,function(a,c){var e=b.exec(c);if(e){var f=e[1],g=j(f);$.each(g,function(a,b){-1===$.inArray(b,d)&&d.push(b)}),d.push(f)}}),d}function k(a,b,c){var d=__less[a],e=j(a);return $.each(e,function(a,e){var f=b[e];(f||null==f)&&(d+=__less[e]),"variables.less"===e&&c&&(d+=h(c))}),d=d.replace(/@import[^\n]*/gi,"")}function l(b,c,d){var e=new less.Parser({paths:["variables.less","mixins.less"],optimization:0,filename:c+".css"});e.parse(b,function(b,e){return b?a("<strong>Ruh roh!</strong> Could not parse less files.",b):(d[c+".css"]=o+e.toCSS(),void(d[c+".min.css"]=o+e.toCSS({compress:!0})))})}function m(b){var c=!1,d={};if($("#less-section input").each(function(){var a=$(this),b=a.is(":checked");d[a.val()]=b,c=c||b}),!c)return!1;var e={},f={};$("#less-variables-section input").each(function(){$(this).val()&&(f[$(this).prev().text()]=$(this).val())});var g=b+k("bootstrap.less",d,f),h=b+k("theme.less",d,f);try{l(g,"bootstrap",e),l(h,"bootstrap-theme",e)}catch(i){return a("<strong>Ruh roh!</strong> Could not parse less files.",i)}return e}function n(a){var b=$("#plugin-section input:checked");if(!b.length)return!1;var c=b.map(function(){return __js[this.value]}).toArray().join("\n");return{"bootstrap.js":a+c,"bootstrap.min.js":a+o+uglify(c)}}var o="/*!\n * Bootstrap v3.1.1 (http://getbootstrap.com)\n * Copyright 2011-2014 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n",p=$("#less-section input"),q=$("#plugin-section input"),r=$("#less-variables-section input");$("#less-section .toggle").on("click",function(a){a.preventDefault(),p.prop("checked",!p.is(":checked"))}),$("#plugin-section .toggle").on("click",function(a){a.preventDefault(),q.prop("checked",!q.is(":checked"))}),$("#less-variables-section .toggle").on("click",function(a){a.preventDefault(),r.val("")}),$("[data-dependencies]").on("click",function(){if($(this).is(":checked")){var a=this.getAttribute("data-dependencies");if(a){a=a.split(",");for(var b=0;b<a.length;b++){var c=$('[value="'+a[b]+'"]');c&&c.prop("checked",!0)}}}}),$("[data-dependents]").on("click",function(){if(!$(this).is(":checked")){var a=this.getAttribute("data-dependents");if(a){a=a.split(",");for(var b=0;b<a.length;b++){var c=$('[value="'+a[b]+'"]');c&&c.prop("checked",!1)}}}});var s=$("#btn-compile");s.on("click",function(a){var b=e(),c=JSON.stringify(b,null,2);a.preventDefault(),s.attr("disabled","disabled"),d(c,function(a,d){b.customizerUrl=d,c=JSON.stringify(b,null,2);var e="/*!\n * Generated using the Bootstrap Customizer ("+d+")\n * Config saved to config.json and "+a+"\n */\n";g(m(e),n(e),i(),c,function(a){s.removeAttr("disabled"),saveAs(a,"bootstrap.zip")})})}),function(){function a(){$(".bs-docs-section, .bs-docs-sidebar").css("display","none"),b('Looks like your current browser doesn\'t support the Bootstrap Customizer. Please take a second to <a href="http://browsehappy.com/">upgrade to a more modern browser</a> (other than Safari).',!0)}var c=window.webkitURL||window.URL,d=new Blob(["<svg xmlns='http://www.w3.org/2000/svg'></svg>"],{type:"image/svg+xml;charset=utf-8"}),e=c.createObjectURL(d);null===/^blob:/.exec(e)?a():$("<img>").on("load",function(){s.prop("disabled",!1)}).on("error",a).attr("src",e)}(),f()};
\ No newline at end of file
\ No newline at end of file
This diff is collapsed.
Click to expand it.
docs/assets/js/docs.min.js
+
1
-
1
View file @
2f0f8ec6
...
@@ -13,4 +13,4 @@ var Holder=Holder||{};!function(a,b){function c(a,b,c){b=parseInt(b,10),a=parseI
...
@@ -13,4 +13,4 @@ var Holder=Holder||{};!function(a,b){function c(a,b,c){b=parseInt(b,10),a=parseI
* Licensed under the Creative Commons Attribution 3.0 Unported License. For
* Licensed under the Creative Commons Attribution 3.0 Unported License. For
* details, see http://creativecommons.org/licenses/by/3.0/.
* details, see http://creativecommons.org/licenses/by/3.0/.
*/
*/
!
function
(
a
){
a
(
function
(){
if
(
navigator
.
userAgent
.
match
(
/IEMobile
\/
10
\.
0/
)){
var
b
=
document
.
createElement
(
"
style
"
);
b
.
appendChild
(
document
.
createTextNode
(
"
@-ms-viewport{width:auto!important}
"
)),
document
.
querySelector
(
"
head
"
).
appendChild
(
b
)}{
var
c
=
a
(
window
),
d
=
a
(
document
.
body
);
a
(
"
.navbar
"
).
outerHeight
(
!
0
)
+
10
}
d
.
scrollspy
({
target
:
"
.bs-docs-sidebar
"
}),
c
.
on
(
"
load
"
,
function
(){
d
.
scrollspy
(
"
refresh
"
)}),
a
(
"
.bs-docs-container [href=#]
"
).
click
(
function
(
a
){
a
.
preventDefault
()}),
setTimeout
(
function
(){
var
b
=
a
(
"
.bs-docs-sidebar
"
);
b
.
affix
({
offset
:{
top
:
function
(){
var
c
=
b
.
offset
().
top
,
d
=
parseInt
(
b
.
children
(
0
).
css
(
"
margin-top
"
),
10
),
e
=
a
(
"
.bs-docs-nav
"
).
height
();
return
this
.
top
=
c
-
e
-
d
},
bottom
:
function
(){
return
this
.
bottom
=
a
(
"
.bs-docs-footer
"
).
outerHeight
(
!
0
)}}})},
100
),
setTimeout
(
function
(){
a
(
"
.bs-top
"
).
affix
()},
100
),
a
(
"
.tooltip-demo
"
).
tooltip
({
selector
:
"
[data-toggle=tooltip]
"
,
container
:
"
body
"
}),
a
(
"
.tooltip-test
"
).
tooltip
(),
a
(
"
.popover-test
"
).
popover
(),
a
(
"
.bs-docs-navbar
"
).
tooltip
({
selector
:
"
a[data-toggle=tooltip]
"
,
container
:
"
.bs-docs-navbar .nav
"
}),
a
(
"
.bs-docs-popover
"
).
popover
(),
a
(
"
.bs-docs-popover-dismiss
"
).
popover
({
trigger
:
"
focus
"
}),
a
(
"
#loading-example-btn
"
).
click
(
function
(){
var
b
=
a
(
this
);
b
.
button
(
"
loading
"
),
setTimeout
(
function
(){
b
.
button
(
"
reset
"
)},
3
e3
)})})}(
jQuery
);
!
function
(
a
){
a
(
function
(){
if
(
navigator
.
userAgent
.
match
(
/IEMobile
\/
10
\.
0/
)){
var
b
=
document
.
createElement
(
"
style
"
);
b
.
appendChild
(
document
.
createTextNode
(
"
@-ms-viewport{width:auto!important}
"
)),
document
.
querySelector
(
"
head
"
).
appendChild
(
b
)}
var
c
=
a
(
window
),
d
=
a
(
document
.
body
);
d
.
scrollspy
({
target
:
"
.bs-docs-sidebar
"
}),
c
.
on
(
"
load
"
,
function
(){
d
.
scrollspy
(
"
refresh
"
)}),
a
(
"
.bs-docs-container [href=#]
"
).
click
(
function
(
a
){
a
.
preventDefault
()}),
setTimeout
(
function
(){
var
b
=
a
(
"
.bs-docs-sidebar
"
);
b
.
affix
({
offset
:{
top
:
function
(){
var
c
=
b
.
offset
().
top
,
d
=
parseInt
(
b
.
children
(
0
).
css
(
"
margin-top
"
),
10
),
e
=
a
(
"
.bs-docs-nav
"
).
height
();
return
this
.
top
=
c
-
e
-
d
},
bottom
:
function
(){
return
this
.
bottom
=
a
(
"
.bs-docs-footer
"
).
outerHeight
(
!
0
)}}})},
100
),
setTimeout
(
function
(){
a
(
"
.bs-top
"
).
affix
()},
100
),
a
(
"
.tooltip-demo
"
).
tooltip
({
selector
:
"
[data-toggle=tooltip]
"
,
container
:
"
body
"
}),
a
(
"
.tooltip-test
"
).
tooltip
(),
a
(
"
.popover-test
"
).
popover
(),
a
(
"
.bs-docs-navbar
"
).
tooltip
({
selector
:
"
a[data-toggle=tooltip]
"
,
container
:
"
.bs-docs-navbar .nav
"
}),
a
(
"
.bs-docs-popover
"
).
popover
(),
a
(
"
.bs-docs-popover-dismiss
"
).
popover
({
trigger
:
"
focus
"
}),
a
(
"
#loading-example-btn
"
).
click
(
function
(){
var
b
=
a
(
this
);
b
.
button
(
"
loading
"
),
setTimeout
(
function
(){
b
.
button
(
"
reset
"
)},
3
e3
)})})}(
jQuery
);
\ No newline at end of file
\ No newline at end of file
This diff is collapsed.
Click to expand it.
docs/dist/js/bootstrap.min.js
+
1
-
1
View file @
2f0f8ec6
...
@@ -3,4 +3,4 @@
...
@@ -3,4 +3,4 @@
* Copyright 2011-2014 Twitter, Inc.
* Copyright 2011-2014 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/
*/
if
(
"
undefined
"
==
typeof
jQuery
)
throw
new
Error
(
"
Bootstrap's JavaScript requires jQuery
"
);
+
function
(
a
){
"
use strict
"
;
function
b
(){
var
a
=
document
.
createElement
(
"
bootstrap
"
),
b
=
{
WebkitTransition
:
"
webkitTransitionEnd
"
,
MozTransition
:
"
transitionend
"
,
OTransition
:
"
oTransitionEnd otransitionend
"
,
transition
:
"
transitionend
"
};
for
(
var
c
in
b
)
if
(
void
0
!==
a
.
style
[
c
])
return
{
end
:
b
[
c
]};
return
!
1
}
a
.
fn
.
emulateTransitionEnd
=
function
(
b
){
var
c
=!
1
,
d
=
this
;
a
(
this
).
one
(
a
.
support
.
transition
.
end
,
function
(){
c
=!
0
});
var
e
=
function
(){
c
||
a
(
d
).
trigger
(
a
.
support
.
transition
.
end
)};
return
setTimeout
(
e
,
b
),
this
},
a
(
function
(){
a
.
support
.
transition
=
b
()})}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
var
b
=
'
[data-dismiss="alert"]
'
,
c
=
function
(
c
){
a
(
c
).
on
(
"
click
"
,
b
,
this
.
close
)};
c
.
prototype
.
close
=
function
(
b
){
function
c
(){
f
.
trigger
(
"
closed.bs.alert
"
).
remove
()}
var
d
=
a
(
this
),
e
=
d
.
attr
(
"
data-target
"
);
e
||
(
e
=
d
.
attr
(
"
href
"
),
e
=
e
&&
e
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
""
));
var
f
=
a
(
e
);
b
&&
b
.
preventDefault
(),
f
.
length
||
(
f
=
d
.
hasClass
(
"
alert
"
)?
d
:
d
.
parent
()),
f
.
trigger
(
b
=
a
.
Event
(
"
close.bs.alert
"
)),
b
.
isDefaultPrevented
()
||
(
f
.
removeClass
(
"
in
"
),
a
.
support
.
transition
&&
f
.
hasClass
(
"
fade
"
)?
f
.
one
(
a
.
support
.
transition
.
end
,
c
).
emulateTransitionEnd
(
150
):
c
())};
var
d
=
a
.
fn
.
alert
;
a
.
fn
.
alert
=
function
(
b
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.alert
"
);
e
||
d
.
data
(
"
bs.alert
"
,
e
=
new
c
(
this
)),
"
string
"
==
typeof
b
&&
e
[
b
].
call
(
d
)})},
a
.
fn
.
alert
.
Constructor
=
c
,
a
.
fn
.
alert
.
noConflict
=
function
(){
return
a
.
fn
.
alert
=
d
,
this
},
a
(
document
).
on
(
"
click.bs.alert.data-api
"
,
b
,
c
.
prototype
.
close
)}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
var
b
=
function
(
c
,
d
){
this
.
$element
=
a
(
c
),
this
.
options
=
a
.
extend
({},
b
.
DEFAULTS
,
d
),
this
.
isLoading
=!
1
};
b
.
DEFAULTS
=
{
loadingText
:
"
loading...
"
},
b
.
prototype
.
setState
=
function
(
b
){
var
c
=
"
disabled
"
,
d
=
this
.
$element
,
e
=
d
.
is
(
"
input
"
)?
"
val
"
:
"
html
"
,
f
=
d
.
data
();
b
+=
"
Text
"
,
f
.
resetText
||
d
.
data
(
"
resetText
"
,
d
[
e
]()),
d
[
e
](
f
[
b
]
||
this
.
options
[
b
]),
setTimeout
(
a
.
proxy
(
function
(){
"
loadingText
"
==
b
?(
this
.
isLoading
=!
0
,
d
.
addClass
(
c
).
attr
(
c
,
c
)):
this
.
isLoading
&&
(
this
.
isLoading
=!
1
,
d
.
removeClass
(
c
).
removeAttr
(
c
))},
this
),
0
)},
b
.
prototype
.
toggle
=
function
(){
var
a
=!
0
,
b
=
this
.
$element
.
closest
(
'
[data-toggle="buttons"]
'
);
if
(
b
.
length
){
var
c
=
this
.
$element
.
find
(
"
input
"
);
"
radio
"
==
c
.
prop
(
"
type
"
)
&&
(
c
.
prop
(
"
checked
"
)
&&
this
.
$element
.
hasClass
(
"
active
"
)?
a
=!
1
:
b
.
find
(
"
.active
"
).
removeClass
(
"
active
"
)),
a
&&
c
.
prop
(
"
checked
"
,
!
this
.
$element
.
hasClass
(
"
active
"
)).
trigger
(
"
change
"
)}
a
&&
this
.
$element
.
toggleClass
(
"
active
"
)};
var
c
=
a
.
fn
.
button
;
a
.
fn
.
button
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.button
"
),
f
=
"
object
"
==
typeof
c
&&
c
;
e
||
d
.
data
(
"
bs.button
"
,
e
=
new
b
(
this
,
f
)),
"
toggle
"
==
c
?
e
.
toggle
():
c
&&
e
.
setState
(
c
)})},
a
.
fn
.
button
.
Constructor
=
b
,
a
.
fn
.
button
.
noConflict
=
function
(){
return
a
.
fn
.
button
=
c
,
this
},
a
(
document
).
on
(
"
click.bs.button.data-api
"
,
"
[data-toggle^=button]
"
,
function
(
b
){
var
c
=
a
(
b
.
target
);
c
.
hasClass
(
"
btn
"
)
||
(
c
=
c
.
closest
(
"
.btn
"
)),
c
.
button
(
"
toggle
"
),
b
.
preventDefault
()})}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
var
b
=
function
(
b
,
c
){
this
.
$element
=
a
(
b
),
this
.
$indicators
=
this
.
$element
.
find
(
"
.carousel-indicators
"
),
this
.
options
=
c
,
this
.
paused
=
this
.
sliding
=
this
.
interval
=
this
.
$active
=
this
.
$items
=
null
,
"
hover
"
==
this
.
options
.
pause
&&
this
.
$element
.
on
(
"
mouseenter
"
,
a
.
proxy
(
this
.
pause
,
this
)).
on
(
"
mouseleave
"
,
a
.
proxy
(
this
.
cycle
,
this
))};
b
.
DEFAULTS
=
{
interval
:
5
e3
,
pause
:
"
hover
"
,
wrap
:
!
0
},
b
.
prototype
.
cycle
=
function
(
b
){
return
b
||
(
this
.
paused
=!
1
),
this
.
interval
&&
clearInterval
(
this
.
interval
),
this
.
options
.
interval
&&!
this
.
paused
&&
(
this
.
interval
=
setInterval
(
a
.
proxy
(
this
.
next
,
this
),
this
.
options
.
interval
)),
this
},
b
.
prototype
.
getActiveIndex
=
function
(){
return
this
.
$active
=
this
.
$element
.
find
(
"
.item.active
"
),
this
.
$items
=
this
.
$active
.
parent
().
children
(
"
.item
"
),
this
.
$items
.
index
(
this
.
$active
)},
b
.
prototype
.
to
=
function
(
b
){
var
c
=
this
,
d
=
this
.
getActiveIndex
();
return
b
>
this
.
$items
.
length
-
1
||
0
>
b
?
void
0
:
this
.
sliding
?
this
.
$element
.
one
(
"
slid.bs.carousel
"
,
function
(){
c
.
to
(
b
)}):
d
==
b
?
this
.
pause
().
cycle
():
this
.
slide
(
b
>
d
?
"
next
"
:
"
prev
"
,
a
(
this
.
$items
[
b
]))},
b
.
prototype
.
pause
=
function
(
b
){
return
b
||
(
this
.
paused
=!
0
),
this
.
$element
.
find
(
"
.next, .prev
"
).
length
&&
a
.
support
.
transition
&&
(
this
.
$element
.
trigger
(
a
.
support
.
transition
.
end
),
this
.
cycle
(
!
0
)),
this
.
interval
=
clearInterval
(
this
.
interval
),
this
},
b
.
prototype
.
next
=
function
(){
return
this
.
sliding
?
void
0
:
this
.
slide
(
"
next
"
)},
b
.
prototype
.
prev
=
function
(){
return
this
.
sliding
?
void
0
:
this
.
slide
(
"
prev
"
)},
b
.
prototype
.
slide
=
function
(
b
,
c
){
var
d
=
this
.
$element
.
find
(
"
.item.active
"
),
e
=
c
||
d
[
b
](),
f
=
this
.
interval
,
g
=
"
next
"
==
b
?
"
left
"
:
"
right
"
,
h
=
"
next
"
==
b
?
"
first
"
:
"
last
"
,
i
=
this
;
if
(
!
e
.
length
){
if
(
!
this
.
options
.
wrap
)
return
;
e
=
this
.
$element
.
find
(
"
.item
"
)[
h
]()}
if
(
e
.
hasClass
(
"
active
"
))
return
this
.
sliding
=!
1
;
var
j
=
a
.
Event
(
"
slide.bs.carousel
"
,{
relatedTarget
:
e
[
0
],
direction
:
g
});
return
this
.
$element
.
trigger
(
j
),
j
.
isDefaultPrevented
()?
void
0
:(
this
.
sliding
=!
0
,
f
&&
this
.
pause
(),
this
.
$indicators
.
length
&&
(
this
.
$indicators
.
find
(
"
.active
"
).
removeClass
(
"
active
"
),
this
.
$element
.
one
(
"
slid.bs.carousel
"
,
function
(){
var
b
=
a
(
i
.
$indicators
.
children
()[
i
.
getActiveIndex
()]);
b
&&
b
.
addClass
(
"
active
"
)})),
a
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"
slide
"
)?(
e
.
addClass
(
b
),
e
[
0
].
offsetWidth
,
d
.
addClass
(
g
),
e
.
addClass
(
g
),
d
.
one
(
a
.
support
.
transition
.
end
,
function
(){
e
.
removeClass
([
b
,
g
].
join
(
"
"
)).
addClass
(
"
active
"
),
d
.
removeClass
([
"
active
"
,
g
].
join
(
"
"
)),
i
.
sliding
=!
1
,
setTimeout
(
function
(){
i
.
$element
.
trigger
(
"
slid.bs.carousel
"
)},
0
)}).
emulateTransitionEnd
(
1
e3
*
d
.
css
(
"
transition-duration
"
).
slice
(
0
,
-
1
))):(
d
.
removeClass
(
"
active
"
),
e
.
addClass
(
"
active
"
),
this
.
sliding
=!
1
,
this
.
$element
.
trigger
(
"
slid.bs.carousel
"
)),
f
&&
this
.
cycle
(),
this
)};
var
c
=
a
.
fn
.
carousel
;
a
.
fn
.
carousel
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.carousel
"
),
f
=
a
.
extend
({},
b
.
DEFAULTS
,
d
.
data
(),
"
object
"
==
typeof
c
&&
c
),
g
=
"
string
"
==
typeof
c
?
c
:
f
.
slide
;
e
||
d
.
data
(
"
bs.carousel
"
,
e
=
new
b
(
this
,
f
)),
"
number
"
==
typeof
c
?
e
.
to
(
c
):
g
?
e
[
g
]():
f
.
interval
&&
e
.
pause
().
cycle
()})},
a
.
fn
.
carousel
.
Constructor
=
b
,
a
.
fn
.
carousel
.
noConflict
=
function
(){
return
a
.
fn
.
carousel
=
c
,
this
},
a
(
document
).
on
(
"
click.bs.carousel.data-api
"
,
"
[data-slide], [data-slide-to]
"
,
function
(
b
){
var
c
,
d
=
a
(
this
),
e
=
a
(
d
.
attr
(
"
data-target
"
)
||
(
c
=
d
.
attr
(
"
href
"
))
&&
c
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
)),
f
=
a
.
extend
({},
e
.
data
(),
d
.
data
()),
g
=
d
.
attr
(
"
data-slide-to
"
);
g
&&
(
f
.
interval
=!
1
),
e
.
carousel
(
f
),(
g
=
d
.
attr
(
"
data-slide-to
"
))
&&
e
.
data
(
"
bs.carousel
"
).
to
(
g
),
b
.
preventDefault
()}),
a
(
window
).
on
(
"
load
"
,
function
(){
a
(
'
[data-ride="carousel"]
'
).
each
(
function
(){
var
b
=
a
(
this
);
b
.
carousel
(
b
.
data
())})})}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
var
b
=
function
(
c
,
d
){
this
.
$element
=
a
(
c
),
this
.
options
=
a
.
extend
({},
b
.
DEFAULTS
,
d
),
this
.
transitioning
=
null
,
this
.
options
.
parent
&&
(
this
.
$parent
=
a
(
this
.
options
.
parent
)),
this
.
options
.
toggle
&&
this
.
toggle
()};
b
.
DEFAULTS
=
{
toggle
:
!
0
},
b
.
prototype
.
dimension
=
function
(){
var
a
=
this
.
$element
.
hasClass
(
"
width
"
);
return
a
?
"
width
"
:
"
height
"
},
b
.
prototype
.
show
=
function
(){
if
(
!
this
.
transitioning
&&!
this
.
$element
.
hasClass
(
"
in
"
)){
var
b
=
a
.
Event
(
"
show.bs.collapse
"
);
if
(
this
.
$element
.
trigger
(
b
),
!
b
.
isDefaultPrevented
()){
var
c
=
this
.
$parent
&&
this
.
$parent
.
find
(
"
> .panel > .in
"
);
if
(
c
&&
c
.
length
){
var
d
=
c
.
data
(
"
bs.collapse
"
);
if
(
d
&&
d
.
transitioning
)
return
;
c
.
collapse
(
"
hide
"
),
d
||
c
.
data
(
"
bs.collapse
"
,
null
)}
var
e
=
this
.
dimension
();
this
.
$element
.
removeClass
(
"
collapse
"
).
addClass
(
"
collapsing
"
)[
e
](
0
),
this
.
transitioning
=
1
;
var
f
=
function
(
a
){
a
&&
a
.
target
!=
this
.
$element
[
0
]
||
(
this
.
$element
.
removeClass
(
"
collapsing
"
).
addClass
(
"
collapse in
"
)[
e
](
"
auto
"
),
this
.
transitioning
=
0
,
this
.
$element
.
trigger
(
"
shown.bs.collapse
"
))};
if
(
!
a
.
support
.
transition
)
return
f
.
call
(
this
);
var
g
=
a
.
camelCase
([
"
scroll
"
,
e
].
join
(
"
-
"
));
this
.
$element
.
one
(
a
.
support
.
transition
.
end
,
a
.
proxy
(
f
,
this
)).
emulateTransitionEnd
(
350
)[
e
](
this
.
$element
[
0
][
g
])}}},
b
.
prototype
.
hide
=
function
(){
if
(
!
this
.
transitioning
&&
this
.
$element
.
hasClass
(
"
in
"
)){
var
b
=
a
.
Event
(
"
hide.bs.collapse
"
);
if
(
this
.
$element
.
trigger
(
b
),
!
b
.
isDefaultPrevented
()){
var
c
=
this
.
dimension
();
this
.
$element
[
c
](
this
.
$element
[
c
]())[
0
].
offsetHeight
,
this
.
$element
.
addClass
(
"
collapsing
"
).
removeClass
(
"
collapse
"
).
removeClass
(
"
in
"
),
this
.
transitioning
=
1
;
var
d
=
function
(
a
){
a
&&
a
.
target
!=
this
.
$element
[
0
]
||
(
this
.
transitioning
=
0
,
this
.
$element
.
trigger
(
"
hidden.bs.collapse
"
).
removeClass
(
"
collapsing
"
).
addClass
(
"
collapse
"
))};
return
a
.
support
.
transition
?
void
this
.
$element
[
c
](
0
).
one
(
a
.
support
.
transition
.
end
,
a
.
proxy
(
d
,
this
)).
emulateTransitionEnd
(
350
):
d
.
call
(
this
)}}},
b
.
prototype
.
toggle
=
function
(){
this
[
this
.
$element
.
hasClass
(
"
in
"
)?
"
hide
"
:
"
show
"
]()};
var
c
=
a
.
fn
.
collapse
;
a
.
fn
.
collapse
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.collapse
"
),
f
=
a
.
extend
({},
b
.
DEFAULTS
,
d
.
data
(),
"
object
"
==
typeof
c
&&
c
);
!
e
&&
f
.
toggle
&&
"
show
"
==
c
&&
(
c
=!
c
),
e
||
d
.
data
(
"
bs.collapse
"
,
e
=
new
b
(
this
,
f
)),
"
string
"
==
typeof
c
&&
e
[
c
]()})},
a
.
fn
.
collapse
.
Constructor
=
b
,
a
.
fn
.
collapse
.
noConflict
=
function
(){
return
a
.
fn
.
collapse
=
c
,
this
},
a
(
document
).
on
(
"
click.bs.collapse.data-api
"
,
'
[data-toggle="collapse"]
'
,
function
(
b
){
var
c
,
d
=
a
(
this
),
e
=
d
.
attr
(
"
data-target
"
)
||
b
.
preventDefault
()
||
(
c
=
d
.
attr
(
"
href
"
))
&&
c
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
),
f
=
a
(
e
),
g
=
f
.
data
(
"
bs.collapse
"
),
h
=
g
?
"
toggle
"
:
d
.
data
(),
i
=
d
.
attr
(
"
data-parent
"
),
j
=
i
&&
a
(
i
);
g
&&
g
.
transitioning
||
(
j
&&
j
.
find
(
'
[data-toggle="collapse"][data-parent="
'
+
i
+
'
"]
'
).
not
(
d
).
addClass
(
"
collapsed
"
),
d
[
f
.
hasClass
(
"
in
"
)?
"
addClass
"
:
"
removeClass
"
](
"
collapsed
"
)),
f
.
collapse
(
h
)})}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
function
b
(
b
){
a
(
d
).
remove
(),
a
(
e
).
each
(
function
(){
var
d
=
c
(
a
(
this
)),
e
=
{
relatedTarget
:
this
};
d
.
hasClass
(
"
open
"
)
&&
(
d
.
trigger
(
b
=
a
.
Event
(
"
hide.bs.dropdown
"
,
e
)),
b
.
isDefaultPrevented
()
||
d
.
removeClass
(
"
open
"
).
trigger
(
"
hidden.bs.dropdown
"
,
e
))})}
function
c
(
b
){
var
c
=
b
.
attr
(
"
data-target
"
);
c
||
(
c
=
b
.
attr
(
"
href
"
),
c
=
c
&&
/#
[
A-Za-z
]
/
.
test
(
c
)
&&
c
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
""
));
var
d
=
c
&&
a
(
c
);
return
d
&&
d
.
length
?
d
:
b
.
parent
()}
var
d
=
"
.dropdown-backdrop
"
,
e
=
'
[data-toggle="dropdown"]
'
,
f
=
function
(
b
){
a
(
b
).
on
(
"
click.bs.dropdown
"
,
this
.
toggle
)};
f
.
prototype
.
toggle
=
function
(
d
){
var
e
=
a
(
this
);
if
(
!
e
.
is
(
"
.disabled, :disabled
"
)){
var
f
=
c
(
e
),
g
=
f
.
hasClass
(
"
open
"
);
if
(
b
(),
!
g
){
"
ontouchstart
"
in
document
.
documentElement
&&!
f
.
closest
(
"
.navbar-nav
"
).
length
&&
a
(
'
<div class="dropdown-backdrop"/>
'
).
insertAfter
(
a
(
this
)).
on
(
"
click
"
,
b
);
var
h
=
{
relatedTarget
:
this
};
if
(
f
.
trigger
(
d
=
a
.
Event
(
"
show.bs.dropdown
"
,
h
)),
d
.
isDefaultPrevented
())
return
;
e
.
trigger
(
"
focus
"
),
f
.
toggleClass
(
"
open
"
).
trigger
(
"
shown.bs.dropdown
"
,
h
)}
return
!
1
}},
f
.
prototype
.
keydown
=
function
(
b
){
if
(
/
(
38|40|27
)
/
.
test
(
b
.
keyCode
)){
var
d
=
a
(
this
);
if
(
b
.
preventDefault
(),
b
.
stopPropagation
(),
!
d
.
is
(
"
.disabled, :disabled
"
)){
var
f
=
c
(
d
),
g
=
f
.
hasClass
(
"
open
"
);
if
(
!
g
||
g
&&
27
==
b
.
keyCode
)
return
27
==
b
.
which
&&
f
.
find
(
e
).
trigger
(
"
focus
"
),
d
.
trigger
(
"
click
"
);
var
h
=
"
li:not(.divider):visible a
"
,
i
=
f
.
find
(
'
[role="menu"]
'
+
h
+
'
, [role="listbox"]
'
+
h
);
if
(
i
.
length
){
var
j
=
i
.
index
(
i
.
filter
(
"
:focus
"
));
38
==
b
.
keyCode
&&
j
>
0
&&
j
--
,
40
==
b
.
keyCode
&&
j
<
i
.
length
-
1
&&
j
++
,
~
j
||
(
j
=
0
),
i
.
eq
(
j
).
trigger
(
"
focus
"
)}}}};
var
g
=
a
.
fn
.
dropdown
;
a
.
fn
.
dropdown
=
function
(
b
){
return
this
.
each
(
function
(){
var
c
=
a
(
this
),
d
=
c
.
data
(
"
bs.dropdown
"
);
d
||
c
.
data
(
"
bs.dropdown
"
,
d
=
new
f
(
this
)),
"
string
"
==
typeof
b
&&
d
[
b
].
call
(
c
)})},
a
.
fn
.
dropdown
.
Constructor
=
f
,
a
.
fn
.
dropdown
.
noConflict
=
function
(){
return
a
.
fn
.
dropdown
=
g
,
this
},
a
(
document
).
on
(
"
click.bs.dropdown.data-api
"
,
b
).
on
(
"
click.bs.dropdown.data-api
"
,
"
.dropdown form
"
,
function
(
a
){
a
.
stopPropagation
()}).
on
(
"
click.bs.dropdown.data-api
"
,
e
,
f
.
prototype
.
toggle
).
on
(
"
keydown.bs.dropdown.data-api
"
,
e
+
'
, [role="menu"], [role="listbox"]
'
,
f
.
prototype
.
keydown
)}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
var
b
=
function
(
b
,
c
){
this
.
options
=
c
,
this
.
$body
=
a
(
document
.
body
),
this
.
$element
=
a
(
b
),
this
.
$backdrop
=
this
.
isShown
=
null
,
this
.
scrollbarWidth
=
0
,
this
.
options
.
remote
&&
this
.
$element
.
find
(
"
.modal-content
"
).
load
(
this
.
options
.
remote
,
a
.
proxy
(
function
(){
this
.
$element
.
trigger
(
"
loaded.bs.modal
"
)},
this
))};
b
.
DEFAULTS
=
{
backdrop
:
!
0
,
keyboard
:
!
0
,
show
:
!
0
},
b
.
prototype
.
toggle
=
function
(
a
){
return
this
.
isShown
?
this
.
hide
():
this
.
show
(
a
)},
b
.
prototype
.
show
=
function
(
b
){
var
c
=
this
,
d
=
a
.
Event
(
"
show.bs.modal
"
,{
relatedTarget
:
b
});
this
.
$element
.
trigger
(
d
),
this
.
isShown
||
d
.
isDefaultPrevented
()
||
(
this
.
isShown
=!
0
,
this
.
checkScrollbar
(),
this
.
$body
.
addClass
(
"
modal-open
"
),
this
.
setScrollbar
(),
this
.
escape
(),
this
.
$element
.
on
(
"
click.dismiss.bs.modal
"
,
'
[data-dismiss="modal"]
'
,
a
.
proxy
(
this
.
hide
,
this
)),
this
.
backdrop
(
function
(){
var
d
=
a
.
support
.
transition
&&
c
.
$element
.
hasClass
(
"
fade
"
);
c
.
$element
.
parent
().
length
||
c
.
$element
.
appendTo
(
c
.
$body
),
c
.
$element
.
show
().
scrollTop
(
0
),
d
&&
c
.
$element
[
0
].
offsetWidth
,
c
.
$element
.
addClass
(
"
in
"
).
attr
(
"
aria-hidden
"
,
!
1
),
c
.
enforceFocus
();
var
e
=
a
.
Event
(
"
shown.bs.modal
"
,{
relatedTarget
:
b
});
d
?
c
.
$element
.
find
(
"
.modal-dialog
"
).
one
(
a
.
support
.
transition
.
end
,
function
(){
c
.
$element
.
trigger
(
"
focus
"
).
trigger
(
e
)}).
emulateTransitionEnd
(
300
):
c
.
$element
.
trigger
(
"
focus
"
).
trigger
(
e
)}))},
b
.
prototype
.
hide
=
function
(
b
){
b
&&
b
.
preventDefault
(),
b
=
a
.
Event
(
"
hide.bs.modal
"
),
this
.
$element
.
trigger
(
b
),
this
.
isShown
&&!
b
.
isDefaultPrevented
()
&&
(
this
.
isShown
=!
1
,
this
.
$body
.
removeClass
(
"
modal-open
"
),
this
.
resetScrollbar
(),
this
.
escape
(),
a
(
document
).
off
(
"
focusin.bs.modal
"
),
this
.
$element
.
removeClass
(
"
in
"
).
attr
(
"
aria-hidden
"
,
!
0
).
off
(
"
click.dismiss.bs.modal
"
),
a
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"
fade
"
)?
this
.
$element
.
one
(
a
.
support
.
transition
.
end
,
a
.
proxy
(
this
.
hideModal
,
this
)).
emulateTransitionEnd
(
300
):
this
.
hideModal
())},
b
.
prototype
.
enforceFocus
=
function
(){
a
(
document
).
off
(
"
focusin.bs.modal
"
).
on
(
"
focusin.bs.modal
"
,
a
.
proxy
(
function
(
a
){
this
.
$element
[
0
]
===
a
.
target
||
this
.
$element
.
has
(
a
.
target
).
length
||
this
.
$element
.
trigger
(
"
focus
"
)},
this
))},
b
.
prototype
.
escape
=
function
(){
this
.
isShown
&&
this
.
options
.
keyboard
?
this
.
$element
.
on
(
"
keyup.dismiss.bs.modal
"
,
a
.
proxy
(
function
(
a
){
27
==
a
.
which
&&
this
.
hide
()},
this
)):
this
.
isShown
||
this
.
$element
.
off
(
"
keyup.dismiss.bs.modal
"
)},
b
.
prototype
.
hideModal
=
function
(){
var
a
=
this
;
this
.
$element
.
hide
(),
this
.
backdrop
(
function
(){
a
.
removeBackdrop
(),
a
.
$element
.
trigger
(
"
hidden.bs.modal
"
)})},
b
.
prototype
.
removeBackdrop
=
function
(){
this
.
$backdrop
&&
this
.
$backdrop
.
remove
(),
this
.
$backdrop
=
null
},
b
.
prototype
.
backdrop
=
function
(
b
){
var
c
=
this
.
$element
.
hasClass
(
"
fade
"
)?
"
fade
"
:
""
;
if
(
this
.
isShown
&&
this
.
options
.
backdrop
){
var
d
=
a
.
support
.
transition
&&
c
;
if
(
this
.
$backdrop
=
a
(
'
<div class="modal-backdrop
'
+
c
+
'
" />
'
).
appendTo
(
this
.
$body
),
this
.
$element
.
on
(
"
click.dismiss.bs.modal
"
,
a
.
proxy
(
function
(
a
){
a
.
target
===
a
.
currentTarget
&&
(
"
static
"
==
this
.
options
.
backdrop
?
this
.
$element
[
0
].
focus
.
call
(
this
.
$element
[
0
]):
this
.
hide
.
call
(
this
))},
this
)),
d
&&
this
.
$backdrop
[
0
].
offsetWidth
,
this
.
$backdrop
.
addClass
(
"
in
"
),
!
b
)
return
;
d
?
this
.
$backdrop
.
one
(
a
.
support
.
transition
.
end
,
b
).
emulateTransitionEnd
(
150
):
b
()}
else
!
this
.
isShown
&&
this
.
$backdrop
?(
this
.
$backdrop
.
removeClass
(
"
in
"
),
a
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"
fade
"
)?
this
.
$backdrop
.
one
(
a
.
support
.
transition
.
end
,
b
).
emulateTransitionEnd
(
150
):
b
()):
b
&&
b
()},
b
.
prototype
.
checkScrollbar
=
function
(){
document
.
body
.
clientWidth
>=
window
.
innerWidth
||
(
this
.
scrollbarWidth
=
this
.
scrollbarWidth
||
this
.
measureScrollbar
())},
b
.
prototype
.
setScrollbar
=
function
(){
var
a
=
parseInt
(
this
.
$body
.
css
(
"
padding-right
"
)
||
0
);
this
.
scrollbarWidth
&&
this
.
$body
.
css
(
"
padding-right
"
,
a
+
this
.
scrollbarWidth
)},
b
.
prototype
.
resetScrollbar
=
function
(){
this
.
$body
.
css
(
"
padding-right
"
,
""
)},
b
.
prototype
.
measureScrollbar
=
function
(){
var
a
=
document
.
createElement
(
"
div
"
);
a
.
className
=
"
modal-scrollbar-measure
"
,
this
.
$body
.
append
(
a
);
var
b
=
a
.
offsetWidth
-
a
.
clientWidth
;
return
this
.
$body
[
0
].
removeChild
(
a
),
b
};
var
c
=
a
.
fn
.
modal
;
a
.
fn
.
modal
=
function
(
c
,
d
){
return
this
.
each
(
function
(){
var
e
=
a
(
this
),
f
=
e
.
data
(
"
bs.modal
"
),
g
=
a
.
extend
({},
b
.
DEFAULTS
,
e
.
data
(),
"
object
"
==
typeof
c
&&
c
);
f
||
e
.
data
(
"
bs.modal
"
,
f
=
new
b
(
this
,
g
)),
"
string
"
==
typeof
c
?
f
[
c
](
d
):
g
.
show
&&
f
.
show
(
d
)})},
a
.
fn
.
modal
.
Constructor
=
b
,
a
.
fn
.
modal
.
noConflict
=
function
(){
return
a
.
fn
.
modal
=
c
,
this
},
a
(
document
).
on
(
"
click.bs.modal.data-api
"
,
'
[data-toggle="modal"]
'
,
function
(
b
){
var
c
=
a
(
this
),
d
=
c
.
attr
(
"
href
"
),
e
=
a
(
c
.
attr
(
"
data-target
"
)
||
d
&&
d
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
)),
f
=
e
.
data
(
"
bs.modal
"
)?
"
toggle
"
:
a
.
extend
({
remote
:
!
/#/
.
test
(
d
)
&&
d
},
e
.
data
(),
c
.
data
());
c
.
is
(
"
a
"
)
&&
b
.
preventDefault
(),
e
.
modal
(
f
,
this
).
one
(
"
hide
"
,
function
(){
c
.
is
(
"
:visible
"
)
&&
c
.
trigger
(
"
focus
"
)})})}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
var
b
=
function
(
a
,
b
){
this
.
type
=
this
.
options
=
this
.
enabled
=
this
.
timeout
=
this
.
hoverState
=
this
.
$element
=
null
,
this
.
init
(
"
tooltip
"
,
a
,
b
)};
b
.
DEFAULTS
=
{
animation
:
!
0
,
placement
:
"
top
"
,
selector
:
!
1
,
template
:
'
<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>
'
,
trigger
:
"
hover focus
"
,
title
:
""
,
delay
:
0
,
html
:
!
1
,
container
:
!
1
,
viewport
:{
selector
:
"
body
"
,
padding
:
0
}},
b
.
prototype
.
init
=
function
(
b
,
c
,
d
){
this
.
enabled
=!
0
,
this
.
type
=
b
,
this
.
$element
=
a
(
c
),
this
.
options
=
this
.
getOptions
(
d
),
this
.
$viewport
=
this
.
options
.
viewport
&&
a
(
this
.
options
.
viewport
.
selector
||
this
.
options
.
viewport
);
for
(
var
e
=
this
.
options
.
trigger
.
split
(
"
"
),
f
=
e
.
length
;
f
--
;){
var
g
=
e
[
f
];
if
(
"
click
"
==
g
)
this
.
$element
.
on
(
"
click.
"
+
this
.
type
,
this
.
options
.
selector
,
a
.
proxy
(
this
.
toggle
,
this
));
else
if
(
"
manual
"
!=
g
){
var
h
=
"
hover
"
==
g
?
"
mouseenter
"
:
"
focusin
"
,
i
=
"
hover
"
==
g
?
"
mouseleave
"
:
"
focusout
"
;
this
.
$element
.
on
(
h
+
"
.
"
+
this
.
type
,
this
.
options
.
selector
,
a
.
proxy
(
this
.
enter
,
this
)),
this
.
$element
.
on
(
i
+
"
.
"
+
this
.
type
,
this
.
options
.
selector
,
a
.
proxy
(
this
.
leave
,
this
))}}
this
.
options
.
selector
?
this
.
_options
=
a
.
extend
({},
this
.
options
,{
trigger
:
"
manual
"
,
selector
:
""
}):
this
.
fixTitle
()},
b
.
prototype
.
getDefaults
=
function
(){
return
b
.
DEFAULTS
},
b
.
prototype
.
getOptions
=
function
(
b
){
return
b
=
a
.
extend
({},
this
.
getDefaults
(),
this
.
$element
.
data
(),
b
),
b
.
delay
&&
"
number
"
==
typeof
b
.
delay
&&
(
b
.
delay
=
{
show
:
b
.
delay
,
hide
:
b
.
delay
}),
b
},
b
.
prototype
.
getDelegateOptions
=
function
(){
var
b
=
{},
c
=
this
.
getDefaults
();
return
this
.
_options
&&
a
.
each
(
this
.
_options
,
function
(
a
,
d
){
c
[
a
]
!=
d
&&
(
b
[
a
]
=
d
)}),
b
},
b
.
prototype
.
enter
=
function
(
b
){
var
c
=
b
instanceof
this
.
constructor
?
b
:
a
(
b
.
currentTarget
)[
this
.
type
](
this
.
getDelegateOptions
()).
data
(
"
bs.
"
+
this
.
type
);
return
clearTimeout
(
c
.
timeout
),
c
.
hoverState
=
"
in
"
,
c
.
options
.
delay
&&
c
.
options
.
delay
.
show
?
void
(
c
.
timeout
=
setTimeout
(
function
(){
"
in
"
==
c
.
hoverState
&&
c
.
show
()},
c
.
options
.
delay
.
show
)):
c
.
show
()},
b
.
prototype
.
leave
=
function
(
b
){
var
c
=
b
instanceof
this
.
constructor
?
b
:
a
(
b
.
currentTarget
)[
this
.
type
](
this
.
getDelegateOptions
()).
data
(
"
bs.
"
+
this
.
type
);
return
clearTimeout
(
c
.
timeout
),
c
.
hoverState
=
"
out
"
,
c
.
options
.
delay
&&
c
.
options
.
delay
.
hide
?
void
(
c
.
timeout
=
setTimeout
(
function
(){
"
out
"
==
c
.
hoverState
&&
c
.
hide
()},
c
.
options
.
delay
.
hide
)):
c
.
hide
()},
b
.
prototype
.
show
=
function
(){
var
b
=
a
.
Event
(
"
show.bs.
"
+
this
.
type
);
if
(
this
.
hasContent
()
&&
this
.
enabled
){
if
(
this
.
$element
.
trigger
(
b
),
b
.
isDefaultPrevented
())
return
;
var
c
=
this
,
d
=
this
.
tip
();
this
.
setContent
(),
this
.
options
.
animation
&&
d
.
addClass
(
"
fade
"
);
var
e
=
"
function
"
==
typeof
this
.
options
.
placement
?
this
.
options
.
placement
.
call
(
this
,
d
[
0
],
this
.
$element
[
0
]):
this
.
options
.
placement
,
f
=
/
\s?
auto
?\s?
/i
,
g
=
f
.
test
(
e
);
g
&&
(
e
=
e
.
replace
(
f
,
""
)
||
"
top
"
),
d
.
detach
().
css
({
top
:
0
,
left
:
0
,
display
:
"
block
"
}).
addClass
(
e
),
this
.
options
.
container
?
d
.
appendTo
(
this
.
options
.
container
):
d
.
insertAfter
(
this
.
$element
);
var
h
=
this
.
getPosition
(),
i
=
d
[
0
].
offsetWidth
,
j
=
d
[
0
].
offsetHeight
;
if
(
g
){
var
k
=
e
,
l
=
this
.
$element
.
parent
(),
m
=
this
.
getPosition
(
l
);
e
=
"
bottom
"
==
e
&&
h
.
top
+
h
.
height
+
j
-
m
.
scroll
>
m
.
height
?
"
top
"
:
"
top
"
==
e
&&
h
.
top
-
m
.
scroll
-
j
<
0
?
"
bottom
"
:
"
right
"
==
e
&&
h
.
right
+
i
>
m
.
width
?
"
left
"
:
"
left
"
==
e
&&
h
.
left
-
i
<
m
.
left
?
"
right
"
:
e
,
d
.
removeClass
(
k
).
addClass
(
e
)}
var
n
=
this
.
getCalculatedOffset
(
e
,
h
,
i
,
j
);
this
.
applyPlacement
(
n
,
e
),
this
.
hoverState
=
null
;
var
o
=
function
(){
c
.
$element
.
trigger
(
"
shown.bs.
"
+
c
.
type
)};
a
.
support
.
transition
&&
this
.
$tip
.
hasClass
(
"
fade
"
)?
d
.
one
(
a
.
support
.
transition
.
end
,
o
).
emulateTransitionEnd
(
150
):
o
()}},
b
.
prototype
.
applyPlacement
=
function
(
b
,
c
){
var
d
=
this
.
tip
(),
e
=
d
[
0
].
offsetWidth
,
f
=
d
[
0
].
offsetHeight
,
g
=
parseInt
(
d
.
css
(
"
margin-top
"
),
10
),
h
=
parseInt
(
d
.
css
(
"
margin-left
"
),
10
);
isNaN
(
g
)
&&
(
g
=
0
),
isNaN
(
h
)
&&
(
h
=
0
),
b
.
top
=
b
.
top
+
g
,
b
.
left
=
b
.
left
+
h
,
a
.
offset
.
setOffset
(
d
[
0
],
a
.
extend
({
using
:
function
(
a
){
d
.
css
({
top
:
Math
.
round
(
a
.
top
),
left
:
Math
.
round
(
a
.
left
)})}},
b
),
0
),
d
.
addClass
(
"
in
"
);
var
i
=
d
[
0
].
offsetWidth
,
j
=
d
[
0
].
offsetHeight
;
"
top
"
==
c
&&
j
!=
f
&&
(
b
.
top
=
b
.
top
+
f
-
j
);
var
k
=
this
.
getViewportAdjustedDelta
(
c
,
b
,
i
,
j
);
k
.
left
?
b
.
left
+=
k
.
left
:
b
.
top
+=
k
.
top
;
var
l
=
k
.
left
?
2
*
k
.
left
-
e
+
i
:
2
*
k
.
top
-
f
+
j
,
m
=
k
.
left
?
"
left
"
:
"
top
"
,
n
=
k
.
left
?
"
offsetWidth
"
:
"
offsetHeight
"
;
d
.
offset
(
b
),
this
.
replaceArrow
(
l
,
d
[
0
][
n
],
m
)},
b
.
prototype
.
replaceArrow
=
function
(
a
,
b
,
c
){
this
.
arrow
().
css
(
c
,
a
?
50
*
(
1
-
a
/
b
)
+
"
%
"
:
""
)},
b
.
prototype
.
setContent
=
function
(){
var
a
=
this
.
tip
(),
b
=
this
.
getTitle
();
a
.
find
(
"
.tooltip-inner
"
)[
this
.
options
.
html
?
"
html
"
:
"
text
"
](
b
),
a
.
removeClass
(
"
fade in top bottom left right
"
)},
b
.
prototype
.
hide
=
function
(){
function
b
(){
"
in
"
!=
c
.
hoverState
&&
d
.
detach
(),
c
.
$element
.
trigger
(
"
hidden.bs.
"
+
c
.
type
)}
var
c
=
this
,
d
=
this
.
tip
(),
e
=
a
.
Event
(
"
hide.bs.
"
+
this
.
type
);
return
this
.
$element
.
trigger
(
e
),
e
.
isDefaultPrevented
()?
void
0
:(
d
.
removeClass
(
"
in
"
),
a
.
support
.
transition
&&
this
.
$tip
.
hasClass
(
"
fade
"
)?
d
.
one
(
a
.
support
.
transition
.
end
,
b
).
emulateTransitionEnd
(
150
):
b
(),
this
.
hoverState
=
null
,
this
)},
b
.
prototype
.
fixTitle
=
function
(){
var
a
=
this
.
$element
;(
a
.
attr
(
"
title
"
)
||
"
string
"
!=
typeof
a
.
attr
(
"
data-original-title
"
))
&&
a
.
attr
(
"
data-original-title
"
,
a
.
attr
(
"
title
"
)
||
""
).
attr
(
"
title
"
,
""
)},
b
.
prototype
.
hasContent
=
function
(){
return
this
.
getTitle
()},
b
.
prototype
.
getPosition
=
function
(
b
){
b
=
b
||
this
.
$element
;
var
c
=
b
[
0
],
d
=
"
BODY
"
==
c
.
tagName
;
return
a
.
extend
({},
"
function
"
==
typeof
c
.
getBoundingClientRect
?
c
.
getBoundingClientRect
():
null
,{
scroll
:
d
?
document
.
documentElement
.
scrollTop
||
document
.
body
.
scrollTop
:
b
.
scrollTop
(),
width
:
d
?
a
(
window
).
width
():
b
.
outerWidth
(),
height
:
d
?
a
(
window
).
height
():
b
.
outerHeight
()},
d
?{
top
:
0
,
left
:
0
}:
b
.
offset
())},
b
.
prototype
.
getCalculatedOffset
=
function
(
a
,
b
,
c
,
d
){
return
"
bottom
"
==
a
?{
top
:
b
.
top
+
b
.
height
,
left
:
b
.
left
+
b
.
width
/
2
-
c
/
2
}:
"
top
"
==
a
?{
top
:
b
.
top
-
d
,
left
:
b
.
left
+
b
.
width
/
2
-
c
/
2
}:
"
left
"
==
a
?{
top
:
b
.
top
+
b
.
height
/
2
-
d
/
2
,
left
:
b
.
left
-
c
}:{
top
:
b
.
top
+
b
.
height
/
2
-
d
/
2
,
left
:
b
.
left
+
b
.
width
}},
b
.
prototype
.
getViewportAdjustedDelta
=
function
(
a
,
b
,
c
,
d
){
var
e
=
{
top
:
0
,
left
:
0
};
if
(
!
this
.
$viewport
)
return
e
;
var
f
=
this
.
options
.
viewport
&&
this
.
options
.
viewport
.
padding
||
0
,
g
=
this
.
getPosition
(
this
.
$viewport
);
if
(
/right|left/
.
test
(
a
)){
var
h
=
b
.
top
-
f
-
g
.
scroll
,
i
=
b
.
top
+
f
-
g
.
scroll
+
d
;
h
<
g
.
top
?
e
.
top
=
g
.
top
-
h
:
i
>
g
.
top
+
g
.
height
&&
(
e
.
top
=
g
.
top
+
g
.
height
-
i
)}
else
{
var
j
=
b
.
left
-
f
,
k
=
b
.
left
+
f
+
c
;
j
<
g
.
left
?
e
.
left
=
g
.
left
-
j
:
k
>
g
.
width
&&
(
e
.
left
=
g
.
left
+
g
.
width
-
k
)}
return
e
},
b
.
prototype
.
getTitle
=
function
(){
var
a
,
b
=
this
.
$element
,
c
=
this
.
options
;
return
a
=
b
.
attr
(
"
data-original-title
"
)
||
(
"
function
"
==
typeof
c
.
title
?
c
.
title
.
call
(
b
[
0
]):
c
.
title
)},
b
.
prototype
.
tip
=
function
(){
return
this
.
$tip
=
this
.
$tip
||
a
(
this
.
options
.
template
)},
b
.
prototype
.
arrow
=
function
(){
return
this
.
$arrow
=
this
.
$arrow
||
this
.
tip
().
find
(
"
.tooltip-arrow
"
)},
b
.
prototype
.
validate
=
function
(){
this
.
$element
[
0
].
parentNode
||
(
this
.
hide
(),
this
.
$element
=
null
,
this
.
options
=
null
)},
b
.
prototype
.
enable
=
function
(){
this
.
enabled
=!
0
},
b
.
prototype
.
disable
=
function
(){
this
.
enabled
=!
1
},
b
.
prototype
.
toggleEnabled
=
function
(){
this
.
enabled
=!
this
.
enabled
},
b
.
prototype
.
toggle
=
function
(
b
){
var
c
=
b
?
a
(
b
.
currentTarget
)[
this
.
type
](
this
.
getDelegateOptions
()).
data
(
"
bs.
"
+
this
.
type
):
this
;
c
.
tip
().
hasClass
(
"
in
"
)?
c
.
leave
(
c
):
c
.
enter
(
c
)},
b
.
prototype
.
destroy
=
function
(){
clearTimeout
(
this
.
timeout
),
this
.
hide
().
$element
.
off
(
"
.
"
+
this
.
type
).
removeData
(
"
bs.
"
+
this
.
type
)};
var
c
=
a
.
fn
.
tooltip
;
a
.
fn
.
tooltip
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.tooltip
"
),
f
=
"
object
"
==
typeof
c
&&
c
;(
e
||
"
destroy
"
!=
c
)
&&
(
e
||
d
.
data
(
"
bs.tooltip
"
,
e
=
new
b
(
this
,
f
)),
"
string
"
==
typeof
c
&&
e
[
c
]())})},
a
.
fn
.
tooltip
.
Constructor
=
b
,
a
.
fn
.
tooltip
.
noConflict
=
function
(){
return
a
.
fn
.
tooltip
=
c
,
this
}}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
var
b
=
function
(
a
,
b
){
this
.
init
(
"
popover
"
,
a
,
b
)};
if
(
!
a
.
fn
.
tooltip
)
throw
new
Error
(
"
Popover requires tooltip.js
"
);
b
.
DEFAULTS
=
a
.
extend
({},
a
.
fn
.
tooltip
.
Constructor
.
DEFAULTS
,{
placement
:
"
right
"
,
trigger
:
"
click
"
,
content
:
""
,
template
:
'
<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>
'
}),
b
.
prototype
=
a
.
extend
({},
a
.
fn
.
tooltip
.
Constructor
.
prototype
),
b
.
prototype
.
constructor
=
b
,
b
.
prototype
.
getDefaults
=
function
(){
return
b
.
DEFAULTS
},
b
.
prototype
.
setContent
=
function
(){
var
a
=
this
.
tip
(),
b
=
this
.
getTitle
(),
c
=
this
.
getContent
();
a
.
find
(
"
.popover-title
"
)[
this
.
options
.
html
?
"
html
"
:
"
text
"
](
b
),
a
.
find
(
"
.popover-content
"
).
empty
()[
this
.
options
.
html
?
"
string
"
==
typeof
c
?
"
html
"
:
"
append
"
:
"
text
"
](
c
),
a
.
removeClass
(
"
fade top bottom left right in
"
),
a
.
find
(
"
.popover-title
"
).
html
()
||
a
.
find
(
"
.popover-title
"
).
hide
()},
b
.
prototype
.
hasContent
=
function
(){
return
this
.
getTitle
()
||
this
.
getContent
()},
b
.
prototype
.
getContent
=
function
(){
var
a
=
this
.
$element
,
b
=
this
.
options
;
return
a
.
attr
(
"
data-content
"
)
||
(
"
function
"
==
typeof
b
.
content
?
b
.
content
.
call
(
a
[
0
]):
b
.
content
)},
b
.
prototype
.
arrow
=
function
(){
return
this
.
$arrow
=
this
.
$arrow
||
this
.
tip
().
find
(
"
.arrow
"
)},
b
.
prototype
.
tip
=
function
(){
return
this
.
$tip
||
(
this
.
$tip
=
a
(
this
.
options
.
template
)),
this
.
$tip
};
var
c
=
a
.
fn
.
popover
;
a
.
fn
.
popover
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.popover
"
),
f
=
"
object
"
==
typeof
c
&&
c
;(
e
||
"
destroy
"
!=
c
)
&&
(
e
||
d
.
data
(
"
bs.popover
"
,
e
=
new
b
(
this
,
f
)),
"
string
"
==
typeof
c
&&
e
[
c
]())})},
a
.
fn
.
popover
.
Constructor
=
b
,
a
.
fn
.
popover
.
noConflict
=
function
(){
return
a
.
fn
.
popover
=
c
,
this
}}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
function
b
(
c
,
d
){
var
e
,
f
=
a
.
proxy
(
this
.
process
,
this
);
this
.
$element
=
a
(
a
(
c
).
is
(
"
body
"
)?
window
:
c
),
this
.
$body
=
a
(
"
body
"
),
this
.
$scrollElement
=
this
.
$element
.
on
(
"
scroll.bs.scrollspy
"
,
f
),
this
.
options
=
a
.
extend
({},
b
.
DEFAULTS
,
d
),
this
.
selector
=
(
this
.
options
.
target
||
(
e
=
a
(
c
).
attr
(
"
href
"
))
&&
e
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
)
||
""
)
+
"
.nav li > a
"
,
this
.
offsets
=
a
([]),
this
.
targets
=
a
([]),
this
.
activeTarget
=
null
,
this
.
refresh
(),
this
.
process
()}
b
.
DEFAULTS
=
{
offset
:
10
},
b
.
prototype
.
refresh
=
function
(){
var
b
=
this
.
$element
[
0
]
==
window
?
"
offset
"
:
"
position
"
;
this
.
offsets
=
a
([]),
this
.
targets
=
a
([]);{
var
c
=
this
;
this
.
$body
.
find
(
this
.
selector
).
map
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
target
"
)
||
d
.
attr
(
"
href
"
),
f
=
/^#./
.
test
(
e
)
&&
a
(
e
);
return
f
&&
f
.
length
&&
f
.
is
(
"
:visible
"
)
&&
[[
f
[
b
]().
top
+
(
!
a
.
isWindow
(
c
.
$scrollElement
.
get
(
0
))
&&
c
.
$scrollElement
.
scrollTop
()),
e
]]
||
null
}).
sort
(
function
(
a
,
b
){
return
a
[
0
]
-
b
[
0
]}).
each
(
function
(){
c
.
offsets
.
push
(
this
[
0
]),
c
.
targets
.
push
(
this
[
1
])})}},
b
.
prototype
.
process
=
function
(){
var
a
,
b
=
this
.
$scrollElement
.
scrollTop
()
+
this
.
options
.
offset
,
c
=
this
.
$scrollElement
[
0
].
scrollHeight
||
Math
.
max
(
this
.
$body
[
0
].
scrollHeight
,
document
.
documentElement
.
scrollHeight
),
d
=
c
-
this
.
$scrollElement
.
height
(),
e
=
this
.
offsets
,
f
=
this
.
targets
,
g
=
this
.
activeTarget
;
if
(
b
>=
d
)
return
g
!=
(
a
=
f
.
last
()[
0
])
&&
this
.
activate
(
a
);
if
(
g
&&
b
<=
e
[
0
])
return
g
!=
(
a
=
f
[
0
])
&&
this
.
activate
(
a
);
for
(
a
=
e
.
length
;
a
--
;)
g
!=
f
[
a
]
&&
b
>=
e
[
a
]
&&
(
!
e
[
a
+
1
]
||
b
<=
e
[
a
+
1
])
&&
this
.
activate
(
f
[
a
])},
b
.
prototype
.
activate
=
function
(
b
){
this
.
activeTarget
=
b
,
a
(
this
.
selector
).
parentsUntil
(
this
.
options
.
target
,
"
.active
"
).
removeClass
(
"
active
"
);
var
c
=
this
.
selector
+
'
[data-target="
'
+
b
+
'
"],
'
+
this
.
selector
+
'
[href="
'
+
b
+
'
"]
'
,
d
=
a
(
c
).
parents
(
"
li
"
).
addClass
(
"
active
"
);
d
.
parent
(
"
.dropdown-menu
"
).
length
&&
(
d
=
d
.
closest
(
"
li.dropdown
"
).
addClass
(
"
active
"
)),
d
.
trigger
(
"
activate.bs.scrollspy
"
)};
var
c
=
a
.
fn
.
scrollspy
;
a
.
fn
.
scrollspy
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.scrollspy
"
),
f
=
"
object
"
==
typeof
c
&&
c
;
e
||
d
.
data
(
"
bs.scrollspy
"
,
e
=
new
b
(
this
,
f
)),
"
string
"
==
typeof
c
&&
e
[
c
]()})},
a
.
fn
.
scrollspy
.
Constructor
=
b
,
a
.
fn
.
scrollspy
.
noConflict
=
function
(){
return
a
.
fn
.
scrollspy
=
c
,
this
},
a
(
window
).
on
(
"
load.bs.scrollspy.data-api
"
,
function
(){
a
(
'
[data-spy="scroll"]
'
).
each
(
function
(){
var
b
=
a
(
this
);
b
.
scrollspy
(
b
.
data
())})})}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
var
b
=
function
(
b
){
this
.
element
=
a
(
b
)};
b
.
prototype
.
show
=
function
(){
var
b
=
this
.
element
,
c
=
b
.
closest
(
"
ul:not(.dropdown-menu)
"
),
d
=
b
.
data
(
"
target
"
);
if
(
d
||
(
d
=
b
.
attr
(
"
href
"
),
d
=
d
&&
d
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
""
)),
!
b
.
parent
(
"
li
"
).
hasClass
(
"
active
"
)){
var
e
=
c
.
find
(
"
.active:last a
"
)[
0
],
f
=
a
.
Event
(
"
show.bs.tab
"
,{
relatedTarget
:
e
});
if
(
b
.
trigger
(
f
),
!
f
.
isDefaultPrevented
()){
var
g
=
a
(
d
);
this
.
activate
(
b
.
parent
(
"
li
"
),
c
),
this
.
activate
(
g
,
g
.
parent
(),
function
(){
b
.
trigger
({
type
:
"
shown.bs.tab
"
,
relatedTarget
:
e
})})}}},
b
.
prototype
.
activate
=
function
(
b
,
c
,
d
){
function
e
(){
f
.
removeClass
(
"
active
"
).
find
(
"
> .dropdown-menu > .active
"
).
removeClass
(
"
active
"
),
b
.
addClass
(
"
active
"
),
g
?(
b
[
0
].
offsetWidth
,
b
.
addClass
(
"
in
"
)):
b
.
removeClass
(
"
fade
"
),
b
.
parent
(
"
.dropdown-menu
"
)
&&
b
.
closest
(
"
li.dropdown
"
).
addClass
(
"
active
"
),
d
&&
d
()}
var
f
=
c
.
find
(
"
> .active
"
),
g
=
d
&&
a
.
support
.
transition
&&
f
.
hasClass
(
"
fade
"
);
g
?
f
.
one
(
a
.
support
.
transition
.
end
,
e
).
emulateTransitionEnd
(
150
):
e
(),
f
.
removeClass
(
"
in
"
)};
var
c
=
a
.
fn
.
tab
;
a
.
fn
.
tab
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.tab
"
);
e
||
d
.
data
(
"
bs.tab
"
,
e
=
new
b
(
this
)),
"
string
"
==
typeof
c
&&
e
[
c
]()})},
a
.
fn
.
tab
.
Constructor
=
b
,
a
.
fn
.
tab
.
noConflict
=
function
(){
return
a
.
fn
.
tab
=
c
,
this
},
a
(
document
).
on
(
"
click.bs.tab.data-api
"
,
'
[data-toggle="tab"], [data-toggle="pill"]
'
,
function
(
b
){
b
.
preventDefault
(),
a
(
this
).
tab
(
"
show
"
)})}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
var
b
=
function
(
c
,
d
){
this
.
options
=
a
.
extend
({},
b
.
DEFAULTS
,
d
),
this
.
$window
=
a
(
window
).
on
(
"
scroll.bs.affix.data-api
"
,
a
.
proxy
(
this
.
checkPosition
,
this
)).
on
(
"
click.bs.affix.data-api
"
,
a
.
proxy
(
this
.
checkPositionWithEventLoop
,
this
)),
this
.
$element
=
a
(
c
),
this
.
affixed
=
this
.
unpin
=
this
.
pinnedOffset
=
null
,
this
.
checkPosition
()};
b
.
RESET
=
"
affix affix-top affix-bottom
"
,
b
.
DEFAULTS
=
{
offset
:
0
},
b
.
prototype
.
getPinnedOffset
=
function
(){
if
(
this
.
pinnedOffset
)
return
this
.
pinnedOffset
;
this
.
$element
.
removeClass
(
b
.
RESET
).
addClass
(
"
affix
"
);
var
a
=
this
.
$window
.
scrollTop
(),
c
=
this
.
$element
.
offset
();
return
this
.
pinnedOffset
=
c
.
top
-
a
},
b
.
prototype
.
checkPositionWithEventLoop
=
function
(){
setTimeout
(
a
.
proxy
(
this
.
checkPosition
,
this
),
1
)},
b
.
prototype
.
checkPosition
=
function
(){
if
(
this
.
$element
.
is
(
"
:visible
"
)){
var
c
=
a
(
document
).
height
(),
d
=
this
.
$window
.
scrollTop
(),
e
=
this
.
$element
.
offset
(),
f
=
this
.
options
.
offset
,
g
=
f
.
top
,
h
=
f
.
bottom
;
"
object
"
!=
typeof
f
&&
(
h
=
g
=
f
),
"
function
"
==
typeof
g
&&
(
g
=
f
.
top
(
this
.
$element
)),
"
function
"
==
typeof
h
&&
(
h
=
f
.
bottom
(
this
.
$element
));
var
i
=
null
!=
this
.
unpin
&&
d
+
this
.
unpin
<=
e
.
top
?
!
1
:
null
!=
h
&&
e
.
top
+
this
.
$element
.
height
()
>=
c
-
h
?
"
bottom
"
:
null
!=
g
&&
g
>=
d
?
"
top
"
:
!
1
;
if
(
this
.
affixed
!==
i
){
null
!=
this
.
unpin
&&
this
.
$element
.
css
(
"
top
"
,
""
);
var
j
=
"
affix
"
+
(
i
?
"
-
"
+
i
:
""
),
k
=
a
.
Event
(
j
+
"
.bs.affix
"
);
this
.
$element
.
trigger
(
k
),
k
.
isDefaultPrevented
()
||
(
this
.
affixed
=
i
,
this
.
unpin
=
"
bottom
"
==
i
?
this
.
getPinnedOffset
():
null
,
this
.
$element
.
removeClass
(
b
.
RESET
).
addClass
(
j
).
trigger
(
a
.
Event
(
j
.
replace
(
"
affix
"
,
"
affixed
"
))),
"
bottom
"
==
i
&&
this
.
$element
.
offset
({
top
:
e
.
top
}))}}};
var
c
=
a
.
fn
.
affix
;
a
.
fn
.
affix
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.affix
"
),
f
=
"
object
"
==
typeof
c
&&
c
;
e
||
d
.
data
(
"
bs.affix
"
,
e
=
new
b
(
this
,
f
)),
"
string
"
==
typeof
c
&&
e
[
c
]()})},
a
.
fn
.
affix
.
Constructor
=
b
,
a
.
fn
.
affix
.
noConflict
=
function
(){
return
a
.
fn
.
affix
=
c
,
this
},
a
(
window
).
on
(
"
load
"
,
function
(){
a
(
'
[data-spy="affix"]
'
).
each
(
function
(){
var
b
=
a
(
this
),
c
=
b
.
data
();
c
.
offset
=
c
.
offset
||
{},
c
.
offsetBottom
&&
(
c
.
offset
.
bottom
=
c
.
offsetBottom
),
c
.
offsetTop
&&
(
c
.
offset
.
top
=
c
.
offsetTop
),
b
.
affix
(
c
)})})}(
jQuery
);
if
(
"
undefined
"
==
typeof
jQuery
)
throw
new
Error
(
"
Bootstrap's JavaScript requires jQuery
"
);
+
function
(
a
){
"
use strict
"
;
function
b
(){
var
a
=
document
.
createElement
(
"
bootstrap
"
),
b
=
{
WebkitTransition
:
"
webkitTransitionEnd
"
,
MozTransition
:
"
transitionend
"
,
OTransition
:
"
oTransitionEnd otransitionend
"
,
transition
:
"
transitionend
"
};
for
(
var
c
in
b
)
if
(
void
0
!==
a
.
style
[
c
])
return
{
end
:
b
[
c
]};
return
!
1
}
a
.
fn
.
emulateTransitionEnd
=
function
(
b
){
var
c
=!
1
,
d
=
this
;
a
(
this
).
one
(
a
.
support
.
transition
.
end
,
function
(){
c
=!
0
});
var
e
=
function
(){
c
||
a
(
d
).
trigger
(
a
.
support
.
transition
.
end
)};
return
setTimeout
(
e
,
b
),
this
},
a
(
function
(){
a
.
support
.
transition
=
b
()})}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
var
b
=
'
[data-dismiss="alert"]
'
,
c
=
function
(
c
){
a
(
c
).
on
(
"
click
"
,
b
,
this
.
close
)};
c
.
prototype
.
close
=
function
(
b
){
function
c
(){
f
.
trigger
(
"
closed.bs.alert
"
).
remove
()}
var
d
=
a
(
this
),
e
=
d
.
attr
(
"
data-target
"
);
e
||
(
e
=
d
.
attr
(
"
href
"
),
e
=
e
&&
e
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
""
));
var
f
=
a
(
e
);
b
&&
b
.
preventDefault
(),
f
.
length
||
(
f
=
d
.
hasClass
(
"
alert
"
)?
d
:
d
.
parent
()),
f
.
trigger
(
b
=
a
.
Event
(
"
close.bs.alert
"
)),
b
.
isDefaultPrevented
()
||
(
f
.
removeClass
(
"
in
"
),
a
.
support
.
transition
&&
f
.
hasClass
(
"
fade
"
)?
f
.
one
(
a
.
support
.
transition
.
end
,
c
).
emulateTransitionEnd
(
150
):
c
())};
var
d
=
a
.
fn
.
alert
;
a
.
fn
.
alert
=
function
(
b
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.alert
"
);
e
||
d
.
data
(
"
bs.alert
"
,
e
=
new
c
(
this
)),
"
string
"
==
typeof
b
&&
e
[
b
].
call
(
d
)})},
a
.
fn
.
alert
.
Constructor
=
c
,
a
.
fn
.
alert
.
noConflict
=
function
(){
return
a
.
fn
.
alert
=
d
,
this
},
a
(
document
).
on
(
"
click.bs.alert.data-api
"
,
b
,
c
.
prototype
.
close
)}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
var
b
=
function
(
c
,
d
){
this
.
$element
=
a
(
c
),
this
.
options
=
a
.
extend
({},
b
.
DEFAULTS
,
d
),
this
.
isLoading
=!
1
};
b
.
DEFAULTS
=
{
loadingText
:
"
loading...
"
},
b
.
prototype
.
setState
=
function
(
b
){
var
c
=
"
disabled
"
,
d
=
this
.
$element
,
e
=
d
.
is
(
"
input
"
)?
"
val
"
:
"
html
"
,
f
=
d
.
data
();
b
+=
"
Text
"
,
f
.
resetText
||
d
.
data
(
"
resetText
"
,
d
[
e
]()),
d
[
e
](
f
[
b
]
||
this
.
options
[
b
]),
setTimeout
(
a
.
proxy
(
function
(){
"
loadingText
"
==
b
?(
this
.
isLoading
=!
0
,
d
.
addClass
(
c
).
attr
(
c
,
c
)):
this
.
isLoading
&&
(
this
.
isLoading
=!
1
,
d
.
removeClass
(
c
).
removeAttr
(
c
))},
this
),
0
)},
b
.
prototype
.
toggle
=
function
(){
var
a
=!
0
,
b
=
this
.
$element
.
closest
(
'
[data-toggle="buttons"]
'
);
if
(
b
.
length
){
var
c
=
this
.
$element
.
find
(
"
input
"
);
"
radio
"
==
c
.
prop
(
"
type
"
)
&&
(
c
.
prop
(
"
checked
"
)
&&
this
.
$element
.
hasClass
(
"
active
"
)?
a
=!
1
:
b
.
find
(
"
.active
"
).
removeClass
(
"
active
"
)),
a
&&
c
.
prop
(
"
checked
"
,
!
this
.
$element
.
hasClass
(
"
active
"
)).
trigger
(
"
change
"
)}
a
&&
this
.
$element
.
toggleClass
(
"
active
"
)};
var
c
=
a
.
fn
.
button
;
a
.
fn
.
button
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.button
"
),
f
=
"
object
"
==
typeof
c
&&
c
;
e
||
d
.
data
(
"
bs.button
"
,
e
=
new
b
(
this
,
f
)),
"
toggle
"
==
c
?
e
.
toggle
():
c
&&
e
.
setState
(
c
)})},
a
.
fn
.
button
.
Constructor
=
b
,
a
.
fn
.
button
.
noConflict
=
function
(){
return
a
.
fn
.
button
=
c
,
this
},
a
(
document
).
on
(
"
click.bs.button.data-api
"
,
"
[data-toggle^=button]
"
,
function
(
b
){
var
c
=
a
(
b
.
target
);
c
.
hasClass
(
"
btn
"
)
||
(
c
=
c
.
closest
(
"
.btn
"
)),
c
.
button
(
"
toggle
"
),
b
.
preventDefault
()})}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
var
b
=
function
(
b
,
c
){
this
.
$element
=
a
(
b
),
this
.
$indicators
=
this
.
$element
.
find
(
"
.carousel-indicators
"
),
this
.
options
=
c
,
this
.
paused
=
this
.
sliding
=
this
.
interval
=
this
.
$active
=
this
.
$items
=
null
,
"
hover
"
==
this
.
options
.
pause
&&
this
.
$element
.
on
(
"
mouseenter
"
,
a
.
proxy
(
this
.
pause
,
this
)).
on
(
"
mouseleave
"
,
a
.
proxy
(
this
.
cycle
,
this
))};
b
.
DEFAULTS
=
{
interval
:
5
e3
,
pause
:
"
hover
"
,
wrap
:
!
0
},
b
.
prototype
.
cycle
=
function
(
b
){
return
b
||
(
this
.
paused
=!
1
),
this
.
interval
&&
clearInterval
(
this
.
interval
),
this
.
options
.
interval
&&!
this
.
paused
&&
(
this
.
interval
=
setInterval
(
a
.
proxy
(
this
.
next
,
this
),
this
.
options
.
interval
)),
this
},
b
.
prototype
.
getActiveIndex
=
function
(){
return
this
.
$active
=
this
.
$element
.
find
(
"
.item.active
"
),
this
.
$items
=
this
.
$active
.
parent
().
children
(
"
.item
"
),
this
.
$items
.
index
(
this
.
$active
)},
b
.
prototype
.
to
=
function
(
b
){
var
c
=
this
,
d
=
this
.
getActiveIndex
();
return
b
>
this
.
$items
.
length
-
1
||
0
>
b
?
void
0
:
this
.
sliding
?
this
.
$element
.
one
(
"
slid.bs.carousel
"
,
function
(){
c
.
to
(
b
)}):
d
==
b
?
this
.
pause
().
cycle
():
this
.
slide
(
b
>
d
?
"
next
"
:
"
prev
"
,
a
(
this
.
$items
[
b
]))},
b
.
prototype
.
pause
=
function
(
b
){
return
b
||
(
this
.
paused
=!
0
),
this
.
$element
.
find
(
"
.next, .prev
"
).
length
&&
a
.
support
.
transition
&&
(
this
.
$element
.
trigger
(
a
.
support
.
transition
.
end
),
this
.
cycle
(
!
0
)),
this
.
interval
=
clearInterval
(
this
.
interval
),
this
},
b
.
prototype
.
next
=
function
(){
return
this
.
sliding
?
void
0
:
this
.
slide
(
"
next
"
)},
b
.
prototype
.
prev
=
function
(){
return
this
.
sliding
?
void
0
:
this
.
slide
(
"
prev
"
)},
b
.
prototype
.
slide
=
function
(
b
,
c
){
var
d
=
this
.
$element
.
find
(
"
.item.active
"
),
e
=
c
||
d
[
b
](),
f
=
this
.
interval
,
g
=
"
next
"
==
b
?
"
left
"
:
"
right
"
,
h
=
"
next
"
==
b
?
"
first
"
:
"
last
"
,
i
=
this
;
if
(
!
e
.
length
){
if
(
!
this
.
options
.
wrap
)
return
;
e
=
this
.
$element
.
find
(
"
.item
"
)[
h
]()}
if
(
e
.
hasClass
(
"
active
"
))
return
this
.
sliding
=!
1
;
var
j
=
a
.
Event
(
"
slide.bs.carousel
"
,{
relatedTarget
:
e
[
0
],
direction
:
g
});
return
this
.
$element
.
trigger
(
j
),
j
.
isDefaultPrevented
()?
void
0
:(
this
.
sliding
=!
0
,
f
&&
this
.
pause
(),
this
.
$indicators
.
length
&&
(
this
.
$indicators
.
find
(
"
.active
"
).
removeClass
(
"
active
"
),
this
.
$element
.
one
(
"
slid.bs.carousel
"
,
function
(){
var
b
=
a
(
i
.
$indicators
.
children
()[
i
.
getActiveIndex
()]);
b
&&
b
.
addClass
(
"
active
"
)})),
a
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"
slide
"
)?(
e
.
addClass
(
b
),
e
[
0
].
offsetWidth
,
d
.
addClass
(
g
),
e
.
addClass
(
g
),
d
.
one
(
a
.
support
.
transition
.
end
,
function
(){
e
.
removeClass
([
b
,
g
].
join
(
"
"
)).
addClass
(
"
active
"
),
d
.
removeClass
([
"
active
"
,
g
].
join
(
"
"
)),
i
.
sliding
=!
1
,
setTimeout
(
function
(){
i
.
$element
.
trigger
(
"
slid.bs.carousel
"
)},
0
)}).
emulateTransitionEnd
(
1
e3
*
d
.
css
(
"
transition-duration
"
).
slice
(
0
,
-
1
))):(
d
.
removeClass
(
"
active
"
),
e
.
addClass
(
"
active
"
),
this
.
sliding
=!
1
,
this
.
$element
.
trigger
(
"
slid.bs.carousel
"
)),
f
&&
this
.
cycle
(),
this
)};
var
c
=
a
.
fn
.
carousel
;
a
.
fn
.
carousel
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.carousel
"
),
f
=
a
.
extend
({},
b
.
DEFAULTS
,
d
.
data
(),
"
object
"
==
typeof
c
&&
c
),
g
=
"
string
"
==
typeof
c
?
c
:
f
.
slide
;
e
||
d
.
data
(
"
bs.carousel
"
,
e
=
new
b
(
this
,
f
)),
"
number
"
==
typeof
c
?
e
.
to
(
c
):
g
?
e
[
g
]():
f
.
interval
&&
e
.
pause
().
cycle
()})},
a
.
fn
.
carousel
.
Constructor
=
b
,
a
.
fn
.
carousel
.
noConflict
=
function
(){
return
a
.
fn
.
carousel
=
c
,
this
},
a
(
document
).
on
(
"
click.bs.carousel.data-api
"
,
"
[data-slide], [data-slide-to]
"
,
function
(
b
){
var
c
,
d
=
a
(
this
),
e
=
a
(
d
.
attr
(
"
data-target
"
)
||
(
c
=
d
.
attr
(
"
href
"
))
&&
c
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
)),
f
=
a
.
extend
({},
e
.
data
(),
d
.
data
()),
g
=
d
.
attr
(
"
data-slide-to
"
);
g
&&
(
f
.
interval
=!
1
),
e
.
carousel
(
f
),(
g
=
d
.
attr
(
"
data-slide-to
"
))
&&
e
.
data
(
"
bs.carousel
"
).
to
(
g
),
b
.
preventDefault
()}),
a
(
window
).
on
(
"
load
"
,
function
(){
a
(
'
[data-ride="carousel"]
'
).
each
(
function
(){
var
b
=
a
(
this
);
b
.
carousel
(
b
.
data
())})})}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
var
b
=
function
(
c
,
d
){
this
.
$element
=
a
(
c
),
this
.
options
=
a
.
extend
({},
b
.
DEFAULTS
,
d
),
this
.
transitioning
=
null
,
this
.
options
.
parent
&&
(
this
.
$parent
=
a
(
this
.
options
.
parent
)),
this
.
options
.
toggle
&&
this
.
toggle
()};
b
.
DEFAULTS
=
{
toggle
:
!
0
},
b
.
prototype
.
dimension
=
function
(){
var
a
=
this
.
$element
.
hasClass
(
"
width
"
);
return
a
?
"
width
"
:
"
height
"
},
b
.
prototype
.
show
=
function
(){
if
(
!
this
.
transitioning
&&!
this
.
$element
.
hasClass
(
"
in
"
)){
var
b
=
a
.
Event
(
"
show.bs.collapse
"
);
if
(
this
.
$element
.
trigger
(
b
),
!
b
.
isDefaultPrevented
()){
var
c
=
this
.
$parent
&&
this
.
$parent
.
find
(
"
> .panel > .in
"
);
if
(
c
&&
c
.
length
){
var
d
=
c
.
data
(
"
bs.collapse
"
);
if
(
d
&&
d
.
transitioning
)
return
;
c
.
collapse
(
"
hide
"
),
d
||
c
.
data
(
"
bs.collapse
"
,
null
)}
var
e
=
this
.
dimension
();
this
.
$element
.
removeClass
(
"
collapse
"
).
addClass
(
"
collapsing
"
)[
e
](
0
),
this
.
transitioning
=
1
;
var
f
=
function
(
a
){
a
&&
a
.
target
!=
this
.
$element
[
0
]
||
(
this
.
$element
.
removeClass
(
"
collapsing
"
).
addClass
(
"
collapse in
"
)[
e
](
"
auto
"
),
this
.
transitioning
=
0
,
this
.
$element
.
trigger
(
"
shown.bs.collapse
"
))};
if
(
!
a
.
support
.
transition
)
return
f
.
call
(
this
);
var
g
=
a
.
camelCase
([
"
scroll
"
,
e
].
join
(
"
-
"
));
this
.
$element
.
one
(
a
.
support
.
transition
.
end
,
a
.
proxy
(
f
,
this
)).
emulateTransitionEnd
(
350
)[
e
](
this
.
$element
[
0
][
g
])}}},
b
.
prototype
.
hide
=
function
(){
if
(
!
this
.
transitioning
&&
this
.
$element
.
hasClass
(
"
in
"
)){
var
b
=
a
.
Event
(
"
hide.bs.collapse
"
);
if
(
this
.
$element
.
trigger
(
b
),
!
b
.
isDefaultPrevented
()){
var
c
=
this
.
dimension
();
this
.
$element
[
c
](
this
.
$element
[
c
]())[
0
].
offsetHeight
,
this
.
$element
.
addClass
(
"
collapsing
"
).
removeClass
(
"
collapse
"
).
removeClass
(
"
in
"
),
this
.
transitioning
=
1
;
var
d
=
function
(
a
){
a
&&
a
.
target
!=
this
.
$element
[
0
]
||
(
this
.
transitioning
=
0
,
this
.
$element
.
trigger
(
"
hidden.bs.collapse
"
).
removeClass
(
"
collapsing
"
).
addClass
(
"
collapse
"
))};
return
a
.
support
.
transition
?
void
this
.
$element
[
c
](
0
).
one
(
a
.
support
.
transition
.
end
,
a
.
proxy
(
d
,
this
)).
emulateTransitionEnd
(
350
):
d
.
call
(
this
)}}},
b
.
prototype
.
toggle
=
function
(){
this
[
this
.
$element
.
hasClass
(
"
in
"
)?
"
hide
"
:
"
show
"
]()};
var
c
=
a
.
fn
.
collapse
;
a
.
fn
.
collapse
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.collapse
"
),
f
=
a
.
extend
({},
b
.
DEFAULTS
,
d
.
data
(),
"
object
"
==
typeof
c
&&
c
);
!
e
&&
f
.
toggle
&&
"
show
"
==
c
&&
(
c
=!
c
),
e
||
d
.
data
(
"
bs.collapse
"
,
e
=
new
b
(
this
,
f
)),
"
string
"
==
typeof
c
&&
e
[
c
]()})},
a
.
fn
.
collapse
.
Constructor
=
b
,
a
.
fn
.
collapse
.
noConflict
=
function
(){
return
a
.
fn
.
collapse
=
c
,
this
},
a
(
document
).
on
(
"
click.bs.collapse.data-api
"
,
'
[data-toggle="collapse"]
'
,
function
(
b
){
var
c
,
d
=
a
(
this
),
e
=
d
.
attr
(
"
data-target
"
)
||
b
.
preventDefault
()
||
(
c
=
d
.
attr
(
"
href
"
))
&&
c
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
),
f
=
a
(
e
),
g
=
f
.
data
(
"
bs.collapse
"
),
h
=
g
?
"
toggle
"
:
d
.
data
(),
i
=
d
.
attr
(
"
data-parent
"
),
j
=
i
&&
a
(
i
);
g
&&
g
.
transitioning
||
(
j
&&
j
.
find
(
'
[data-toggle="collapse"][data-parent="
'
+
i
+
'
"]
'
).
not
(
d
).
addClass
(
"
collapsed
"
),
d
[
f
.
hasClass
(
"
in
"
)?
"
addClass
"
:
"
removeClass
"
](
"
collapsed
"
)),
f
.
collapse
(
h
)})}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
function
b
(
b
){
a
(
d
).
remove
(),
a
(
e
).
each
(
function
(){
var
d
=
c
(
a
(
this
)),
e
=
{
relatedTarget
:
this
};
d
.
hasClass
(
"
open
"
)
&&
(
d
.
trigger
(
b
=
a
.
Event
(
"
hide.bs.dropdown
"
,
e
)),
b
.
isDefaultPrevented
()
||
d
.
removeClass
(
"
open
"
).
trigger
(
"
hidden.bs.dropdown
"
,
e
))})}
function
c
(
b
){
var
c
=
b
.
attr
(
"
data-target
"
);
c
||
(
c
=
b
.
attr
(
"
href
"
),
c
=
c
&&
/#
[
A-Za-z
]
/
.
test
(
c
)
&&
c
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
""
));
var
d
=
c
&&
a
(
c
);
return
d
&&
d
.
length
?
d
:
b
.
parent
()}
var
d
=
"
.dropdown-backdrop
"
,
e
=
'
[data-toggle="dropdown"]
'
,
f
=
function
(
b
){
a
(
b
).
on
(
"
click.bs.dropdown
"
,
this
.
toggle
)};
f
.
prototype
.
toggle
=
function
(
d
){
var
e
=
a
(
this
);
if
(
!
e
.
is
(
"
.disabled, :disabled
"
)){
var
f
=
c
(
e
),
g
=
f
.
hasClass
(
"
open
"
);
if
(
b
(),
!
g
){
"
ontouchstart
"
in
document
.
documentElement
&&!
f
.
closest
(
"
.navbar-nav
"
).
length
&&
a
(
'
<div class="dropdown-backdrop"/>
'
).
insertAfter
(
a
(
this
)).
on
(
"
click
"
,
b
);
var
h
=
{
relatedTarget
:
this
};
if
(
f
.
trigger
(
d
=
a
.
Event
(
"
show.bs.dropdown
"
,
h
)),
d
.
isDefaultPrevented
())
return
;
e
.
trigger
(
"
focus
"
),
f
.
toggleClass
(
"
open
"
).
trigger
(
"
shown.bs.dropdown
"
,
h
)}
return
!
1
}},
f
.
prototype
.
keydown
=
function
(
b
){
if
(
/
(
38|40|27
)
/
.
test
(
b
.
keyCode
)){
var
d
=
a
(
this
);
if
(
b
.
preventDefault
(),
b
.
stopPropagation
(),
!
d
.
is
(
"
.disabled, :disabled
"
)){
var
f
=
c
(
d
),
g
=
f
.
hasClass
(
"
open
"
);
if
(
!
g
||
g
&&
27
==
b
.
keyCode
)
return
27
==
b
.
which
&&
f
.
find
(
e
).
trigger
(
"
focus
"
),
d
.
trigger
(
"
click
"
);
var
h
=
"
li:not(.divider):visible a
"
,
i
=
f
.
find
(
'
[role="menu"]
'
+
h
+
'
, [role="listbox"]
'
+
h
);
if
(
i
.
length
){
var
j
=
i
.
index
(
i
.
filter
(
"
:focus
"
));
38
==
b
.
keyCode
&&
j
>
0
&&
j
--
,
40
==
b
.
keyCode
&&
j
<
i
.
length
-
1
&&
j
++
,
~
j
||
(
j
=
0
),
i
.
eq
(
j
).
trigger
(
"
focus
"
)}}}};
var
g
=
a
.
fn
.
dropdown
;
a
.
fn
.
dropdown
=
function
(
b
){
return
this
.
each
(
function
(){
var
c
=
a
(
this
),
d
=
c
.
data
(
"
bs.dropdown
"
);
d
||
c
.
data
(
"
bs.dropdown
"
,
d
=
new
f
(
this
)),
"
string
"
==
typeof
b
&&
d
[
b
].
call
(
c
)})},
a
.
fn
.
dropdown
.
Constructor
=
f
,
a
.
fn
.
dropdown
.
noConflict
=
function
(){
return
a
.
fn
.
dropdown
=
g
,
this
},
a
(
document
).
on
(
"
click.bs.dropdown.data-api
"
,
b
).
on
(
"
click.bs.dropdown.data-api
"
,
"
.dropdown form
"
,
function
(
a
){
a
.
stopPropagation
()}).
on
(
"
click.bs.dropdown.data-api
"
,
e
,
f
.
prototype
.
toggle
).
on
(
"
keydown.bs.dropdown.data-api
"
,
e
+
'
, [role="menu"], [role="listbox"]
'
,
f
.
prototype
.
keydown
)}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
var
b
=
function
(
b
,
c
){
this
.
options
=
c
,
this
.
$body
=
a
(
document
.
body
),
this
.
$element
=
a
(
b
),
this
.
$backdrop
=
this
.
isShown
=
null
,
this
.
scrollbarWidth
=
0
,
this
.
options
.
remote
&&
this
.
$element
.
find
(
"
.modal-content
"
).
load
(
this
.
options
.
remote
,
a
.
proxy
(
function
(){
this
.
$element
.
trigger
(
"
loaded.bs.modal
"
)},
this
))};
b
.
DEFAULTS
=
{
backdrop
:
!
0
,
keyboard
:
!
0
,
show
:
!
0
},
b
.
prototype
.
toggle
=
function
(
a
){
return
this
.
isShown
?
this
.
hide
():
this
.
show
(
a
)},
b
.
prototype
.
show
=
function
(
b
){
var
c
=
this
,
d
=
a
.
Event
(
"
show.bs.modal
"
,{
relatedTarget
:
b
});
this
.
$element
.
trigger
(
d
),
this
.
isShown
||
d
.
isDefaultPrevented
()
||
(
this
.
isShown
=!
0
,
this
.
checkScrollbar
(),
this
.
$body
.
addClass
(
"
modal-open
"
),
this
.
setScrollbar
(),
this
.
escape
(),
this
.
$element
.
on
(
"
click.dismiss.bs.modal
"
,
'
[data-dismiss="modal"]
'
,
a
.
proxy
(
this
.
hide
,
this
)),
this
.
backdrop
(
function
(){
var
d
=
a
.
support
.
transition
&&
c
.
$element
.
hasClass
(
"
fade
"
);
c
.
$element
.
parent
().
length
||
c
.
$element
.
appendTo
(
c
.
$body
),
c
.
$element
.
show
().
scrollTop
(
0
),
d
&&
c
.
$element
[
0
].
offsetWidth
,
c
.
$element
.
addClass
(
"
in
"
).
attr
(
"
aria-hidden
"
,
!
1
),
c
.
enforceFocus
();
var
e
=
a
.
Event
(
"
shown.bs.modal
"
,{
relatedTarget
:
b
});
d
?
c
.
$element
.
find
(
"
.modal-dialog
"
).
one
(
a
.
support
.
transition
.
end
,
function
(){
c
.
$element
.
trigger
(
"
focus
"
).
trigger
(
e
)}).
emulateTransitionEnd
(
300
):
c
.
$element
.
trigger
(
"
focus
"
).
trigger
(
e
)}))},
b
.
prototype
.
hide
=
function
(
b
){
b
&&
b
.
preventDefault
(),
b
=
a
.
Event
(
"
hide.bs.modal
"
),
this
.
$element
.
trigger
(
b
),
this
.
isShown
&&!
b
.
isDefaultPrevented
()
&&
(
this
.
isShown
=!
1
,
this
.
$body
.
removeClass
(
"
modal-open
"
),
this
.
resetScrollbar
(),
this
.
escape
(),
a
(
document
).
off
(
"
focusin.bs.modal
"
),
this
.
$element
.
removeClass
(
"
in
"
).
attr
(
"
aria-hidden
"
,
!
0
).
off
(
"
click.dismiss.bs.modal
"
),
a
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"
fade
"
)?
this
.
$element
.
one
(
a
.
support
.
transition
.
end
,
a
.
proxy
(
this
.
hideModal
,
this
)).
emulateTransitionEnd
(
300
):
this
.
hideModal
())},
b
.
prototype
.
enforceFocus
=
function
(){
a
(
document
).
off
(
"
focusin.bs.modal
"
).
on
(
"
focusin.bs.modal
"
,
a
.
proxy
(
function
(
a
){
this
.
$element
[
0
]
===
a
.
target
||
this
.
$element
.
has
(
a
.
target
).
length
||
this
.
$element
.
trigger
(
"
focus
"
)},
this
))},
b
.
prototype
.
escape
=
function
(){
this
.
isShown
&&
this
.
options
.
keyboard
?
this
.
$element
.
on
(
"
keyup.dismiss.bs.modal
"
,
a
.
proxy
(
function
(
a
){
27
==
a
.
which
&&
this
.
hide
()},
this
)):
this
.
isShown
||
this
.
$element
.
off
(
"
keyup.dismiss.bs.modal
"
)},
b
.
prototype
.
hideModal
=
function
(){
var
a
=
this
;
this
.
$element
.
hide
(),
this
.
backdrop
(
function
(){
a
.
removeBackdrop
(),
a
.
$element
.
trigger
(
"
hidden.bs.modal
"
)})},
b
.
prototype
.
removeBackdrop
=
function
(){
this
.
$backdrop
&&
this
.
$backdrop
.
remove
(),
this
.
$backdrop
=
null
},
b
.
prototype
.
backdrop
=
function
(
b
){
var
c
=
this
.
$element
.
hasClass
(
"
fade
"
)?
"
fade
"
:
""
;
if
(
this
.
isShown
&&
this
.
options
.
backdrop
){
var
d
=
a
.
support
.
transition
&&
c
;
if
(
this
.
$backdrop
=
a
(
'
<div class="modal-backdrop
'
+
c
+
'
" />
'
).
appendTo
(
this
.
$body
),
this
.
$element
.
on
(
"
click.dismiss.bs.modal
"
,
a
.
proxy
(
function
(
a
){
a
.
target
===
a
.
currentTarget
&&
(
"
static
"
==
this
.
options
.
backdrop
?
this
.
$element
[
0
].
focus
.
call
(
this
.
$element
[
0
]):
this
.
hide
.
call
(
this
))},
this
)),
d
&&
this
.
$backdrop
[
0
].
offsetWidth
,
this
.
$backdrop
.
addClass
(
"
in
"
),
!
b
)
return
;
d
?
this
.
$backdrop
.
one
(
a
.
support
.
transition
.
end
,
b
).
emulateTransitionEnd
(
150
):
b
()}
else
!
this
.
isShown
&&
this
.
$backdrop
?(
this
.
$backdrop
.
removeClass
(
"
in
"
),
a
.
support
.
transition
&&
this
.
$element
.
hasClass
(
"
fade
"
)?
this
.
$backdrop
.
one
(
a
.
support
.
transition
.
end
,
b
).
emulateTransitionEnd
(
150
):
b
()):
b
&&
b
()},
b
.
prototype
.
checkScrollbar
=
function
(){
document
.
body
.
clientWidth
>=
window
.
innerWidth
||
(
this
.
scrollbarWidth
=
this
.
scrollbarWidth
||
this
.
measureScrollbar
())},
b
.
prototype
.
setScrollbar
=
function
(){
var
a
=
parseInt
(
this
.
$body
.
css
(
"
padding-right
"
)
||
0
);
this
.
scrollbarWidth
&&
this
.
$body
.
css
(
"
padding-right
"
,
a
+
this
.
scrollbarWidth
)},
b
.
prototype
.
resetScrollbar
=
function
(){
this
.
$body
.
css
(
"
padding-right
"
,
""
)},
b
.
prototype
.
measureScrollbar
=
function
(){
var
a
=
document
.
createElement
(
"
div
"
);
a
.
className
=
"
modal-scrollbar-measure
"
,
this
.
$body
.
append
(
a
);
var
b
=
a
.
offsetWidth
-
a
.
clientWidth
;
return
this
.
$body
[
0
].
removeChild
(
a
),
b
};
var
c
=
a
.
fn
.
modal
;
a
.
fn
.
modal
=
function
(
c
,
d
){
return
this
.
each
(
function
(){
var
e
=
a
(
this
),
f
=
e
.
data
(
"
bs.modal
"
),
g
=
a
.
extend
({},
b
.
DEFAULTS
,
e
.
data
(),
"
object
"
==
typeof
c
&&
c
);
f
||
e
.
data
(
"
bs.modal
"
,
f
=
new
b
(
this
,
g
)),
"
string
"
==
typeof
c
?
f
[
c
](
d
):
g
.
show
&&
f
.
show
(
d
)})},
a
.
fn
.
modal
.
Constructor
=
b
,
a
.
fn
.
modal
.
noConflict
=
function
(){
return
a
.
fn
.
modal
=
c
,
this
},
a
(
document
).
on
(
"
click.bs.modal.data-api
"
,
'
[data-toggle="modal"]
'
,
function
(
b
){
var
c
=
a
(
this
),
d
=
c
.
attr
(
"
href
"
),
e
=
a
(
c
.
attr
(
"
data-target
"
)
||
d
&&
d
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
)),
f
=
e
.
data
(
"
bs.modal
"
)?
"
toggle
"
:
a
.
extend
({
remote
:
!
/#/
.
test
(
d
)
&&
d
},
e
.
data
(),
c
.
data
());
c
.
is
(
"
a
"
)
&&
b
.
preventDefault
(),
e
.
modal
(
f
,
this
).
one
(
"
hide
"
,
function
(){
c
.
is
(
"
:visible
"
)
&&
c
.
trigger
(
"
focus
"
)})})}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
var
b
=
function
(
a
,
b
){
this
.
type
=
this
.
options
=
this
.
enabled
=
this
.
timeout
=
this
.
hoverState
=
this
.
$element
=
null
,
this
.
init
(
"
tooltip
"
,
a
,
b
)};
b
.
DEFAULTS
=
{
animation
:
!
0
,
placement
:
"
top
"
,
selector
:
!
1
,
template
:
'
<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>
'
,
trigger
:
"
hover focus
"
,
title
:
""
,
delay
:
0
,
html
:
!
1
,
container
:
!
1
,
viewport
:{
selector
:
"
body
"
,
padding
:
0
}},
b
.
prototype
.
init
=
function
(
b
,
c
,
d
){
this
.
enabled
=!
0
,
this
.
type
=
b
,
this
.
$element
=
a
(
c
),
this
.
options
=
this
.
getOptions
(
d
),
this
.
$viewport
=
this
.
options
.
viewport
&&
a
(
this
.
options
.
viewport
.
selector
||
this
.
options
.
viewport
);
for
(
var
e
=
this
.
options
.
trigger
.
split
(
"
"
),
f
=
e
.
length
;
f
--
;){
var
g
=
e
[
f
];
if
(
"
click
"
==
g
)
this
.
$element
.
on
(
"
click.
"
+
this
.
type
,
this
.
options
.
selector
,
a
.
proxy
(
this
.
toggle
,
this
));
else
if
(
"
manual
"
!=
g
){
var
h
=
"
hover
"
==
g
?
"
mouseenter
"
:
"
focusin
"
,
i
=
"
hover
"
==
g
?
"
mouseleave
"
:
"
focusout
"
;
this
.
$element
.
on
(
h
+
"
.
"
+
this
.
type
,
this
.
options
.
selector
,
a
.
proxy
(
this
.
enter
,
this
)),
this
.
$element
.
on
(
i
+
"
.
"
+
this
.
type
,
this
.
options
.
selector
,
a
.
proxy
(
this
.
leave
,
this
))}}
this
.
options
.
selector
?
this
.
_options
=
a
.
extend
({},
this
.
options
,{
trigger
:
"
manual
"
,
selector
:
""
}):
this
.
fixTitle
()},
b
.
prototype
.
getDefaults
=
function
(){
return
b
.
DEFAULTS
},
b
.
prototype
.
getOptions
=
function
(
b
){
return
b
=
a
.
extend
({},
this
.
getDefaults
(),
this
.
$element
.
data
(),
b
),
b
.
delay
&&
"
number
"
==
typeof
b
.
delay
&&
(
b
.
delay
=
{
show
:
b
.
delay
,
hide
:
b
.
delay
}),
b
},
b
.
prototype
.
getDelegateOptions
=
function
(){
var
b
=
{},
c
=
this
.
getDefaults
();
return
this
.
_options
&&
a
.
each
(
this
.
_options
,
function
(
a
,
d
){
c
[
a
]
!=
d
&&
(
b
[
a
]
=
d
)}),
b
},
b
.
prototype
.
enter
=
function
(
b
){
var
c
=
b
instanceof
this
.
constructor
?
b
:
a
(
b
.
currentTarget
)[
this
.
type
](
this
.
getDelegateOptions
()).
data
(
"
bs.
"
+
this
.
type
);
return
clearTimeout
(
c
.
timeout
),
c
.
hoverState
=
"
in
"
,
c
.
options
.
delay
&&
c
.
options
.
delay
.
show
?
void
(
c
.
timeout
=
setTimeout
(
function
(){
"
in
"
==
c
.
hoverState
&&
c
.
show
()},
c
.
options
.
delay
.
show
)):
c
.
show
()},
b
.
prototype
.
leave
=
function
(
b
){
var
c
=
b
instanceof
this
.
constructor
?
b
:
a
(
b
.
currentTarget
)[
this
.
type
](
this
.
getDelegateOptions
()).
data
(
"
bs.
"
+
this
.
type
);
return
clearTimeout
(
c
.
timeout
),
c
.
hoverState
=
"
out
"
,
c
.
options
.
delay
&&
c
.
options
.
delay
.
hide
?
void
(
c
.
timeout
=
setTimeout
(
function
(){
"
out
"
==
c
.
hoverState
&&
c
.
hide
()},
c
.
options
.
delay
.
hide
)):
c
.
hide
()},
b
.
prototype
.
show
=
function
(){
var
b
=
a
.
Event
(
"
show.bs.
"
+
this
.
type
);
if
(
this
.
hasContent
()
&&
this
.
enabled
){
if
(
this
.
$element
.
trigger
(
b
),
b
.
isDefaultPrevented
())
return
;
var
c
=
this
,
d
=
this
.
tip
();
this
.
setContent
(),
this
.
options
.
animation
&&
d
.
addClass
(
"
fade
"
);
var
e
=
"
function
"
==
typeof
this
.
options
.
placement
?
this
.
options
.
placement
.
call
(
this
,
d
[
0
],
this
.
$element
[
0
]):
this
.
options
.
placement
,
f
=
/
\s?
auto
?\s?
/i
,
g
=
f
.
test
(
e
);
g
&&
(
e
=
e
.
replace
(
f
,
""
)
||
"
top
"
),
d
.
detach
().
css
({
top
:
0
,
left
:
0
,
display
:
"
block
"
}).
addClass
(
e
),
this
.
options
.
container
?
d
.
appendTo
(
this
.
options
.
container
):
d
.
insertAfter
(
this
.
$element
);
var
h
=
this
.
getPosition
(),
i
=
d
[
0
].
offsetWidth
,
j
=
d
[
0
].
offsetHeight
;
if
(
g
){
var
k
=
e
,
l
=
this
.
$element
.
parent
(),
m
=
this
.
getPosition
(
l
);
e
=
"
bottom
"
==
e
&&
h
.
top
+
h
.
height
+
j
-
m
.
scroll
>
m
.
height
?
"
top
"
:
"
top
"
==
e
&&
h
.
top
-
m
.
scroll
-
j
<
0
?
"
bottom
"
:
"
right
"
==
e
&&
h
.
right
+
i
>
m
.
width
?
"
left
"
:
"
left
"
==
e
&&
h
.
left
-
i
<
m
.
left
?
"
right
"
:
e
,
d
.
removeClass
(
k
).
addClass
(
e
)}
var
n
=
this
.
getCalculatedOffset
(
e
,
h
,
i
,
j
);
this
.
applyPlacement
(
n
,
e
),
this
.
hoverState
=
null
;
var
o
=
function
(){
c
.
$element
.
trigger
(
"
shown.bs.
"
+
c
.
type
)};
a
.
support
.
transition
&&
this
.
$tip
.
hasClass
(
"
fade
"
)?
d
.
one
(
a
.
support
.
transition
.
end
,
o
).
emulateTransitionEnd
(
150
):
o
()}},
b
.
prototype
.
applyPlacement
=
function
(
b
,
c
){
var
d
=
this
.
tip
(),
e
=
d
[
0
].
offsetWidth
,
f
=
d
[
0
].
offsetHeight
,
g
=
parseInt
(
d
.
css
(
"
margin-top
"
),
10
),
h
=
parseInt
(
d
.
css
(
"
margin-left
"
),
10
);
isNaN
(
g
)
&&
(
g
=
0
),
isNaN
(
h
)
&&
(
h
=
0
),
b
.
top
=
b
.
top
+
g
,
b
.
left
=
b
.
left
+
h
,
a
.
offset
.
setOffset
(
d
[
0
],
a
.
extend
({
using
:
function
(
a
){
d
.
css
({
top
:
Math
.
round
(
a
.
top
),
left
:
Math
.
round
(
a
.
left
)})}},
b
),
0
),
d
.
addClass
(
"
in
"
);
var
i
=
d
[
0
].
offsetWidth
,
j
=
d
[
0
].
offsetHeight
;
"
top
"
==
c
&&
j
!=
f
&&
(
b
.
top
=
b
.
top
+
f
-
j
);
var
k
=
this
.
getViewportAdjustedDelta
(
c
,
b
,
i
,
j
);
k
.
left
?
b
.
left
+=
k
.
left
:
b
.
top
+=
k
.
top
;
var
l
=
k
.
left
?
2
*
k
.
left
-
e
+
i
:
2
*
k
.
top
-
f
+
j
,
m
=
k
.
left
?
"
left
"
:
"
top
"
,
n
=
k
.
left
?
"
offsetWidth
"
:
"
offsetHeight
"
;
d
.
offset
(
b
),
this
.
replaceArrow
(
l
,
d
[
0
][
n
],
m
)},
b
.
prototype
.
replaceArrow
=
function
(
a
,
b
,
c
){
this
.
arrow
().
css
(
c
,
a
?
50
*
(
1
-
a
/
b
)
+
"
%
"
:
""
)},
b
.
prototype
.
setContent
=
function
(){
var
a
=
this
.
tip
(),
b
=
this
.
getTitle
();
a
.
find
(
"
.tooltip-inner
"
)[
this
.
options
.
html
?
"
html
"
:
"
text
"
](
b
),
a
.
removeClass
(
"
fade in top bottom left right
"
)},
b
.
prototype
.
hide
=
function
(){
function
b
(){
"
in
"
!=
c
.
hoverState
&&
d
.
detach
(),
c
.
$element
.
trigger
(
"
hidden.bs.
"
+
c
.
type
)}
var
c
=
this
,
d
=
this
.
tip
(),
e
=
a
.
Event
(
"
hide.bs.
"
+
this
.
type
);
return
this
.
$element
.
trigger
(
e
),
e
.
isDefaultPrevented
()?
void
0
:(
d
.
removeClass
(
"
in
"
),
a
.
support
.
transition
&&
this
.
$tip
.
hasClass
(
"
fade
"
)?
d
.
one
(
a
.
support
.
transition
.
end
,
b
).
emulateTransitionEnd
(
150
):
b
(),
this
.
hoverState
=
null
,
this
)},
b
.
prototype
.
fixTitle
=
function
(){
var
a
=
this
.
$element
;(
a
.
attr
(
"
title
"
)
||
"
string
"
!=
typeof
a
.
attr
(
"
data-original-title
"
))
&&
a
.
attr
(
"
data-original-title
"
,
a
.
attr
(
"
title
"
)
||
""
).
attr
(
"
title
"
,
""
)},
b
.
prototype
.
hasContent
=
function
(){
return
this
.
getTitle
()},
b
.
prototype
.
getPosition
=
function
(
b
){
b
=
b
||
this
.
$element
;
var
c
=
b
[
0
],
d
=
"
BODY
"
==
c
.
tagName
;
return
a
.
extend
({},
"
function
"
==
typeof
c
.
getBoundingClientRect
?
c
.
getBoundingClientRect
():
null
,{
scroll
:
d
?
document
.
documentElement
.
scrollTop
||
document
.
body
.
scrollTop
:
b
.
scrollTop
(),
width
:
d
?
a
(
window
).
width
():
b
.
outerWidth
(),
height
:
d
?
a
(
window
).
height
():
b
.
outerHeight
()},
d
?{
top
:
0
,
left
:
0
}:
b
.
offset
())},
b
.
prototype
.
getCalculatedOffset
=
function
(
a
,
b
,
c
,
d
){
return
"
bottom
"
==
a
?{
top
:
b
.
top
+
b
.
height
,
left
:
b
.
left
+
b
.
width
/
2
-
c
/
2
}:
"
top
"
==
a
?{
top
:
b
.
top
-
d
,
left
:
b
.
left
+
b
.
width
/
2
-
c
/
2
}:
"
left
"
==
a
?{
top
:
b
.
top
+
b
.
height
/
2
-
d
/
2
,
left
:
b
.
left
-
c
}:{
top
:
b
.
top
+
b
.
height
/
2
-
d
/
2
,
left
:
b
.
left
+
b
.
width
}},
b
.
prototype
.
getViewportAdjustedDelta
=
function
(
a
,
b
,
c
,
d
){
var
e
=
{
top
:
0
,
left
:
0
};
if
(
!
this
.
$viewport
)
return
e
;
var
f
=
this
.
options
.
viewport
&&
this
.
options
.
viewport
.
padding
||
0
,
g
=
this
.
getPosition
(
this
.
$viewport
);
if
(
/right|left/
.
test
(
a
)){
var
h
=
b
.
top
-
f
-
g
.
scroll
,
i
=
b
.
top
+
f
-
g
.
scroll
+
d
;
h
<
g
.
top
?
e
.
top
=
g
.
top
-
h
:
i
>
g
.
top
+
g
.
height
&&
(
e
.
top
=
g
.
top
+
g
.
height
-
i
)}
else
{
var
j
=
b
.
left
-
f
,
k
=
b
.
left
+
f
+
c
;
j
<
g
.
left
?
e
.
left
=
g
.
left
-
j
:
k
>
g
.
width
&&
(
e
.
left
=
g
.
left
+
g
.
width
-
k
)}
return
e
},
b
.
prototype
.
getTitle
=
function
(){
var
a
,
b
=
this
.
$element
,
c
=
this
.
options
;
return
a
=
b
.
attr
(
"
data-original-title
"
)
||
(
"
function
"
==
typeof
c
.
title
?
c
.
title
.
call
(
b
[
0
]):
c
.
title
)},
b
.
prototype
.
tip
=
function
(){
return
this
.
$tip
=
this
.
$tip
||
a
(
this
.
options
.
template
)},
b
.
prototype
.
arrow
=
function
(){
return
this
.
$arrow
=
this
.
$arrow
||
this
.
tip
().
find
(
"
.tooltip-arrow
"
)},
b
.
prototype
.
validate
=
function
(){
this
.
$element
[
0
].
parentNode
||
(
this
.
hide
(),
this
.
$element
=
null
,
this
.
options
=
null
)},
b
.
prototype
.
enable
=
function
(){
this
.
enabled
=!
0
},
b
.
prototype
.
disable
=
function
(){
this
.
enabled
=!
1
},
b
.
prototype
.
toggleEnabled
=
function
(){
this
.
enabled
=!
this
.
enabled
},
b
.
prototype
.
toggle
=
function
(
b
){
var
c
=
b
?
a
(
b
.
currentTarget
)[
this
.
type
](
this
.
getDelegateOptions
()).
data
(
"
bs.
"
+
this
.
type
):
this
;
c
.
tip
().
hasClass
(
"
in
"
)?
c
.
leave
(
c
):
c
.
enter
(
c
)},
b
.
prototype
.
destroy
=
function
(){
clearTimeout
(
this
.
timeout
),
this
.
hide
().
$element
.
off
(
"
.
"
+
this
.
type
).
removeData
(
"
bs.
"
+
this
.
type
)};
var
c
=
a
.
fn
.
tooltip
;
a
.
fn
.
tooltip
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.tooltip
"
),
f
=
"
object
"
==
typeof
c
&&
c
;(
e
||
"
destroy
"
!=
c
)
&&
(
e
||
d
.
data
(
"
bs.tooltip
"
,
e
=
new
b
(
this
,
f
)),
"
string
"
==
typeof
c
&&
e
[
c
]())})},
a
.
fn
.
tooltip
.
Constructor
=
b
,
a
.
fn
.
tooltip
.
noConflict
=
function
(){
return
a
.
fn
.
tooltip
=
c
,
this
}}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
var
b
=
function
(
a
,
b
){
this
.
init
(
"
popover
"
,
a
,
b
)};
if
(
!
a
.
fn
.
tooltip
)
throw
new
Error
(
"
Popover requires tooltip.js
"
);
b
.
DEFAULTS
=
a
.
extend
({},
a
.
fn
.
tooltip
.
Constructor
.
DEFAULTS
,{
placement
:
"
right
"
,
trigger
:
"
click
"
,
content
:
""
,
template
:
'
<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>
'
}),
b
.
prototype
=
a
.
extend
({},
a
.
fn
.
tooltip
.
Constructor
.
prototype
),
b
.
prototype
.
constructor
=
b
,
b
.
prototype
.
getDefaults
=
function
(){
return
b
.
DEFAULTS
},
b
.
prototype
.
setContent
=
function
(){
var
a
=
this
.
tip
(),
b
=
this
.
getTitle
(),
c
=
this
.
getContent
();
a
.
find
(
"
.popover-title
"
)[
this
.
options
.
html
?
"
html
"
:
"
text
"
](
b
),
a
.
find
(
"
.popover-content
"
).
empty
()[
this
.
options
.
html
?
"
string
"
==
typeof
c
?
"
html
"
:
"
append
"
:
"
text
"
](
c
),
a
.
removeClass
(
"
fade top bottom left right in
"
),
a
.
find
(
"
.popover-title
"
).
html
()
||
a
.
find
(
"
.popover-title
"
).
hide
()},
b
.
prototype
.
hasContent
=
function
(){
return
this
.
getTitle
()
||
this
.
getContent
()},
b
.
prototype
.
getContent
=
function
(){
var
a
=
this
.
$element
,
b
=
this
.
options
;
return
a
.
attr
(
"
data-content
"
)
||
(
"
function
"
==
typeof
b
.
content
?
b
.
content
.
call
(
a
[
0
]):
b
.
content
)},
b
.
prototype
.
arrow
=
function
(){
return
this
.
$arrow
=
this
.
$arrow
||
this
.
tip
().
find
(
"
.arrow
"
)},
b
.
prototype
.
tip
=
function
(){
return
this
.
$tip
||
(
this
.
$tip
=
a
(
this
.
options
.
template
)),
this
.
$tip
};
var
c
=
a
.
fn
.
popover
;
a
.
fn
.
popover
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.popover
"
),
f
=
"
object
"
==
typeof
c
&&
c
;(
e
||
"
destroy
"
!=
c
)
&&
(
e
||
d
.
data
(
"
bs.popover
"
,
e
=
new
b
(
this
,
f
)),
"
string
"
==
typeof
c
&&
e
[
c
]())})},
a
.
fn
.
popover
.
Constructor
=
b
,
a
.
fn
.
popover
.
noConflict
=
function
(){
return
a
.
fn
.
popover
=
c
,
this
}}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
function
b
(
c
,
d
){
var
e
,
f
=
a
.
proxy
(
this
.
process
,
this
);
this
.
$element
=
a
(
a
(
c
).
is
(
"
body
"
)?
window
:
c
),
this
.
$body
=
a
(
"
body
"
),
this
.
$scrollElement
=
this
.
$element
.
on
(
"
scroll.bs.scrollspy
"
,
f
),
this
.
options
=
a
.
extend
({},
b
.
DEFAULTS
,
d
),
this
.
selector
=
(
this
.
options
.
target
||
(
e
=
a
(
c
).
attr
(
"
href
"
))
&&
e
.
replace
(
/.*
(?=
#
[^\s]
+$
)
/
,
""
)
||
""
)
+
"
.nav li > a
"
,
this
.
offsets
=
a
([]),
this
.
targets
=
a
([]),
this
.
activeTarget
=
null
,
this
.
refresh
(),
this
.
process
()}
b
.
DEFAULTS
=
{
offset
:
10
},
b
.
prototype
.
refresh
=
function
(){
var
b
=
this
.
$element
[
0
]
==
window
?
"
offset
"
:
"
position
"
;
this
.
offsets
=
a
([]),
this
.
targets
=
a
([]);
var
c
=
this
;
this
.
$body
.
find
(
this
.
selector
).
map
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
target
"
)
||
d
.
attr
(
"
href
"
),
f
=
/^#./
.
test
(
e
)
&&
a
(
e
);
return
f
&&
f
.
length
&&
f
.
is
(
"
:visible
"
)
&&
[[
f
[
b
]().
top
+
(
!
a
.
isWindow
(
c
.
$scrollElement
.
get
(
0
))
&&
c
.
$scrollElement
.
scrollTop
()),
e
]]
||
null
}).
sort
(
function
(
a
,
b
){
return
a
[
0
]
-
b
[
0
]}).
each
(
function
(){
c
.
offsets
.
push
(
this
[
0
]),
c
.
targets
.
push
(
this
[
1
])})},
b
.
prototype
.
process
=
function
(){
var
a
,
b
=
this
.
$scrollElement
.
scrollTop
()
+
this
.
options
.
offset
,
c
=
this
.
$scrollElement
[
0
].
scrollHeight
||
Math
.
max
(
this
.
$body
[
0
].
scrollHeight
,
document
.
documentElement
.
scrollHeight
),
d
=
c
-
this
.
$scrollElement
.
height
(),
e
=
this
.
offsets
,
f
=
this
.
targets
,
g
=
this
.
activeTarget
;
if
(
b
>=
d
)
return
g
!=
(
a
=
f
.
last
()[
0
])
&&
this
.
activate
(
a
);
if
(
g
&&
b
<=
e
[
0
])
return
g
!=
(
a
=
f
[
0
])
&&
this
.
activate
(
a
);
for
(
a
=
e
.
length
;
a
--
;)
g
!=
f
[
a
]
&&
b
>=
e
[
a
]
&&
(
!
e
[
a
+
1
]
||
b
<=
e
[
a
+
1
])
&&
this
.
activate
(
f
[
a
])},
b
.
prototype
.
activate
=
function
(
b
){
this
.
activeTarget
=
b
,
a
(
this
.
selector
).
parentsUntil
(
this
.
options
.
target
,
"
.active
"
).
removeClass
(
"
active
"
);
var
c
=
this
.
selector
+
'
[data-target="
'
+
b
+
'
"],
'
+
this
.
selector
+
'
[href="
'
+
b
+
'
"]
'
,
d
=
a
(
c
).
parents
(
"
li
"
).
addClass
(
"
active
"
);
d
.
parent
(
"
.dropdown-menu
"
).
length
&&
(
d
=
d
.
closest
(
"
li.dropdown
"
).
addClass
(
"
active
"
)),
d
.
trigger
(
"
activate.bs.scrollspy
"
)};
var
c
=
a
.
fn
.
scrollspy
;
a
.
fn
.
scrollspy
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.scrollspy
"
),
f
=
"
object
"
==
typeof
c
&&
c
;
e
||
d
.
data
(
"
bs.scrollspy
"
,
e
=
new
b
(
this
,
f
)),
"
string
"
==
typeof
c
&&
e
[
c
]()})},
a
.
fn
.
scrollspy
.
Constructor
=
b
,
a
.
fn
.
scrollspy
.
noConflict
=
function
(){
return
a
.
fn
.
scrollspy
=
c
,
this
},
a
(
window
).
on
(
"
load.bs.scrollspy.data-api
"
,
function
(){
a
(
'
[data-spy="scroll"]
'
).
each
(
function
(){
var
b
=
a
(
this
);
b
.
scrollspy
(
b
.
data
())})})}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
var
b
=
function
(
b
){
this
.
element
=
a
(
b
)};
b
.
prototype
.
show
=
function
(){
var
b
=
this
.
element
,
c
=
b
.
closest
(
"
ul:not(.dropdown-menu)
"
),
d
=
b
.
data
(
"
target
"
);
if
(
d
||
(
d
=
b
.
attr
(
"
href
"
),
d
=
d
&&
d
.
replace
(
/.*
(?=
#
[^\s]
*$
)
/
,
""
)),
!
b
.
parent
(
"
li
"
).
hasClass
(
"
active
"
)){
var
e
=
c
.
find
(
"
.active:last a
"
)[
0
],
f
=
a
.
Event
(
"
show.bs.tab
"
,{
relatedTarget
:
e
});
if
(
b
.
trigger
(
f
),
!
f
.
isDefaultPrevented
()){
var
g
=
a
(
d
);
this
.
activate
(
b
.
parent
(
"
li
"
),
c
),
this
.
activate
(
g
,
g
.
parent
(),
function
(){
b
.
trigger
({
type
:
"
shown.bs.tab
"
,
relatedTarget
:
e
})})}}},
b
.
prototype
.
activate
=
function
(
b
,
c
,
d
){
function
e
(){
f
.
removeClass
(
"
active
"
).
find
(
"
> .dropdown-menu > .active
"
).
removeClass
(
"
active
"
),
b
.
addClass
(
"
active
"
),
g
?(
b
[
0
].
offsetWidth
,
b
.
addClass
(
"
in
"
)):
b
.
removeClass
(
"
fade
"
),
b
.
parent
(
"
.dropdown-menu
"
)
&&
b
.
closest
(
"
li.dropdown
"
).
addClass
(
"
active
"
),
d
&&
d
()}
var
f
=
c
.
find
(
"
> .active
"
),
g
=
d
&&
a
.
support
.
transition
&&
f
.
hasClass
(
"
fade
"
);
g
?
f
.
one
(
a
.
support
.
transition
.
end
,
e
).
emulateTransitionEnd
(
150
):
e
(),
f
.
removeClass
(
"
in
"
)};
var
c
=
a
.
fn
.
tab
;
a
.
fn
.
tab
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.tab
"
);
e
||
d
.
data
(
"
bs.tab
"
,
e
=
new
b
(
this
)),
"
string
"
==
typeof
c
&&
e
[
c
]()})},
a
.
fn
.
tab
.
Constructor
=
b
,
a
.
fn
.
tab
.
noConflict
=
function
(){
return
a
.
fn
.
tab
=
c
,
this
},
a
(
document
).
on
(
"
click.bs.tab.data-api
"
,
'
[data-toggle="tab"], [data-toggle="pill"]
'
,
function
(
b
){
b
.
preventDefault
(),
a
(
this
).
tab
(
"
show
"
)})}(
jQuery
),
+
function
(
a
){
"
use strict
"
;
var
b
=
function
(
c
,
d
){
this
.
options
=
a
.
extend
({},
b
.
DEFAULTS
,
d
),
this
.
$window
=
a
(
window
).
on
(
"
scroll.bs.affix.data-api
"
,
a
.
proxy
(
this
.
checkPosition
,
this
)).
on
(
"
click.bs.affix.data-api
"
,
a
.
proxy
(
this
.
checkPositionWithEventLoop
,
this
)),
this
.
$element
=
a
(
c
),
this
.
affixed
=
this
.
unpin
=
this
.
pinnedOffset
=
null
,
this
.
checkPosition
()};
b
.
RESET
=
"
affix affix-top affix-bottom
"
,
b
.
DEFAULTS
=
{
offset
:
0
},
b
.
prototype
.
getPinnedOffset
=
function
(){
if
(
this
.
pinnedOffset
)
return
this
.
pinnedOffset
;
this
.
$element
.
removeClass
(
b
.
RESET
).
addClass
(
"
affix
"
);
var
a
=
this
.
$window
.
scrollTop
(),
c
=
this
.
$element
.
offset
();
return
this
.
pinnedOffset
=
c
.
top
-
a
},
b
.
prototype
.
checkPositionWithEventLoop
=
function
(){
setTimeout
(
a
.
proxy
(
this
.
checkPosition
,
this
),
1
)},
b
.
prototype
.
checkPosition
=
function
(){
if
(
this
.
$element
.
is
(
"
:visible
"
)){
var
c
=
a
(
document
).
height
(),
d
=
this
.
$window
.
scrollTop
(),
e
=
this
.
$element
.
offset
(),
f
=
this
.
options
.
offset
,
g
=
f
.
top
,
h
=
f
.
bottom
;
"
object
"
!=
typeof
f
&&
(
h
=
g
=
f
),
"
function
"
==
typeof
g
&&
(
g
=
f
.
top
(
this
.
$element
)),
"
function
"
==
typeof
h
&&
(
h
=
f
.
bottom
(
this
.
$element
));
var
i
=
null
!=
this
.
unpin
&&
d
+
this
.
unpin
<=
e
.
top
?
!
1
:
null
!=
h
&&
e
.
top
+
this
.
$element
.
height
()
>=
c
-
h
?
"
bottom
"
:
null
!=
g
&&
g
>=
d
?
"
top
"
:
!
1
;
if
(
this
.
affixed
!==
i
){
null
!=
this
.
unpin
&&
this
.
$element
.
css
(
"
top
"
,
""
);
var
j
=
"
affix
"
+
(
i
?
"
-
"
+
i
:
""
),
k
=
a
.
Event
(
j
+
"
.bs.affix
"
);
this
.
$element
.
trigger
(
k
),
k
.
isDefaultPrevented
()
||
(
this
.
affixed
=
i
,
this
.
unpin
=
"
bottom
"
==
i
?
this
.
getPinnedOffset
():
null
,
this
.
$element
.
removeClass
(
b
.
RESET
).
addClass
(
j
).
trigger
(
a
.
Event
(
j
.
replace
(
"
affix
"
,
"
affixed
"
))),
"
bottom
"
==
i
&&
this
.
$element
.
offset
({
top
:
e
.
top
}))}}};
var
c
=
a
.
fn
.
affix
;
a
.
fn
.
affix
=
function
(
c
){
return
this
.
each
(
function
(){
var
d
=
a
(
this
),
e
=
d
.
data
(
"
bs.affix
"
),
f
=
"
object
"
==
typeof
c
&&
c
;
e
||
d
.
data
(
"
bs.affix
"
,
e
=
new
b
(
this
,
f
)),
"
string
"
==
typeof
c
&&
e
[
c
]()})},
a
.
fn
.
affix
.
Constructor
=
b
,
a
.
fn
.
affix
.
noConflict
=
function
(){
return
a
.
fn
.
affix
=
c
,
this
},
a
(
window
).
on
(
"
load
"
,
function
(){
a
(
'
[data-spy="affix"]
'
).
each
(
function
(){
var
b
=
a
(
this
),
c
=
b
.
data
();
c
.
offset
=
c
.
offset
||
{},
c
.
offsetBottom
&&
(
c
.
offset
.
bottom
=
c
.
offsetBottom
),
c
.
offsetTop
&&
(
c
.
offset
.
top
=
c
.
offsetTop
),
b
.
affix
(
c
)})})}(
jQuery
);
\ No newline at end of file
\ No newline at end of file
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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
Menu
Explore
Projects
Groups
Snippets